diff options
Diffstat (limited to 'src/qml/qml/parser/qqmljsparser.cpp')
-rw-r--r-- | src/qml/qml/parser/qqmljsparser.cpp | 106 |
1 files changed, 57 insertions, 49 deletions
diff --git a/src/qml/qml/parser/qqmljsparser.cpp b/src/qml/qml/parser/qqmljsparser.cpp index 1bc8f23dca..65aaa4331a 100644 --- a/src/qml/qml/parser/qqmljsparser.cpp +++ b/src/qml/qml/parser/qqmljsparser.cpp @@ -55,8 +55,15 @@ #include <QVarLengthArray> // -// This file is automatically generated from qmljs.g. -// Changes will be lost. +// W A R N I N G +// ------------- +// +// This file is automatically generated from qqmljs.g. +// Changes should be made to that file, not here. Any change to this file will +// be lost! +// +// To regenerate this file, run: +// qlalr --no-debug --no-lines --qt qqmljs.g // using namespace QQmlJS; @@ -1383,7 +1390,7 @@ case 289: { sym(1).Node = node; } break; -case 291: { +case 292: { AST::DoWhileStatement *node = new (pool) AST::DoWhileStatement(sym(2).Statement, sym(5).Expression); node->doToken = loc(1); node->whileToken = loc(3); @@ -1393,7 +1400,7 @@ case 291: { sym(1).Node = node; } break; -case 292: { +case 293: { AST::WhileStatement *node = new (pool) AST::WhileStatement(sym(3).Expression, sym(5).Statement); node->whileToken = loc(1); node->lparenToken = loc(2); @@ -1401,7 +1408,7 @@ case 292: { sym(1).Node = node; } break; -case 293: { +case 294: { AST::ForStatement *node = new (pool) AST::ForStatement(sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); node->forToken = loc(1); @@ -1412,7 +1419,7 @@ case 293: { sym(1).Node = node; } break; -case 294: { +case 295: { AST::LocalForStatement *node = new (pool) AST::LocalForStatement( sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); @@ -1425,7 +1432,7 @@ case 294: { sym(1).Node = node; } break; -case 295: { +case 296: { AST:: ForEachStatement *node = new (pool) AST::ForEachStatement(sym(3).Expression, sym(5).Expression, sym(7).Statement); node->forToken = loc(1); @@ -1435,7 +1442,7 @@ case 295: { sym(1).Node = node; } break; -case 296: { +case 297: { AST::LocalForEachStatement *node = new (pool) AST::LocalForEachStatement( sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); node->forToken = loc(1); @@ -1446,14 +1453,14 @@ case 296: { sym(1).Node = node; } break; -case 298: { +case 299: { AST::ContinueStatement *node = new (pool) AST::ContinueStatement(); node->continueToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 300: { +case 301: { AST::ContinueStatement *node = new (pool) AST::ContinueStatement(stringRef(2)); node->continueToken = loc(1); node->identifierToken = loc(2); @@ -1461,14 +1468,14 @@ case 300: { sym(1).Node = node; } break; -case 302: { +case 303: { AST::BreakStatement *node = new (pool) AST::BreakStatement(QStringRef()); node->breakToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 304: { +case 305: { AST::BreakStatement *node = new (pool) AST::BreakStatement(stringRef(2)); node->breakToken = loc(1); node->identifierToken = loc(2); @@ -1476,14 +1483,14 @@ case 304: { sym(1).Node = node; } break; -case 306: { +case 307: { AST::ReturnStatement *node = new (pool) AST::ReturnStatement(sym(2).Expression); node->returnToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 307: { +case 308: { AST::WithStatement *node = new (pool) AST::WithStatement(sym(3).Expression, sym(5).Statement); node->withToken = loc(1); node->lparenToken = loc(2); @@ -1491,7 +1498,7 @@ case 307: { sym(1).Node = node; } break; -case 308: { +case 309: { AST::SwitchStatement *node = new (pool) AST::SwitchStatement(sym(3).Expression, sym(5).CaseBlock); node->switchToken = loc(1); node->lparenToken = loc(2); @@ -1499,90 +1506,90 @@ case 308: { sym(1).Node = node; } break; -case 309: { +case 310: { AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 310: { +case 311: { AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(5); sym(1).Node = node; } break; -case 311: { +case 312: { sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClause); } break; -case 312: { +case 313: { sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClauses, sym(2).CaseClause); } break; -case 313: { +case 314: { sym(1).Node = 0; } break; -case 314: { +case 315: { sym(1).Node = sym(1).CaseClauses->finish (); } break; -case 315: { +case 316: { AST::CaseClause *node = new (pool) AST::CaseClause(sym(2).Expression, sym(4).StatementList); node->caseToken = loc(1); node->colonToken = loc(3); sym(1).Node = node; } break; -case 316: { +case 317: { AST::DefaultClause *node = new (pool) AST::DefaultClause(sym(3).StatementList); node->defaultToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 317: -case 318: { +case 318: +case 319: { AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 319: { +case 320: { AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 321: { +case 322: { AST::ThrowStatement *node = new (pool) AST::ThrowStatement(sym(2).Expression); node->throwToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 322: { +case 323: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch); node->tryToken = loc(1); sym(1).Node = node; } break; -case 323: { +case 324: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 324: { +case 325: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch, sym(4).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 325: { +case 326: { AST::Catch *node = new (pool) AST::Catch(stringRef(3), sym(5).Block); node->catchToken = loc(1); node->lparenToken = loc(2); @@ -1591,20 +1598,20 @@ case 325: { sym(1).Node = node; } break; -case 326: { +case 327: { AST::Finally *node = new (pool) AST::Finally(sym(2).Block); node->finallyToken = loc(1); sym(1).Node = node; } break; -case 328: { +case 329: { AST::DebuggerStatement *node = new (pool) AST::DebuggerStatement(); node->debuggerToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 329: { +case 330: { AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); node->identifierToken = loc(2); @@ -1615,7 +1622,7 @@ case 329: { sym(1).Node = node; } break; -case 330: { +case 331: { AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); if (! stringRef(2).isNull()) @@ -1627,60 +1634,60 @@ case 330: { sym(1).Node = node; } break; -case 331: { +case 332: { AST::FormalParameterList *node = new (pool) AST::FormalParameterList(stringRef(1)); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 332: { +case 333: { AST::FormalParameterList *node = new (pool) AST::FormalParameterList(sym(1).FormalParameterList, stringRef(3)); node->commaToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 333: { +case 334: { sym(1).Node = 0; } break; -case 334: { +case 335: { sym(1).Node = sym(1).FormalParameterList->finish (); } break; -case 335: { +case 336: { sym(1).Node = 0; } break; -case 337: { +case 338: { sym(1).Node = new (pool) AST::FunctionBody(sym(1).SourceElements->finish ()); } break; -case 339: { +case 340: { sym(1).Node = new (pool) AST::Program(sym(1).SourceElements->finish ()); } break; -case 340: { +case 341: { sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElement); } break; -case 341: { +case 342: { sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElements, sym(2).SourceElement); } break; -case 342: { +case 343: { sym(1).Node = new (pool) AST::StatementSourceElement(sym(1).Statement); } break; -case 343: { +case 344: { sym(1).Node = new (pool) AST::FunctionSourceElement(sym(1).FunctionDeclaration); } break; -case 344: { +case 345: { stringRef(1) = QStringRef(); } break; -case 346: { +case 347: { sym(1).Node = 0; } break; @@ -1693,7 +1700,8 @@ case 346: { const int errorState = state_stack[tos]; // automatic insertion of `;' - if (yytoken != -1 && t_action(errorState, T_AUTOMATIC_SEMICOLON) && lexer->canInsertAutomaticSemicolon(yytoken)) { + if (yytoken != -1 && ((t_action(errorState, T_AUTOMATIC_SEMICOLON) && lexer->canInsertAutomaticSemicolon(yytoken)) + || t_action(errorState, T_COMPATIBILITY_SEMICOLON))) { SavedToken &tk = token_buffer[0]; tk.token = yytoken; tk.dval = yylval; |