From 4e1a95923114a436e01f555dc90c57dc425ac79f Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Fri, 24 Jul 2009 06:03:42 +0200 Subject: Revert "Fixed the semantic action of UiArrayMemberList" This reverts commit ee91cc1041681654f7a250dc197d0902c53a951f. --- src/declarative/qml/parser/qmljs.g | 2 +- src/declarative/qml/parser/qmljsparser.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g index 7d8faee..d7fb17c 100644 --- a/src/declarative/qml/parser/qmljs.g +++ b/src/declarative/qml/parser/qmljs.g @@ -782,7 +782,7 @@ UiArrayMemberList: UiArrayMemberList T_COMMA UiAnnotation UiObjectDefinition ; case $rule_number: { sym(4).UiObjectMember->attributes = sym(3).UiAttributeList; AST::UiArrayMemberList *node = makeAstNode (driver->nodePool(), - sym(1).UiArrayMemberList, sym(4).UiObjectMember); + sym(1).UiArrayMemberList, sym(3).UiObjectMember); node->commaToken = loc(2); sym(1).Node = node; } break; diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp index 296559b..93f9fda 100644 --- a/src/declarative/qml/parser/qmljsparser.cpp +++ b/src/declarative/qml/parser/qmljsparser.cpp @@ -360,7 +360,7 @@ case 35: { case 36: { sym(4).UiObjectMember->attributes = sym(3).UiAttributeList; AST::UiArrayMemberList *node = makeAstNode (driver->nodePool(), - sym(1).UiArrayMemberList, sym(4).UiObjectMember); + sym(1).UiArrayMemberList, sym(3).UiObjectMember); node->commaToken = loc(2); sym(1).Node = node; } break; -- cgit v0.12 From e6f14d21fa03d4301fcb7d7de1733bc65fe59e43 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Fri, 24 Jul 2009 06:04:19 +0200 Subject: Revert "Introduced annotations" This reverts commit 5f648e669235e0c6a11b6d25688c6dbd9bb58106. --- src/declarative/qml/parser/qmljs.g | 95 +- src/declarative/qml/parser/qmljsast.cpp | 25 - src/declarative/qml/parser/qmljsast_p.h | 70 +- src/declarative/qml/parser/qmljsastfwd_p.h | 2 - src/declarative/qml/parser/qmljsastvisitor_p.h | 4 - src/declarative/qml/parser/qmljsgrammar.cpp | 1396 ++++++++++++------------ src/declarative/qml/parser/qmljsgrammar_p.h | 33 +- src/declarative/qml/parser/qmljslexer.cpp | 1 - src/declarative/qml/parser/qmljsparser.cpp | 517 ++++----- src/declarative/qml/parser/qmljsparser_p.h | 6 +- 10 files changed, 945 insertions(+), 1204 deletions(-) diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g index d7fb17c..20ee27d 100644 --- a/src/declarative/qml/parser/qmljs.g +++ b/src/declarative/qml/parser/qmljs.g @@ -81,8 +81,6 @@ %token T_RESERVED_WORD "reserved word" %token T_MULTILINE_STRING_LITERAL "multiline string literal" -%token T_AT "@" - --- context keywords. %token T_PUBLIC "public" %token T_IMPORT "import" @@ -273,8 +271,6 @@ public: AST::UiObjectMemberList *UiObjectMemberList; AST::UiArrayMemberList *UiArrayMemberList; AST::UiQualifiedId *UiQualifiedId; - AST::UiAttributeList *UiAttributeList; - AST::UiAttribute *UiAttribute; }; public: @@ -671,93 +667,25 @@ case $rule_number: { } break; ./ -UiRootMember: UiAnnotation UiObjectDefinition ; -/. -case $rule_number: { - sym(1).Node = makeAstNode (driver->nodePool(), - sym(1).UiAttributeList, sym(2).UiObjectMember); -} break; -./ - -UiAnnotation: Empty ; -UiAnnotation: UiAttributeList ; -/. -case $rule_number: { - sym(1).UiAttributeList = sym(1).UiAttributeList->finish(); -} break; -./ - -UiAttributeList: UiAttribute ; -/. -case $rule_number: { - sym(1).UiAttributeList = makeAstNode(driver->nodePool(), sym(1).UiAttribute); -} break; -./ - -UiAttributeList: UiAttributeList UiAttribute ; -/. -case $rule_number: { - sym(1).UiAttributeList = makeAstNode(driver->nodePool(), - sym(1).UiAttributeList, sym(2).UiAttribute); -} break; -./ - -UiAttributeName: JsIdentifier ; -UiAttributeName: ReservedIdentifier ; - -UiAttribute: T_AT UiAttributeName ; -/. -case $rule_number: { - AST::UiAttribute *ast = makeAstNode(driver->nodePool(), sym(2).sval); - ast->atToken = loc(1); - ast->nameToken = loc(2); - sym(1).UiAttribute = ast; -} break; -./ - -UiAttribute: T_AT UiAttributeName T_EQ UiAttributeValue ; -/. -case $rule_number: { - AST::UiAttribute *ast = makeAstNode(driver->nodePool(), - sym(2).sval, sym(4).Expression); - ast->atToken = loc(1); - ast->nameToken = loc(2); - ast->equalToken = loc(3); - sym(1).UiAttribute = ast; -} break; -./ - -UiAttributeValue: UiAttributeName ; -/. -case $rule_number: { - AST::IdentifierExpression *node = makeAstNode (driver->nodePool(), sym(1).sval); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; -./ - -UiAttributeValue: T_NUMERIC_LITERAL ; +UiRootMember: UiObjectDefinition ; /. case $rule_number: { - AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval, lexer->flags); - node->literalToken = loc(1); - sym(1).Node = node; + sym(1).Node = makeAstNode (driver->nodePool(), sym(1).UiObjectMember); } break; ./ -UiObjectMemberList: UiAnnotation UiObjectMember ; +UiObjectMemberList: UiObjectMember ; /. case $rule_number: { - sym(1).Node = makeAstNode (driver->nodePool(), - sym(1).UiAttributeList, sym(2).UiObjectMember); + sym(1).Node = makeAstNode (driver->nodePool(), sym(1).UiObjectMember); } break; ./ -UiObjectMemberList: UiObjectMemberList UiAnnotation UiObjectMember ; +UiObjectMemberList: UiObjectMemberList UiObjectMember ; /. case $rule_number: { AST::UiObjectMemberList *node = makeAstNode (driver->nodePool(), - sym(1).UiObjectMemberList, sym(2).UiAttributeList, sym(3).UiObjectMember); + sym(1).UiObjectMemberList, sym(2).UiObjectMember); sym(1).Node = node; } break; ./ @@ -769,18 +697,9 @@ case $rule_number: { } break; ./ -UiArrayMemberList: UiAttributeList UiObjectDefinition ; -/. -case $rule_number: { - sym(2).UiObjectMember->attributes = sym(1).UiAttributeList->finish(); - sym(1).Node = makeAstNode (driver->nodePool(), sym(2).UiObjectMember); -} break; -./ - -UiArrayMemberList: UiArrayMemberList T_COMMA UiAnnotation UiObjectDefinition ; +UiArrayMemberList: UiArrayMemberList T_COMMA UiObjectDefinition ; /. case $rule_number: { - sym(4).UiObjectMember->attributes = sym(3).UiAttributeList; AST::UiArrayMemberList *node = makeAstNode (driver->nodePool(), sym(1).UiArrayMemberList, sym(3).UiObjectMember); node->commaToken = loc(2); diff --git a/src/declarative/qml/parser/qmljsast.cpp b/src/declarative/qml/parser/qmljsast.cpp index fb4ea8a..d10c071 100644 --- a/src/declarative/qml/parser/qmljsast.cpp +++ b/src/declarative/qml/parser/qmljsast.cpp @@ -839,29 +839,9 @@ void UiProgram::accept0(Visitor *visitor) visitor->endVisit(this); } -void UiAttributeList::accept0(Visitor *visitor) -{ - if (visitor->visit(this)) { - for (UiAttributeList *it = this; it; it = it->next) - acceptChild(it->attribute, visitor); - } - - visitor->endVisit(this); -} - -void UiAttribute::accept0(Visitor *visitor) -{ - if (visitor->visit(this)) { - acceptChild(value, visitor); - } - - visitor->endVisit(this); -} - void UiPublicMember::accept0(Visitor *visitor) { if (visitor->visit(this)) { - acceptChild(attributes, visitor); acceptChild(expression, visitor); } @@ -871,7 +851,6 @@ void UiPublicMember::accept0(Visitor *visitor) void UiObjectDefinition::accept0(Visitor *visitor) { if (visitor->visit(this)) { - acceptChild(attributes, visitor); acceptChild(qualifiedTypeNameId, visitor); acceptChild(initializer, visitor); } @@ -892,7 +871,6 @@ void UiObjectInitializer::accept0(Visitor *visitor) void UiObjectBinding::accept0(Visitor *visitor) { if (visitor->visit(this)) { - acceptChild(attributes, visitor); acceptChild(qualifiedId, visitor); acceptChild(qualifiedTypeNameId, visitor); acceptChild(initializer, visitor); @@ -904,7 +882,6 @@ void UiObjectBinding::accept0(Visitor *visitor) void UiScriptBinding::accept0(Visitor *visitor) { if (visitor->visit(this)) { - acceptChild(attributes, visitor); acceptChild(qualifiedId, visitor); acceptChild(statement, visitor); } @@ -915,7 +892,6 @@ void UiScriptBinding::accept0(Visitor *visitor) void UiArrayBinding::accept0(Visitor *visitor) { if (visitor->visit(this)) { - acceptChild(attributes, visitor); acceptChild(qualifiedId, visitor); for (UiArrayMemberList *it = members; it; it = it->next) acceptChild(it->member, visitor); @@ -973,7 +949,6 @@ void UiImportList::accept0(Visitor *visitor) void UiSourceElement::accept0(Visitor *visitor) { if (visitor->visit(this)) { - acceptChild(attributes, visitor); acceptChild(sourceElement, visitor); } diff --git a/src/declarative/qml/parser/qmljsast_p.h b/src/declarative/qml/parser/qmljsast_p.h index 73b2cbc..6d269ac 100644 --- a/src/declarative/qml/parser/qmljsast_p.h +++ b/src/declarative/qml/parser/qmljsast_p.h @@ -104,7 +104,7 @@ enum Op { } // namespace QSOperator -namespace QmlJS { +namespace QmlJS { class NameId; namespace AST { @@ -213,9 +213,7 @@ public: Kind_UiPublicMember, Kind_UiQualifiedId, Kind_UiScriptBinding, - Kind_UiSourceElement, - Kind_UiAttributeList, - Kind_UiAttribute + Kind_UiSourceElement }; inline Node() @@ -2183,56 +2181,6 @@ public: UiObjectMemberList *members; }; -class UiAttributeList: public Node -{ -public: - QMLJS_DECLARE_AST_NODE(UiAttributeList) - - UiAttributeList(UiAttribute *attribute) - : attribute(attribute), next(this) - { kind = K; } - - UiAttributeList(UiAttributeList *previous, UiAttribute *attribute) - : attribute(attribute) - { - next = previous->next; - previous->next = this; - kind = K; - } - - UiAttributeList *finish() - { - UiAttributeList *head = next; - next = 0; - return head; - } - - virtual void accept0(Visitor *visitor); - -// attributes - UiAttribute *attribute; - UiAttributeList *next; -}; - -class UiAttribute: public Node -{ -public: - QMLJS_DECLARE_AST_NODE(UiAttribute) - - UiAttribute(NameId *name, ExpressionNode *value = 0) - : name(name), value(value) - { kind = K; } - - virtual void accept0(Visitor *visitor); - -// attributes - NameId *name; - ExpressionNode *value; - SourceLocation atToken; - SourceLocation nameToken; - SourceLocation equalToken; -}; - class UiQualifiedId: public Node { public: @@ -2331,9 +2279,6 @@ class UiObjectMember: public Node public: virtual SourceLocation firstSourceLocation() const = 0; virtual SourceLocation lastSourceLocation() const = 0; - -// attributes - UiAttributeList *attributes; }; class UiObjectMemberList: public Node @@ -2341,21 +2286,16 @@ class UiObjectMemberList: public Node public: QMLJS_DECLARE_AST_NODE(UiObjectMemberList) - UiObjectMemberList(UiAttributeList *attributes, UiObjectMember *member) + UiObjectMemberList(UiObjectMember *member) : next(this), member(member) - { - kind = K; - member->attributes = attributes; - } + { kind = K; } - UiObjectMemberList(UiObjectMemberList *previous, UiAttributeList *attributes, - UiObjectMember *member) + UiObjectMemberList(UiObjectMemberList *previous, UiObjectMember *member) : member(member) { kind = K; next = previous->next; previous->next = this; - member->attributes = attributes; } virtual void accept0(Visitor *visitor); diff --git a/src/declarative/qml/parser/qmljsastfwd_p.h b/src/declarative/qml/parser/qmljsastfwd_p.h index 18b3704..339bea4 100644 --- a/src/declarative/qml/parser/qmljsastfwd_p.h +++ b/src/declarative/qml/parser/qmljsastfwd_p.h @@ -176,8 +176,6 @@ class UiObjectMember; class UiObjectMemberList; class UiArrayMemberList; class UiQualifiedId; -class UiAttributeList; -class UiAttribute; } } // namespace AST diff --git a/src/declarative/qml/parser/qmljsastvisitor_p.h b/src/declarative/qml/parser/qmljsastvisitor_p.h index c2486d7..3677b1a 100644 --- a/src/declarative/qml/parser/qmljsastvisitor_p.h +++ b/src/declarative/qml/parser/qmljsastvisitor_p.h @@ -82,8 +82,6 @@ public: virtual bool visit(UiObjectMemberList *) { return true; } virtual bool visit(UiArrayMemberList *) { return true; } virtual bool visit(UiQualifiedId *) { return true; } - virtual bool visit(UiAttributeList *) { return true; } - virtual bool visit(UiAttribute *) { return true; } virtual void endVisit(UiProgram *) {} virtual void endVisit(UiImportList *) {} @@ -98,8 +96,6 @@ public: virtual void endVisit(UiObjectMemberList *) {} virtual void endVisit(UiArrayMemberList *) {} virtual void endVisit(UiQualifiedId *) {} - virtual void endVisit(UiAttributeList *) {} - virtual void endVisit(UiAttribute *) {} // QmlJS virtual bool visit(ThisExpression *) { return true; } diff --git a/src/declarative/qml/parser/qmljsgrammar.cpp b/src/declarative/qml/parser/qmljsgrammar.cpp index 13a68c8..1b23be6 100644 --- a/src/declarative/qml/parser/qmljsgrammar.cpp +++ b/src/declarative/qml/parser/qmljsgrammar.cpp @@ -51,428 +51,393 @@ const char *const QmlJSGrammar::spell [] = { "||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return", ")", ";", 0, "*", "*=", "string literal", "property", "signal", "switch", "this", "throw", "~", "try", "typeof", "var", "void", "while", "with", "^", "^=", - "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "@", "public", "import", - "as", 0, 0, 0, 0, 0}; + "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "public", "import", "as", + 0, 0, 0, 0, 0}; const int QmlJSGrammar::lhs [] = { - 96, 96, 96, 97, 100, 100, 103, 103, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 102, 101, 107, 107, 109, 109, 111, 111, 110, 110, - 113, 113, 114, 114, 116, 116, 116, 117, 117, 108, - 115, 115, 115, 115, 115, 115, 115, 122, 122, 122, - 123, 123, 124, 124, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 106, 106, 105, 105, - 105, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 106, - 106, 129, 129, 129, 129, 128, 128, 131, 131, 133, - 133, 133, 133, 133, 133, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 134, 134, 135, 135, - 135, 135, 135, 138, 138, 139, 139, 139, 139, 137, - 137, 140, 140, 141, 141, 142, 142, 142, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 144, 144, - 144, 144, 145, 145, 145, 146, 146, 146, 146, 147, - 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, - 148, 148, 149, 149, 149, 149, 149, 150, 150, 150, - 150, 150, 151, 151, 152, 152, 153, 153, 154, 154, - 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, - 160, 160, 161, 161, 162, 162, 132, 132, 163, 163, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 99, 99, 165, 165, 166, 166, 167, 167, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 118, 179, 179, 178, 178, - 126, 126, 180, 180, 181, 181, 183, 183, 182, 184, - 187, 185, 185, 188, 186, 186, 119, 120, 120, 121, - 121, 168, 168, 168, 168, 168, 168, 168, 169, 169, - 169, 169, 170, 170, 170, 170, 171, 171, 172, 174, - 189, 189, 192, 192, 190, 190, 193, 191, 173, 173, - 173, 175, 175, 176, 176, 176, 194, 195, 177, 177, - 125, 136, 199, 199, 196, 196, 197, 197, 200, 201, - 201, 202, 202, 198, 198, 130, 130, 203}; + 95, 95, 95, 96, 99, 99, 102, 102, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 101, 100, 107, 107, 109, 109, 110, 110, 106, 108, + 108, 108, 108, 108, 108, 108, 115, 115, 115, 116, + 116, 117, 117, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 105, 105, 104, 104, 104, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 105, 105, + 122, 122, 122, 122, 121, 121, 124, 124, 126, 126, + 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 128, 128, 129, 129, 129, + 129, 129, 132, 132, 133, 133, 133, 133, 131, 131, + 134, 134, 135, 135, 136, 136, 136, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, + 138, 139, 139, 139, 140, 140, 140, 140, 141, 141, + 141, 141, 141, 141, 141, 142, 142, 142, 142, 142, + 142, 143, 143, 143, 143, 143, 144, 144, 144, 144, + 144, 145, 145, 146, 146, 147, 147, 148, 148, 149, + 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, + 154, 155, 155, 156, 156, 125, 125, 157, 157, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 98, 98, 159, 159, 160, 160, 161, 161, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 111, 173, 173, 172, 172, 119, + 119, 174, 174, 175, 175, 177, 177, 176, 178, 181, + 179, 179, 182, 180, 180, 112, 113, 113, 114, 114, + 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, + 163, 164, 164, 164, 164, 165, 165, 166, 168, 183, + 183, 186, 186, 184, 184, 187, 185, 167, 167, 167, + 169, 169, 170, 170, 170, 188, 189, 171, 171, 118, + 130, 193, 193, 190, 190, 191, 191, 194, 195, 195, + 196, 196, 192, 192, 123, 123, 197}; const int QmlJSGrammar:: rhs[] = { 2, 2, 2, 2, 1, 1, 1, 2, 3, 3, 5, 5, 3, 3, 4, 4, 6, 6, 5, 5, - 0, 2, 1, 1, 1, 2, 1, 1, 2, 4, - 1, 1, 2, 3, 1, 2, 4, 2, 3, 2, - 1, 5, 4, 3, 3, 3, 3, 1, 1, 1, - 0, 1, 2, 4, 5, 2, 4, 4, 5, 5, - 6, 6, 7, 7, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 2, 1, 3, 2, 3, 2, 1, + 5, 4, 3, 3, 3, 3, 1, 1, 1, 0, + 1, 2, 4, 5, 2, 4, 4, 5, 5, 6, + 6, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 3, 3, 4, 5, 3, 4, 3, 1, - 3, 1, 2, 3, 4, 1, 2, 3, 5, 1, + 2, 3, 3, 4, 5, 3, 4, 3, 1, 3, + 1, 2, 3, 4, 1, 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 3, 5, 1, 2, 4, 4, 4, 3, 0, 1, + 1, 3, 1, 1, 1, 2, 2, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, + 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, + 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, + 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 5, 1, 5, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 4, 3, 5, 1, 2, 4, 4, 4, 3, 0, - 1, 1, 3, 1, 1, 1, 2, 2, 1, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, - 3, 3, 1, 3, 3, 1, 3, 3, 3, 1, - 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, - 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, - 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 5, 1, 5, 1, 3, 1, 3, + 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 0, 1, 1, 3, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 2, 0, 1, - 3, 3, 1, 1, 1, 3, 1, 3, 2, 2, - 2, 0, 1, 2, 0, 1, 1, 2, 2, 7, - 5, 7, 7, 5, 9, 10, 7, 8, 2, 2, - 3, 3, 2, 2, 3, 3, 3, 3, 5, 5, - 3, 5, 1, 2, 0, 1, 4, 3, 3, 3, - 3, 3, 3, 3, 3, 4, 5, 2, 2, 2, - 8, 8, 1, 3, 0, 1, 0, 1, 1, 1, - 2, 1, 1, 0, 1, 0, 1, 2}; + 1, 1, 1, 1, 3, 1, 2, 0, 1, 3, + 3, 1, 1, 1, 3, 1, 3, 2, 2, 2, + 0, 1, 2, 0, 1, 1, 2, 2, 7, 5, + 7, 7, 5, 9, 10, 7, 8, 2, 2, 3, + 3, 2, 2, 3, 3, 3, 3, 5, 5, 3, + 5, 1, 2, 0, 1, 4, 3, 3, 3, 3, + 3, 3, 3, 3, 4, 5, 2, 2, 2, 8, + 8, 1, 3, 0, 1, 0, 1, 1, 1, 2, + 1, 1, 0, 1, 0, 1, 2}; const int QmlJSGrammar::action_default [] = { - 0, 0, 0, 21, 0, 176, 243, 207, 215, 211, - 155, 227, 203, 3, 140, 73, 156, 219, 223, 144, - 173, 154, 159, 139, 193, 180, 0, 80, 81, 76, - 344, 69, 346, 0, 0, 0, 0, 78, 0, 0, - 74, 77, 0, 0, 70, 71, 79, 72, 0, 75, - 0, 0, 169, 0, 0, 156, 175, 158, 157, 0, - 0, 0, 171, 172, 170, 174, 0, 204, 0, 0, - 0, 0, 194, 0, 0, 0, 0, 0, 0, 184, - 0, 0, 0, 178, 179, 177, 182, 186, 185, 183, - 181, 196, 195, 197, 0, 212, 0, 208, 0, 0, - 150, 137, 149, 138, 106, 107, 108, 133, 109, 134, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 135, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 136, 0, 0, 148, 244, 151, - 0, 152, 0, 153, 147, 0, 240, 233, 231, 238, - 239, 237, 236, 242, 235, 234, 232, 241, 228, 0, - 216, 0, 0, 220, 0, 0, 224, 0, 0, 150, - 142, 0, 141, 0, 146, 160, 0, 345, 335, 336, - 0, 333, 0, 334, 0, 337, 251, 258, 257, 265, - 253, 0, 254, 338, 0, 343, 255, 256, 261, 259, - 340, 339, 342, 262, 0, 273, 0, 0, 0, 0, - 344, 69, 0, 346, 70, 245, 287, 71, 0, 0, - 0, 274, 0, 0, 263, 264, 0, 252, 260, 288, - 289, 332, 341, 0, 303, 304, 305, 306, 0, 299, - 300, 301, 302, 329, 330, 0, 0, 0, 0, 0, - 292, 293, 249, 247, 209, 217, 213, 229, 205, 250, - 0, 156, 221, 225, 198, 187, 0, 0, 206, 0, - 0, 0, 0, 199, 0, 0, 0, 0, 0, 191, - 189, 192, 190, 188, 201, 200, 202, 0, 214, 0, - 210, 0, 248, 156, 0, 230, 245, 246, 0, 245, - 0, 0, 295, 0, 0, 0, 297, 0, 218, 0, - 0, 222, 0, 0, 226, 285, 0, 277, 286, 280, - 0, 284, 0, 245, 278, 0, 245, 0, 0, 296, - 0, 0, 0, 298, 345, 335, 0, 0, 337, 0, - 331, 0, 321, 0, 0, 0, 291, 0, 290, 0, - 347, 0, 105, 267, 270, 0, 106, 273, 109, 134, - 111, 112, 76, 116, 117, 69, 118, 121, 74, 77, - 70, 245, 71, 79, 124, 72, 126, 75, 128, 129, - 274, 131, 132, 136, 0, 98, 0, 0, 100, 104, - 102, 88, 101, 103, 0, 99, 87, 268, 266, 144, - 145, 150, 0, 143, 0, 320, 0, 307, 308, 0, - 319, 0, 0, 0, 310, 315, 313, 316, 0, 0, - 314, 315, 0, 311, 0, 312, 269, 318, 0, 269, - 317, 0, 322, 323, 0, 269, 324, 325, 0, 0, - 326, 0, 0, 0, 327, 328, 162, 161, 0, 0, - 0, 294, 0, 0, 0, 309, 282, 275, 0, 283, - 279, 0, 281, 271, 0, 272, 276, 92, 0, 0, - 96, 82, 0, 84, 94, 0, 85, 95, 97, 86, - 93, 83, 0, 89, 166, 164, 168, 165, 163, 167, - 2, 5, 0, 7, 6, 21, 1, 90, 67, 68, + 0, 0, 0, 21, 0, 165, 232, 196, 204, 200, + 144, 216, 192, 3, 129, 62, 145, 208, 212, 133, + 162, 143, 148, 128, 182, 169, 0, 69, 70, 65, + 333, 58, 335, 0, 0, 0, 0, 67, 0, 0, + 63, 66, 0, 0, 59, 60, 68, 61, 0, 64, + 0, 0, 158, 0, 0, 145, 164, 147, 146, 0, + 0, 0, 160, 161, 159, 163, 0, 193, 0, 0, + 0, 0, 183, 0, 0, 0, 0, 0, 0, 173, + 0, 0, 0, 167, 168, 166, 171, 175, 174, 172, + 170, 185, 184, 186, 0, 201, 0, 197, 0, 0, + 139, 126, 138, 127, 95, 96, 97, 122, 98, 123, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 124, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 125, 0, 0, 137, 233, 140, + 0, 141, 0, 142, 136, 0, 229, 222, 220, 227, + 228, 226, 225, 231, 224, 223, 221, 230, 217, 0, + 205, 0, 0, 209, 0, 0, 213, 0, 0, 139, + 131, 0, 130, 0, 135, 149, 0, 334, 324, 325, + 0, 322, 0, 323, 0, 326, 240, 247, 246, 254, + 242, 0, 243, 327, 0, 332, 244, 245, 250, 248, + 329, 328, 331, 251, 0, 262, 0, 0, 0, 0, + 333, 58, 0, 335, 59, 234, 276, 60, 0, 0, + 0, 263, 0, 0, 252, 253, 0, 241, 249, 277, + 278, 321, 330, 0, 292, 293, 294, 295, 0, 288, + 289, 290, 291, 318, 319, 0, 0, 0, 0, 0, + 281, 282, 238, 236, 198, 206, 202, 218, 194, 239, + 0, 145, 210, 214, 187, 176, 0, 0, 195, 0, + 0, 0, 0, 188, 0, 0, 0, 0, 0, 180, + 178, 181, 179, 177, 190, 189, 191, 0, 203, 0, + 199, 0, 237, 145, 0, 219, 234, 235, 0, 234, + 0, 0, 284, 0, 0, 0, 286, 0, 207, 0, + 0, 211, 0, 0, 215, 274, 0, 266, 275, 269, + 0, 273, 0, 234, 267, 0, 234, 0, 0, 285, + 0, 0, 0, 287, 334, 324, 0, 0, 326, 0, + 320, 0, 310, 0, 0, 0, 280, 0, 279, 0, + 336, 0, 94, 256, 259, 0, 95, 262, 98, 123, + 100, 101, 65, 105, 106, 58, 107, 110, 63, 66, + 59, 234, 60, 68, 113, 61, 115, 64, 117, 118, + 263, 120, 121, 125, 0, 87, 0, 0, 89, 93, + 91, 77, 90, 92, 0, 88, 76, 257, 255, 133, + 134, 139, 0, 132, 0, 309, 0, 296, 297, 0, + 308, 0, 0, 0, 299, 304, 302, 305, 0, 0, + 303, 304, 0, 300, 0, 301, 258, 307, 0, 258, + 306, 0, 311, 312, 0, 258, 313, 314, 0, 0, + 315, 0, 0, 0, 316, 317, 151, 150, 0, 0, + 0, 283, 0, 0, 0, 298, 271, 264, 0, 272, + 268, 0, 270, 260, 0, 261, 265, 81, 0, 0, + 85, 71, 0, 73, 83, 0, 74, 84, 86, 75, + 82, 72, 0, 78, 155, 153, 157, 154, 152, 156, + 2, 5, 0, 7, 6, 0, 1, 79, 56, 57, 0, 0, 0, 9, 10, 0, 11, 12, 0, 13, - 0, 0, 14, 0, 19, 20, 91, 0, 15, 16, - 0, 17, 18, 8, 23, 0, 0, 25, 24, 4, - 27, 28, 29, 0, 32, 31, 30, 22, 0, 21, - 40, 38, 0, 21, 65, 0, 0, 70, 71, 41, - 33, 0, 66, 0, 50, 49, 48, 0, 0, 59, - 0, 60, 0, 63, 64, 0, 0, 0, 57, 0, - 58, 0, 61, 62, 56, 51, 52, 0, 0, 0, - 0, 54, 55, 53, 0, 44, 45, 0, 46, 47, - 269, 0, 43, 106, 273, 109, 134, 111, 112, 76, - 116, 117, 69, 118, 121, 74, 77, 70, 245, 71, - 79, 124, 72, 126, 75, 128, 129, 274, 131, 132, - 136, 73, 0, 0, 35, 21, 42, 0, 37, 26, - 36, 39, 0, 34, 348}; + 0, 0, 14, 0, 19, 20, 80, 0, 15, 16, + 0, 17, 18, 8, 22, 0, 4, 0, 29, 54, + 0, 0, 59, 27, 60, 30, 23, 0, 0, 55, + 0, 39, 38, 37, 0, 0, 48, 0, 49, 0, + 52, 53, 0, 0, 0, 46, 0, 47, 0, 50, + 51, 45, 40, 41, 0, 0, 0, 0, 43, 44, + 42, 28, 24, 0, 33, 34, 0, 35, 36, 258, + 0, 32, 95, 262, 98, 123, 100, 101, 65, 105, + 106, 58, 107, 110, 63, 66, 59, 234, 60, 68, + 113, 61, 115, 64, 117, 118, 263, 120, 121, 125, + 62, 0, 25, 0, 31, 26, 337}; const int QmlJSGrammar::goto_default [] = { - 4, 496, 353, 191, 495, 529, 524, 494, 493, 15, - 538, 526, 549, 528, 527, 532, 352, 536, 543, 550, - 622, 540, 186, 190, 192, 196, 566, 577, 576, 195, - 227, 23, 469, 468, 351, 350, 6, 349, 102, 19, - 14, 140, 21, 10, 139, 16, 22, 52, 20, 5, - 25, 24, 264, 12, 258, 7, 254, 9, 256, 8, - 255, 17, 262, 18, 263, 11, 257, 253, 294, 406, - 259, 260, 197, 188, 187, 199, 228, 198, 203, 224, - 225, 189, 355, 354, 226, 458, 457, 316, 317, 460, - 319, 459, 318, 414, 418, 421, 417, 416, 436, 437, - 180, 194, 176, 179, 193, 201, 200, 0}; + 4, 496, 353, 191, 495, 526, 491, 494, 493, 15, + 525, 535, 537, 536, 611, 528, 186, 190, 192, 196, + 553, 564, 563, 195, 227, 23, 469, 468, 351, 350, + 6, 349, 352, 102, 19, 14, 140, 21, 10, 139, + 16, 22, 52, 20, 5, 25, 24, 264, 12, 258, + 7, 254, 9, 256, 8, 255, 17, 262, 18, 263, + 11, 257, 253, 294, 406, 259, 260, 197, 188, 187, + 199, 228, 198, 203, 224, 225, 189, 355, 354, 226, + 458, 457, 316, 317, 460, 319, 459, 318, 414, 418, + 421, 417, 416, 436, 437, 180, 194, 176, 179, 193, + 201, 200, 0}; const int QmlJSGrammar::action_index [] = { - 142, 814, 1973, 78, 97, 86, -96, 90, 73, 71, - 257, -96, 315, 92, -96, -96, 539, 93, 81, 277, - 242, -96, -96, -96, 453, 252, 814, -96, -96, -96, - 214, -96, 1789, 1076, 814, 814, 814, -96, 729, 814, - -96, -96, 814, 814, -96, -96, -96, -96, 814, -96, - 814, 814, -96, 814, 814, 109, 207, -96, -96, 814, - 814, 814, -96, -96, -96, 205, 814, 313, 814, 814, - 814, 814, 434, 814, 814, 814, 814, 814, 814, 184, - 814, 814, 814, 146, 149, 150, 189, 204, 328, 328, - 328, 552, 473, 463, 814, 40, 814, 87, 1605, 814, - 814, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, 140, 814, -96, -96, 65, - 33, -96, 814, -96, -96, 814, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, -96, 814, - 29, 814, 814, 63, 59, 814, -96, 1605, 814, 814, - -96, 96, -96, 15, -96, -96, 31, -96, 208, 60, - 20, -96, 249, -96, 49, 2065, -96, -96, -96, -96, - -96, 248, -96, -96, 44, -96, -96, -96, -96, -96, - -96, 2065, -96, -96, 377, -96, 387, 83, 1973, 58, - 234, 72, 66, 2249, 67, 814, -96, 69, 54, 814, - 53, -96, 51, 45, -96, -96, 283, -96, -96, -96, - -96, -96, -96, 104, -96, -96, -96, -96, 102, -96, - -96, -96, -96, -96, -96, 48, 47, 814, 117, 120, - -96, -96, 988, -96, 77, 57, 64, -96, 406, 76, - 61, 582, 176, 100, 479, 328, 269, 814, 311, 814, - 814, 814, 814, 397, 814, 814, 814, 814, 814, 328, - 328, 328, 328, 328, 345, 360, 341, 814, 39, 814, - 70, 814, -96, 645, 814, -96, 814, 62, 24, 814, - 12, 1973, -96, 814, 131, 1973, -96, 814, 68, 814, - 814, 176, 89, 814, -96, 75, 95, 38, -96, -96, - 814, -96, 273, 814, -96, 79, 814, 74, 1973, -96, - 814, 111, 1973, -96, -16, 279, -41, -12, 2065, -37, - -96, 1973, -96, 814, 119, 1973, 6, 1973, -96, 22, - 18, -32, -96, -96, 1973, -52, 352, -2, 394, 98, - 814, 1973, 82, -34, 308, -7, -30, 729, 2, 4, - -96, 903, -96, 0, -5, 27, 814, 42, 21, 814, - 46, 814, 16, 14, 814, -96, 1881, 52, -96, -96, - -96, -96, -96, -96, 814, -96, -96, -96, -96, 307, - -96, 814, -22, -96, 1973, -96, 107, -96, -96, 1973, - -96, 814, 125, 13, -96, 37, -96, 35, 88, 814, - -96, 34, 10, -96, -4, -96, 1973, -96, 103, 1973, - -96, 263, -96, -96, 108, 1973, -8, -96, 11, 25, - -96, 260, -36, -6, -96, -96, -96, -96, 814, 115, - 1973, -96, 814, 112, 1973, -96, 43, -96, 190, -96, - -96, 814, -96, -96, 194, -96, -96, -96, 99, 1164, - -96, -96, 1337, -96, -96, 1425, -96, -96, -96, -96, - -96, -96, 101, -96, -96, -96, -96, -96, -96, -96, - -96, -96, 408, -96, -54, -57, -96, -96, -96, -96, - 177, 332, 216, -96, -96, 132, -96, -96, 237, -96, - 221, 163, -96, 122, -96, -96, -96, 240, -96, -96, - 126, -96, -96, -96, -96, 1605, 343, -96, -86, -96, - -96, -96, -1, 1697, -96, -96, -96, -96, 159, 121, - -96, -96, 470, 118, -96, -38, 174, 170, 3, -96, - -96, 203, -96, 173, -96, -96, -96, 32, 151, -96, - 814, -96, 145, -96, -96, 5, 7, 223, -96, 814, - -96, 187, -96, -96, 19, 141, 17, -45, 230, 191, - 228, -96, -96, -96, 1249, -96, -96, 309, -96, -96, - 2157, 1513, -96, 338, 1, 369, 85, 814, 1973, 82, - 9, 285, 36, 8, 729, 30, 26, -96, 903, -96, - 50, 28, 56, 814, 55, 23, 814, 41, 814, -26, - -23, -29, 124, 454, -96, -73, -96, 374, -96, -96, - -96, -96, 460, -96, -96, + 208, 808, 1863, 61, 100, 76, -95, 95, 59, 54, + 261, -95, 405, 86, -95, -95, 641, 91, 67, 187, + 200, -95, -95, -95, 446, 206, 808, -95, -95, -95, + 188, -95, 1681, 1412, 808, 808, 808, -95, 724, 808, + -95, -95, 808, 808, -95, -95, -95, -95, 808, -95, + 808, 808, -95, 808, 808, 131, 212, -95, -95, 808, + 808, 808, -95, -95, -95, 157, 808, 405, 808, 808, + 808, 808, 471, 808, 808, 808, 808, 808, 808, 161, + 808, 808, 808, 112, 119, 117, 154, 178, 173, 234, + 233, 456, 549, 409, 808, 9, 808, 72, 1590, 808, + 808, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, 139, 808, -95, -95, 66, + 23, -95, 808, -95, -95, 808, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, 808, + 33, 808, 808, 69, 57, 808, -95, 1590, 808, 808, + -95, 126, -95, 8, -95, -95, 29, -95, 186, 62, + 60, -95, 207, -95, 36, 1954, -95, -95, -95, -95, + -95, 205, -95, -95, 35, -95, -95, -95, -95, -95, + -95, 1954, -95, -95, 386, -95, 398, 77, 1863, 50, + 162, 78, 42, 2136, 73, 808, -95, 85, 48, 808, + 56, -95, 43, 39, -95, -95, 328, -95, -95, -95, + -95, -95, -95, 75, -95, -95, -95, -95, 84, -95, + -95, -95, -95, -95, -95, 38, 55, 808, 102, 79, + -95, -95, 892, -95, 175, 47, 34, -95, 324, 74, + 16, 551, 65, 68, 477, 278, 328, 808, 292, 808, + 808, 808, 808, 402, 808, 808, 808, 808, 808, 302, + 306, 303, 282, 307, 385, 477, 477, 808, -2, 808, + 71, 808, -95, 641, 808, -95, 808, 58, 63, 808, + 51, 1863, -95, 808, 147, 1863, -95, 808, 14, 808, + 808, 96, 92, 808, -95, 80, 105, 70, -95, -95, + 808, -95, 255, 808, -95, -58, 808, -39, 1863, -95, + 808, 120, 1863, -95, -20, 259, -47, -21, 1954, -36, + -95, 1863, -95, 808, 101, 1863, 11, 1863, -95, 15, + 3, -45, -95, -95, 1863, -54, 401, 2, 337, 116, + 808, 1863, 0, -32, 318, -1, -28, 724, 81, -5, + -95, 980, -95, 45, 19, 46, 808, 44, 17, 808, + 41, 808, 13, -8, 808, -95, 1772, 49, -95, -95, + -95, -95, -95, -95, 808, -95, -95, -95, -95, 272, + -95, 808, -13, -95, 1863, -95, 64, -95, -95, 1863, + -95, 808, 98, 4, -95, 25, -95, 31, 93, 808, + -95, 40, 37, -95, -12, -95, 1863, -95, 123, 1863, + -95, 288, -95, -95, 109, 1863, 20, -95, -4, 1, + -95, 328, -14, 21, -95, -95, -95, -95, 808, 115, + 1863, -95, 808, 125, 1863, -95, 12, -95, 185, -95, + -95, 808, -95, -95, 252, -95, -95, -95, 97, 1154, + -95, -95, 1067, -95, -95, 1241, -95, -95, -95, -95, + -95, -95, 94, -95, -95, -95, -95, -95, -95, -95, + -95, -95, 407, -95, -73, 376, -95, -95, -95, -95, + 179, 321, 198, -95, -95, 110, -95, -95, 227, -95, + 248, 228, -95, 89, -95, -95, -95, 219, -95, -95, + 103, -95, -95, -95, -95, 127, -95, 475, -95, -95, + -46, 168, 165, -95, -6, -95, -95, 500, 189, -95, + 158, -95, -95, -95, 32, 176, -95, 808, -95, 262, + -95, -95, 6, 10, 128, -95, 808, -95, 148, -95, + -95, 5, 145, 30, -3, 213, 177, 216, -95, -95, + -95, -95, -95, 1325, -95, -95, 327, -95, -95, 2045, + 1499, -95, 345, 26, 330, 82, 808, 1863, 28, 22, + 310, 52, 27, 584, 81, 53, -95, 980, -95, 24, + -31, -7, 808, 7, -9, 808, 18, 808, -10, -19, + -15, 111, -95, 334, -95, -95, -95, - -108, 7, 100, -6, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -40, -108, -108, -108, - -108, -108, -108, -108, -108, -108, 103, -108, -108, -108, - 32, -108, -108, 27, 37, 80, 79, -108, 89, 159, - -108, -108, 167, 162, -108, -108, -108, -108, 156, -108, - 163, 155, -108, 178, 173, -108, -108, -108, -108, 170, - 177, 180, -108, -108, -108, -108, 116, -108, 119, 112, - 137, 111, -108, 110, 108, 121, 145, 149, 148, -108, - 135, 132, 123, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, 130, -108, 128, -108, 143, 43, - 40, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, 53, -108, -108, -108, - -108, -108, 54, -108, -108, 55, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, 106, - -108, 131, -19, -108, -108, -29, -108, 231, 13, 175, - -108, -108, -108, -108, -108, -108, -108, -108, 30, -108, - -108, -108, 3, -108, -108, 18, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, 91, -108, -108, 44, -108, 49, -108, 50, -108, - 57, -108, -108, -108, -108, 59, -108, -108, -108, 56, - 39, -108, -108, -108, -108, -108, 77, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, 24, -108, -108, - -108, -108, 85, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, 17, 206, -108, 240, - 232, 205, 209, -108, 96, 84, 93, 95, 87, -108, - -108, -108, -108, -108, -108, -108, -108, 236, -108, 217, - -108, 185, -108, -108, 233, -108, 136, -108, -108, 176, - -108, 0, -108, 8, -108, 41, -108, 184, -108, 187, - 203, -108, -108, 196, -108, -108, -108, -108, -108, -108, - 230, -108, 101, 98, -108, -108, 151, -108, 46, -108, - 52, -108, 65, -108, -108, 113, -108, -108, 90, -108, - -108, 62, -108, 66, -108, 63, -108, 42, -108, -108, - -108, -108, -108, -108, 81, -108, 68, -108, 70, -108, - 74, 83, -108, -108, 45, -108, -108, 78, -108, -108, - -108, 47, -108, -108, -108, -108, 10, -108, -21, 163, - -108, 61, -108, -108, -2, -108, -16, -108, -108, -108, - -108, -108, -108, -108, 21, -108, -108, -108, -108, -108, - -108, 82, -108, -108, 31, -108, -108, -108, -108, 4, - -108, 5, -108, -108, -108, -108, -108, -83, -108, 72, - -108, -13, -108, -108, -108, -108, -26, -108, -108, -22, - -108, -108, -108, -108, -108, -108, -11, -108, -108, -3, - -108, 73, -108, 58, -108, -108, -108, -108, 71, -108, - 69, -108, 67, -108, 76, -108, -108, -108, -108, -108, - -108, 36, -108, -108, 88, -108, -108, -108, -108, 51, - -108, -108, 75, -108, -108, 48, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, 104, -108, 60, -108, -108, -108, -108, -108, - -108, -108, 64, -108, -108, -108, -108, -108, 33, -108, - 6, -108, -108, -108, -108, -108, -108, 9, -108, -108, - -108, -108, -108, -108, -108, 169, 262, -108, 11, -108, - -108, -108, -108, 227, -108, -108, -108, -108, -108, 12, - -108, -108, 278, -8, -108, -108, -5, -108, -108, -108, - -108, -108, -108, -17, -108, -108, -108, -108, -108, -108, - 2, -108, -108, -108, -108, -108, -108, -108, -108, 35, - -108, -108, -108, -108, -108, 23, -108, -108, 26, 25, - 38, -108, -108, -108, 288, -108, -108, 16, -108, -108, - -108, 361, -108, 20, -108, 15, -108, 97, 28, -108, - -108, 22, -108, -108, 94, -108, -108, -108, 29, -108, - -108, -108, -108, 19, -108, 14, 163, -108, 102, -108, - -108, -108, -108, 219, -108, 34, -108, 86, -108, -108, - -108, -108, 286, -108, -108}; + -103, 37, 13, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -55, -103, -103, -103, + -103, -103, -103, -103, -103, -103, 89, -103, -103, -103, + 24, -103, -103, 6, 15, 92, 100, -103, 154, 66, + -103, -103, 86, 143, -103, -103, -103, -103, 152, -103, + 144, 140, -103, 134, 135, -103, -103, -103, -103, 161, + 170, 176, -103, -103, -103, -103, 174, -103, 169, 153, + 162, 167, -103, 128, 126, 112, 116, 119, 113, -103, + 111, 104, 110, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, 63, -103, 120, -103, 88, 77, + 57, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, 28, -103, -103, -103, + -103, -103, 31, -103, -103, 36, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, 157, + -103, 125, -24, -103, -103, -14, -103, 210, 27, 160, + -103, -103, -103, -103, -103, -103, -103, -103, 8, -103, + -103, -103, -5, -103, -103, 74, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, 94, -103, -103, 44, -103, 35, -103, 81, -103, + 61, -103, -103, -103, -103, 75, -103, -103, -103, 4, + -7, -103, -103, -103, -103, -103, 26, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, 68, -103, -103, + -103, -103, 90, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, 70, 220, -103, 208, + 231, 230, 234, -103, 101, 82, 60, 76, 79, -103, + -103, -103, -103, -103, -103, -103, -103, 211, -103, 194, + -103, 192, -103, -103, 204, -103, 166, -103, -103, 197, + -103, 23, -103, -1, -103, 9, -103, 180, -103, 181, + 223, -103, -103, 227, -103, -103, -103, -103, -103, -103, + 184, -103, 93, 98, -103, -103, 108, -103, 83, -103, + 78, -103, 40, -103, -103, 109, -103, -103, 102, -103, + -103, 41, -103, 43, -103, 52, -103, 62, -103, -103, + -103, -103, -103, -103, 55, -103, 50, -103, 51, -103, + 107, 49, -103, -103, 73, -103, -103, 154, -103, -103, + -103, 64, -103, -103, -103, -103, 16, -103, 12, 147, + -103, 103, -103, -103, -4, -103, 0, -103, -103, -103, + -103, -103, -103, -103, 7, -103, -103, -103, -103, -103, + -103, 187, -103, -103, 25, -103, -103, -103, -103, 71, + -103, 65, -103, -103, -103, -103, -103, -44, -103, 46, + -103, -34, -103, -103, -103, -103, -21, -103, -103, -45, + -103, -103, -103, -103, -103, -103, -32, -103, -103, 53, + -103, 56, -103, 47, -103, -103, -103, -103, 42, -103, + 45, -103, 38, -103, 48, -103, -103, -103, -103, -103, + -103, 22, -103, -103, 124, -103, -103, -103, -103, 59, + -103, -103, 137, -103, -103, 54, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, 248, -103, -3, 114, -103, -103, -103, -103, + -103, -103, 5, -103, -103, -103, -103, -103, -8, -103, + 85, -103, -103, -103, -103, -103, -103, 11, -103, -103, + -103, -103, -103, -103, -103, -103, -103, 342, -103, -103, + -103, 29, -103, -103, -103, -103, -103, 273, -103, -103, + 3, -103, -103, -103, -103, -103, -103, 18, -103, -103, + -103, -103, -103, -103, -103, -103, 21, -103, -103, -103, + -103, -103, 2, -103, -103, 20, 14, 30, -103, -103, + -103, -103, -103, 284, -103, -103, -2, -103, -103, -103, + 222, -103, -9, -103, -6, -103, 96, 10, -103, -103, + 1, -103, -103, 80, -103, -103, -103, 72, -103, -103, + -103, -103, 69, -103, 58, 67, -103, 97, -103, -103, + -103, -103, -103, 84, -103, -103, -103}; const int QmlJSGrammar::action_info [] = { - -100, 525, 252, 398, -90, -133, 343, -103, -133, -122, - 448, -104, 439, 452, 525, 582, 533, 426, 340, 337, - 335, 338, 347, 396, 443, 579, 386, 435, 553, 384, - 525, 411, 574, -104, -125, 492, 567, -122, 403, 419, - 419, 335, 419, -100, 343, 252, 415, 441, -130, -127, - 452, 425, 448, -130, 435, 575, 435, -103, 435, 394, - 461, 558, -127, -125, 411, 159, 165, 178, 182, 330, - 136, 267, 301, 142, 404, 174, 409, 94, 267, 341, - 184, 452, 185, 247, 291, 299, 435, 448, 66, -114, - 411, 66, 320, 144, 252, 159, 313, 634, 422, 231, - 136, 0, 343, 322, 136, 287, 0, 472, 0, 136, - 429, 136, 0, 0, 438, 0, 287, 289, 96, 136, - 136, 94, 296, 136, 246, 136, 53, 136, 439, 0, - 0, 161, 625, 136, 328, 162, 0, 54, 0, 136, - 326, 0, 289, 423, 244, 243, 244, 243, 136, 96, - 309, 57, 172, 136, 310, 473, 323, 0, 560, 244, - 243, 483, 58, 242, 241, 237, 236, 492, 408, 407, - 554, 332, 454, 631, 510, 450, 541, 249, 307, 345, - 626, 251, 250, 515, 514, 413, 53, 522, 521, 53, - 53, 305, 539, 507, 506, 136, 137, 54, 464, 554, - 54, 54, 554, 31, 0, 525, 564, 563, 525, 80, - 584, 81, 561, 559, 80, 556, 81, 59, 510, 59, - 554, 0, 82, 31, 519, 518, 555, 82, 0, 80, - 569, 81, 0, 3, 2, 1, 539, 31, 504, 503, - 44, 45, 82, 31, 556, 31, 0, 556, 573, 572, - 31, 465, 463, 517, 59, 555, 136, 31, 555, 31, - 44, 45, 60, 31, 60, 556, 31, 502, 61, 31, - 61, 136, 98, 0, 44, 45, 555, 80, 31, 81, - 44, 45, 44, 45, 570, 568, 0, 44, 45, 31, - 82, 99, 167, 100, 44, 45, 44, 45, 31, 60, - 44, 45, 31, 44, 45, 61, 44, 45, 31, 230, - 229, 168, 31, 169, 31, 44, 45, 136, 0, 0, - 0, -344, 167, 0, 433, 432, 44, 45, 0, 269, - 270, 68, 69, 68, 69, 44, 45, 31, 0, 44, - 45, 168, 539, 401, -344, 44, 45, 510, 0, 44, - 45, 44, 45, 80, 0, 81, 271, 272, 70, 71, - 70, 71, 0, 0, 274, 275, 82, 31, 274, 275, - 230, 229, 31, 276, 44, 45, 277, 276, 278, 511, - 277, 31, 278, 274, 275, 0, 0, 0, 0, 0, - 0, 0, 276, 512, 509, 277, 0, 278, 31, 235, - 234, 0, 499, 31, 44, 45, 31, 0, 0, 44, - 45, 0, 0, 235, 234, 0, 31, 0, 44, 45, - 274, 275, 508, 31, 269, 270, 0, 0, 498, 276, - 240, 239, 277, 499, 278, 44, 45, 31, 235, 234, - 44, 45, 0, 44, 45, 0, 0, 0, 240, 239, - 0, 271, 272, 44, 45, 240, 239, 73, 74, 498, - 44, 45, 0, 0, 0, 75, 76, 499, 0, 77, - 545, 78, 0, 500, 44, 45, 73, 74, 0, 0, - 545, 0, 546, 31, 75, 76, 73, 74, 77, 31, - 78, 0, 546, 498, 75, 76, 73, 74, 77, 31, - 78, 0, 274, 275, 75, 76, 0, 0, 77, 0, - 78, 276, 0, 499, 277, 0, 278, 0, 0, 499, - 44, 45, 0, 0, 0, 0, 547, 548, 0, 499, - 0, 0, 0, 0, 221, 0, 547, 548, 0, 498, - 0, 525, 146, 205, 221, 498, 0, 0, 0, 0, - 0, 0, 147, 205, 0, 498, 148, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 73, 74, 0, 151, 0, - 152, 57, 0, 75, 76, 146, 0, 77, 153, 78, - 0, 154, 58, 0, 0, 147, 0, 155, 0, 148, - 0, 0, 0, 156, 0, 0, 0, 0, 149, 0, - 150, 0, 0, 303, 0, 0, 0, 0, 157, 0, - 0, 151, 0, 152, 57, 0, 0, 0, 0, 0, - 0, 153, 0, 0, 154, 58, 0, 0, 0, 0, - 155, 0, 0, 0, 0, 0, 156, 0, 146, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, - 0, 157, 148, 0, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 150, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 151, 0, 152, 57, 0, 0, - 0, 0, 0, 0, 153, 0, 0, 154, 58, 0, - 0, 0, 0, 155, 0, 0, 0, 0, 0, 156, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, - 0, 0, 32, 33, 0, 34, 0, 0, 0, 0, - 0, 0, 38, 0, 0, 0, 41, 0, 0, 0, + -114, 398, -93, 326, 252, 411, -89, -103, 343, -122, + 396, 386, 338, 337, -116, 492, 335, 452, -79, 340, + 540, 328, 384, 561, 435, -119, 448, 347, 452, 461, + 419, -92, 441, -122, 435, -103, 419, 415, 566, 554, + 439, 562, 335, 425, 426, 419, 443, 403, -119, 448, + 435, -116, -92, -114, 435, 411, 394, 569, 252, -89, + -93, 545, 287, 343, 165, 178, 136, 307, 174, 185, + 182, 159, 267, 66, 142, 452, 289, 296, 343, 448, + 404, 94, 291, 144, 411, 341, 252, 96, -111, 435, + 231, 247, 409, 159, 136, 287, 66, 320, 307, 313, + 616, 330, 136, 422, 0, 472, 136, 94, 0, 136, + 136, 301, 289, 322, 246, 438, 53, 161, 309, 613, + 184, 162, 310, 136, 299, 408, 407, 54, 136, 439, + 429, 136, 96, 136, 136, 556, 237, 236, 244, 243, + 251, 250, 510, 244, 243, 242, 241, 136, 423, 492, + 515, 514, 53, 473, 483, 136, 136, 53, 413, 53, + 527, 345, 249, 54, 522, 521, 323, 614, 54, 59, + 54, 507, 506, 57, 541, 450, 267, 244, 243, 80, + 332, 81, 172, 547, 58, 454, 80, 541, 81, 557, + 555, 31, 82, 464, 541, 137, 573, 31, 80, 82, + 81, 0, 167, 80, 510, 81, 541, 305, 0, 560, + 559, 82, 59, 136, 60, 31, 82, 31, 0, 543, + 61, 168, 527, 169, 59, 0, 0, 31, 44, 45, + 542, 80, 543, 81, 44, 45, 31, 548, 546, 543, + 504, 503, 31, 542, 82, 31, 465, 463, 31, 0, + 542, 543, 44, 45, 44, 45, 31, 60, 80, 80, + 81, 81, 542, 61, 44, 45, 230, 229, 502, 60, + 136, 82, 82, 44, 45, 61, 98, 31, 0, 44, + 45, 31, 44, 45, 31, 44, 45, 167, 31, 519, + 518, 0, 0, 44, 45, 99, 136, 100, 3, 2, + 1, 0, 0, 80, 0, 81, 168, 80, 401, 81, + 269, 270, 0, 0, 44, 45, 82, 517, 44, 45, + 82, 44, 45, 551, 550, 44, 45, 80, 80, 81, + 81, 80, 80, 81, 81, 136, 510, 271, 272, 31, + 82, 82, 269, 270, 82, 82, -333, 31, 0, 433, + 432, 0, 0, 0, -333, 0, 0, 31, 0, 31, + 527, 0, 0, 31, 0, 0, 31, 0, 511, 271, + 272, 0, 0, 0, 31, 0, 44, 45, 0, 0, + 0, 0, 512, 509, 44, 45, 0, 0, 230, 229, + 0, 240, 239, 499, 44, 45, 44, 45, 240, 239, + 44, 45, 0, 44, 45, 31, 235, 234, 274, 275, + 508, 44, 45, 0, 0, 31, 0, 276, 0, 498, + 277, 0, 278, 68, 69, 274, 275, 31, 0, 0, + 31, 0, 73, 74, 276, 499, 31, 277, 0, 278, + 75, 76, 44, 45, 77, 0, 78, 235, 234, 0, + 70, 71, 44, 45, 0, 0, 0, 0, 0, 240, + 239, 498, 235, 234, 44, 45, 499, 44, 45, 73, + 74, 0, 500, 44, 45, 0, 0, 75, 76, 73, + 74, 77, 0, 78, 0, 530, 0, 75, 76, 0, + 0, 77, 498, 78, 73, 74, 0, 531, 0, 0, + 274, 275, 75, 76, 31, 0, 77, 0, 78, 276, + 530, 0, 277, 0, 278, 0, 0, 0, 0, 0, + 0, 0, 531, 0, 0, 0, 0, 0, 0, 31, + 533, 0, 0, 0, 499, 0, 0, 0, 0, 0, + 0, 532, 534, 0, 0, 0, 0, 0, 0, 221, + 0, 0, 0, 0, 146, 571, 0, 0, 205, 499, + 498, 0, 0, 0, 147, 0, 532, 534, 148, 0, + 0, 0, 73, 74, 221, 0, 0, 149, 0, 150, + 75, 76, 303, 205, 77, 498, 78, 0, 0, 0, + 151, 0, 152, 57, 0, 0, 27, 28, 0, 0, + 153, 0, 0, 154, 58, 0, 30, 0, 0, 155, + 0, 0, 0, 31, 0, 156, 0, 32, 33, 0, + 34, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 157, 41, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 146, 0, 0, 0, 0, 46, + 44, 45, 0, 47, 147, 0, 0, 0, 148, 0, + 0, 0, 0, 0, 40, 49, 29, 149, 0, 150, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 151, 0, 152, 57, 0, 0, 0, 0, 0, 0, + 153, 0, 0, 154, 58, 0, 0, 0, 0, 155, + 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, - 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 26, 27, 28, 0, 0, + 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, - 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, - 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, + 34, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, + 44, 45, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -123, 0, 0, 0, 26, 27, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, - 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, - 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, - 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, - 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, - 0, 50, 266, 51, 0, 0, 0, 0, 40, 49, + 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 470, 0, 0, 26, 27, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, - 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, - 0, 0, 471, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, - 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, - 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 478, 0, 0, 26, 27, 28, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, - 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, - 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, - 481, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, - 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 0, 31, 212, - 0, 0, 590, 591, 0, 34, 0, 0, 0, 35, - 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, - 42, 0, 43, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 46, 44, 45, 0, 47, 0, - 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, - 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, + 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, + 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, + 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, + 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, + 0, 47, 0, 48, 0, 50, 266, 51, 0, 0, + 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, + 0, 0, 0, 0, 0, 0, 0, -112, 0, 0, + 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, + 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, + 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, + 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, + 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, + 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, @@ -482,60 +447,76 @@ const int QmlJSGrammar::action_info [] = { 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 478, 0, 0, 26, 27, 28, 0, + 0, 0, 478, 0, 0, 26, 27, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, + 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, + 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, + 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, + 481, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, + 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 478, + 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, + 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, + 0, 0, 42, 0, 43, 0, 0, 479, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, + 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, + 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, - 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, + 0, 0, 0, 0, 31, 212, 0, 0, 579, 580, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, - 0, 479, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 470, 0, 0, 26, 27, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, - 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, - 41, 0, 0, 0, 42, 0, 43, 0, 0, 471, - 0, 0, 499, 0, 0, 0, 0, 0, 46, 44, - 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, - 0, 0, 0, 40, 49, 29, 0, 0, 498, 37, - 525, 0, 0, 0, 0, 0, 0, 0, 0, 104, - 105, 106, 0, 0, 108, 110, 111, 0, 0, 112, - 0, 113, 0, 0, 0, 115, 116, 117, 0, 0, - 0, 0, 0, 0, 31, 118, 119, 120, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 44, 45, 125, 126, 127, 0, 129, 130, 131, - 132, 133, 134, 0, 0, 122, 128, 114, 107, 109, - 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 104, 105, 106, 0, 0, 108, 110, 111, 0, - 0, 112, 0, 113, 0, 0, 0, 115, 116, 117, - 0, 0, 0, 0, 0, 0, 31, 118, 119, 120, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 0, 0, 0, 534, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, - 0, 0, 0, 44, 45, 125, 126, 127, 0, 129, - 130, 131, 132, 133, 134, 0, 0, 122, 128, 114, - 107, 109, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 104, 105, 106, 0, 0, 108, 110, - 111, 0, 0, 112, 0, 113, 0, 0, 0, 115, - 116, 117, 0, 0, 0, 0, 0, 0, 388, 118, - 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 0, 0, 389, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, - 0, 0, 0, 0, 393, 390, 392, 125, 126, 127, - 0, 129, 130, 131, 132, 133, 134, 0, 0, 122, - 128, 114, 107, 109, 123, 0, 0, 0, 0, 0, + 470, 0, 0, 26, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, + 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, + 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, + 0, 0, 0, 42, 0, 43, 0, 0, 471, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, + 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, + 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, + 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, + 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, + 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, + 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, + 42, 0, 43, 0, 0, 471, 0, 0, 499, 0, + 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, + 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, + 49, 29, 0, 0, 498, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 104, 105, 106, 0, 0, 108, + 110, 111, 0, 0, 112, 0, 113, 0, 0, 0, + 115, 116, 117, 0, 0, 0, 0, 0, 0, 31, + 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 0, 0, 0, 0, 0, 0, 44, 45, 125, 126, + 127, 0, 129, 130, 131, 132, 133, 134, 0, 0, + 122, 128, 114, 107, 109, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 105, 106, 0, 0, 108, 110, 111, 0, 0, 112, 0, 113, 0, 0, 0, 115, 116, 117, 0, 0, 0, 0, 0, 0, 388, 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 389, 0, - 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 393, 390, 392, 125, 126, 127, 0, 129, 130, 131, 132, 133, 134, 0, 0, 122, 128, 114, 107, 109, 123, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 104, 105, 106, 0, + 0, 108, 110, 111, 0, 0, 112, 0, 113, 0, + 0, 0, 115, 116, 117, 0, 0, 0, 0, 0, + 0, 388, 118, 119, 120, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 121, 0, 0, 0, 389, + 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, + 0, 124, 0, 0, 0, 0, 0, 393, 390, 392, + 125, 126, 127, 0, 129, 130, 131, 132, 133, 134, + 0, 0, 122, 128, 114, 107, 109, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 206, 0, 26, 27, 28, 208, 0, 0, 0, 0, 0, 0, 209, 30, 0, 0, 0, 0, @@ -545,219 +526,190 @@ const int QmlJSGrammar::action_info [] = { 0, 0, 215, 0, 216, 0, 0, 0, 46, 214, 217, 218, 47, 219, 48, 220, 50, 221, 51, 222, 223, 0, 0, 40, 49, 29, 205, 207, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, - 0, 0, 0, 0, 206, 0, 26, 27, 28, 208, - 0, 0, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 0, 211, 212, 0, 0, 213, 33, - 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, - 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, - 0, 0, 0, 0, 215, 0, 216, 0, 0, 0, - 46, 214, 217, 218, 47, 219, 48, 220, 50, 221, - 51, 222, 223, 0, 0, 40, 49, 29, 205, 207, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 593, 105, 106, 0, 0, 595, 110, 597, 27, - 28, 598, 0, 113, 0, 0, 0, 115, 600, 601, - 0, 0, 0, 0, 0, 0, 602, 603, 119, 120, - 213, 33, 0, 34, 0, 0, 0, 35, 0, 36, - 604, 39, 0, 0, 606, 0, 0, 0, 42, 0, - 43, 0, 0, 0, 0, 0, 608, 0, 216, 0, - 0, 0, 610, 607, 609, 611, 612, 613, 48, 615, - 616, 617, 618, 619, 620, 0, 0, 605, 614, 599, - 594, 596, 123, 37, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 356, 105, 106, 0, 0, 358, 110, - 360, 27, 28, 361, 0, 113, 0, 0, 0, 115, - 363, 364, 0, 0, 0, 0, 0, 0, 365, 366, - 119, 120, 213, 33, 0, 34, 0, 0, 0, 35, - 0, 36, 367, 39, 0, 0, 369, 0, 0, 0, - 42, 0, 43, 0, -269, 0, 0, 0, 371, 0, - 216, 0, 0, 0, 373, 370, 372, 374, 375, 376, - 48, 378, 379, 380, 381, 382, 383, 0, 0, 368, - 377, 362, 357, 359, 123, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, + 0, 0, 0, 206, 0, 26, 27, 28, 208, 0, + 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, + 0, 0, 0, 211, 212, 0, 0, 213, 33, 0, + 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, + 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, + 0, 0, 0, 215, 0, 216, 0, 0, 0, 46, + 214, 217, 218, 47, 219, 48, 220, 50, 221, 51, + 222, 223, 0, 0, 40, 49, 29, 205, 207, 0, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 582, + 105, 106, 0, 0, 584, 110, 586, 27, 28, 587, + 0, 113, 0, 0, 0, 115, 589, 590, 0, 0, + 0, 0, 0, 0, 591, 592, 119, 120, 213, 33, + 0, 34, 0, 0, 0, 35, 0, 36, 593, 39, + 0, 0, 595, 0, 0, 0, 42, 0, 43, 0, + 0, 0, 0, 0, 597, 0, 216, 0, 0, 0, + 599, 596, 598, 600, 601, 602, 48, 604, 605, 606, + 607, 608, 609, 0, 0, 594, 603, 588, 583, 585, + 123, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 356, 105, 106, 0, 0, 358, 110, 360, 27, 28, + 361, 0, 113, 0, 0, 0, 115, 363, 364, 0, + 0, 0, 0, 0, 0, 365, 366, 119, 120, 213, + 33, 0, 34, 0, 0, 0, 35, 0, 36, 367, + 39, 0, 0, 369, 0, 0, 0, 42, 0, 43, + 0, -258, 0, 0, 0, 371, 0, 216, 0, 0, + 0, 373, 370, 372, 374, 375, 376, 48, 378, 379, + 380, 381, 382, 383, 0, 0, 368, 377, 362, 357, + 359, 123, 37, 0, 0, 0, 0, 0, 0, 0, + 0, - 491, 434, 302, 632, 565, 562, 410, 166, 412, 557, - 13, 304, 183, 431, 420, 516, 171, 164, 520, 445, - 202, 387, 431, 542, 238, 629, 315, 248, 145, 233, - 245, 177, 297, 405, 385, 583, 434, 592, 571, 181, - 482, 177, 513, 306, 348, 627, 135, 581, 329, 578, - 297, 580, 245, 233, 177, 331, 427, 395, 238, 431, - 430, 434, 297, 467, 342, 346, 334, 333, 523, 344, - 453, 451, 462, 505, 449, 428, 141, 233, 455, 238, - 444, 424, 442, 397, 477, 245, 456, 480, 440, 138, - 143, 158, 202, 202, 0, 497, 0, 456, 628, 0, - 0, 297, 490, 0, 0, 0, 55, 475, 447, 0, - 315, 474, 0, 497, 501, 0, 0, 399, 141, 55, - 400, 175, 181, 402, 55, 55, 485, 484, 399, 55, - 261, 400, 55, 399, 280, 265, 400, 283, 55, 297, - 55, 55, 55, 281, 175, 282, 279, 55, 55, 447, - 175, 55, 101, 55, 297, 55, 55, 55, 86, 103, - 79, 55, 93, 91, 55, 160, 55, 325, 55, 67, - 72, 87, 85, 55, 466, 55, 55, 55, 530, 297, - 55, 84, 55, 97, 83, 531, 0, 95, 92, 324, - 55, 339, 163, 55, 55, 88, 0, 232, 90, 89, - 55, 55, 447, 489, 55, 298, 486, 55, 55, 488, - 446, 141, 55, 336, 487, 55, 173, 62, 55, 0, - 327, 65, 55, 55, 63, 55, 56, 64, 497, 55, - 293, 630, 55, 629, 265, 265, 530, 265, 0, 0, - 101, 293, 535, 531, 308, 300, 265, 103, 293, 311, - 55, 55, 292, 265, 55, 265, 265, 285, 0, 265, - 268, 286, 55, 314, 0, 0, 0, 265, 0, 170, - 312, 497, 0, 290, 537, 293, 0, 55, 293, 0, - 265, 55, 265, 265, 284, 55, 265, 497, 551, 0, - 265, 587, 273, 0, 288, 497, 551, 321, 0, 0, - 295, 0, 0, 0, 0, 633, 0, 544, 552, 0, - 585, 586, 588, 589, 0, 544, 552, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 513, 304, 238, 183, 523, 164, 431, 145, 434, + 177, 306, 245, 581, 505, 490, 166, 181, 482, 431, + 520, 549, 565, 544, 558, 302, 385, 405, 434, 570, + 171, 387, 430, 177, 567, 456, 467, 395, 552, 568, + 13, 453, 333, 342, 238, 449, 344, 451, 420, 428, + 455, 245, 462, 233, 346, 424, 427, 397, 138, 233, + 238, 143, 440, 444, 348, 442, 158, 297, 412, 445, + 334, 248, 431, 410, 434, 297, 202, 0, 297, 315, + 135, 331, 177, 245, 477, 329, 0, 141, 0, 480, + 0, 0, 0, 497, 516, 615, 202, 101, 0, 0, + 55, 297, 315, 55, 202, 281, 55, 55, 486, 446, + 0, 297, 0, 0, 399, 95, 55, 400, 181, 55, + 103, 282, 55, 497, 283, 524, 55, 280, 487, 55, + 261, 175, 55, 456, 484, 265, 55, 55, 175, 447, + 55, 55, 485, 55, 55, 447, 279, 55, 84, 175, + 55, 55, 55, 55, 85, 83, 55, 87, 90, 55, + 55, 88, 325, 475, 89, 55, 55, 474, 55, 297, + 97, 86, 327, 79, 55, 55, 324, 56, 65, 0, + 55, 163, 447, 55, 55, 488, 446, 55, 399, 446, + 141, 400, 55, 55, 489, 232, 173, 55, 339, 91, + 297, 55, 55, 62, 336, 466, 0, 55, 92, 55, + 55, 160, 63, 93, 55, 72, 55, 141, 64, 101, + 55, 55, 67, 402, 293, 265, 265, 0, 0, 265, + 298, 610, 293, 612, 55, 308, 0, 265, 311, 265, + 0, 0, 103, 170, 293, 290, 321, 0, 55, 265, + 0, 55, 467, 265, 292, 273, 265, 497, 501, 0, + 55, 300, 0, 293, 288, 265, 295, 293, 265, 268, + 55, 55, 265, 0, 55, 265, 265, 285, 284, 265, + 0, 286, 497, 538, 0, 312, 572, 576, 0, 314, + 0, 0, 0, 0, 0, 0, 529, 539, 0, 0, + 574, 575, 577, 578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 621, 0, 0, 624, 623, 0, 0, 0, 0, 0, + 0, 497, 538, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 529, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0}; const int QmlJSGrammar::action_check [] = { - 7, 87, 36, 55, 33, 7, 36, 7, 7, 7, - 36, 7, 20, 36, 87, 60, 17, 7, 55, 60, - 36, 33, 16, 55, 60, 8, 8, 33, 66, 7, - 87, 36, 29, 7, 7, 89, 29, 7, 60, 5, - 5, 36, 5, 7, 36, 36, 33, 36, 7, 7, - 36, 55, 36, 7, 33, 36, 33, 7, 33, 7, - 17, 29, 7, 7, 36, 2, 7, 36, 8, 31, - 8, 1, 60, 8, 7, 60, 7, 48, 1, 7, - 60, 36, 33, 36, 8, 61, 33, 36, 1, 7, - 36, 1, 17, 60, 36, 2, 7, 0, 10, 55, - 8, -1, 36, 8, 8, 48, -1, 8, -1, 8, - 7, 8, -1, -1, 6, -1, 48, 78, 78, 8, - 8, 48, 61, 8, 76, 8, 40, 8, 20, -1, - -1, 50, 8, 8, 60, 54, -1, 51, -1, 8, - 61, -1, 78, 55, 61, 62, 61, 62, 8, 78, - 50, 42, 56, 8, 54, 56, 61, -1, 7, 61, - 62, 60, 53, 61, 62, 61, 62, 89, 61, 62, - 29, 60, 60, 55, 15, 60, 55, 60, 2, 60, - 56, 61, 62, 61, 62, 60, 40, 61, 62, 40, - 40, 60, 33, 61, 62, 8, 56, 51, 8, 29, - 51, 51, 29, 29, -1, 87, 61, 62, 87, 25, - 7, 27, 61, 62, 25, 74, 27, 12, 15, 12, - 29, -1, 38, 29, 61, 62, 85, 38, -1, 25, - 7, 27, -1, 91, 92, 93, 33, 29, 61, 62, - 66, 67, 38, 29, 74, 29, -1, 74, 61, 62, - 29, 61, 62, 90, 12, 85, 8, 29, 85, 29, - 66, 67, 57, 29, 57, 74, 29, 90, 63, 29, - 63, 8, 15, -1, 66, 67, 85, 25, 29, 27, - 66, 67, 66, 67, 61, 62, -1, 66, 67, 29, - 38, 34, 15, 36, 66, 67, 66, 67, 29, 57, - 66, 67, 29, 66, 67, 63, 66, 67, 29, 61, - 62, 34, 29, 36, 29, 66, 67, 8, -1, -1, - -1, 36, 15, -1, 61, 62, 66, 67, -1, 18, - 19, 18, 19, 18, 19, 66, 67, 29, -1, 66, - 67, 34, 33, 36, 36, 66, 67, 15, -1, 66, - 67, 66, 67, 25, -1, 27, 45, 46, 45, 46, - 45, 46, -1, -1, 23, 24, 38, 29, 23, 24, - 61, 62, 29, 32, 66, 67, 35, 32, 37, 47, - 35, 29, 37, 23, 24, -1, -1, -1, -1, -1, - -1, -1, 32, 61, 62, 35, -1, 37, 29, 61, - 62, -1, 59, 29, 66, 67, 29, -1, -1, 66, - 67, -1, -1, 61, 62, -1, 29, -1, 66, 67, - 23, 24, 90, 29, 18, 19, -1, -1, 85, 32, - 61, 62, 35, 59, 37, 66, 67, 29, 61, 62, - 66, 67, -1, 66, 67, -1, -1, -1, 61, 62, - -1, 45, 46, 66, 67, 61, 62, 23, 24, 85, - 66, 67, -1, -1, -1, 31, 32, 59, -1, 35, - 10, 37, -1, 65, 66, 67, 23, 24, -1, -1, - 10, -1, 22, 29, 31, 32, 23, 24, 35, 29, - 37, -1, 22, 85, 31, 32, 23, 24, 35, 29, - 37, -1, 23, 24, 31, 32, -1, -1, 35, -1, - 37, 32, -1, 59, 35, -1, 37, -1, -1, 59, - 66, 67, -1, -1, -1, -1, 66, 67, -1, 59, - -1, -1, -1, -1, 74, -1, 66, 67, -1, 85, - -1, 87, 3, 83, 74, 85, -1, -1, -1, -1, - -1, -1, 13, 83, -1, 85, 17, -1, -1, -1, - -1, -1, -1, -1, -1, 26, -1, 28, -1, -1, - -1, -1, -1, -1, -1, 23, 24, -1, 39, -1, - 41, 42, -1, 31, 32, 3, -1, 35, 49, 37, - -1, 52, 53, -1, -1, 13, -1, 58, -1, 17, - -1, -1, -1, 64, -1, -1, -1, -1, 26, -1, - 28, -1, -1, 31, -1, -1, -1, -1, 79, -1, - -1, 39, -1, 41, 42, -1, -1, -1, -1, -1, - -1, 49, -1, -1, 52, 53, -1, -1, -1, -1, - 58, -1, -1, -1, -1, -1, 64, -1, 3, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, - -1, 79, 17, -1, -1, -1, -1, -1, -1, -1, - -1, 26, -1, 28, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 39, -1, 41, 42, -1, -1, - -1, -1, -1, -1, 49, -1, -1, 52, 53, -1, - -1, -1, -1, 58, -1, -1, -1, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, - -1, -1, 33, 34, -1, 36, -1, -1, -1, -1, - -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + 7, 55, 7, 61, 36, 36, 7, 7, 36, 7, + 55, 8, 33, 60, 7, 88, 36, 36, 33, 55, + 66, 60, 7, 29, 33, 7, 36, 16, 36, 17, + 5, 7, 36, 7, 33, 7, 5, 33, 8, 29, + 20, 36, 36, 55, 7, 5, 60, 60, 7, 36, + 33, 7, 7, 7, 33, 36, 7, 60, 36, 7, + 7, 29, 48, 36, 7, 36, 8, 2, 60, 33, + 8, 2, 1, 1, 8, 36, 78, 61, 36, 36, + 7, 48, 8, 60, 36, 7, 36, 78, 7, 33, + 55, 36, 7, 2, 8, 48, 1, 17, 2, 7, + 0, 31, 8, 10, -1, 8, 8, 48, -1, 8, + 8, 60, 78, 8, 76, 6, 40, 50, 50, 8, + 60, 54, 54, 8, 61, 61, 62, 51, 8, 20, + 7, 8, 78, 8, 8, 7, 61, 62, 61, 62, + 61, 62, 15, 61, 62, 61, 62, 8, 55, 88, + 61, 62, 40, 56, 60, 8, 8, 40, 60, 40, + 33, 60, 60, 51, 61, 62, 61, 56, 51, 12, + 51, 61, 62, 42, 29, 60, 1, 61, 62, 25, + 60, 27, 56, 7, 53, 60, 25, 29, 27, 61, + 62, 29, 38, 8, 29, 56, 7, 29, 25, 38, + 27, -1, 15, 25, 15, 27, 29, 60, -1, 61, + 62, 38, 12, 8, 57, 29, 38, 29, -1, 74, + 63, 34, 33, 36, 12, -1, -1, 29, 66, 67, + 85, 25, 74, 27, 66, 67, 29, 61, 62, 74, + 61, 62, 29, 85, 38, 29, 61, 62, 29, -1, + 85, 74, 66, 67, 66, 67, 29, 57, 25, 25, + 27, 27, 85, 63, 66, 67, 61, 62, 89, 57, + 8, 38, 38, 66, 67, 63, 15, 29, -1, 66, + 67, 29, 66, 67, 29, 66, 67, 15, 29, 61, + 62, -1, -1, 66, 67, 34, 8, 36, 90, 91, + 92, -1, -1, 25, -1, 27, 34, 25, 36, 27, + 18, 19, -1, -1, 66, 67, 38, 89, 66, 67, + 38, 66, 67, 61, 62, 66, 67, 25, 25, 27, + 27, 25, 25, 27, 27, 8, 15, 45, 46, 29, + 38, 38, 18, 19, 38, 38, 36, 29, -1, 61, + 62, -1, -1, -1, 36, -1, -1, 29, -1, 29, + 33, -1, -1, 29, -1, -1, 29, -1, 47, 45, + 46, -1, -1, -1, 29, -1, 66, 67, -1, -1, + -1, -1, 61, 62, 66, 67, -1, -1, 61, 62, + -1, 61, 62, 59, 66, 67, 66, 67, 61, 62, + 66, 67, -1, 66, 67, 29, 61, 62, 23, 24, + 89, 66, 67, -1, -1, 29, -1, 32, -1, 85, + 35, -1, 37, 18, 19, 23, 24, 29, -1, -1, + 29, -1, 23, 24, 32, 59, 29, 35, -1, 37, + 31, 32, 66, 67, 35, -1, 37, 61, 62, -1, + 45, 46, 66, 67, -1, -1, -1, -1, -1, 61, + 62, 85, 61, 62, 66, 67, 59, 66, 67, 23, + 24, -1, 65, 66, 67, -1, -1, 31, 32, 23, + 24, 35, -1, 37, -1, 10, -1, 31, 32, -1, + -1, 35, 85, 37, 23, 24, -1, 22, -1, -1, + 23, 24, 31, 32, 29, -1, 35, -1, 37, 32, + 10, -1, 35, -1, 37, -1, -1, -1, -1, -1, + -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, + 55, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, 66, 67, -1, -1, -1, -1, -1, -1, 74, + -1, -1, -1, -1, 3, 55, -1, -1, 83, 59, + 85, -1, -1, -1, 13, -1, 66, 67, 17, -1, + -1, -1, 23, 24, 74, -1, -1, 26, -1, 28, + 31, 32, 31, 83, 35, 85, 37, -1, -1, -1, + 39, -1, 41, 42, -1, -1, 12, 13, -1, -1, + 49, -1, -1, 52, 53, -1, 22, -1, -1, 58, + -1, -1, -1, 29, -1, 64, -1, 33, 34, -1, + 36, -1, -1, -1, -1, -1, -1, 43, -1, -1, + 79, 47, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3, -1, -1, -1, -1, 65, + 66, 67, -1, 69, 13, -1, -1, -1, 17, -1, + -1, -1, -1, -1, 80, 81, 82, 26, -1, 28, + 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 39, -1, 41, 42, -1, -1, -1, -1, -1, -1, + 49, -1, -1, 52, 53, -1, -1, -1, -1, 58, + -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, + 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, + 36, -1, -1, -1, -1, -1, -1, 43, -1, -1, + -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, + 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, - 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 7, -1, -1, -1, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, - -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, - -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, - 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, - 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, - -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, + 86, -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, - -1, 73, 74, 75, -1, -1, -1, -1, 80, 81, + -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 8, -1, -1, 11, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, - -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, - 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, - -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, - -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, - -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, - -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, - -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, - 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, 22, -1, -1, -1, -1, -1, -1, 29, 30, - -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, - 61, -1, -1, -1, 65, 66, 67, -1, 69, -1, - 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, + -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, + -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, + -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, + -1, 69, -1, 71, -1, 73, 74, 75, -1, -1, + -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, + -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, + -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, + -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, + -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, + 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, + -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, + -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, + 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, @@ -767,60 +719,76 @@ const int QmlJSGrammar::action_check [] = { -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 8, -1, -1, 11, 12, 13, -1, + -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, + -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, + -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, + 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, + -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, + 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, + -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, + 86, -1, -1, -1, -1, -1, -1, -1, -1, 8, + -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, + -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, + 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, + -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, + -1, -1, 51, -1, 53, -1, -1, 56, -1, -1, + -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, + 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, + -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, + -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, - -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, + -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, - -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, - -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, - -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, - 47, -1, -1, -1, 51, -1, 53, -1, -1, 56, - -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, - 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, - -1, -1, -1, 80, 81, 82, -1, -1, 85, 86, - 87, -1, -1, -1, -1, -1, -1, -1, -1, 4, - 5, 6, -1, -1, 9, 10, 11, -1, -1, 14, - -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, - -1, -1, -1, -1, 29, 30, 31, 32, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, - -1, 66, 67, 68, 69, 70, -1, 72, 73, 74, - 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, - 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4, 5, 6, -1, -1, 9, 10, 11, -1, - -1, 14, -1, 16, -1, -1, -1, 20, 21, 22, - -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, - -1, -1, -1, 66, 67, 68, 69, 70, -1, 72, - 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, - 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, - 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, - 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, - 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, - -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, - -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, - 81, 82, 83, 84, 85, -1, -1, -1, -1, -1, + 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, + -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, + -1, -1, -1, 51, -1, 53, -1, -1, 56, -1, + -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, + -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, + -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, + -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, + 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, + -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, -1, 56, -1, -1, 59, -1, + -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, + 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, + 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, + -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, + 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, + 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, + 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, -1, -1, 66, 67, 68, 69, + 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, 82, 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, -1, 47, -1, - -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, + -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, + -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, + -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 43, -1, -1, -1, 47, + -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, + -1, 59, -1, -1, -1, -1, -1, 65, 66, 67, + 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, 82, 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, 9, -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, @@ -830,81 +798,79 @@ const int QmlJSGrammar::action_check [] = { -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, -1, 86, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, - -1, -1, -1, -1, 9, -1, 11, 12, 13, 14, - -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, - -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, + -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, + -1, -1, -1, 9, -1, 11, 12, 13, 14, -1, + -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, + -1, -1, -1, 29, 30, -1, -1, 33, 34, -1, + 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, + -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, + -1, -1, -1, 59, -1, 61, -1, -1, -1, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, -1, -1, 80, 81, 82, 83, 84, -1, + 86, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, 6, -1, -1, 9, 10, 11, 12, 13, 14, + -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, + -1, -1, -1, -1, 29, 30, 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, - -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4, 5, 6, -1, -1, 9, 10, 11, 12, - 13, 14, -1, 16, -1, -1, -1, 20, 21, 22, - -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, - 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, - 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, 59, -1, 61, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, - 83, 84, 85, 86, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, - 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, - 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, - 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - 51, -1, 53, -1, 55, -1, -1, -1, 59, -1, - 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, - 81, 82, 83, 84, 85, 86, -1, -1, -1, -1, - -1, -1, -1, -1, -1, + 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 5, 6, -1, -1, 9, 10, 11, 12, 13, + 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, + -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, + 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, + 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, + -1, 55, -1, -1, -1, 59, -1, 61, -1, -1, + -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, + 84, 85, 86, -1, -1, -1, -1, -1, -1, -1, + -1, - 6, 22, 2, 11, 9, 3, 2, 36, 3, 26, - 3, 3, 9, 3, 97, 9, 3, 36, 9, 22, - 2, 37, 3, 11, 9, 14, 9, 3, 68, 9, - 2, 9, 3, 2, 36, 9, 22, 21, 3, 9, - 3, 9, 9, 2, 2, 11, 3, 9, 2, 26, - 3, 26, 2, 9, 9, 3, 82, 36, 9, 3, - 82, 22, 3, 36, 2, 2, 9, 2, 8, 3, - 3, 2, 36, 9, 3, 3, 36, 9, 2, 9, - 22, 94, 9, 2, 36, 2, 9, 36, 99, 36, - 36, 36, 2, 2, -1, 9, -1, 9, 12, -1, - -1, 3, 2, -1, -1, -1, 45, 32, 47, -1, - 9, 36, -1, 9, 10, -1, -1, 39, 36, 45, - 42, 47, 9, 41, 45, 45, 47, 47, 39, 45, - 45, 42, 45, 39, 50, 50, 42, 50, 45, 3, - 45, 45, 45, 50, 47, 50, 50, 45, 45, 47, - 47, 45, 9, 45, 3, 45, 45, 45, 50, 16, - 50, 45, 51, 51, 45, 59, 45, 69, 45, 53, - 51, 50, 49, 45, 86, 45, 45, 45, 9, 3, - 45, 49, 45, 55, 49, 16, -1, 57, 51, 88, - 45, 101, 61, 45, 45, 50, -1, 106, 50, 50, - 45, 45, 47, 47, 45, 69, 47, 45, 45, 47, - 47, 36, 45, 100, 47, 45, 41, 47, 45, -1, - 69, 48, 45, 45, 47, 45, 48, 47, 9, 45, - 45, 12, 45, 14, 50, 50, 9, 50, -1, -1, - 9, 45, 15, 16, 60, 69, 50, 16, 45, 62, - 45, 45, 67, 50, 45, 50, 50, 52, -1, 50, - 54, 52, 45, 67, -1, -1, -1, 50, -1, 38, - 67, 9, -1, 56, 12, 45, -1, 45, 45, -1, - 50, 45, 50, 50, 52, 45, 50, 9, 10, -1, - 50, 3, 52, -1, 58, 9, 10, 67, -1, -1, - 67, -1, -1, -1, -1, 19, -1, 29, 30, -1, - 22, 23, 24, 25, -1, 29, 30, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 9, 9, 3, 9, 9, 8, 30, 3, 63, 16, + 9, 2, 2, 15, 9, 2, 30, 9, 3, 3, + 9, 3, 20, 20, 3, 2, 30, 2, 16, 9, + 3, 31, 77, 9, 20, 9, 30, 30, 9, 9, + 3, 3, 2, 2, 9, 3, 3, 2, 92, 3, + 2, 2, 30, 9, 2, 89, 77, 2, 30, 9, + 9, 30, 94, 16, 2, 9, 30, 3, 3, 16, + 9, 3, 3, 2, 16, 3, 2, -1, 3, 9, + 3, 3, 9, 2, 30, 2, -1, 30, -1, 30, + -1, -1, -1, 9, 9, 11, 2, 9, -1, -1, + 40, 3, 9, 40, 2, 45, 40, 40, 42, 42, + -1, 3, -1, -1, 34, 52, 40, 37, 9, 40, + 32, 45, 40, 9, 45, 11, 40, 45, 42, 40, + 40, 42, 40, 9, 42, 45, 40, 40, 42, 42, + 40, 40, 42, 40, 40, 42, 45, 40, 44, 42, + 40, 40, 40, 40, 44, 44, 40, 45, 45, 40, + 40, 45, 64, 26, 45, 40, 40, 30, 40, 3, + 50, 45, 64, 45, 40, 40, 83, 43, 43, -1, + 40, 56, 42, 40, 40, 42, 42, 40, 34, 42, + 30, 37, 40, 40, 42, 101, 36, 40, 96, 46, + 3, 40, 40, 42, 95, 81, -1, 40, 46, 40, + 40, 54, 42, 46, 40, 46, 40, 30, 42, 9, + 40, 40, 48, 36, 40, 45, 45, -1, -1, 45, + 64, 9, 40, 11, 40, 55, -1, 45, 57, 45, + -1, -1, 32, 33, 40, 51, 62, -1, 40, 45, + -1, 40, 30, 45, 62, 47, 45, 9, 10, -1, + 40, 64, -1, 40, 53, 45, 62, 40, 45, 49, + 40, 40, 45, -1, 40, 45, 45, 47, 47, 45, + -1, 47, 9, 10, -1, 62, 13, 3, -1, 62, + -1, -1, -1, -1, -1, -1, 23, 24, -1, -1, + 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 9, -1, -1, 12, 13, -1, -1, -1, -1, -1, + -1, 9, 10, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1}; + -1, -1, -1, -1, -1}; diff --git a/src/declarative/qml/parser/qmljsgrammar_p.h b/src/declarative/qml/parser/qmljsgrammar_p.h index 7ffda6a..c760564 100644 --- a/src/declarative/qml/parser/qmljsgrammar_p.h +++ b/src/declarative/qml/parser/qmljsgrammar_p.h @@ -59,13 +59,12 @@ class QmlJSGrammar public: enum { EOF_SYMBOL = 0, - REDUCE_HERE = 95, - SHIFT_THERE = 94, + REDUCE_HERE = 94, + SHIFT_THERE = 93, T_AND = 1, T_AND_AND = 2, T_AND_EQ = 3, - T_AS = 90, - T_AT = 87, + T_AS = 89, T_AUTOMATIC_SEMICOLON = 62, T_BREAK = 4, T_CASE = 5, @@ -86,9 +85,9 @@ public: T_EQ_EQ = 18, T_EQ_EQ_EQ = 19, T_FALSE = 82, - T_FEED_JS_EXPRESSION = 93, - T_FEED_JS_STATEMENT = 92, - T_FEED_UI_PROGRAM = 91, + T_FEED_JS_EXPRESSION = 92, + T_FEED_JS_STATEMENT = 91, + T_FEED_UI_PROGRAM = 90, T_FINALLY = 20, T_FOR = 21, T_FUNCTION = 22, @@ -100,7 +99,7 @@ public: T_GT_GT_GT_EQ = 28, T_IDENTIFIER = 29, T_IF = 30, - T_IMPORT = 89, + T_IMPORT = 88, T_IN = 31, T_INSTANCEOF = 32, T_LBRACE = 33, @@ -127,7 +126,7 @@ public: T_PLUS_EQ = 52, T_PLUS_PLUS = 53, T_PROPERTY = 66, - T_PUBLIC = 88, + T_PUBLIC = 87, T_QUESTION = 54, T_RBRACE = 55, T_RBRACKET = 56, @@ -155,15 +154,15 @@ public: T_XOR = 78, T_XOR_EQ = 79, - ACCEPT_STATE = 634, - RULE_COUNT = 348, - STATE_COUNT = 635, - TERMINAL_COUNT = 96, - NON_TERMINAL_COUNT = 108, + ACCEPT_STATE = 616, + RULE_COUNT = 337, + STATE_COUNT = 617, + TERMINAL_COUNT = 95, + NON_TERMINAL_COUNT = 103, - GOTO_INDEX_OFFSET = 635, - GOTO_INFO_OFFSET = 2345, - GOTO_CHECK_OFFSET = 2345 + GOTO_INDEX_OFFSET = 617, + GOTO_INFO_OFFSET = 2231, + GOTO_CHECK_OFFSET = 2231 }; static const char *const spell []; diff --git a/src/declarative/qml/parser/qmljslexer.cpp b/src/declarative/qml/parser/qmljslexer.cpp index 0756f10..a22169d 100644 --- a/src/declarative/qml/parser/qmljslexer.cpp +++ b/src/declarative/qml/parser/qmljslexer.cpp @@ -1038,7 +1038,6 @@ int Lexer::matchPunctuator(ushort c1, ushort c2, case '[': shift(1); return QmlJSGrammar::T_LBRACKET; case ']': shift(1); return QmlJSGrammar::T_RBRACKET; case ';': shift(1); return QmlJSGrammar::T_SEMICOLON; - case '@': shift(1); return QmlJSGrammar::T_AT; default: return -1; } diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp index 93f9fda..a1236d5 100644 --- a/src/declarative/qml/parser/qmljsparser.cpp +++ b/src/declarative/qml/parser/qmljsparser.cpp @@ -292,100 +292,51 @@ case 20: { } break; case 21: { - sym(1).Node = makeAstNode (driver->nodePool(), - sym(1).UiAttributeList, sym(2).UiObjectMember); + sym(1).Node = makeAstNode (driver->nodePool(), sym(1).UiObjectMember); } break; -case 23: { - sym(1).UiAttributeList = sym(1).UiAttributeList->finish(); -} break; - -case 24: { - sym(1).UiAttributeList = makeAstNode(driver->nodePool(), sym(1).UiAttribute); -} break; - -case 25: { - sym(1).UiAttributeList = makeAstNode(driver->nodePool(), - sym(1).UiAttributeList, sym(2).UiAttribute); -} break; - -case 28: { - AST::UiAttribute *ast = makeAstNode(driver->nodePool(), sym(2).sval); - ast->atToken = loc(1); - ast->nameToken = loc(2); - sym(1).UiAttribute = ast; -} break; - -case 29: { - AST::UiAttribute *ast = makeAstNode(driver->nodePool(), - sym(2).sval, sym(4).Expression); - ast->atToken = loc(1); - ast->nameToken = loc(2); - ast->equalToken = loc(3); - sym(1).UiAttribute = ast; -} break; - -case 30: { - AST::IdentifierExpression *node = makeAstNode (driver->nodePool(), sym(1).sval); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 31: { - AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval, lexer->flags); - node->literalToken = loc(1); - sym(1).Node = node; -} break; - -case 32: { - sym(1).Node = makeAstNode (driver->nodePool(), - sym(1).UiAttributeList, sym(2).UiObjectMember); +case 22: { + sym(1).Node = makeAstNode (driver->nodePool(), sym(1).UiObjectMember); } break; -case 33: { +case 23: { AST::UiObjectMemberList *node = makeAstNode (driver->nodePool(), - sym(1).UiObjectMemberList, sym(2).UiAttributeList, sym(3).UiObjectMember); + sym(1).UiObjectMemberList, sym(2).UiObjectMember); sym(1).Node = node; } break; -case 34: { +case 24: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).UiObjectMember); } break; -case 35: { - sym(2).UiObjectMember->attributes = sym(1).UiAttributeList->finish(); - sym(1).Node = makeAstNode (driver->nodePool(), sym(2).UiObjectMember); -} break; - -case 36: { - sym(4).UiObjectMember->attributes = sym(3).UiAttributeList; +case 25: { AST::UiArrayMemberList *node = makeAstNode (driver->nodePool(), sym(1).UiArrayMemberList, sym(3).UiObjectMember); node->commaToken = loc(2); sym(1).Node = node; } break; -case 37: { +case 26: { AST::UiObjectInitializer *node = makeAstNode (driver->nodePool(), (AST::UiObjectMemberList*)0); node->lbraceToken = loc(1); node->rbraceToken = loc(2); sym(1).Node = node; } break; -case 38: { +case 27: { AST::UiObjectInitializer *node = makeAstNode (driver->nodePool(), sym(2).UiObjectMemberList->finish()); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 39: { +case 28: { AST::UiObjectDefinition *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), sym(2).UiObjectInitializer); sym(1).Node = node; } break; -case 41: { +case 30: { AST::UiArrayBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish()); node->colonToken = loc(2); @@ -394,7 +345,7 @@ case 41: { sym(1).Node = node; } break; -case 42: { +case 31: { if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(3).Expression)) { AST::UiObjectBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), qualifiedId, sym(4).UiObjectInitializer); @@ -409,7 +360,7 @@ case 42: { return false; // ### recover } } break; -case 43:case 44:case 45:case 46: +case 32:case 33:case 34:case 35: { AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), sym(3).Statement); @@ -417,35 +368,35 @@ case 43:case 44:case 45:case 46: sym(1).Node = node; } break; -case 47: +case 36: -case 48: { +case 37: { sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount()); break; } -case 50: { +case 39: { sym(1).Node = 0; } break; -case 51: { +case 40: { sym(1).Node = sym(1).UiParameterList->finish (); } break; -case 52: { +case 41: { AST::UiParameterList *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).sval); node->identifierToken = loc(2); sym(1).Node = node; } break; -case 53: { +case 42: { AST::UiParameterList *node = makeAstNode (driver->nodePool(), sym(1).UiParameterList, sym(3).sval, sym(4).sval); node->commaToken = loc(2); node->identifierToken = loc(4); sym(1).Node = node; } break; -case 54: { +case 43: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); @@ -455,7 +406,7 @@ case 54: { sym(1).Node = node; } break; -case 55: { +case 44: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); @@ -464,7 +415,7 @@ case 55: { sym(1).Node = node; } break; -case 57: { +case 46: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(3).sval); node->propertyToken = loc(1); node->typeToken = loc(2); @@ -473,7 +424,7 @@ case 57: { sym(1).Node = node; } break; -case 59: { +case 48: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(4).sval); node->isDefaultMember = true; node->defaultToken = loc(1); @@ -484,7 +435,7 @@ case 59: { sym(1).Node = node; } break; -case 61: { +case 50: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(3).sval, sym(5).Expression); node->propertyToken = loc(1); @@ -495,7 +446,7 @@ case 61: { sym(1).Node = node; } break; -case 63: { +case 52: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(4).sval, sym(6).Expression); node->isDefaultMember = true; @@ -508,76 +459,76 @@ case 63: { sym(1).Node = node; } break; -case 64: { +case 53: { sym(1).Node = makeAstNode(driver->nodePool(), sym(1).Node); } break; -case 65: { +case 54: { sym(1).Node = makeAstNode(driver->nodePool(), sym(1).Node); } break; -case 66: -case 67: +case 55: +case 56: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount())); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 69: { +case 58: { QString s = QLatin1String(QmlJSGrammar::spell[T_PROPERTY]); sym(1).sval = driver->intern(s.constData(), s.length()); break; } -case 70: { +case 59: { QString s = QLatin1String(QmlJSGrammar::spell[T_SIGNAL]); sym(1).sval = driver->intern(s.constData(), s.length()); break; } -case 71: { +case 60: { AST::ThisExpression *node = makeAstNode (driver->nodePool()); node->thisToken = loc(1); sym(1).Node = node; } break; -case 72: { +case 61: { AST::IdentifierExpression *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 73: { +case 62: { AST::NullExpression *node = makeAstNode (driver->nodePool()); node->nullToken = loc(1); sym(1).Node = node; } break; -case 74: { +case 63: { AST::TrueLiteral *node = makeAstNode (driver->nodePool()); node->trueToken = loc(1); sym(1).Node = node; } break; -case 75: { +case 64: { AST::FalseLiteral *node = makeAstNode (driver->nodePool()); node->falseToken = loc(1); sym(1).Node = node; } break; -case 76: { +case 65: { AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval, lexer->flags); node->literalToken = loc(1); sym(1).Node = node; } break; -case 77: -case 78: { +case 66: +case 67: { AST::StringLiteral *node = makeAstNode (driver->nodePool(), sym(1).sval); node->literalToken = loc(1); sym(1).Node = node; } break; -case 79: { +case 68: { bool rx = lexer->scanRegExp(Lexer::NoPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -588,7 +539,7 @@ case 79: { sym(1).Node = node; } break; -case 80: { +case 69: { bool rx = lexer->scanRegExp(Lexer::EqualPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -599,28 +550,28 @@ case 80: { sym(1).Node = node; } break; -case 81: { +case 70: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), (AST::Elision *) 0); node->lbracketToken = loc(1); node->rbracketToken = loc(2); sym(1).Node = node; } break; -case 82: { +case 71: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).Elision->finish()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 83: { +case 72: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish ()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 84: { +case 73: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish (), (AST::Elision *) 0); node->lbracketToken = loc(1); @@ -629,7 +580,7 @@ case 84: { sym(1).Node = node; } break; -case 85: { +case 74: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish (), sym(4).Elision->finish()); node->lbracketToken = loc(1); @@ -638,7 +589,7 @@ case 85: { sym(1).Node = node; } break; -case 86: { +case 75: { AST::ObjectLiteral *node = 0; if (sym(2).Node) node = makeAstNode (driver->nodePool(), @@ -650,7 +601,7 @@ case 86: { sym(1).Node = node; } break; -case 87: { +case 76: { AST::ObjectLiteral *node = makeAstNode (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ()); node->lbraceToken = loc(1); @@ -658,67 +609,67 @@ case 87: { sym(1).Node = node; } break; -case 88: { +case 77: { AST::NestedExpression *node = makeAstNode(driver->nodePool(), sym(2).Expression); node->lparenToken = loc(1); node->rparenToken = loc(3); sym(1).Node = node; } break; -case 89: { +case 78: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 90: { +case 79: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 91: { +case 80: { sym(1).Node = makeAstNode (driver->nodePool(), (AST::Elision *) 0, sym(1).Expression); } break; -case 92: { +case 81: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Elision->finish(), sym(2).Expression); } break; -case 93: { +case 82: { AST::ElementList *node = makeAstNode (driver->nodePool(), sym(1).ElementList, (AST::Elision *) 0, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 94: { +case 83: { AST::ElementList *node = makeAstNode (driver->nodePool(), sym(1).ElementList, sym(3).Elision->finish(), sym(4).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 95: { +case 84: { AST::Elision *node = makeAstNode (driver->nodePool()); node->commaToken = loc(1); sym(1).Node = node; } break; -case 96: { +case 85: { AST::Elision *node = makeAstNode (driver->nodePool(), sym(1).Elision); node->commaToken = loc(2); sym(1).Node = node; } break; -case 97: { +case 86: { AST::PropertyNameAndValueList *node = makeAstNode (driver->nodePool(), sym(1).PropertyName, sym(3).Expression); node->colonToken = loc(2); sym(1).Node = node; } break; -case 98: { +case 87: { AST::PropertyNameAndValueList *node = makeAstNode (driver->nodePool(), sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression); node->commaToken = loc(2); @@ -726,36 +677,58 @@ case 98: { sym(1).Node = node; } break; -case 99: { +case 88: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 100: -case 101: { +case 89: +case 90: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount())); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 102: { +case 91: { AST::StringLiteralPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 103: { +case 92: { AST::NumericLiteralPropertyName *node = makeAstNode (driver->nodePool(), sym(1).dval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 104: { +case 93: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; +case 94: + +case 95: + +case 96: + +case 97: + +case 98: + +case 99: + +case 100: + +case 101: + +case 102: + +case 103: + +case 104: + case 105: case 106: @@ -795,47 +768,25 @@ case 122: case 123: case 124: - -case 125: - -case 126: - -case 127: - -case 128: - -case 129: - -case 130: - -case 131: - -case 132: - -case 133: - -case 134: - -case 135: { sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount()); } break; -case 140: { +case 129: { AST::ArrayMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 141: { +case 130: { AST::FieldMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).sval); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 142: { +case 131: { AST::NewMemberExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression, sym(4).ArgumentList); node->newToken = loc(1); node->lparenToken = loc(3); @@ -843,384 +794,384 @@ case 142: { sym(1).Node = node; } break; -case 144: { +case 133: { AST::NewExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->newToken = loc(1); sym(1).Node = node; } break; -case 145: { +case 134: { AST::CallExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 146: { +case 135: { AST::CallExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 147: { +case 136: { AST::ArrayMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 148: { +case 137: { AST::FieldMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).sval); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 149: { +case 138: { sym(1).Node = 0; } break; -case 150: { +case 139: { sym(1).Node = sym(1).ArgumentList->finish(); } break; -case 151: { +case 140: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Expression); } break; -case 152: { +case 141: { AST::ArgumentList *node = makeAstNode (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 156: { +case 145: { AST::PostIncrementExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->incrementToken = loc(2); sym(1).Node = node; } break; -case 157: { +case 146: { AST::PostDecrementExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->decrementToken = loc(2); sym(1).Node = node; } break; -case 159: { +case 148: { AST::DeleteExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->deleteToken = loc(1); sym(1).Node = node; } break; -case 160: { +case 149: { AST::VoidExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->voidToken = loc(1); sym(1).Node = node; } break; -case 161: { +case 150: { AST::TypeOfExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->typeofToken = loc(1); sym(1).Node = node; } break; -case 162: { +case 151: { AST::PreIncrementExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->incrementToken = loc(1); sym(1).Node = node; } break; -case 163: { +case 152: { AST::PreDecrementExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->decrementToken = loc(1); sym(1).Node = node; } break; -case 164: { +case 153: { AST::UnaryPlusExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->plusToken = loc(1); sym(1).Node = node; } break; -case 165: { +case 154: { AST::UnaryMinusExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->minusToken = loc(1); sym(1).Node = node; } break; -case 166: { +case 155: { AST::TildeExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->tildeToken = loc(1); sym(1).Node = node; } break; -case 167: { +case 156: { AST::NotExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->notToken = loc(1); sym(1).Node = node; } break; -case 169: { +case 158: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Mul, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 170: { +case 159: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Div, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 171: { +case 160: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Mod, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 173: { +case 162: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Add, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 174: { +case 163: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Sub, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 176: { +case 165: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::LShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 177: { +case 166: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::RShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 178: { +case 167: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::URShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 180: { +case 169: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 181: { +case 170: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 182: { +case 171: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 183: { +case 172: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 184: { +case 173: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 185: { +case 174: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::In, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 187: { +case 176: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 188: { +case 177: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 189: { +case 178: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 190: { +case 179: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 191: { +case 180: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 193: { +case 182: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 194: { +case 183: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 195: { +case 184: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 196: { +case 185: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 198: { +case 187: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 199: { +case 188: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 200: { +case 189: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 201: { +case 190: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 203: { +case 192: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 205: { +case 194: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 207: { +case 196: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 209: { +case 198: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 211: { +case 200: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 213: { +case 202: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 215: { +case 204: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 217: { +case 206: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 219: { +case 208: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 221: { +case 210: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 223: { +case 212: { AST::ConditionalExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1228,7 +1179,7 @@ case 223: { sym(1).Node = node; } break; -case 225: { +case 214: { AST::ConditionalExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1236,112 +1187,112 @@ case 225: { sym(1).Node = node; } break; -case 227: { +case 216: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 229: { +case 218: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 230: { +case 219: { sym(1).ival = QSOperator::Assign; } break; -case 231: { +case 220: { sym(1).ival = QSOperator::InplaceMul; } break; -case 232: { +case 221: { sym(1).ival = QSOperator::InplaceDiv; } break; -case 233: { +case 222: { sym(1).ival = QSOperator::InplaceMod; } break; -case 234: { +case 223: { sym(1).ival = QSOperator::InplaceAdd; } break; -case 235: { +case 224: { sym(1).ival = QSOperator::InplaceSub; } break; -case 236: { +case 225: { sym(1).ival = QSOperator::InplaceLeftShift; } break; -case 237: { +case 226: { sym(1).ival = QSOperator::InplaceRightShift; } break; -case 238: { +case 227: { sym(1).ival = QSOperator::InplaceURightShift; } break; -case 239: { +case 228: { sym(1).ival = QSOperator::InplaceAnd; } break; -case 240: { +case 229: { sym(1).ival = QSOperator::InplaceXor; } break; -case 241: { +case 230: { sym(1).ival = QSOperator::InplaceOr; } break; -case 243: { +case 232: { AST::Expression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 244: { +case 233: { sym(1).Node = 0; } break; -case 247: { +case 236: { AST::Expression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 248: { +case 237: { sym(1).Node = 0; } break; -case 265: { +case 254: { AST::Block *node = makeAstNode (driver->nodePool(), sym(2).StatementList); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 266: { +case 255: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Statement); } break; -case 267: { +case 256: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).StatementList, sym(2).Statement); } break; -case 268: { +case 257: { sym(1).Node = 0; } break; -case 269: { +case 258: { sym(1).Node = sym(1).StatementList->finish (); } break; -case 271: { +case 260: { AST::VariableStatement *node = makeAstNode (driver->nodePool(), sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST)); node->declarationKindToken = loc(1); @@ -1349,76 +1300,76 @@ case 271: { sym(1).Node = node; } break; -case 272: { +case 261: { sym(1).ival = T_CONST; } break; -case 273: { +case 262: { sym(1).ival = T_VAR; } break; -case 274: { +case 263: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclaration); } break; -case 275: { +case 264: { AST::VariableDeclarationList *node = makeAstNode (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); node->commaToken = loc(2); sym(1).Node = node; } break; -case 276: { +case 265: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclaration); } break; -case 277: { +case 266: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); } break; -case 278: { +case 267: { AST::VariableDeclaration *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 279: { +case 268: { AST::VariableDeclaration *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 280: { +case 269: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 281: { +case 270: { sym(1).Node = 0; } break; -case 283: { +case 272: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 284: { +case 273: { sym(1).Node = 0; } break; -case 286: { +case 275: { AST::EmptyStatement *node = makeAstNode (driver->nodePool()); node->semicolonToken = loc(1); sym(1).Node = node; } break; -case 288: { +case 277: { AST::ExpressionStatement *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 289: { +case 278: { AST::IfStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1427,7 +1378,7 @@ case 289: { sym(1).Node = node; } break; -case 290: { +case 279: { AST::IfStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1435,7 +1386,7 @@ case 290: { sym(1).Node = node; } break; -case 292: { +case 281: { AST::DoWhileStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(5).Expression); node->doToken = loc(1); node->whileToken = loc(3); @@ -1445,7 +1396,7 @@ case 292: { sym(1).Node = node; } break; -case 293: { +case 282: { AST::WhileStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->whileToken = loc(1); node->lparenToken = loc(2); @@ -1453,7 +1404,7 @@ case 293: { sym(1).Node = node; } break; -case 294: { +case 283: { AST::ForStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); node->forToken = loc(1); @@ -1464,7 +1415,7 @@ case 294: { sym(1).Node = node; } break; -case 295: { +case 284: { AST::LocalForStatement *node = makeAstNode (driver->nodePool(), sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); @@ -1477,7 +1428,7 @@ case 295: { sym(1).Node = node; } break; -case 296: { +case 285: { AST:: ForEachStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Statement); node->forToken = loc(1); @@ -1487,7 +1438,7 @@ case 296: { sym(1).Node = node; } break; -case 297: { +case 286: { AST::LocalForEachStatement *node = makeAstNode (driver->nodePool(), sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); node->forToken = loc(1); @@ -1498,14 +1449,14 @@ case 297: { sym(1).Node = node; } break; -case 299: { +case 288: { AST::ContinueStatement *node = makeAstNode (driver->nodePool()); node->continueToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 301: { +case 290: { AST::ContinueStatement *node = makeAstNode (driver->nodePool(), sym(2).sval); node->continueToken = loc(1); node->identifierToken = loc(2); @@ -1513,14 +1464,14 @@ case 301: { sym(1).Node = node; } break; -case 303: { +case 292: { AST::BreakStatement *node = makeAstNode (driver->nodePool()); node->breakToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 305: { +case 294: { AST::BreakStatement *node = makeAstNode (driver->nodePool(), sym(2).sval); node->breakToken = loc(1); node->identifierToken = loc(2); @@ -1528,14 +1479,14 @@ case 305: { sym(1).Node = node; } break; -case 307: { +case 296: { AST::ReturnStatement *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->returnToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 308: { +case 297: { AST::WithStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->withToken = loc(1); node->lparenToken = loc(2); @@ -1543,7 +1494,7 @@ case 308: { sym(1).Node = node; } break; -case 309: { +case 298: { AST::SwitchStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock); node->switchToken = loc(1); node->lparenToken = loc(2); @@ -1551,90 +1502,90 @@ case 309: { sym(1).Node = node; } break; -case 310: { +case 299: { AST::CaseBlock *node = makeAstNode (driver->nodePool(), sym(2).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 311: { +case 300: { AST::CaseBlock *node = makeAstNode (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(5); sym(1).Node = node; } break; -case 312: { +case 301: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).CaseClause); } break; -case 313: { +case 302: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause); } break; -case 314: { +case 303: { sym(1).Node = 0; } break; -case 315: { +case 304: { sym(1).Node = sym(1).CaseClauses->finish (); } break; -case 316: { +case 305: { AST::CaseClause *node = makeAstNode (driver->nodePool(), sym(2).Expression, sym(4).StatementList); node->caseToken = loc(1); node->colonToken = loc(3); sym(1).Node = node; } break; -case 317: { +case 306: { AST::DefaultClause *node = makeAstNode (driver->nodePool(), sym(3).StatementList); node->defaultToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 318: -case 319: { +case 307: +case 308: { AST::LabelledStatement *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 320: { +case 309: { AST::LabelledStatement *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 322: { +case 311: { AST::ThrowStatement *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->throwToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 323: { +case 312: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Catch); node->tryToken = loc(1); sym(1).Node = node; } break; -case 324: { +case 313: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 325: { +case 314: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 326: { +case 315: { AST::Catch *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(5).Block); node->catchToken = loc(1); node->lparenToken = loc(2); @@ -1643,20 +1594,20 @@ case 326: { sym(1).Node = node; } break; -case 327: { +case 316: { AST::Finally *node = makeAstNode (driver->nodePool(), sym(2).Block); node->finallyToken = loc(1); sym(1).Node = node; } break; -case 329: { +case 318: { AST::DebuggerStatement *node = makeAstNode (driver->nodePool()); node->debuggerToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 330: { +case 319: { AST::FunctionDeclaration *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); node->identifierToken = loc(2); @@ -1667,7 +1618,7 @@ case 330: { sym(1).Node = node; } break; -case 331: { +case 320: { AST::FunctionExpression *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); if (sym(2).sval) @@ -1679,56 +1630,56 @@ case 331: { sym(1).Node = node; } break; -case 332: { +case 321: { AST::FormalParameterList *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 333: { +case 322: { AST::FormalParameterList *node = makeAstNode (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval); node->commaToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 334: { +case 323: { sym(1).Node = 0; } break; -case 335: { +case 324: { sym(1).Node = sym(1).FormalParameterList->finish (); } break; -case 336: { +case 325: { sym(1).Node = 0; } break; -case 338: { +case 327: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElements->finish ()); } break; -case 339: { +case 328: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElement); } break; -case 340: { +case 329: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement); } break; -case 341: { +case 330: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Statement); } break; -case 342: { +case 331: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).FunctionDeclaration); } break; -case 343: { +case 332: { sym(1).sval = 0; } break; -case 345: { +case 334: { sym(1).Node = 0; } break; diff --git a/src/declarative/qml/parser/qmljsparser_p.h b/src/declarative/qml/parser/qmljsparser_p.h index 74d3c84..6f36484 100644 --- a/src/declarative/qml/parser/qmljsparser_p.h +++ b/src/declarative/qml/parser/qmljsparser_p.h @@ -120,8 +120,6 @@ public: AST::UiObjectMemberList *UiObjectMemberList; AST::UiArrayMemberList *UiArrayMemberList; AST::UiQualifiedId *UiQualifiedId; - AST::UiAttributeList *UiAttributeList; - AST::UiAttribute *UiAttribute; }; public: @@ -221,9 +219,9 @@ protected: -#define J_SCRIPT_REGEXPLITERAL_RULE1 79 +#define J_SCRIPT_REGEXPLITERAL_RULE1 68 -#define J_SCRIPT_REGEXPLITERAL_RULE2 80 +#define J_SCRIPT_REGEXPLITERAL_RULE2 69 QT_END_NAMESPACE -- cgit v0.12 From 60cd50b800b6e6cf185df170c1b2cb41108a82b6 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Fri, 24 Jul 2009 06:15:06 +0200 Subject: Removed support for CSS-like literals. --- src/declarative/qml/parser/qmljs.g | 2 +- src/declarative/qml/parser/qmljsast.cpp | 38 --------------- src/declarative/qml/parser/qmljsast_p.h | 29 ++---------- src/declarative/qml/parser/qmljslexer.cpp | 58 ----------------------- src/declarative/qml/parser/qmljslexer_p.h | 19 -------- src/declarative/qml/parser/qmljsparser.cpp | 2 +- src/declarative/qml/qmlbasicscript.cpp | 75 +++++++++++++++--------------- src/declarative/qml/qmlrewrite.cpp | 53 +-------------------- src/declarative/qml/qmlrewrite_p.h | 15 ------ src/declarative/qml/qmlscriptparser.cpp | 21 +++------ 10 files changed, 49 insertions(+), 263 deletions(-) diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g index 20ee27d..5f0fe8f 100644 --- a/src/declarative/qml/parser/qmljs.g +++ b/src/declarative/qml/parser/qmljs.g @@ -1021,7 +1021,7 @@ case $rule_number: { PrimaryExpression: T_NUMERIC_LITERAL ; /. case $rule_number: { - AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval, lexer->flags); + AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval); node->literalToken = loc(1); sym(1).Node = node; } break; diff --git a/src/declarative/qml/parser/qmljsast.cpp b/src/declarative/qml/parser/qmljsast.cpp index d10c071..52f19e2 100644 --- a/src/declarative/qml/parser/qmljsast.cpp +++ b/src/declarative/qml/parser/qmljsast.cpp @@ -49,44 +49,6 @@ QT_BEGIN_NAMESPACE namespace QmlJS { namespace AST { -int NumericLiteral::suffixLength[] = { - 0, // noSuffix - 2, // emSuffix - 2, // exSuffix - 2, // pxSuffix - 2, // cmSuffix - 2, // mmSuffix - 2, // inSuffix - 2, // ptSuffix - 2, // pcSuffix - 3, // degSuffix - 3, // radSuffix - 4, // gradSuffix - 2, // msSuffix - 1, // sSuffix - 2, // hzSuffix - 3 // khzSuffix -}; - -const char *const NumericLiteral::suffixSpell[] = { - "", - "em", - "ex", - "px", - "cm", - "mm", - "in", - "pt", - "pc", - "deg", - "rad", - "grad", - "ms", - "s", - "hz", - "khz" -}; - ExpressionNode *Node::expressionCast() { return 0; diff --git a/src/declarative/qml/parser/qmljsast_p.h b/src/declarative/qml/parser/qmljsast_p.h index 6d269ac..eba9202 100644 --- a/src/declarative/qml/parser/qmljsast_p.h +++ b/src/declarative/qml/parser/qmljsast_p.h @@ -104,7 +104,7 @@ enum Op { } // namespace QSOperator -namespace QmlJS { +namespace QmlJS { class NameId; namespace AST { @@ -400,30 +400,8 @@ class NumericLiteral: public ExpressionNode public: QMLJS_DECLARE_AST_NODE(NumericLiteral) - enum Suffix { // ### keep it in sync with the Suffix enum in qmljslexer_p.h - noSuffix, - emSuffix, - exSuffix, - pxSuffix, - cmSuffix, - mmSuffix, - inSuffix, - ptSuffix, - pcSuffix, - degSuffix, - radSuffix, - gradSuffix, - msSuffix, - sSuffix, - hzSuffix, - khzSuffix - }; - - static int suffixLength[]; - static const char *const suffixSpell[]; - - NumericLiteral(double v, int suffix): - value(v), suffix(suffix) { kind = K; } + NumericLiteral(double v): + value(v) { kind = K; } virtual ~NumericLiteral() {} virtual void accept0(Visitor *visitor); @@ -436,7 +414,6 @@ public: // attributes: double value; - int suffix; SourceLocation literalToken; }; diff --git a/src/declarative/qml/parser/qmljslexer.cpp b/src/declarative/qml/parser/qmljslexer.cpp index a22169d..beb5ebd 100644 --- a/src/declarative/qml/parser/qmljslexer.cpp +++ b/src/declarative/qml/parser/qmljslexer.cpp @@ -755,64 +755,6 @@ int Lexer::lex() bol = false; } - if (state == Number) { - // CSS-style suffix for numeric literals - - flags = noSuffix; - - const ushort c = QChar::toLower(current); - const ushort n1 = QChar::toLower(next1); - const ushort n2 = QChar::toLower(next2); - const ushort n3 = QChar::toLower(next3); - - if (c == 'e' && n1 == 'm') { - flags = emSuffix; - shift(2); - } else if (c == 'e' && n1 == 'x') { - flags = exSuffix; - shift(2); - } else if (c == 'p' && n1 == 'x') { - flags = pxSuffix; - shift(2); - } else if (c == 'c' && n1 == 'm') { - flags = cmSuffix; - shift(2); - } else if (c == 'm' && n1 == 'm') { - flags = mmSuffix; - shift(2); - } else if (c == 'i' && n1 == 'n') { - flags = inSuffix; - shift(2); - } else if (c == 'p' && n1 == 't') { - flags = ptSuffix; - shift(2); - } else if (c == 'p' && n1 == 'c') { - flags = pcSuffix; - shift(1); - } else if (c == 'd' && n1 == 'e' && n2 == 'g') { - flags = degSuffix; - shift(3); - } else if (c == 'r' && n1 == 'a' && n2 == 'd') { - flags = radSuffix; - shift(3); - } else if (c == 'g' && n1 == 'r' && n2 == 'a' && n3 == 'd') { - flags = gradSuffix; - shift(4); - } else if (c == 'm' && n1 == 's') { - flags = msSuffix; - shift(2); - } else if (c == 's') { - flags = sSuffix; - shift(1); - } else if (c == 'h' && n1 == 'z') { - flags = hzSuffix; - shift(2); - } else if (c == 'k' && n1 == 'h' && n2 == 'z') { - flags = khzSuffix; - shift(3); - } - } - // no identifiers allowed directly after numeric literal, e.g. "3in" is bad if ((state == Number || state == Octal || state == Hex) && isIdentLetter(current)) { diff --git a/src/declarative/qml/parser/qmljslexer_p.h b/src/declarative/qml/parser/qmljslexer_p.h index e1ff23e..5817868 100644 --- a/src/declarative/qml/parser/qmljslexer_p.h +++ b/src/declarative/qml/parser/qmljslexer_p.h @@ -112,25 +112,6 @@ public: Other, Bad }; - enum Suffix { - noSuffix, - emSuffix, - exSuffix, - pxSuffix, - cmSuffix, - mmSuffix, - inSuffix, - ptSuffix, - pcSuffix, - degSuffix, - radSuffix, - gradSuffix, - msSuffix, - sSuffix, - hzSuffix, - khzSuffix - }; - enum Error { NoError, IllegalCharacter, diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp index a1236d5..e64774e 100644 --- a/src/declarative/qml/parser/qmljsparser.cpp +++ b/src/declarative/qml/parser/qmljsparser.cpp @@ -517,7 +517,7 @@ case 64: { } break; case 65: { - AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval, lexer->flags); + AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval); node->literalToken = loc(1); sym(1).Node = node; } break; diff --git a/src/declarative/qml/qmlbasicscript.cpp b/src/declarative/qml/qmlbasicscript.cpp index 073642f..8fcb0e1 100644 --- a/src/declarative/qml/qmlbasicscript.cpp +++ b/src/declarative/qml/qmlbasicscript.cpp @@ -89,7 +89,7 @@ class QmlBasicScriptPrivate { public: enum Flags { OwnData = 0x00000001 }; - + int size; int stateSize; int instructionCount; @@ -102,14 +102,14 @@ public: return (const char *)(instructions() + instructionCount); } - const char *data() const + const char *data() const { return (const char *)(instructions() + instructionCount) + exprLen + 1; } static unsigned int alignRound(int s) { - if (s % 4) + if (s % 4) s += 4 - (s % 4); return s; } @@ -177,10 +177,10 @@ static QVariant fetch_value(QObject *o, int idx, int type) return QVariant(val); } break; - default: + default: { if (QmlMetaType::isObject(type)) { - // NOTE: This assumes a cast to QObject does not alter the + // NOTE: This assumes a cast to QObject does not alter the // object pointer QObject *val = 0; void *args[] = { &val, 0 }; @@ -241,14 +241,14 @@ struct QmlBasicScriptCompiler evaluated using the QmlBasicScript engine. To see if the QmlBasicScript engine can handle a binding, call compile() - and check the return value, or isValid() afterwards. + and check the return value, or isValid() afterwards. To evaluate the binding, the QmlBasicScript instance needs some memory in which to cache state. This may be allocated by calling newScriptState() and destroyed by calling deleteScriptState(). The state data is then passed to the run() method when evaluating the binding. - To further accelerate binding, QmlBasicScript can return a precompiled + To further accelerate binding, QmlBasicScript can return a precompiled version of itself that can be saved for future use. Call compileData() to get an opaque pointer to the compiled state, and compileDataSize() for the size of this data in bytes. This data can be saved and passed to future @@ -271,10 +271,10 @@ QmlBasicScript::QmlBasicScript() previously created QmlBasicScript instance. Any other data will almost certainly cause the QmlBasicScript engine to crash. - \a data must continue to be valid throughout the QmlBasicScript instance + \a data must continue to be valid throughout the QmlBasicScript instance life. It does not assume ownership of the memory. - If \a owner is set, it is referenced on creation and dereferenced on + If \a owner is set, it is referenced on creation and dereferenced on destruction of this instance. */ @@ -407,8 +407,8 @@ bool QmlBasicScript::compile(const Expression &expression) if (bsc.compile(expression.expression.asAST())) { int len = ::strlen(src); flags = QmlBasicScriptPrivate::OwnData; - int size = sizeof(QmlBasicScriptPrivate) + - bsc.bytecode.count() * sizeof(ScriptInstruction) + + int size = sizeof(QmlBasicScriptPrivate) + + bsc.bytecode.count() * sizeof(ScriptInstruction) + QmlBasicScriptPrivate::alignRound(bsc.data.count() + len + 1); d = (QmlBasicScriptPrivate *) malloc(size); d->size = size; @@ -416,10 +416,10 @@ bool QmlBasicScript::compile(const Expression &expression) d->instructionCount = bsc.bytecode.count(); d->exprLen = len; ::memcpy((char *)d->expr(), src, len + 1); - for (int ii = 0; ii < d->instructionCount; ++ii) + for (int ii = 0; ii < d->instructionCount; ++ii) d->instructions()[ii] = bsc.bytecode.at(ii); ::memcpy((char *)d->data(), bsc.data.constData(), bsc.data.count()); - } + } return d != 0; } @@ -431,15 +431,14 @@ bool QmlBasicScriptCompiler::compile(QmlJS::AST::Node *node) bool QmlBasicScriptCompiler::tryConstant(QmlJS::AST::Node *node) { - if (node->kind == AST::Node::Kind_TrueLiteral || + if (node->kind == AST::Node::Kind_TrueLiteral || node->kind == AST::Node::Kind_FalseLiteral) return true; if (node->kind == AST::Node::Kind_NumericLiteral) { AST::NumericLiteral *lit = static_cast(node); - return lit->suffix == AST::NumericLiteral::noSuffix && - double(int(lit->value)) == lit->value; + return double(int(lit->value)) == lit->value; } return false; @@ -469,13 +468,13 @@ bool QmlBasicScriptCompiler::tryName(QmlJS::AST::Node *node) node->kind == AST::Node::Kind_FieldMemberExpression; } -bool QmlBasicScriptCompiler::buildName(QStringList &name, +bool QmlBasicScriptCompiler::buildName(QStringList &name, QmlJS::AST::Node *node) { if (node->kind == AST::Node::Kind_IdentifierExpression) { name << static_cast(node)->name->asString(); } else if (node->kind == AST::Node::Kind_FieldMemberExpression) { - AST::FieldMemberExpression *expr = + AST::FieldMemberExpression *expr = static_cast(node); if (!buildName(name, expr->base)) @@ -499,7 +498,7 @@ QmlBasicScriptCompiler::fetch(int type, const QMetaObject *mo, int idx) if (prop.isConstant()) instr.constant.notify = 0; else - instr.constant.notify = prop.notifySignalIndex(); + instr.constant.notify = prop.notifySignalIndex(); instr.constant.type = prop.userType(); bytecode << instr; return QmlMetaType::metaObjectForType(prop.userType()); @@ -518,7 +517,7 @@ bool QmlBasicScriptCompiler::parseName(AST::Node *node) const QString &name = nameParts.at(ii); // We don't handle signal properties - if (name.length() > 2 && name.startsWith(QLatin1String("on")) && + if (name.length() > 2 && name.startsWith(QLatin1String("on")) && name.at(2).isUpper()) return false; @@ -543,10 +542,10 @@ bool QmlBasicScriptCompiler::parseName(AST::Node *node) d1Idx = component->metaObject()->indexOfProperty(cname); if (d0Idx != -1) { - metaType = fetch(ScriptInstruction::FetchContextConstant, + metaType = fetch(ScriptInstruction::FetchContextConstant, context->metaObject(), d0Idx); } else if(d1Idx != -1) { - metaType = fetch(ScriptInstruction::FetchRootConstant, + metaType = fetch(ScriptInstruction::FetchRootConstant, component->metaObject(), d1Idx); } else { return false; @@ -602,7 +601,7 @@ bool QmlBasicScriptCompiler::compileExpression(QmlJS::AST::Node *node) bool QmlBasicScriptCompiler::tryBinaryExpression(AST::Node *node) { if (node->kind == AST::Node::Kind_BinaryExpression) { - AST::BinaryExpression *expr = + AST::BinaryExpression *expr = static_cast(node); if (expr->op == QSOperator::Equal) @@ -614,7 +613,7 @@ bool QmlBasicScriptCompiler::tryBinaryExpression(AST::Node *node) bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node) { if (node->kind == AST::Node::Kind_BinaryExpression) { - AST::BinaryExpression *expr = + AST::BinaryExpression *expr = static_cast(node); if (!compileExpression(expr->left)) return false; @@ -631,7 +630,7 @@ bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node) bytecode.append(instr); return true; - } + } return false; } @@ -639,7 +638,7 @@ bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node) \enum QmlBasicScript::CacheState \value NoChange The query has not change. Any previous monitoring is still valid. - \value Incremental The query has been incrementally changed. Any previous + \value Incremental The query has been incrementally changed. Any previous monitoring is still valid, but needs to have the fresh properties added to it. \value Reset The entire query has been reset from the beginning. Any previous @@ -647,60 +646,60 @@ bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node) */ /*! - Run the script in \a context and return the result. \a voidCache should - contain state memory previously acquired from newScript. + Run the script in \a context and return the result. \a voidCache should + contain state memory previously acquired from newScript. */ QVariant QmlBasicScript::run(QmlContext *context, void *voidCache, CacheState *cached) { Q_UNUSED(voidCache); if (!isValid()) return QVariant(); - + QmlContextPrivate *contextPrivate = context->d_func(); QmlEnginePrivate *enginePrivate = context->engine()->d_func(); QStack stack; - + CacheState state = NoChange; for (int idx = 0; idx < d->instructionCount; ++idx) { const ScriptInstruction &instr = d->instructions()[idx]; switch(instr.type) { - case ScriptInstruction::LoadIdObject: + case ScriptInstruction::LoadIdObject: { stack.push(contextPrivate->propertyValues.at(instr.fetch.idx)); enginePrivate->capturedProperties << - QmlEnginePrivate::CapturedProperty(context, -1, contextPrivate->notifyIndex + instr.fetch.idx); + QmlEnginePrivate::CapturedProperty(context, -1, contextPrivate->notifyIndex + instr.fetch.idx); state = Reset; } break; - case ScriptInstruction::FetchContextConstant: + case ScriptInstruction::FetchContextConstant: { QObject *obj = contextPrivate->defaultObjects.at(0); stack.push(fetch_value(obj, instr.constant.idx, instr.constant.type)); if (obj && instr.constant.notify != 0) enginePrivate->capturedProperties << - QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify); + QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify); state = Reset; } break; - case ScriptInstruction::FetchRootConstant: + case ScriptInstruction::FetchRootConstant: { QObject *obj = contextPrivate->defaultObjects.at(1); stack.push(fetch_value(obj, instr.constant.idx, instr.constant.type)); if (obj && instr.constant.notify != 0) enginePrivate->capturedProperties << - QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify); + QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify); state = Reset; } break; - case ScriptInstruction::FetchConstant: + case ScriptInstruction::FetchConstant: { QVariant o = stack.pop(); QObject *obj = qvariant_cast(o); @@ -708,7 +707,7 @@ QVariant QmlBasicScript::run(QmlContext *context, void *voidCache, CacheState *c stack.push(fetch_value(obj, instr.constant.idx, instr.constant.type)); if (obj && instr.constant.notify != 0) enginePrivate->capturedProperties << - QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify); + QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify); state = Reset; } break; diff --git a/src/declarative/qml/qmlrewrite.cpp b/src/declarative/qml/qmlrewrite.cpp index 02bf8fa..c708418 100644 --- a/src/declarative/qml/qmlrewrite.cpp +++ b/src/declarative/qml/qmlrewrite.cpp @@ -61,7 +61,7 @@ void RewriteBinding::accept(AST::Node *node) AST::Node::acceptChild(node, this); } -QString RewriteBinding::rewrite(QString code, unsigned position, +QString RewriteBinding::rewrite(QString code, unsigned position, AST::Statement *node) { TextWriter w; @@ -101,57 +101,6 @@ bool RewriteBinding::visit(AST::ExpressionStatement *ast) return false; } -bool RewriteBinding::visit(AST::NumericLiteral *node) -{ - if (node->suffix != AST::NumericLiteral::noSuffix) { - const int suffixLength = AST::NumericLiteral::suffixLength[node->suffix]; - const char *suffixSpell = AST::NumericLiteral::suffixSpell[node->suffix]; - QString pre; - pre += QLatin1String("qmlNumberFrom"); - pre += QChar(QLatin1Char(suffixSpell[0])).toUpper(); - pre += QLatin1String(&suffixSpell[1]); - pre += QLatin1Char('('); - _writer->replace(node->literalToken.begin() - _position, 0, pre); - _writer->replace(node->literalToken.end() - _position - suffixLength, - suffixLength, - QLatin1String(")")); - } - - return false; -} - -QString RewriteNumericLiterals::operator()(QString code, unsigned position, AST::Node *node) -{ - TextWriter w; - _writer = &w; - _position = position; - - AST::Node::acceptChild(node, this); - - w.write(&code); - - return code; -} - -bool RewriteNumericLiterals::visit(AST::NumericLiteral *node) -{ - if (node->suffix != AST::NumericLiteral::noSuffix) { - const int suffixLength = AST::NumericLiteral::suffixLength[node->suffix]; - const char *suffixSpell = AST::NumericLiteral::suffixSpell[node->suffix]; - QString pre; - pre += QLatin1String("qmlNumberFrom"); - pre += QChar(QLatin1Char(suffixSpell[0])).toUpper(); - pre += QLatin1String(&suffixSpell[1]); - pre += QLatin1Char('('); - _writer->replace(node->literalToken.begin() - _position, 0, pre); - _writer->replace(node->literalToken.end() - _position - suffixLength, - suffixLength, - QLatin1String(")")); - } - - return false; -} - } // namespace QmlRewrite QT_END_NAMESPACE diff --git a/src/declarative/qml/qmlrewrite_p.h b/src/declarative/qml/qmlrewrite_p.h index 51a8015..b6fe017 100644 --- a/src/declarative/qml/qmlrewrite_p.h +++ b/src/declarative/qml/qmlrewrite_p.h @@ -78,21 +78,6 @@ protected: QString rewrite(QString code, unsigned position, AST::Statement *node); virtual bool visit(AST::Block *ast); virtual bool visit(AST::ExpressionStatement *ast); - virtual bool visit(AST::NumericLiteral *node); -}; - -class RewriteNumericLiterals: protected AST::Visitor -{ - unsigned _position; - TextWriter *_writer; - -public: - QString operator()(QString code, unsigned position, AST::Node *node); - -protected: - using AST::Visitor::visit; - - virtual bool visit(AST::NumericLiteral *node); }; } // namespace QmlRewrite diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp index c1c11c7..2f82f0d 100644 --- a/src/declarative/qml/qmlscriptparser.cpp +++ b/src/declarative/qml/qmlscriptparser.cpp @@ -154,15 +154,12 @@ protected: const AST::SourceLocation &last) const { return _contents.mid(first.offset, last.offset + last.length - first.offset); } - QmlRewrite::RewriteNumericLiterals rewriteNumericLiterals; - QString asString(AST::ExpressionNode *expr) { if (! expr) return QString(); - return rewriteNumericLiterals(textAt(expr->firstSourceLocation(), expr->lastSourceLocation()), - expr->firstSourceLocation().offset, expr); + return textAt(expr->firstSourceLocation(), expr->lastSourceLocation()); } QString asString(AST::Statement *stmt) @@ -170,9 +167,7 @@ protected: if (! stmt) return QString(); - QString s = rewriteNumericLiterals(textAt(stmt->firstSourceLocation(), stmt->lastSourceLocation()), - stmt->firstSourceLocation().offset, stmt); - + QString s = textAt(stmt->firstSourceLocation(), stmt->lastSourceLocation()); s += QLatin1Char('\n'); return s; } @@ -479,7 +474,7 @@ bool ProcessAST::visit(AST::UiPublicMember *node) const QString memberType = p->type->asString(); const char *qtType = 0; for(int ii = 0; !qtType && ii < propTypeNameToTypesCount; ++ii) { - if(QLatin1String(propTypeNameToTypes[ii].name) == memberType) + if(QLatin1String(propTypeNameToTypes[ii].name) == memberType) qtType = propTypeNameToTypes[ii].qtName; } @@ -530,7 +525,7 @@ bool ProcessAST::visit(AST::UiPublicMember *node) property.isDefaultProperty = node->isDefaultMember; property.type = type; property.name = name.toUtf8(); - property.location = location(node->firstSourceLocation(), + property.location = location(node->firstSourceLocation(), node->lastSourceLocation()); if (node->expression) { // default value @@ -588,11 +583,7 @@ QmlParser::Variant ProcessAST::getVariant(AST::ExpressionNode *expr) } else if (expr->kind == AST::Node::Kind_FalseLiteral) { return QmlParser::Variant(false); } else if (AST::NumericLiteral *lit = AST::cast(expr)) { - if (lit->suffix == AST::NumericLiteral::noSuffix) - return QmlParser::Variant(lit->value, asString(expr)); - else - return QmlParser::Variant(asString(expr), expr); - + return QmlParser::Variant(lit->value, asString(expr)); } else { if (AST::UnaryMinusExpression *unaryMinus = AST::cast(expr)) { @@ -624,7 +615,7 @@ bool ProcessAST::visit(AST::UiScriptBinding *node) if (AST::ExpressionStatement *stmt = AST::cast(node->statement)) { primitive = getVariant(stmt->expression); } else { // do binding - primitive = QmlParser::Variant(asString(node->statement), + primitive = QmlParser::Variant(asString(node->statement), node->statement); } -- cgit v0.12 From 3ff864cf3ec30af8f5a7522eef7bc170d7e99911 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 24 Jul 2009 14:50:34 +1000 Subject: Make custom string converters work for builtin variant metatypes With QVector3D now being a builtin variant type, the string converter code broke. This change looks for string converters for all kinds of types, just as in the rest of the QML code. --- src/declarative/qml/qmlbinding.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/declarative/qml/qmlbinding.cpp b/src/declarative/qml/qmlbinding.cpp index 431dd66..41cef49 100644 --- a/src/declarative/qml/qmlbinding.cpp +++ b/src/declarative/qml/qmlbinding.cpp @@ -139,8 +139,7 @@ void QmlBinding::update() } else { QVariant value = this->value(); - if ((uint)d->property.propertyType() >= QVariant::UserType && - value.type() == QVariant::String) { + if (value.type() == QVariant::String) { QmlMetaType::StringConverter con = QmlMetaType::customStringConverter(d->property.propertyType()); if (con) value = con(value.toString()); -- cgit v0.12 From 17030b55cc61daac51112a3a43e12b96ba7fa280 Mon Sep 17 00:00:00 2001 From: Yann Bodson Date: Fri, 24 Jul 2009 14:52:57 +1000 Subject: Add a 'loading' property to fontfamily. --- src/declarative/util/qmlfontfamily.cpp | 13 ++++++++++++- src/declarative/util/qmlfontfamily.h | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/declarative/util/qmlfontfamily.cpp b/src/declarative/util/qmlfontfamily.cpp index 407d2ab..e539085 100644 --- a/src/declarative/util/qmlfontfamily.cpp +++ b/src/declarative/util/qmlfontfamily.cpp @@ -57,13 +57,14 @@ class QmlFontFamilyPrivate : public QObjectPrivate Q_DECLARE_PUBLIC(QmlFontFamily); public: - QmlFontFamilyPrivate() : reply(0) {} + QmlFontFamilyPrivate() : reply(0), loading(false) {} void addFontToDatabase(const QByteArray &); QUrl url; QString name; QNetworkReply *reply; + bool loading; }; QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FontFamily,QmlFontFamily) @@ -94,6 +95,8 @@ void QmlFontFamily::setSource(const QUrl &url) return; d->url = qmlContext(this)->resolvedUrl(url); + d->loading = true; + emit loadingChanged(); #ifndef QT_NO_LOCALFILE_OPTIMIZED_QML if (d->url.scheme() == QLatin1String("file")) { QFile file(d->url.toLocalFile()); @@ -125,6 +128,12 @@ void QmlFontFamily::setName(const QString &name) emit nameChanged(); } +bool QmlFontFamily::isLoading() const +{ + Q_D(const QmlFontFamily); + return d->loading; +} + void QmlFontFamily::replyFinished() { Q_D(QmlFontFamily); @@ -144,6 +153,8 @@ void QmlFontFamilyPrivate::addFontToDatabase(const QByteArray &ba) if (id != -1) { name = QFontDatabase::applicationFontFamilies(id).at(0); emit q->nameChanged(); + loading = false; + emit q->loadingChanged(); } else { qWarning() << "Cannot load font: " << name << url; } diff --git a/src/declarative/util/qmlfontfamily.h b/src/declarative/util/qmlfontfamily.h index 739a553..c647f67 100644 --- a/src/declarative/util/qmlfontfamily.h +++ b/src/declarative/util/qmlfontfamily.h @@ -59,6 +59,7 @@ class Q_DECLARATIVE_EXPORT QmlFontFamily : public QObject Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(bool loading READ isLoading NOTIFY loadingChanged) public: QmlFontFamily(QObject *parent = 0); @@ -70,11 +71,14 @@ public: QString name() const; void setName(const QString &name); + bool isLoading() const; + private Q_SLOTS: void replyFinished(); Q_SIGNALS: void nameChanged(); + void loadingChanged(); }; QT_END_NAMESPACE -- cgit v0.12 From f052ecabf63354737df71ac813adf157158e7b4d Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Fri, 24 Jul 2009 15:13:45 +1000 Subject: Rename QmlBindableComponent to QmlComponentJS, as per Aaron's request. --- src/declarative/qml/qml.pri | 6 +- src/declarative/qml/qmlbindablecomponent.cpp | 129 --------------------------- src/declarative/qml/qmlbindablecomponent.h | 92 ------------------- src/declarative/qml/qmlbindablecomponent_p.h | 77 ---------------- src/declarative/qml/qmlcomponentjs.cpp | 129 +++++++++++++++++++++++++++ src/declarative/qml/qmlcomponentjs.h | 92 +++++++++++++++++++ src/declarative/qml/qmlcomponentjs_p.h | 77 ++++++++++++++++ src/declarative/qml/qmlengine.cpp | 8 +- 8 files changed, 305 insertions(+), 305 deletions(-) delete mode 100644 src/declarative/qml/qmlbindablecomponent.cpp delete mode 100644 src/declarative/qml/qmlbindablecomponent.h delete mode 100644 src/declarative/qml/qmlbindablecomponent_p.h create mode 100644 src/declarative/qml/qmlcomponentjs.cpp create mode 100644 src/declarative/qml/qmlcomponentjs.h create mode 100644 src/declarative/qml/qmlcomponentjs_p.h diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri index d8b69df..6ee670e 100644 --- a/src/declarative/qml/qml.pri +++ b/src/declarative/qml/qml.pri @@ -5,7 +5,7 @@ SOURCES += qml/qmlparser.cpp \ qml/qmlexpression.cpp \ qml/qmlbinding.cpp \ qml/qmlmetaproperty.cpp \ - qml/qmlbindablecomponent.cpp \ + qml/qmlcomponentjs.cpp \ qml/qmlcomponent.cpp \ qml/qmlcontext.cpp \ qml/qmlcustomparser.cpp \ @@ -38,8 +38,8 @@ HEADERS += qml/qmlparser_p.h \ qml/qmlbinding.h \ qml/qmlbinding_p.h \ qml/qmlmetaproperty.h \ - qml/qmlbindablecomponent.h \ - qml/qmlbindablecomponent_p.h \ + qml/qmlcomponentjs.h \ + qml/qmlcomponentjs_p.h \ qml/qmlcomponent.h \ qml/qmlcomponent_p.h \ qml/qmlcustomparser_p.h \ diff --git a/src/declarative/qml/qmlbindablecomponent.cpp b/src/declarative/qml/qmlbindablecomponent.cpp deleted file mode 100644 index 6938592..0000000 --- a/src/declarative/qml/qmlbindablecomponent.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain -** additional rights. These rights are described in the Nokia Qt LGPL -** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qmlbindablecomponent.h" -#include "qmlbindablecomponent_p.h" -#include "qmlcomponent.h" - -QT_BEGIN_NAMESPACE -QmlBindableComponent::QmlBindableComponent(QmlEngine *engine, QObject *parent) - : QmlComponent(*(new QmlBindableComponentPrivate), parent) -{ - Q_D(QmlBindableComponent); - d->engine = engine; - connect(this, SIGNAL(statusChanged(QmlComponent::Status)), - this, SLOT(statusChange(QmlComponent::Status))); -} - -QmlBindableComponent::QmlBindableComponent(QmlEngine *engine, const QUrl &url, QObject *parent) - : QmlComponent(*(new QmlBindableComponentPrivate), parent) -{ - Q_D(QmlBindableComponent); - d->engine = engine; - loadUrl(url); - connect(this, SIGNAL(statusChanged(QmlComponent::Status)), - this, SLOT(statusChange(QmlComponent::Status))); -} - -void QmlBindableComponent::setContext(QmlContext* c) -{ - Q_D(QmlBindableComponent); - d->ctxt =c; -} -/*! - Create a script object instance from this component. Returns a null - script object if creation failed. It will create the instance in the - same context that it was created it. QmlBindableComponent is only - meant to be created from with script - C++ developers should just use - QmlComponent directly. - - Similar to QmlComponent::create(), but creates an object suitable - for usage within scripts. -*/ -QScriptValue QmlBindableComponent::createObject() -{ - Q_D(QmlBindableComponent); - QObject* ret = create(d->ctxt); - return QmlEngine::qmlScriptObject(ret, d->engine); -} - -/*! - Return the list of errors that occured during the last compile or create - operation, as a single string. An empty string is returned if isError() - is not set. - - This function is similar to errors(), except more useful when called from - QML. C++ code should usually use errors(). - - \sa errors() -*/ -QString QmlBindableComponent::errorsString() const -{ - Q_D(const QmlBindableComponent); - QString ret; - if(!isError()) - return ret; - foreach(const QmlError &e, d->errors) { - ret += e.url().toString() + QLatin1String(":") + - QString::number(e.line()) + QLatin1String(" ") + - e.description() + QLatin1String("\n"); - } - return ret; -} - - -void QmlBindableComponent::statusChange(QmlComponent::Status newStatus) -{ - Q_D(QmlBindableComponent); - if(newStatus == d->prevStatus) - return; - if(newStatus == QmlComponent::Null || d->prevStatus == QmlComponent::Null) - emit isNullChanged(); - if(newStatus == QmlComponent::Ready || d->prevStatus == QmlComponent::Ready) - emit isReadyChanged(); - if(newStatus == QmlComponent::Loading || d->prevStatus == QmlComponent::Loading) - emit isLoadingChanged(); - if(newStatus == QmlComponent::Error || d->prevStatus == QmlComponent::Error) - emit isErrorChanged(); - d->prevStatus = newStatus; -} - -QT_END_NAMESPACE diff --git a/src/declarative/qml/qmlbindablecomponent.h b/src/declarative/qml/qmlbindablecomponent.h deleted file mode 100644 index 43e3537..0000000 --- a/src/declarative/qml/qmlbindablecomponent.h +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain -** additional rights. These rights are described in the Nokia Qt LGPL -** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QMLBINDABLECOMPONENT_H -#define QMLBINDABLECOMPONENT_H - -#include -#include -#include -#include -#include -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Declarative) - -class QmlBindableComponentPrivate; -class QmlEngine; -class QmlContext; -class Q_DECLARATIVE_EXPORT QmlBindableComponent : public QmlComponent -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QmlBindableComponent) - friend class QmlEngine; -public: - QmlBindableComponent(QmlEngine *, const QUrl &url, QObject *parent = 0); - QmlBindableComponent(QmlEngine *, QObject *parent=0); - Q_PROPERTY(bool isNull READ isNull NOTIFY isNullChanged); - Q_PROPERTY(bool isReady READ isReady NOTIFY isReadyChanged); - Q_PROPERTY(bool isError READ isError NOTIFY isErrorChanged); - Q_PROPERTY(bool isLoading READ isLoading NOTIFY isLoadingChanged); - - Q_INVOKABLE QScriptValue createObject(); - Q_INVOKABLE QString errorsString() const; - - void setContext(QmlContext* c); -Q_SIGNALS: - void isNullChanged(); - void isErrorChanged(); - void isReadyChanged(); - void isLoadingChanged(); -private slots: - void statusChange(QmlComponent::Status newStatus); -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QmlBindableComponent) - -QT_END_HEADER -#endif diff --git a/src/declarative/qml/qmlbindablecomponent_p.h b/src/declarative/qml/qmlbindablecomponent_p.h deleted file mode 100644 index 79335df..0000000 --- a/src/declarative/qml/qmlbindablecomponent_p.h +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the either Technology Preview License Agreement or the -** Beta Release License Agreement. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain -** additional rights. These rights are described in the Nokia Qt LGPL -** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this -** package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at qt-sales@nokia.com. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QMLBINDABLECOMPONENT_P_H -#define QMLBINDABLECOMPONENT_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include "qmlcomponent.h" -#include "qmlbindablecomponent.h" -#include "qmlcomponent_p.h" - -QT_BEGIN_NAMESPACE - -class QmlContext; -class QmlBindableComponentPrivate : public QmlComponentPrivate -{ - Q_DECLARE_PUBLIC(QmlBindableComponent) -public: - QmlBindableComponentPrivate() : QmlComponentPrivate(), - prevStatus(QmlBindableComponent::Null), ctxt(0) - { } - - QmlComponent::Status prevStatus; - QmlContext* ctxt; -}; - -QT_END_NAMESPACE - -#endif diff --git a/src/declarative/qml/qmlcomponentjs.cpp b/src/declarative/qml/qmlcomponentjs.cpp new file mode 100644 index 0000000..32c2249 --- /dev/null +++ b/src/declarative/qml/qmlcomponentjs.cpp @@ -0,0 +1,129 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qmlcomponentjs.h" +#include "qmlcomponentjs_p.h" +#include "qmlcomponent.h" + +QT_BEGIN_NAMESPACE +QmlComponentJS::QmlComponentJS(QmlEngine *engine, QObject *parent) + : QmlComponent(*(new QmlComponentJSPrivate), parent) +{ + Q_D(QmlComponentJS); + d->engine = engine; + connect(this, SIGNAL(statusChanged(QmlComponent::Status)), + this, SLOT(statusChange(QmlComponent::Status))); +} + +QmlComponentJS::QmlComponentJS(QmlEngine *engine, const QUrl &url, QObject *parent) + : QmlComponent(*(new QmlComponentJSPrivate), parent) +{ + Q_D(QmlComponentJS); + d->engine = engine; + loadUrl(url); + connect(this, SIGNAL(statusChanged(QmlComponent::Status)), + this, SLOT(statusChange(QmlComponent::Status))); +} + +void QmlComponentJS::setContext(QmlContext* c) +{ + Q_D(QmlComponentJS); + d->ctxt =c; +} +/*! + Create a script object instance from this component. Returns a null + script object if creation failed. It will create the instance in the + same context that it was created it. QmlComponentJS is only + meant to be created from with script - C++ developers should just use + QmlComponent directly. + + Similar to QmlComponent::create(), but creates an object suitable + for usage within scripts. +*/ +QScriptValue QmlComponentJS::createObject() +{ + Q_D(QmlComponentJS); + QObject* ret = create(d->ctxt); + return QmlEngine::qmlScriptObject(ret, d->engine); +} + +/*! + Return the list of errors that occured during the last compile or create + operation, as a single string. An empty string is returned if isError() + is not set. + + This function is similar to errors(), except more useful when called from + QML. C++ code should usually use errors(). + + \sa errors() +*/ +QString QmlComponentJS::errorsString() const +{ + Q_D(const QmlComponentJS); + QString ret; + if(!isError()) + return ret; + foreach(const QmlError &e, d->errors) { + ret += e.url().toString() + QLatin1String(":") + + QString::number(e.line()) + QLatin1String(" ") + + e.description() + QLatin1String("\n"); + } + return ret; +} + + +void QmlComponentJS::statusChange(QmlComponent::Status newStatus) +{ + Q_D(QmlComponentJS); + if(newStatus == d->prevStatus) + return; + if(newStatus == QmlComponent::Null || d->prevStatus == QmlComponent::Null) + emit isNullChanged(); + if(newStatus == QmlComponent::Ready || d->prevStatus == QmlComponent::Ready) + emit isReadyChanged(); + if(newStatus == QmlComponent::Loading || d->prevStatus == QmlComponent::Loading) + emit isLoadingChanged(); + if(newStatus == QmlComponent::Error || d->prevStatus == QmlComponent::Error) + emit isErrorChanged(); + d->prevStatus = newStatus; +} + +QT_END_NAMESPACE diff --git a/src/declarative/qml/qmlcomponentjs.h b/src/declarative/qml/qmlcomponentjs.h new file mode 100644 index 0000000..5ad1635 --- /dev/null +++ b/src/declarative/qml/qmlcomponentjs.h @@ -0,0 +1,92 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QMLBINDABLECOMPONENT_H +#define QMLBINDABLECOMPONENT_H + +#include +#include +#include +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +class QmlComponentJSPrivate; +class QmlEngine; +class QmlContext; +class Q_DECLARATIVE_EXPORT QmlComponentJS : public QmlComponent +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QmlComponentJS) + friend class QmlEngine; +public: + QmlComponentJS(QmlEngine *, const QUrl &url, QObject *parent = 0); + QmlComponentJS(QmlEngine *, QObject *parent=0); + Q_PROPERTY(bool isNull READ isNull NOTIFY isNullChanged); + Q_PROPERTY(bool isReady READ isReady NOTIFY isReadyChanged); + Q_PROPERTY(bool isError READ isError NOTIFY isErrorChanged); + Q_PROPERTY(bool isLoading READ isLoading NOTIFY isLoadingChanged); + + Q_INVOKABLE QScriptValue createObject(); + Q_INVOKABLE QString errorsString() const; + + void setContext(QmlContext* c); +Q_SIGNALS: + void isNullChanged(); + void isErrorChanged(); + void isReadyChanged(); + void isLoadingChanged(); +private slots: + void statusChange(QmlComponent::Status newStatus); +}; + +QT_END_NAMESPACE + +QML_DECLARE_TYPE(QmlComponentJS) + +QT_END_HEADER +#endif diff --git a/src/declarative/qml/qmlcomponentjs_p.h b/src/declarative/qml/qmlcomponentjs_p.h new file mode 100644 index 0000000..75d5517 --- /dev/null +++ b/src/declarative/qml/qmlcomponentjs_p.h @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QMLBINDABLECOMPONENT_P_H +#define QMLBINDABLECOMPONENT_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qmlcomponent.h" +#include "qmlcomponentjs.h" +#include "qmlcomponent_p.h" + +QT_BEGIN_NAMESPACE + +class QmlContext; +class QmlComponentJSPrivate : public QmlComponentPrivate +{ + Q_DECLARE_PUBLIC(QmlComponentJS) +public: + QmlComponentJSPrivate() : QmlComponentPrivate(), + prevStatus(QmlComponentJS::Null), ctxt(0) + { } + + QmlComponent::Status prevStatus; + QmlContext* ctxt; +}; + +QT_END_NAMESPACE + +#endif diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp index 33c6710..69cc542 100644 --- a/src/declarative/qml/qmlengine.cpp +++ b/src/declarative/qml/qmlengine.cpp @@ -71,7 +71,7 @@ #include #include #include -#include +#include #include "private/qmlmetaproperty_p.h" #include #include @@ -602,18 +602,18 @@ QScriptValue QmlEngine::qmlScriptObject(QObject* object, QmlEngine* engine) */ QScriptValue QmlEngine::createComponent(QScriptContext *ctxt, QScriptEngine *engine) { - QmlBindableComponent* c; + QmlComponentJS* c; QmlEngine* activeEngine = qobject_cast( engine->globalObject().property(QLatin1String("qmlEngine")).toQObject()); QmlContext* context =activeEngine->d_func()->currentExpression->context(); if(ctxt->argumentCount() != 1 || !activeEngine){ - c = new QmlBindableComponent(activeEngine); + c = new QmlComponentJS(activeEngine); }else{ QUrl url = QUrl(context->resolvedUrl(ctxt->argument(0).toString())); if(!url.isValid()){ url = QUrl(ctxt->argument(0).toString()); } - c = new QmlBindableComponent(activeEngine, url, activeEngine); + c = new QmlComponentJS(activeEngine, url, activeEngine); } c->setContext(context); return engine->newQObject(c); -- cgit v0.12 From a5469a1e0289786ec6f15bcfd4af2826249f81fc Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Fri, 24 Jul 2009 06:39:37 +0200 Subject: Accept the optional semicolon at the end of a signal declaration. --- src/declarative/qml/parser/qmljs.g | 12 +- src/declarative/qml/parser/qmljsgrammar.cpp | 1353 ++++++++++++++------------- src/declarative/qml/parser/qmljsgrammar_p.h | 12 +- src/declarative/qml/parser/qmljsparser.cpp | 400 ++++---- src/declarative/qml/parser/qmljsparser_p.h | 4 +- 5 files changed, 903 insertions(+), 878 deletions(-) diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g index 5f0fe8f..d8d67c3 100644 --- a/src/declarative/qml/parser/qmljs.g +++ b/src/declarative/qml/parser/qmljs.g @@ -837,27 +837,31 @@ case $rule_number: { } break; ./ -UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN ; +UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_AUTOMATIC_SEMICOLON ; +UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_SEMICOLON ; /. case $rule_number: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); node->typeToken = loc(2); - node->identifierToken = loc(3); + node->identifierToken = loc(2); node->parameters = sym(4).UiParameterList; + node->semicolonToken = loc(6); sym(1).Node = node; } break; ./ -UiObjectMember: T_SIGNAL T_IDENTIFIER ; +UiObjectMember: T_SIGNAL T_IDENTIFIER T_AUTOMATIC_SEMICOLON ; +UiObjectMember: T_SIGNAL T_IDENTIFIER T_SEMICOLON ; /. case $rule_number: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); node->typeToken = loc(2); - node->identifierToken = loc(3); + node->identifierToken = loc(2); + node->semicolonToken = loc(3); sym(1).Node = node; } break; ./ diff --git a/src/declarative/qml/parser/qmljsgrammar.cpp b/src/declarative/qml/parser/qmljsgrammar.cpp index 1b23be6..873307f 100644 --- a/src/declarative/qml/parser/qmljsgrammar.cpp +++ b/src/declarative/qml/parser/qmljsgrammar.cpp @@ -60,140 +60,141 @@ const int QmlJSGrammar::lhs [] = { 101, 100, 107, 107, 109, 109, 110, 110, 106, 108, 108, 108, 108, 108, 108, 108, 115, 115, 115, 116, 116, 117, 117, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 105, 105, 104, 104, 104, + 108, 108, 108, 108, 108, 108, 108, 105, 105, 104, + 104, 104, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 105, 105, - 122, 122, 122, 122, 121, 121, 124, 124, 126, 126, - 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, + 105, 105, 122, 122, 122, 122, 121, 121, 124, 124, + 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 128, 128, 129, 129, 129, - 129, 129, 132, 132, 133, 133, 133, 133, 131, 131, - 134, 134, 135, 135, 136, 136, 136, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, - 138, 139, 139, 139, 140, 140, 140, 140, 141, 141, - 141, 141, 141, 141, 141, 142, 142, 142, 142, 142, - 142, 143, 143, 143, 143, 143, 144, 144, 144, 144, - 144, 145, 145, 146, 146, 147, 147, 148, 148, 149, - 149, 150, 150, 151, 151, 152, 152, 153, 153, 154, - 154, 155, 155, 156, 156, 125, 125, 157, 157, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 98, 98, 159, 159, 160, 160, 161, 161, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 111, 173, 173, 172, 172, 119, - 119, 174, 174, 175, 175, 177, 177, 176, 178, 181, - 179, 179, 182, 180, 180, 112, 113, 113, 114, 114, - 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, - 163, 164, 164, 164, 164, 165, 165, 166, 168, 183, - 183, 186, 186, 184, 184, 187, 185, 167, 167, 167, - 169, 169, 170, 170, 170, 188, 189, 171, 171, 118, - 130, 193, 193, 190, 190, 191, 191, 194, 195, 195, - 196, 196, 192, 192, 123, 123, 197}; + 127, 127, 127, 127, 127, 127, 127, 128, 128, 129, + 129, 129, 129, 129, 132, 132, 133, 133, 133, 133, + 131, 131, 134, 134, 135, 135, 136, 136, 136, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, + 138, 138, 138, 139, 139, 139, 140, 140, 140, 140, + 141, 141, 141, 141, 141, 141, 141, 142, 142, 142, + 142, 142, 142, 143, 143, 143, 143, 143, 144, 144, + 144, 144, 144, 145, 145, 146, 146, 147, 147, 148, + 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, + 153, 154, 154, 155, 155, 156, 156, 125, 125, 157, + 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 98, 98, 159, 159, 160, 160, 161, + 161, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 111, 173, 173, 172, + 172, 119, 119, 174, 174, 175, 175, 177, 177, 176, + 178, 181, 179, 179, 182, 180, 180, 112, 113, 113, + 114, 114, 162, 162, 162, 162, 162, 162, 162, 163, + 163, 163, 163, 164, 164, 164, 164, 165, 165, 166, + 168, 183, 183, 186, 186, 184, 184, 187, 185, 167, + 167, 167, 169, 169, 170, 170, 170, 188, 189, 171, + 171, 118, 130, 193, 193, 190, 190, 191, 191, 194, + 195, 195, 196, 196, 192, 192, 123, 123, 197}; const int QmlJSGrammar:: rhs[] = { 2, 2, 2, 2, 1, 1, 1, 2, 3, 3, 5, 5, 3, 3, 4, 4, 6, 6, 5, 5, 0, 1, 1, 2, 1, 3, 2, 3, 2, 1, 5, 4, 3, 3, 3, 3, 1, 1, 1, 0, - 1, 2, 4, 5, 2, 4, 4, 5, 5, 6, - 6, 7, 7, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 4, 6, 6, 3, 3, 4, 4, 5, + 5, 6, 6, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 3, 3, 4, 5, 3, 4, 3, 1, 3, - 1, 2, 3, 4, 1, 2, 3, 5, 1, 1, + 1, 1, 2, 3, 3, 4, 5, 3, 4, 3, + 1, 3, 1, 2, 3, 4, 1, 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, - 3, 5, 1, 2, 4, 4, 4, 3, 0, 1, - 1, 3, 1, 1, 1, 2, 2, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, - 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, - 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, - 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 5, 1, 5, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, + 1, 4, 3, 5, 1, 2, 4, 4, 4, 3, + 0, 1, 1, 3, 1, 1, 1, 2, 2, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, + 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, + 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, + 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, + 3, 3, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 5, 1, 5, 1, 3, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 2, 0, 1, 3, - 3, 1, 1, 1, 3, 1, 3, 2, 2, 2, - 0, 1, 2, 0, 1, 1, 2, 2, 7, 5, - 7, 7, 5, 9, 10, 7, 8, 2, 2, 3, - 3, 2, 2, 3, 3, 3, 3, 5, 5, 3, - 5, 1, 2, 0, 1, 4, 3, 3, 3, 3, - 3, 3, 3, 3, 4, 5, 2, 2, 2, 8, - 8, 1, 3, 0, 1, 0, 1, 1, 1, 2, - 1, 1, 0, 1, 0, 1, 2}; + 1, 1, 1, 1, 1, 1, 3, 1, 2, 0, + 1, 3, 3, 1, 1, 1, 3, 1, 3, 2, + 2, 2, 0, 1, 2, 0, 1, 1, 2, 2, + 7, 5, 7, 7, 5, 9, 10, 7, 8, 2, + 2, 3, 3, 2, 2, 3, 3, 3, 3, 5, + 5, 3, 5, 1, 2, 0, 1, 4, 3, 3, + 3, 3, 3, 3, 3, 3, 4, 5, 2, 2, + 2, 8, 8, 1, 3, 0, 1, 0, 1, 1, + 1, 2, 1, 1, 0, 1, 0, 1, 2}; const int QmlJSGrammar::action_default [] = { - 0, 0, 0, 21, 0, 165, 232, 196, 204, 200, - 144, 216, 192, 3, 129, 62, 145, 208, 212, 133, - 162, 143, 148, 128, 182, 169, 0, 69, 70, 65, - 333, 58, 335, 0, 0, 0, 0, 67, 0, 0, - 63, 66, 0, 0, 59, 60, 68, 61, 0, 64, - 0, 0, 158, 0, 0, 145, 164, 147, 146, 0, - 0, 0, 160, 161, 159, 163, 0, 193, 0, 0, - 0, 0, 183, 0, 0, 0, 0, 0, 0, 173, - 0, 0, 0, 167, 168, 166, 171, 175, 174, 172, - 170, 185, 184, 186, 0, 201, 0, 197, 0, 0, - 139, 126, 138, 127, 95, 96, 97, 122, 98, 123, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 124, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 125, 0, 0, 137, 233, 140, - 0, 141, 0, 142, 136, 0, 229, 222, 220, 227, - 228, 226, 225, 231, 224, 223, 221, 230, 217, 0, - 205, 0, 0, 209, 0, 0, 213, 0, 0, 139, - 131, 0, 130, 0, 135, 149, 0, 334, 324, 325, - 0, 322, 0, 323, 0, 326, 240, 247, 246, 254, - 242, 0, 243, 327, 0, 332, 244, 245, 250, 248, - 329, 328, 331, 251, 0, 262, 0, 0, 0, 0, - 333, 58, 0, 335, 59, 234, 276, 60, 0, 0, - 0, 263, 0, 0, 252, 253, 0, 241, 249, 277, - 278, 321, 330, 0, 292, 293, 294, 295, 0, 288, - 289, 290, 291, 318, 319, 0, 0, 0, 0, 0, - 281, 282, 238, 236, 198, 206, 202, 218, 194, 239, - 0, 145, 210, 214, 187, 176, 0, 0, 195, 0, - 0, 0, 0, 188, 0, 0, 0, 0, 0, 180, - 178, 181, 179, 177, 190, 189, 191, 0, 203, 0, - 199, 0, 237, 145, 0, 219, 234, 235, 0, 234, - 0, 0, 284, 0, 0, 0, 286, 0, 207, 0, - 0, 211, 0, 0, 215, 274, 0, 266, 275, 269, - 0, 273, 0, 234, 267, 0, 234, 0, 0, 285, - 0, 0, 0, 287, 334, 324, 0, 0, 326, 0, - 320, 0, 310, 0, 0, 0, 280, 0, 279, 0, - 336, 0, 94, 256, 259, 0, 95, 262, 98, 123, - 100, 101, 65, 105, 106, 58, 107, 110, 63, 66, - 59, 234, 60, 68, 113, 61, 115, 64, 117, 118, - 263, 120, 121, 125, 0, 87, 0, 0, 89, 93, - 91, 77, 90, 92, 0, 88, 76, 257, 255, 133, - 134, 139, 0, 132, 0, 309, 0, 296, 297, 0, - 308, 0, 0, 0, 299, 304, 302, 305, 0, 0, - 303, 304, 0, 300, 0, 301, 258, 307, 0, 258, - 306, 0, 311, 312, 0, 258, 313, 314, 0, 0, - 315, 0, 0, 0, 316, 317, 151, 150, 0, 0, - 0, 283, 0, 0, 0, 298, 271, 264, 0, 272, - 268, 0, 270, 260, 0, 261, 265, 81, 0, 0, - 85, 71, 0, 73, 83, 0, 74, 84, 86, 75, - 82, 72, 0, 78, 155, 153, 157, 154, 152, 156, - 2, 5, 0, 7, 6, 0, 1, 79, 56, 57, + 0, 0, 0, 21, 0, 167, 234, 198, 206, 202, + 146, 218, 194, 3, 131, 64, 147, 210, 214, 135, + 164, 145, 150, 130, 184, 171, 0, 71, 72, 67, + 335, 60, 337, 0, 0, 0, 0, 69, 0, 0, + 65, 68, 0, 0, 61, 62, 70, 63, 0, 66, + 0, 0, 160, 0, 0, 147, 166, 149, 148, 0, + 0, 0, 162, 163, 161, 165, 0, 195, 0, 0, + 0, 0, 185, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 169, 170, 168, 173, 177, 176, 174, + 172, 187, 186, 188, 0, 203, 0, 199, 0, 0, + 141, 128, 140, 129, 97, 98, 99, 124, 100, 125, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 126, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 127, 0, 0, 139, 235, 142, + 0, 143, 0, 144, 138, 0, 231, 224, 222, 229, + 230, 228, 227, 233, 226, 225, 223, 232, 219, 0, + 207, 0, 0, 211, 0, 0, 215, 0, 0, 141, + 133, 0, 132, 0, 137, 151, 0, 336, 326, 327, + 0, 324, 0, 325, 0, 328, 242, 249, 248, 256, + 244, 0, 245, 329, 0, 334, 246, 247, 252, 250, + 331, 330, 333, 253, 0, 264, 0, 0, 0, 0, + 335, 60, 0, 337, 61, 236, 278, 62, 0, 0, + 0, 265, 0, 0, 254, 255, 0, 243, 251, 279, + 280, 323, 332, 0, 294, 295, 296, 297, 0, 290, + 291, 292, 293, 320, 321, 0, 0, 0, 0, 0, + 283, 284, 240, 238, 200, 208, 204, 220, 196, 241, + 0, 147, 212, 216, 189, 178, 0, 0, 197, 0, + 0, 0, 0, 190, 0, 0, 0, 0, 0, 182, + 180, 183, 181, 179, 192, 191, 193, 0, 205, 0, + 201, 0, 239, 147, 0, 221, 236, 237, 0, 236, + 0, 0, 286, 0, 0, 0, 288, 0, 209, 0, + 0, 213, 0, 0, 217, 276, 0, 268, 277, 271, + 0, 275, 0, 236, 269, 0, 236, 0, 0, 287, + 0, 0, 0, 289, 336, 326, 0, 0, 328, 0, + 322, 0, 312, 0, 0, 0, 282, 0, 281, 0, + 338, 0, 96, 258, 261, 0, 97, 264, 100, 125, + 102, 103, 67, 107, 108, 60, 109, 112, 65, 68, + 61, 236, 62, 70, 115, 63, 117, 66, 119, 120, + 265, 122, 123, 127, 0, 89, 0, 0, 91, 95, + 93, 79, 92, 94, 0, 90, 78, 259, 257, 135, + 136, 141, 0, 134, 0, 311, 0, 298, 299, 0, + 310, 0, 0, 0, 301, 306, 304, 307, 0, 0, + 305, 306, 0, 302, 0, 303, 260, 309, 0, 260, + 308, 0, 313, 314, 0, 260, 315, 316, 0, 0, + 317, 0, 0, 0, 318, 319, 153, 152, 0, 0, + 0, 285, 0, 0, 0, 300, 273, 266, 0, 274, + 270, 0, 272, 262, 0, 263, 267, 83, 0, 0, + 87, 73, 0, 75, 85, 0, 76, 86, 88, 77, + 84, 74, 0, 80, 157, 155, 159, 156, 154, 158, + 2, 5, 0, 7, 6, 0, 1, 81, 58, 59, 0, 0, 0, 9, 10, 0, 11, 12, 0, 13, - 0, 0, 14, 0, 19, 20, 80, 0, 15, 16, - 0, 17, 18, 8, 22, 0, 4, 0, 29, 54, - 0, 0, 59, 27, 60, 30, 23, 0, 0, 55, - 0, 39, 38, 37, 0, 0, 48, 0, 49, 0, - 52, 53, 0, 0, 0, 46, 0, 47, 0, 50, - 51, 45, 40, 41, 0, 0, 0, 0, 43, 44, - 42, 28, 24, 0, 33, 34, 0, 35, 36, 258, - 0, 32, 95, 262, 98, 123, 100, 101, 65, 105, - 106, 58, 107, 110, 63, 66, 59, 234, 60, 68, - 113, 61, 115, 64, 117, 118, 263, 120, 121, 125, - 62, 0, 25, 0, 31, 26, 337}; + 0, 0, 14, 0, 19, 20, 82, 0, 15, 16, + 0, 17, 18, 8, 22, 0, 4, 0, 29, 56, + 0, 0, 61, 27, 62, 30, 23, 0, 0, 57, + 0, 39, 38, 37, 0, 0, 50, 0, 51, 0, + 54, 55, 0, 0, 0, 48, 0, 49, 0, 52, + 53, 0, 46, 40, 47, 41, 0, 0, 0, 0, + 43, 0, 44, 45, 42, 28, 24, 0, 33, 34, + 0, 35, 36, 260, 0, 32, 97, 264, 100, 125, + 102, 103, 67, 107, 108, 60, 109, 112, 65, 68, + 61, 236, 62, 70, 115, 63, 117, 66, 119, 120, + 265, 122, 123, 127, 64, 0, 25, 0, 31, 26, + 339}; const int QmlJSGrammar::goto_default [] = { 4, 496, 353, 191, 495, 526, 491, 494, 493, 15, - 525, 535, 537, 536, 611, 528, 186, 190, 192, 196, - 553, 564, 563, 195, 227, 23, 469, 468, 351, 350, + 525, 535, 537, 536, 615, 528, 186, 190, 192, 196, + 553, 566, 565, 195, 227, 23, 469, 468, 351, 350, 6, 349, 352, 102, 19, 14, 140, 21, 10, 139, 16, 22, 52, 20, 5, 25, 24, 264, 12, 258, 7, 254, 9, 256, 8, 255, 17, 262, 18, 263, @@ -204,222 +205,221 @@ const int QmlJSGrammar::goto_default [] = { 201, 200, 0}; const int QmlJSGrammar::action_index [] = { - 208, 808, 1863, 61, 100, 76, -95, 95, 59, 54, - 261, -95, 405, 86, -95, -95, 641, 91, 67, 187, - 200, -95, -95, -95, 446, 206, 808, -95, -95, -95, - 188, -95, 1681, 1412, 808, 808, 808, -95, 724, 808, - -95, -95, 808, 808, -95, -95, -95, -95, 808, -95, - 808, 808, -95, 808, 808, 131, 212, -95, -95, 808, - 808, 808, -95, -95, -95, 157, 808, 405, 808, 808, - 808, 808, 471, 808, 808, 808, 808, 808, 808, 161, - 808, 808, 808, 112, 119, 117, 154, 178, 173, 234, - 233, 456, 549, 409, 808, 9, 808, 72, 1590, 808, - 808, -95, -95, -95, -95, -95, -95, -95, -95, -95, + 175, 862, 1917, -50, 39, 89, -95, 32, -14, -52, + 374, -95, 341, 21, -95, -95, 577, 42, 84, 198, + 250, -95, -95, -95, 473, 252, 862, -95, -95, -95, + 259, -95, 1735, 1208, 862, 862, 862, -95, 638, 862, + -95, -95, 862, 862, -95, -95, -95, -95, 862, -95, + 862, 862, -95, 862, 862, 93, 300, -95, -95, 862, + 862, 862, -95, -95, -95, 287, 862, 324, 862, 862, + 862, 862, 453, 862, 862, 862, 862, 862, 862, 307, + 862, 862, 862, 118, 102, 127, 308, 293, 326, 251, + 255, 463, 488, 508, 862, 23, 862, 82, 1644, 862, + 862, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, 139, 808, -95, -95, 66, - 23, -95, 808, -95, -95, 808, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, 808, - 33, 808, 808, 69, 57, 808, -95, 1590, 808, 808, - -95, 126, -95, 8, -95, -95, 29, -95, 186, 62, - 60, -95, 207, -95, 36, 1954, -95, -95, -95, -95, - -95, 205, -95, -95, 35, -95, -95, -95, -95, -95, - -95, 1954, -95, -95, 386, -95, 398, 77, 1863, 50, - 162, 78, 42, 2136, 73, 808, -95, 85, 48, 808, - 56, -95, 43, 39, -95, -95, 328, -95, -95, -95, - -95, -95, -95, 75, -95, -95, -95, -95, 84, -95, - -95, -95, -95, -95, -95, 38, 55, 808, 102, 79, - -95, -95, 892, -95, 175, 47, 34, -95, 324, 74, - 16, 551, 65, 68, 477, 278, 328, 808, 292, 808, - 808, 808, 808, 402, 808, 808, 808, 808, 808, 302, - 306, 303, 282, 307, 385, 477, 477, 808, -2, 808, - 71, 808, -95, 641, 808, -95, 808, 58, 63, 808, - 51, 1863, -95, 808, 147, 1863, -95, 808, 14, 808, - 808, 96, 92, 808, -95, 80, 105, 70, -95, -95, - 808, -95, 255, 808, -95, -58, 808, -39, 1863, -95, - 808, 120, 1863, -95, -20, 259, -47, -21, 1954, -36, - -95, 1863, -95, 808, 101, 1863, 11, 1863, -95, 15, - 3, -45, -95, -95, 1863, -54, 401, 2, 337, 116, - 808, 1863, 0, -32, 318, -1, -28, 724, 81, -5, - -95, 980, -95, 45, 19, 46, 808, 44, 17, 808, - 41, 808, 13, -8, 808, -95, 1772, 49, -95, -95, - -95, -95, -95, -95, 808, -95, -95, -95, -95, 272, - -95, 808, -13, -95, 1863, -95, 64, -95, -95, 1863, - -95, 808, 98, 4, -95, 25, -95, 31, 93, 808, - -95, 40, 37, -95, -12, -95, 1863, -95, 123, 1863, - -95, 288, -95, -95, 109, 1863, 20, -95, -4, 1, - -95, 328, -14, 21, -95, -95, -95, -95, 808, 115, - 1863, -95, 808, 125, 1863, -95, 12, -95, 185, -95, - -95, 808, -95, -95, 252, -95, -95, -95, 97, 1154, - -95, -95, 1067, -95, -95, 1241, -95, -95, -95, -95, - -95, -95, 94, -95, -95, -95, -95, -95, -95, -95, - -95, -95, 407, -95, -73, 376, -95, -95, -95, -95, - 179, 321, 198, -95, -95, 110, -95, -95, 227, -95, - 248, 228, -95, 89, -95, -95, -95, 219, -95, -95, - 103, -95, -95, -95, -95, 127, -95, 475, -95, -95, - -46, 168, 165, -95, -6, -95, -95, 500, 189, -95, - 158, -95, -95, -95, 32, 176, -95, 808, -95, 262, - -95, -95, 6, 10, 128, -95, 808, -95, 148, -95, - -95, 5, 145, 30, -3, 213, 177, 216, -95, -95, - -95, -95, -95, 1325, -95, -95, 327, -95, -95, 2045, - 1499, -95, 345, 26, 330, 82, 808, 1863, 28, 22, - 310, 52, 27, 584, 81, 53, -95, 980, -95, 24, - -31, -7, 808, 7, -9, 808, 18, 808, -10, -19, - -15, 111, -95, 334, -95, -95, -95, + -95, -95, -95, -95, -95, 119, 862, -95, -95, 88, + 63, -95, 862, -95, -95, 862, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, 862, + 3, 862, 862, 28, 24, 862, -95, 1644, 862, 862, + -95, 131, -95, -41, -95, -95, -25, -95, 208, -5, + -11, -95, 202, -95, 61, 2008, -95, -95, -95, -95, + -95, 222, -95, -95, 65, -95, -95, -95, -95, -95, + -95, 2008, -95, -95, 376, -95, 405, 75, 1917, 56, + 274, 79, 54, 2190, 71, 862, -95, 74, 49, 862, + 51, -95, 43, 67, -95, -95, 281, -95, -95, -95, + -95, -95, -95, 90, -95, -95, -95, -95, 83, -95, + -95, -95, -95, -95, -95, 35, 55, 862, 94, 70, + -95, -95, 946, -95, 76, 34, -10, -95, 336, 59, + 10, 695, 73, 138, 356, 277, 262, 862, 178, 862, + 862, 862, 862, 446, 862, 862, 862, 862, 862, 267, + 273, 292, 270, 311, 446, 518, 446, 862, 19, 862, + 72, 862, -95, 543, 862, -95, 862, 58, 69, 862, + 68, 1917, -95, 862, 116, 1917, -95, 862, 57, 862, + 862, 96, 92, 862, -95, 78, 98, 62, -95, -95, + 862, -95, 256, 862, -95, 64, 862, 9, 1917, -95, + 862, 101, 1917, -95, -36, 220, -53, -13, 2008, -33, + -95, 1917, -95, 862, 100, 1917, -2, 1917, -95, 6, + 1, -40, -95, -95, 1917, -45, 390, 52, 388, 122, + 862, 1917, -6, -34, 337, -1, -28, 778, 18, 45, + -95, 1034, -95, 46, 14, 17, 862, 40, 15, 862, + 48, 862, 26, 29, 862, -95, 1826, 140, -95, -95, + -95, -95, -95, -95, 862, -95, -95, -95, -95, 322, + -95, 862, -32, -95, 1917, -95, 95, -95, -95, 1917, + -95, 862, 106, 8, -95, 38, -95, 37, 107, 862, + -95, 31, 33, -95, -18, -95, 1917, -95, 105, 1917, + -95, 181, -95, -95, 113, 1917, 7, -95, -4, 12, + -95, 162, 4, 13, -95, -95, -95, -95, 862, 133, + 1917, -95, 862, 135, 1917, -95, 0, -95, 196, -95, + -95, 862, -95, -95, 206, -95, -95, -95, 108, 1121, + -95, -95, 1379, -95, -95, 1466, -95, -95, -95, -95, + -95, -95, 114, -95, -95, -95, -95, -95, -95, -95, + -95, -95, 450, -95, -12, 361, -95, -95, -95, -95, + 159, 350, 197, -95, -95, 111, -95, -95, 180, -95, + 150, 149, -95, 124, -95, -95, -95, 189, -95, -95, + 109, -95, -95, -95, -95, 85, -95, 603, -95, -95, + 44, 136, 165, -95, 27, -95, -95, 492, 294, -95, + 185, -95, -95, -95, 60, 183, -95, 862, -95, 190, + -95, -95, 36, 41, 192, -95, 862, -95, 199, -95, + -95, 179, -95, 148, -95, 66, 20, 134, 151, 139, + -95, 120, -95, -95, -95, -95, -95, 1292, -95, -95, + 306, -95, -95, 2099, 1553, -95, 397, 81, 333, 87, + 862, 1917, 80, -15, 347, 11, -20, 778, 5, 16, + -95, 1034, -95, -3, -31, 47, 862, 53, 30, 862, + 50, 862, 25, 22, 2, 99, -95, 363, -95, -95, + -95, - -103, 37, 13, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -55, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 89, -103, -103, -103, - 24, -103, -103, 6, 15, 92, 100, -103, 154, 66, - -103, -103, 86, 143, -103, -103, -103, -103, 152, -103, - 144, 140, -103, 134, 135, -103, -103, -103, -103, 161, - 170, 176, -103, -103, -103, -103, 174, -103, 169, 153, - 162, 167, -103, 128, 126, 112, 116, 119, 113, -103, - 111, 104, 110, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, 63, -103, 120, -103, 88, 77, - 57, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, 0, 3, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -44, -103, -103, -103, + -103, -103, -103, -103, -103, -103, 44, -103, -103, -103, + 20, -103, -103, -16, 13, 110, 121, -103, 165, 156, + -103, -103, 167, 155, -103, -103, -103, -103, 170, -103, + 171, 211, -103, 126, 125, -103, -103, -103, -103, 130, + 136, 142, -103, -103, -103, -103, 131, -103, 134, 137, + 141, 145, -103, 113, 115, 119, 117, 161, 149, -103, + 160, 83, 45, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, 91, -103, 80, -103, 106, 5, + 51, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 28, -103, -103, -103, - -103, -103, 31, -103, -103, 36, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, 157, - -103, 125, -24, -103, -103, -14, -103, 210, 27, 160, - -103, -103, -103, -103, -103, -103, -103, -103, 8, -103, - -103, -103, -5, -103, -103, 74, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, 23, -103, -103, -103, + -103, -103, 27, -103, -103, 36, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, -103, -103, 94, + -103, 86, 41, -103, -103, 37, -103, 196, 57, 73, + -103, -103, -103, -103, -103, -103, -103, -103, 54, -103, + -103, -103, 50, -103, -103, 70, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, 94, -103, -103, 44, -103, 35, -103, 81, -103, - 61, -103, -103, -103, -103, 75, -103, -103, -103, 4, - -7, -103, -103, -103, -103, -103, 26, -103, -103, -103, + -103, 114, -103, -103, 34, -103, 26, -103, 81, -103, + 67, -103, -103, -103, -103, 79, -103, -103, -103, 4, + -10, -103, -103, -103, -103, -103, -5, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, 68, -103, -103, - -103, -103, 90, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 70, 220, -103, 208, - 231, 230, 234, -103, 101, 82, 60, 76, 79, -103, - -103, -103, -103, -103, -103, -103, -103, 211, -103, 194, - -103, 192, -103, -103, 204, -103, 166, -103, -103, 197, - -103, 23, -103, -1, -103, 9, -103, 180, -103, 181, - 223, -103, -103, 227, -103, -103, -103, -103, -103, -103, - 184, -103, 93, 98, -103, -103, 108, -103, 83, -103, - 78, -103, 40, -103, -103, 109, -103, -103, 102, -103, - -103, 41, -103, 43, -103, 52, -103, 62, -103, -103, - -103, -103, -103, -103, 55, -103, 50, -103, 51, -103, - 107, 49, -103, -103, 73, -103, -103, 154, -103, -103, - -103, 64, -103, -103, -103, -103, 16, -103, 12, 147, - -103, 103, -103, -103, -4, -103, 0, -103, -103, -103, - -103, -103, -103, -103, 7, -103, -103, -103, -103, -103, - -103, 187, -103, -103, 25, -103, -103, -103, -103, 71, - -103, 65, -103, -103, -103, -103, -103, -44, -103, 46, - -103, -34, -103, -103, -103, -103, -21, -103, -103, -45, - -103, -103, -103, -103, -103, -103, -32, -103, -103, 53, - -103, 56, -103, 47, -103, -103, -103, -103, 42, -103, - 45, -103, 38, -103, 48, -103, -103, -103, -103, -103, - -103, 22, -103, -103, 124, -103, -103, -103, -103, 59, - -103, -103, 137, -103, -103, 54, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, -103, 19, -103, -103, + -103, -103, 66, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, -103, -103, 18, 209, -103, 210, + 274, 228, 219, -103, 99, 101, 109, 95, 88, -103, + -103, -103, -103, -103, -103, -103, -103, 180, -103, 192, + -103, 194, -103, -103, 200, -103, 111, -103, -103, 129, + -103, 9, -103, 25, -103, 7, -103, 181, -103, 178, + 182, -103, -103, 207, -103, -103, -103, -103, -103, -103, + 201, -103, 120, 92, -103, -103, 87, -103, 76, -103, + 77, -103, 75, -103, -103, 78, -103, -103, 135, -103, + -103, 42, -103, 43, -103, 46, -103, 52, -103, -103, + -103, -103, -103, -103, 32, -103, 30, -103, 33, -103, + 68, 53, -103, -103, 56, -103, -103, 65, -103, -103, + -103, 71, -103, -103, -103, -103, 55, -103, 40, 177, + -103, 211, -103, -103, 39, -103, 2, -103, -103, -103, + -103, -103, -103, -103, 38, -103, -103, -103, -103, -103, + -103, 89, -103, -103, 59, -103, -103, -103, -103, 60, + -103, 72, -103, -103, -103, -103, -103, -22, -103, 61, + -103, -38, -103, -103, -103, -103, -32, -103, -103, -40, + -103, -103, -103, -103, -103, -103, -58, -103, -103, 24, + -103, 64, -103, 31, -103, -103, -103, -103, 35, -103, + 48, -103, 49, -103, 47, -103, -103, -103, -103, -103, + -103, 63, -103, -103, 127, -103, -103, -103, -103, 58, + -103, -103, 74, -103, -103, 62, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, 248, -103, -3, 114, -103, -103, -103, -103, - -103, -103, 5, -103, -103, -103, -103, -103, -8, -103, - 85, -103, -103, -103, -103, -103, -103, 11, -103, -103, - -103, -103, -103, -103, -103, -103, -103, 342, -103, -103, - -103, 29, -103, -103, -103, -103, -103, 273, -103, -103, - 3, -103, -103, -103, -103, -103, -103, 18, -103, -103, - -103, -103, -103, -103, -103, -103, 21, -103, -103, -103, - -103, -103, 2, -103, -103, 20, 14, 30, -103, -103, - -103, -103, -103, 284, -103, -103, -2, -103, -103, -103, - 222, -103, -9, -103, -6, -103, 96, 10, -103, -103, - 1, -103, -103, 80, -103, -103, -103, 72, -103, -103, - -103, -103, 69, -103, 58, 67, -103, 97, -103, -103, - -103, -103, -103, 84, -103, -103, -103}; + -103, -103, 103, -103, -7, 96, -103, -103, -103, -103, + -103, -103, 1, -103, -103, -103, -103, -103, -9, -103, + 85, -103, -103, -103, -103, -103, -103, 6, -103, -103, + -103, -103, -103, -103, -103, -103, -103, 261, -103, -103, + -103, 16, -103, -103, -103, -103, -103, 267, -103, -103, + 21, -103, -103, -103, -103, -103, -103, 17, -103, -103, + -103, -103, -103, -103, -103, -103, 10, -103, -103, -103, + -103, -103, -103, -8, -103, -103, -103, 12, -2, 14, + -103, -103, -103, -103, -103, -103, -103, 374, -103, -103, + 11, -103, -103, -103, 256, -103, 8, -103, 15, -103, + 105, 28, -103, -103, 22, -103, -103, 84, -103, -103, + -103, 29, -103, -103, -103, -103, -1, -103, -10, 148, + -103, 82, -103, -103, -103, -103, -103, 205, -103, -103, + -103}; const int QmlJSGrammar::action_info [] = { - -114, 398, -93, 326, 252, 411, -89, -103, 343, -122, - 396, 386, 338, 337, -116, 492, 335, 452, -79, 340, - 540, 328, 384, 561, 435, -119, 448, 347, 452, 461, - 419, -92, 441, -122, 435, -103, 419, 415, 566, 554, - 439, 562, 335, 425, 426, 419, 443, 403, -119, 448, - 435, -116, -92, -114, 435, 411, 394, 569, 252, -89, - -93, 545, 287, 343, 165, 178, 136, 307, 174, 185, - 182, 159, 267, 66, 142, 452, 289, 296, 343, 448, - 404, 94, 291, 144, 411, 341, 252, 96, -111, 435, - 231, 247, 409, 159, 136, 287, 66, 320, 307, 313, - 616, 330, 136, 422, 0, 472, 136, 94, 0, 136, - 136, 301, 289, 322, 246, 438, 53, 161, 309, 613, - 184, 162, 310, 136, 299, 408, 407, 54, 136, 439, - 429, 136, 96, 136, 136, 556, 237, 236, 244, 243, - 251, 250, 510, 244, 243, 242, 241, 136, 423, 492, - 515, 514, 53, 473, 483, 136, 136, 53, 413, 53, - 527, 345, 249, 54, 522, 521, 323, 614, 54, 59, - 54, 507, 506, 57, 541, 450, 267, 244, 243, 80, - 332, 81, 172, 547, 58, 454, 80, 541, 81, 557, - 555, 31, 82, 464, 541, 137, 573, 31, 80, 82, - 81, 0, 167, 80, 510, 81, 541, 305, 0, 560, - 559, 82, 59, 136, 60, 31, 82, 31, 0, 543, - 61, 168, 527, 169, 59, 0, 0, 31, 44, 45, - 542, 80, 543, 81, 44, 45, 31, 548, 546, 543, - 504, 503, 31, 542, 82, 31, 465, 463, 31, 0, - 542, 543, 44, 45, 44, 45, 31, 60, 80, 80, - 81, 81, 542, 61, 44, 45, 230, 229, 502, 60, - 136, 82, 82, 44, 45, 61, 98, 31, 0, 44, - 45, 31, 44, 45, 31, 44, 45, 167, 31, 519, - 518, 0, 0, 44, 45, 99, 136, 100, 3, 2, - 1, 0, 0, 80, 0, 81, 168, 80, 401, 81, - 269, 270, 0, 0, 44, 45, 82, 517, 44, 45, - 82, 44, 45, 551, 550, 44, 45, 80, 80, 81, - 81, 80, 80, 81, 81, 136, 510, 271, 272, 31, - 82, 82, 269, 270, 82, 82, -333, 31, 0, 433, - 432, 0, 0, 0, -333, 0, 0, 31, 0, 31, - 527, 0, 0, 31, 0, 0, 31, 0, 511, 271, - 272, 0, 0, 0, 31, 0, 44, 45, 0, 0, - 0, 0, 512, 509, 44, 45, 0, 0, 230, 229, - 0, 240, 239, 499, 44, 45, 44, 45, 240, 239, - 44, 45, 0, 44, 45, 31, 235, 234, 274, 275, - 508, 44, 45, 0, 0, 31, 0, 276, 0, 498, - 277, 0, 278, 68, 69, 274, 275, 31, 0, 0, - 31, 0, 73, 74, 276, 499, 31, 277, 0, 278, - 75, 76, 44, 45, 77, 0, 78, 235, 234, 0, - 70, 71, 44, 45, 0, 0, 0, 0, 0, 240, - 239, 498, 235, 234, 44, 45, 499, 44, 45, 73, - 74, 0, 500, 44, 45, 0, 0, 75, 76, 73, - 74, 77, 0, 78, 0, 530, 0, 75, 76, 0, - 0, 77, 498, 78, 73, 74, 0, 531, 0, 0, - 274, 275, 75, 76, 31, 0, 77, 0, 78, 276, - 530, 0, 277, 0, 278, 0, 0, 0, 0, 0, - 0, 0, 531, 0, 0, 0, 0, 0, 0, 31, - 533, 0, 0, 0, 499, 0, 0, 0, 0, 0, - 0, 532, 534, 0, 0, 0, 0, 0, 0, 221, - 0, 0, 0, 0, 146, 571, 0, 0, 205, 499, - 498, 0, 0, 0, 147, 0, 532, 534, 148, 0, - 0, 0, 73, 74, 221, 0, 0, 149, 0, 150, - 75, 76, 303, 205, 77, 498, 78, 0, 0, 0, - 151, 0, 152, 57, 0, 0, 27, 28, 0, 0, - 153, 0, 0, 154, 58, 0, 30, 0, 0, 155, - 0, 0, 0, 31, 0, 156, 0, 32, 33, 0, - 34, 0, 0, 0, 0, 0, 0, 38, 0, 0, - 157, 41, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 146, 0, 0, 0, 0, 46, - 44, 45, 0, 47, 147, 0, 0, 0, 148, 0, - 0, 0, 0, 0, 40, 49, 29, 149, 0, 150, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 151, 0, 152, 57, 0, 0, 0, 0, 0, 0, - 153, 0, 0, 154, 58, 0, 0, 0, 0, 155, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 335, -105, 252, 182, -94, 411, -91, 337, 343, 386, + 398, 178, -113, 384, 347, 396, 343, 461, -91, 174, + 338, 252, 340, -95, -116, -113, 96, 439, 403, 136, + 159, 165, 441, 66, 94, -81, 419, 425, 492, 620, + 426, 415, 419, 419, 159, 435, 435, -118, 435, 184, + 411, 94, -95, -94, -116, -121, 561, -121, 452, -124, + -118, 448, 448, 435, 443, 452, 136, 291, 289, 328, + 554, 296, 335, 267, 568, 307, 492, 267, 404, 448, + 571, 409, 287, 66, 435, 411, 341, -105, -124, 545, + 343, 247, 252, 330, 185, 320, 142, 289, 307, 313, + 510, 96, 136, 452, 0, 287, 322, 617, 136, 136, + 540, 246, 429, 136, 136, 0, 472, 422, 527, 438, + 231, 0, 136, 144, 136, 326, 0, 136, 301, 53, + 299, 251, 250, 439, 161, 57, 244, 243, 162, 136, + 54, 136, 53, 136, 242, 241, 58, 394, 244, 243, + 0, 237, 236, 54, 249, 618, 408, 407, 53, 323, + 345, 332, 423, 31, 473, 31, 413, 53, 31, 54, + 522, 521, 507, 506, 483, 137, 305, 541, 54, 31, + 541, 573, 572, 244, 243, 515, 514, 172, 309, 136, + 547, 31, 310, 450, 541, 454, 269, 270, 136, 556, + 44, 45, 44, 45, 464, 44, 45, 136, 0, 31, + 519, 518, 0, 167, 541, 563, 44, 45, 31, 0, + 504, 503, 543, 271, 272, 543, 31, 0, 44, 45, + 136, 31, 168, 542, 169, 31, 542, 31, 517, 543, + 564, 562, 433, 432, 548, 546, 44, 45, 502, 31, + 542, 551, 550, 557, 555, 44, 45, 465, 463, 543, + 560, 559, 59, 44, 45, 3, 2, 1, 44, 45, + 542, 0, 44, 45, 44, 45, 80, 80, 81, 81, + 80, 0, 81, 230, 229, 31, 44, 45, 31, 82, + 82, 31, 80, 82, 81, 80, 0, 81, 80, 59, + 81, 577, 80, 31, 81, 82, 0, 60, 82, 510, + 31, 82, 59, 61, 136, 82, 0, 80, 80, 81, + 81, 0, 44, 45, 0, 44, 45, 527, 44, 45, + 82, 82, 80, 80, 81, 81, 80, 167, 81, 527, + 44, 45, 68, 69, 60, 82, 82, 44, 45, 82, + 61, 80, 0, 81, 269, 270, 168, 60, 401, 68, + 69, 0, 31, 61, 82, 510, 31, 230, 229, 70, + 71, 0, 0, -335, 0, 0, 31, 0, 0, 274, + 275, 271, 272, -335, 0, 0, 70, 71, 276, 98, + 31, 277, 31, 278, 240, 239, 0, 511, 0, 44, + 45, 0, 0, 44, 45, 31, 0, 0, 99, 0, + 100, 512, 509, 44, 45, 0, 0, 31, 0, 31, + 499, 0, 499, 0, 0, 0, 31, 44, 45, 44, + 45, 0, 0, 0, 31, 0, 0, 235, 234, 508, + 0, 0, 44, 45, 0, 0, 498, 0, 498, 240, + 239, 235, 234, 0, 44, 45, 44, 45, 235, 234, + 0, 0, 0, 44, 45, 0, 240, 239, 0, 274, + 275, 44, 45, 0, 0, 0, 73, 74, 276, 31, + 0, 277, 0, 278, 75, 76, 73, 74, 77, 0, + 78, 0, 0, 0, 75, 76, 73, 74, 77, 0, + 78, 0, 530, 0, 75, 76, 0, 0, 77, 499, + 78, 73, 74, 0, 531, 500, 44, 45, 0, 75, + 76, 31, 0, 77, 0, 78, 0, 0, 0, 0, + 0, 73, 74, 0, 0, 498, 0, 0, 0, 75, + 76, 274, 275, 77, 0, 78, 146, 575, 0, 0, + 276, 499, 0, 277, 0, 278, 147, 0, 532, 534, + 148, 0, 0, 0, 0, 0, 221, 0, 0, 149, + 0, 150, 0, 0, 0, 205, 0, 498, 0, 0, + 146, 0, 151, 0, 152, 57, 0, 0, 0, 0, + 147, 0, 153, 0, 148, 154, 58, 0, 0, 0, + 0, 155, 0, 149, 0, 150, 0, 156, 0, 0, + 0, 0, 0, 530, 0, 0, 151, 0, 152, 57, + 0, 0, 157, 0, 0, 531, 153, 0, 0, 154, + 58, 0, 31, 0, 0, 155, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 27, 28, 0, 0, 0, 0, 157, 0, 533, 0, + 30, 0, 499, 0, 0, 0, 0, 31, 0, 532, + 534, 32, 33, 0, 34, 0, 0, 221, 0, 0, + 0, 38, 0, 0, 0, 41, 205, 0, 498, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, + 0, 0, 0, 46, 44, 45, 0, 47, 147, 0, + 0, 0, 148, 0, 0, 0, 0, 0, 40, 49, + 29, 149, 0, 150, 37, 0, 303, 0, 0, 0, + 0, 0, 0, 0, 151, 0, 152, 57, 0, 0, + 0, 0, 0, 0, 153, 0, 0, 154, 58, 0, + 0, 0, 0, 155, 0, 0, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, - 34, 0, 0, 0, 0, 0, 0, 38, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 44, 45, 0, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, - 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, - 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, - 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, + 0, 32, 33, 0, 34, 0, 0, 0, 0, 0, + 0, 38, 0, 0, 0, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 46, 44, 45, 0, 47, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, @@ -427,32 +427,23 @@ const int QmlJSGrammar::action_info [] = { 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, - 0, 47, 0, 48, 0, 50, 266, 51, 0, 0, + 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, - 0, 0, 0, 0, 0, 0, 0, -112, 0, 0, - 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, - 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, - 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, - 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, - 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, - 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, - 0, 0, 0, 0, 0, 470, 0, 0, 26, 27, - 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, - 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, - 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, - 43, 0, 0, 476, 0, 0, 0, 0, 0, 0, - 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, - 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, - 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, - 0, 0, 478, 0, 0, 26, 27, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, + 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, + 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, + 266, 51, 0, 0, 0, 0, 40, 49, 29, 0, + 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, + 0, -114, 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, - 481, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 478, @@ -460,25 +451,25 @@ const int QmlJSGrammar::action_info [] = { 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, - 0, 0, 42, 0, 43, 0, 0, 479, 0, 0, + 0, 0, 42, 0, 43, 0, 0, 481, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, - 0, 0, 0, 0, 31, 212, 0, 0, 579, 580, - 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, - 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, - 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, - 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 470, 0, 0, 26, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 470, 0, 0, 26, + 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, + 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, + 0, 43, 0, 0, 471, 0, 0, 0, 0, 0, + 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, + 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, + 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, + 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, - 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, + 0, 31, 212, 0, 0, 583, 584, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, - 0, 0, 0, 42, 0, 43, 0, 0, 471, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, + 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, @@ -486,212 +477,229 @@ const int QmlJSGrammar::action_info [] = { 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, - 42, 0, 43, 0, 0, 471, 0, 0, 499, 0, + 42, 0, 43, 0, 0, 476, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, - 49, 29, 0, 0, 498, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 104, 105, 106, 0, 0, 108, - 110, 111, 0, 0, 112, 0, 113, 0, 0, 0, - 115, 116, 117, 0, 0, 0, 0, 0, 0, 31, - 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, - 0, 0, 0, 0, 0, 0, 44, 45, 125, 126, - 127, 0, 129, 130, 131, 132, 133, 134, 0, 0, - 122, 128, 114, 107, 109, 123, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 104, 105, 106, 0, 0, - 108, 110, 111, 0, 0, 112, 0, 113, 0, 0, - 0, 115, 116, 117, 0, 0, 0, 0, 0, 0, - 388, 118, 119, 120, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 389, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 0, 0, 0, 0, 0, 393, 390, 392, 125, - 126, 127, 0, 129, 130, 131, 132, 133, 134, 0, - 0, 122, 128, 114, 107, 109, 123, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 104, 105, 106, 0, - 0, 108, 110, 111, 0, 0, 112, 0, 113, 0, - 0, 0, 115, 116, 117, 0, 0, 0, 0, 0, - 0, 388, 118, 119, 120, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 121, 0, 0, 0, 389, - 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, - 0, 124, 0, 0, 0, 0, 0, 393, 390, 392, - 125, 126, 127, 0, 129, 130, 131, 132, 133, 134, - 0, 0, 122, 128, 114, 107, 109, 123, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, - 0, 0, 206, 0, 26, 27, 28, 208, 0, 0, - 0, 0, 0, 0, 209, 30, 0, 0, 0, 0, - 0, 0, 211, 212, 0, 0, 213, 33, 0, 34, + 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 478, 0, 0, 26, 27, 28, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, + 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, + 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, + 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, + 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, + 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, + 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 470, 0, 0, 26, 27, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, - 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, - 0, 0, 215, 0, 216, 0, 0, 0, 46, 214, - 217, 218, 47, 219, 48, 220, 50, 221, 51, 222, - 223, 0, 0, 40, 49, 29, 205, 207, 0, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, - 0, 0, 0, 206, 0, 26, 27, 28, 208, 0, - 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, - 0, 0, 0, 211, 212, 0, 0, 213, 33, 0, - 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, - 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, - 0, 0, 0, 215, 0, 216, 0, 0, 0, 46, - 214, 217, 218, 47, 219, 48, 220, 50, 221, 51, - 222, 223, 0, 0, 40, 49, 29, 205, 207, 0, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 582, - 105, 106, 0, 0, 584, 110, 586, 27, 28, 587, - 0, 113, 0, 0, 0, 115, 589, 590, 0, 0, - 0, 0, 0, 0, 591, 592, 119, 120, 213, 33, - 0, 34, 0, 0, 0, 35, 0, 36, 593, 39, - 0, 0, 595, 0, 0, 0, 42, 0, 43, 0, - 0, 0, 0, 0, 597, 0, 216, 0, 0, 0, - 599, 596, 598, 600, 601, 602, 48, 604, 605, 606, - 607, 608, 609, 0, 0, 594, 603, 588, 583, 585, - 123, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 356, 105, 106, 0, 0, 358, 110, 360, 27, 28, - 361, 0, 113, 0, 0, 0, 115, 363, 364, 0, - 0, 0, 0, 0, 0, 365, 366, 119, 120, 213, - 33, 0, 34, 0, 0, 0, 35, 0, 36, 367, - 39, 0, 0, 369, 0, 0, 0, 42, 0, 43, - 0, -258, 0, 0, 0, 371, 0, 216, 0, 0, - 0, 373, 370, 372, 374, 375, 376, 48, 378, 379, - 380, 381, 382, 383, 0, 0, 368, 377, 362, 357, - 359, 123, 37, 0, 0, 0, 0, 0, 0, 0, - 0, + 41, 0, 0, 0, 42, 0, 43, 0, 0, 471, + 0, 0, 499, 0, 0, 0, 0, 0, 46, 44, + 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, + 0, 0, 0, 40, 49, 29, 0, 0, 498, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 104, 105, + 106, 0, 0, 108, 110, 111, 0, 0, 112, 0, + 113, 0, 0, 0, 115, 116, 117, 0, 0, 0, + 0, 0, 0, 31, 118, 119, 120, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, + 44, 45, 125, 126, 127, 0, 129, 130, 131, 132, + 133, 134, 0, 0, 122, 128, 114, 107, 109, 123, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, + 105, 106, 0, 0, 108, 110, 111, 0, 0, 112, + 0, 113, 0, 0, 0, 115, 116, 117, 0, 0, + 0, 0, 0, 0, 388, 118, 119, 120, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, + 393, 390, 392, 125, 126, 127, 0, 129, 130, 131, + 132, 133, 134, 0, 0, 122, 128, 114, 107, 109, + 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 104, 105, 106, 0, 0, 108, 110, 111, 0, 0, + 112, 0, 113, 0, 0, 0, 115, 116, 117, 0, + 0, 0, 0, 0, 0, 388, 118, 119, 120, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, + 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, + 0, 391, 0, 0, 0, 124, 0, 0, 0, 0, + 0, 393, 390, 392, 125, 126, 127, 0, 129, 130, + 131, 132, 133, 134, 0, 0, 122, 128, 114, 107, + 109, 123, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 204, 0, 0, 0, 0, 206, 0, 26, 27, + 28, 208, 0, 0, 0, 0, 0, 0, 209, 30, + 0, 0, 0, 0, 0, 0, 211, 212, 0, 0, + 213, 33, 0, 34, 0, 0, 0, 35, 0, 36, + 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, + 43, 0, 0, 0, 0, 0, 215, 0, 216, 0, + 0, 0, 46, 214, 217, 218, 47, 219, 48, 220, + 50, 221, 51, 222, 223, 0, 0, 40, 49, 29, + 205, 207, 0, 37, 0, 0, 0, 0, 0, 0, + 0, 0, 204, 0, 0, 0, 0, 206, 0, 26, + 27, 28, 208, 0, 0, 0, 0, 0, 0, 209, + 210, 0, 0, 0, 0, 0, 0, 211, 212, 0, + 0, 213, 33, 0, 34, 0, 0, 0, 35, 0, + 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, + 0, 43, 0, 0, 0, 0, 0, 215, 0, 216, + 0, 0, 0, 46, 214, 217, 218, 47, 219, 48, + 220, 50, 221, 51, 222, 223, 0, 0, 40, 49, + 29, 205, 207, 0, 37, 0, 0, 0, 0, 0, + 0, 0, 0, 586, 105, 106, 0, 0, 588, 110, + 590, 27, 28, 591, 0, 113, 0, 0, 0, 115, + 593, 594, 0, 0, 0, 0, 0, 0, 595, 596, + 119, 120, 213, 33, 0, 34, 0, 0, 0, 35, + 0, 36, 597, 39, 0, 0, 599, 0, 0, 0, + 42, 0, 43, 0, 0, 0, 0, 0, 601, 0, + 216, 0, 0, 0, 603, 600, 602, 604, 605, 606, + 48, 608, 609, 610, 611, 612, 613, 0, 0, 598, + 607, 592, 587, 589, 123, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 356, 105, 106, 0, 0, 358, + 110, 360, 27, 28, 361, 0, 113, 0, 0, 0, + 115, 363, 364, 0, 0, 0, 0, 0, 0, 365, + 366, 119, 120, 213, 33, 0, 34, 0, 0, 0, + 35, 0, 36, 367, 39, 0, 0, 369, 0, 0, + 0, 42, 0, 43, 0, -260, 0, 0, 0, 371, + 0, 216, 0, 0, 0, 373, 370, 372, 374, 375, + 376, 48, 378, 379, 380, 381, 382, 383, 0, 0, + 368, 377, 362, 357, 359, 123, 37, 0, 0, 0, + 0, 0, 0, 0, 0, - 233, 513, 304, 238, 183, 523, 164, 431, 145, 434, - 177, 306, 245, 581, 505, 490, 166, 181, 482, 431, - 520, 549, 565, 544, 558, 302, 385, 405, 434, 570, - 171, 387, 430, 177, 567, 456, 467, 395, 552, 568, - 13, 453, 333, 342, 238, 449, 344, 451, 420, 428, - 455, 245, 462, 233, 346, 424, 427, 397, 138, 233, - 238, 143, 440, 444, 348, 442, 158, 297, 412, 445, - 334, 248, 431, 410, 434, 297, 202, 0, 297, 315, - 135, 331, 177, 245, 477, 329, 0, 141, 0, 480, - 0, 0, 0, 497, 516, 615, 202, 101, 0, 0, - 55, 297, 315, 55, 202, 281, 55, 55, 486, 446, - 0, 297, 0, 0, 399, 95, 55, 400, 181, 55, - 103, 282, 55, 497, 283, 524, 55, 280, 487, 55, - 261, 175, 55, 456, 484, 265, 55, 55, 175, 447, - 55, 55, 485, 55, 55, 447, 279, 55, 84, 175, - 55, 55, 55, 55, 85, 83, 55, 87, 90, 55, - 55, 88, 325, 475, 89, 55, 55, 474, 55, 297, - 97, 86, 327, 79, 55, 55, 324, 56, 65, 0, - 55, 163, 447, 55, 55, 488, 446, 55, 399, 446, - 141, 400, 55, 55, 489, 232, 173, 55, 339, 91, - 297, 55, 55, 62, 336, 466, 0, 55, 92, 55, - 55, 160, 63, 93, 55, 72, 55, 141, 64, 101, - 55, 55, 67, 402, 293, 265, 265, 0, 0, 265, - 298, 610, 293, 612, 55, 308, 0, 265, 311, 265, - 0, 0, 103, 170, 293, 290, 321, 0, 55, 265, - 0, 55, 467, 265, 292, 273, 265, 497, 501, 0, - 55, 300, 0, 293, 288, 265, 295, 293, 265, 268, - 55, 55, 265, 0, 55, 265, 265, 285, 284, 265, - 0, 286, 497, 538, 0, 312, 572, 576, 0, 314, - 0, 0, 0, 0, 0, 0, 529, 539, 0, 0, - 574, 575, 577, 578, 0, 0, 0, 0, 0, 0, + 513, 523, 431, 13, 456, 490, 434, 431, 135, 306, + 505, 302, 567, 558, 467, 520, 482, 233, 569, 145, + 549, 574, 248, 570, 238, 552, 585, 315, 304, 177, + 245, 177, 297, 387, 397, 238, 440, 430, 449, 233, + 445, 544, 238, 233, 342, 427, 344, 444, 346, 455, + 451, 424, 453, 138, 348, 245, 434, 143, 431, 183, + 171, 405, 410, 181, 428, 177, 158, 166, 395, 385, + 420, 164, 202, 442, 297, 412, 334, 333, 329, 0, + 331, 141, 297, 245, 55, 55, 175, 181, 480, 85, + 297, 0, 477, 462, 516, 297, 0, 0, 0, 399, + 475, 0, 400, 141, 474, 497, 261, 524, 55, 173, + 175, 265, 497, 501, 297, 101, 202, 0, 399, 141, + 55, 400, 55, 55, 447, 402, 55, 84, 55, 315, + 97, 55, 297, 283, 55, 55, 456, 202, 103, 55, + 282, 55, 163, 95, 279, 55, 280, 175, 160, 55, + 55, 327, 484, 55, 281, 55, 325, 55, 79, 55, + 86, 55, 88, 485, 87, 55, 55, 0, 65, 56, + 55, 55, 62, 336, 55, 298, 55, 55, 63, 67, + 72, 55, 55, 91, 64, 55, 0, 92, 55, 55, + 446, 93, 0, 300, 90, 55, 55, 488, 486, 399, + 55, 55, 400, 324, 83, 101, 89, 55, 466, 487, + 55, 55, 489, 446, 497, 232, 619, 55, 55, 446, + 55, 55, 293, 265, 0, 265, 265, 265, 103, 170, + 0, 339, 55, 288, 293, 311, 308, 265, 0, 265, + 293, 293, 0, 290, 312, 265, 265, 293, 0, 55, + 55, 55, 265, 447, 265, 265, 292, 273, 268, 55, + 0, 0, 295, 321, 265, 614, 286, 616, 55, 314, + 497, 538, 0, 265, 0, 285, 497, 538, 0, 0, + 576, 0, 0, 0, 529, 539, 467, 0, 0, 0, + 529, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 55, 0, 0, 0, 0, 265, + 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 497, 538, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 529, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 578, 579, 581, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0}; const int QmlJSGrammar::action_check [] = { - 7, 55, 7, 61, 36, 36, 7, 7, 36, 7, - 55, 8, 33, 60, 7, 88, 36, 36, 33, 55, - 66, 60, 7, 29, 33, 7, 36, 16, 36, 17, - 5, 7, 36, 7, 33, 7, 5, 33, 8, 29, - 20, 36, 36, 55, 7, 5, 60, 60, 7, 36, - 33, 7, 7, 7, 33, 36, 7, 60, 36, 7, - 7, 29, 48, 36, 7, 36, 8, 2, 60, 33, - 8, 2, 1, 1, 8, 36, 78, 61, 36, 36, - 7, 48, 8, 60, 36, 7, 36, 78, 7, 33, - 55, 36, 7, 2, 8, 48, 1, 17, 2, 7, - 0, 31, 8, 10, -1, 8, 8, 48, -1, 8, - 8, 60, 78, 8, 76, 6, 40, 50, 50, 8, - 60, 54, 54, 8, 61, 61, 62, 51, 8, 20, - 7, 8, 78, 8, 8, 7, 61, 62, 61, 62, - 61, 62, 15, 61, 62, 61, 62, 8, 55, 88, - 61, 62, 40, 56, 60, 8, 8, 40, 60, 40, - 33, 60, 60, 51, 61, 62, 61, 56, 51, 12, - 51, 61, 62, 42, 29, 60, 1, 61, 62, 25, - 60, 27, 56, 7, 53, 60, 25, 29, 27, 61, - 62, 29, 38, 8, 29, 56, 7, 29, 25, 38, - 27, -1, 15, 25, 15, 27, 29, 60, -1, 61, - 62, 38, 12, 8, 57, 29, 38, 29, -1, 74, - 63, 34, 33, 36, 12, -1, -1, 29, 66, 67, - 85, 25, 74, 27, 66, 67, 29, 61, 62, 74, - 61, 62, 29, 85, 38, 29, 61, 62, 29, -1, - 85, 74, 66, 67, 66, 67, 29, 57, 25, 25, - 27, 27, 85, 63, 66, 67, 61, 62, 89, 57, - 8, 38, 38, 66, 67, 63, 15, 29, -1, 66, - 67, 29, 66, 67, 29, 66, 67, 15, 29, 61, - 62, -1, -1, 66, 67, 34, 8, 36, 90, 91, - 92, -1, -1, 25, -1, 27, 34, 25, 36, 27, - 18, 19, -1, -1, 66, 67, 38, 89, 66, 67, - 38, 66, 67, 61, 62, 66, 67, 25, 25, 27, - 27, 25, 25, 27, 27, 8, 15, 45, 46, 29, - 38, 38, 18, 19, 38, 38, 36, 29, -1, 61, - 62, -1, -1, -1, 36, -1, -1, 29, -1, 29, - 33, -1, -1, 29, -1, -1, 29, -1, 47, 45, - 46, -1, -1, -1, 29, -1, 66, 67, -1, -1, - -1, -1, 61, 62, 66, 67, -1, -1, 61, 62, - -1, 61, 62, 59, 66, 67, 66, 67, 61, 62, - 66, 67, -1, 66, 67, 29, 61, 62, 23, 24, - 89, 66, 67, -1, -1, 29, -1, 32, -1, 85, - 35, -1, 37, 18, 19, 23, 24, 29, -1, -1, - 29, -1, 23, 24, 32, 59, 29, 35, -1, 37, - 31, 32, 66, 67, 35, -1, 37, 61, 62, -1, - 45, 46, 66, 67, -1, -1, -1, -1, -1, 61, - 62, 85, 61, 62, 66, 67, 59, 66, 67, 23, - 24, -1, 65, 66, 67, -1, -1, 31, 32, 23, - 24, 35, -1, 37, -1, 10, -1, 31, 32, -1, - -1, 35, 85, 37, 23, 24, -1, 22, -1, -1, - 23, 24, 31, 32, 29, -1, 35, -1, 37, 32, - 10, -1, 35, -1, 37, -1, -1, -1, -1, -1, - -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, - 55, -1, -1, -1, 59, -1, -1, -1, -1, -1, - -1, 66, 67, -1, -1, -1, -1, -1, -1, 74, - -1, -1, -1, -1, 3, 55, -1, -1, 83, 59, - 85, -1, -1, -1, 13, -1, 66, 67, 17, -1, - -1, -1, 23, 24, 74, -1, -1, 26, -1, 28, - 31, 32, 31, 83, 35, 85, 37, -1, -1, -1, - 39, -1, 41, 42, -1, -1, 12, 13, -1, -1, - 49, -1, -1, 52, 53, -1, 22, -1, -1, 58, - -1, -1, -1, 29, -1, 64, -1, 33, 34, -1, - 36, -1, -1, -1, -1, -1, -1, 43, -1, -1, - 79, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, -1, -1, -1, -1, 65, - 66, 67, -1, 69, 13, -1, -1, -1, 17, -1, - -1, -1, -1, -1, 80, 81, 82, 26, -1, 28, - 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 39, -1, 41, 42, -1, -1, -1, -1, -1, -1, - 49, -1, -1, 52, 53, -1, -1, -1, -1, 58, - -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, + 36, 7, 36, 8, 7, 36, 7, 60, 36, 8, + 55, 36, 7, 7, 16, 55, 36, 17, 7, 60, + 33, 36, 55, 7, 7, 7, 78, 20, 60, 8, + 2, 7, 36, 1, 48, 33, 5, 55, 88, 0, + 7, 33, 5, 5, 2, 33, 33, 7, 33, 60, + 36, 48, 7, 7, 7, 7, 29, 7, 36, 7, + 7, 36, 36, 33, 60, 36, 8, 8, 78, 60, + 29, 61, 36, 1, 8, 2, 88, 1, 7, 36, + 60, 7, 48, 1, 33, 36, 7, 7, 7, 29, + 36, 36, 36, 31, 33, 17, 8, 78, 2, 7, + 15, 78, 8, 36, -1, 48, 8, 8, 8, 8, + 66, 76, 7, 8, 8, -1, 8, 10, 33, 6, + 55, -1, 8, 60, 8, 61, -1, 8, 60, 40, + 61, 61, 62, 20, 50, 42, 61, 62, 54, 8, + 51, 8, 40, 8, 61, 62, 53, 7, 61, 62, + -1, 61, 62, 51, 60, 56, 61, 62, 40, 61, + 60, 60, 55, 29, 56, 29, 60, 40, 29, 51, + 61, 62, 61, 62, 60, 56, 60, 29, 51, 29, + 29, 61, 62, 61, 62, 61, 62, 56, 50, 8, + 7, 29, 54, 60, 29, 60, 18, 19, 8, 7, + 66, 67, 66, 67, 8, 66, 67, 8, -1, 29, + 61, 62, -1, 15, 29, 36, 66, 67, 29, -1, + 61, 62, 74, 45, 46, 74, 29, -1, 66, 67, + 8, 29, 34, 85, 36, 29, 85, 29, 89, 74, + 61, 62, 61, 62, 61, 62, 66, 67, 89, 29, + 85, 61, 62, 61, 62, 66, 67, 61, 62, 74, + 61, 62, 12, 66, 67, 90, 91, 92, 66, 67, + 85, -1, 66, 67, 66, 67, 25, 25, 27, 27, + 25, -1, 27, 61, 62, 29, 66, 67, 29, 38, + 38, 29, 25, 38, 27, 25, -1, 27, 25, 12, + 27, 7, 25, 29, 27, 38, -1, 57, 38, 15, + 29, 38, 12, 63, 8, 38, -1, 25, 25, 27, + 27, -1, 66, 67, -1, 66, 67, 33, 66, 67, + 38, 38, 25, 25, 27, 27, 25, 15, 27, 33, + 66, 67, 18, 19, 57, 38, 38, 66, 67, 38, + 63, 25, -1, 27, 18, 19, 34, 57, 36, 18, + 19, -1, 29, 63, 38, 15, 29, 61, 62, 45, + 46, -1, -1, 36, -1, -1, 29, -1, -1, 23, + 24, 45, 46, 36, -1, -1, 45, 46, 32, 15, + 29, 35, 29, 37, 61, 62, -1, 47, -1, 66, + 67, -1, -1, 66, 67, 29, -1, -1, 34, -1, + 36, 61, 62, 66, 67, -1, -1, 29, -1, 29, + 59, -1, 59, -1, -1, -1, 29, 66, 67, 66, + 67, -1, -1, -1, 29, -1, -1, 61, 62, 89, + -1, -1, 66, 67, -1, -1, 85, -1, 85, 61, + 62, 61, 62, -1, 66, 67, 66, 67, 61, 62, + -1, -1, -1, 66, 67, -1, 61, 62, -1, 23, + 24, 66, 67, -1, -1, -1, 23, 24, 32, 29, + -1, 35, -1, 37, 31, 32, 23, 24, 35, -1, + 37, -1, -1, -1, 31, 32, 23, 24, 35, -1, + 37, -1, 10, -1, 31, 32, -1, -1, 35, 59, + 37, 23, 24, -1, 22, 65, 66, 67, -1, 31, + 32, 29, -1, 35, -1, 37, -1, -1, -1, -1, + -1, 23, 24, -1, -1, 85, -1, -1, -1, 31, + 32, 23, 24, 35, -1, 37, 3, 55, -1, -1, + 32, 59, -1, 35, -1, 37, 13, -1, 66, 67, + 17, -1, -1, -1, -1, -1, 74, -1, -1, 26, + -1, 28, -1, -1, -1, 83, -1, 85, -1, -1, + 3, -1, 39, -1, 41, 42, -1, -1, -1, -1, + 13, -1, 49, -1, 17, 52, 53, -1, -1, -1, + -1, 58, -1, 26, -1, 28, -1, 64, -1, -1, + -1, -1, -1, 10, -1, -1, 39, -1, 41, 42, + -1, -1, 79, -1, -1, 22, 49, -1, -1, 52, + 53, -1, 29, -1, -1, 58, -1, -1, -1, -1, + -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, + 12, 13, -1, -1, -1, -1, 79, -1, 55, -1, + 22, -1, 59, -1, -1, -1, -1, 29, -1, 66, + 67, 33, 34, -1, 36, -1, -1, 74, -1, -1, + -1, 43, -1, -1, -1, 47, 83, -1, 85, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, + -1, -1, -1, 65, 66, 67, -1, 69, 13, -1, + -1, -1, 17, -1, -1, -1, -1, -1, 80, 81, + 82, 26, -1, 28, 86, -1, 31, -1, -1, -1, + -1, -1, -1, -1, 39, -1, 41, 42, -1, -1, + -1, -1, -1, -1, 49, -1, -1, 52, 53, -1, + -1, -1, -1, 58, -1, -1, -1, -1, -1, 64, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, - -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, - 86, -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, - 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, - -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, - -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, + -1, 33, 34, -1, 36, -1, -1, -1, -1, -1, + -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 65, 66, 67, -1, 69, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, @@ -699,32 +707,23 @@ const int QmlJSGrammar::action_check [] = { -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, - -1, 69, -1, 71, -1, 73, 74, 75, -1, -1, + -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, - -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, - -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, - -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, - -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, - -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, - 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, - -1, -1, -1, -1, -1, 8, -1, -1, 11, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, - -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, - 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, - 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, - 53, -1, -1, 56, -1, -1, -1, -1, -1, -1, - -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, - 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, - -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, - -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, + -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, + -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, + 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, + 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, + 74, 75, -1, -1, -1, -1, 80, 81, 82, -1, + -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, + -1, 7, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 8, @@ -736,21 +735,21 @@ const int QmlJSGrammar::action_check [] = { -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, - -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, - -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, - -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, - -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, - -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, - 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, - 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, - -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, - 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, + 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, + 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, + -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, + 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, + -1, 53, -1, -1, 56, -1, -1, -1, -1, -1, + -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, + -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, + 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, + -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, - -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, - -1, -1, -1, 51, -1, 53, -1, -1, 56, -1, - -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, + -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, + -1, -1, -1, 61, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, @@ -758,113 +757,133 @@ const int QmlJSGrammar::action_check [] = { -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - 51, -1, 53, -1, -1, 56, -1, -1, 59, -1, + 51, -1, 53, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, - 81, 82, -1, -1, 85, 86, -1, -1, -1, -1, - -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, - 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, -1, -1, 66, 67, 68, 69, - 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, 82, 83, 84, 85, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4, 5, 6, -1, -1, - 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, - -1, 20, 21, 22, -1, -1, -1, -1, -1, -1, - 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 43, -1, -1, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, -1, 65, 66, 67, 68, - 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, - -1, 80, 81, 82, 83, 84, 85, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4, 5, 6, -1, - -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, - -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 43, -1, -1, -1, 47, - -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, - -1, 59, -1, -1, -1, -1, -1, 65, 66, 67, - 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, 82, 83, 84, 85, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, - -1, -1, 9, -1, 11, 12, 13, 14, -1, -1, - -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, - -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, + 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, + -1, -1, -1, -1, 8, -1, -1, 11, 12, 13, + -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, + -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, + 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, + 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, + -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, + -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, + -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, + -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, + -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, - 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, - -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, -1, -1, 80, 81, 82, 83, 84, -1, 86, - -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, - -1, -1, -1, 9, -1, 11, 12, 13, 14, -1, - -1, -1, -1, -1, -1, 21, 22, -1, -1, -1, - -1, -1, -1, 29, 30, -1, -1, 33, 34, -1, - 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - -1, -1, -1, 59, -1, 61, -1, -1, -1, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, 82, 83, 84, -1, - 86, -1, -1, -1, -1, -1, -1, -1, -1, 4, - 5, 6, -1, -1, 9, 10, 11, 12, 13, 14, + 47, -1, -1, -1, 51, -1, 53, -1, -1, 56, + -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, + 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, + -1, -1, -1, 80, 81, 82, -1, -1, 85, 86, + -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, + 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, + 16, -1, -1, -1, 20, 21, 22, -1, -1, -1, + -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, + 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, + 76, 77, -1, -1, 80, 81, 82, 83, 84, 85, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, - -1, -1, -1, -1, 29, 30, 31, 32, 33, 34, - -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, - -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, - -1, -1, -1, -1, 59, -1, 61, -1, -1, -1, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, 29, 30, 31, 32, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, + 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, - 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, - 4, 5, 6, -1, -1, 9, 10, 11, 12, 13, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 5, 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, - -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, - 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, - -1, 55, -1, -1, -1, 59, -1, 61, -1, -1, - -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, + -1, -1, -1, -1, -1, 29, 30, 31, 32, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, + -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, + -1, 55, -1, -1, -1, 59, -1, -1, -1, -1, + -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, - 84, 85, 86, -1, -1, -1, -1, -1, -1, -1, - -1, + 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4, -1, -1, -1, -1, 9, -1, 11, 12, + 13, 14, -1, -1, -1, -1, -1, -1, 21, 22, + -1, -1, -1, -1, -1, -1, 29, 30, -1, -1, + 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, + 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, + 53, -1, -1, -1, -1, -1, 59, -1, 61, -1, + -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, + 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, + -1, -1, 4, -1, -1, -1, -1, 9, -1, 11, + 12, 13, 14, -1, -1, -1, -1, -1, -1, 21, + 22, -1, -1, -1, -1, -1, -1, 29, 30, -1, + -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, + 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, + -1, 53, -1, -1, -1, -1, -1, 59, -1, 61, + -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, + 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, + -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, + 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, 59, -1, + 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, 82, 83, 84, 85, 86, -1, -1, -1, -1, + -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, + 10, 11, 12, 13, 14, -1, 16, -1, -1, -1, + 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, + 30, 31, 32, 33, 34, -1, 36, -1, -1, -1, + 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, + -1, 51, -1, 53, -1, 55, -1, -1, -1, 59, + -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, 82, 83, 84, 85, 86, -1, -1, -1, + -1, -1, -1, -1, -1, - 9, 9, 3, 9, 9, 8, 30, 3, 63, 16, - 9, 2, 2, 15, 9, 2, 30, 9, 3, 3, - 9, 3, 20, 20, 3, 2, 30, 2, 16, 9, - 3, 31, 77, 9, 20, 9, 30, 30, 9, 9, - 3, 3, 2, 2, 9, 3, 3, 2, 92, 3, - 2, 2, 30, 9, 2, 89, 77, 2, 30, 9, - 9, 30, 94, 16, 2, 9, 30, 3, 3, 16, - 9, 3, 3, 2, 16, 3, 2, -1, 3, 9, - 3, 3, 9, 2, 30, 2, -1, 30, -1, 30, - -1, -1, -1, 9, 9, 11, 2, 9, -1, -1, - 40, 3, 9, 40, 2, 45, 40, 40, 42, 42, - -1, 3, -1, -1, 34, 52, 40, 37, 9, 40, - 32, 45, 40, 9, 45, 11, 40, 45, 42, 40, - 40, 42, 40, 9, 42, 45, 40, 40, 42, 42, - 40, 40, 42, 40, 40, 42, 45, 40, 44, 42, - 40, 40, 40, 40, 44, 44, 40, 45, 45, 40, - 40, 45, 64, 26, 45, 40, 40, 30, 40, 3, - 50, 45, 64, 45, 40, 40, 83, 43, 43, -1, - 40, 56, 42, 40, 40, 42, 42, 40, 34, 42, - 30, 37, 40, 40, 42, 101, 36, 40, 96, 46, - 3, 40, 40, 42, 95, 81, -1, 40, 46, 40, - 40, 54, 42, 46, 40, 46, 40, 30, 42, 9, - 40, 40, 48, 36, 40, 45, 45, -1, -1, 45, - 64, 9, 40, 11, 40, 55, -1, 45, 57, 45, - -1, -1, 32, 33, 40, 51, 62, -1, 40, 45, - -1, 40, 30, 45, 62, 47, 45, 9, 10, -1, - 40, 64, -1, 40, 53, 45, 62, 40, 45, 49, - 40, 40, 45, -1, 40, 45, 45, 47, 47, 45, - -1, 47, 9, 10, -1, 62, 13, 3, -1, 62, - -1, -1, -1, -1, -1, -1, 23, 24, -1, -1, - 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, + 9, 8, 3, 3, 9, 2, 16, 3, 3, 2, + 9, 2, 20, 3, 30, 9, 3, 9, 20, 63, + 3, 9, 3, 9, 9, 9, 15, 9, 3, 9, + 2, 9, 3, 31, 2, 9, 94, 77, 3, 9, + 16, 20, 9, 9, 2, 77, 3, 16, 2, 2, + 2, 89, 3, 30, 2, 2, 16, 30, 3, 9, + 3, 2, 2, 9, 3, 9, 30, 30, 30, 30, + 92, 30, 2, 9, 3, 3, 9, 2, 2, -1, + 3, 30, 3, 2, 40, 40, 42, 9, 30, 44, + 3, -1, 30, 30, 9, 3, -1, -1, -1, 34, + 26, -1, 37, 30, 30, 9, 40, 11, 40, 36, + 42, 45, 9, 10, 3, 9, 2, -1, 34, 30, + 40, 37, 40, 40, 42, 36, 40, 44, 40, 9, + 50, 40, 3, 45, 40, 40, 9, 2, 32, 40, + 45, 40, 56, 52, 45, 40, 45, 42, 54, 40, + 40, 64, 42, 40, 45, 40, 64, 40, 45, 40, + 45, 40, 45, 42, 45, 40, 40, -1, 43, 43, + 40, 40, 42, 95, 40, 64, 40, 40, 42, 48, + 46, 40, 40, 46, 42, 40, -1, 46, 40, 40, + 42, 46, -1, 64, 45, 40, 40, 42, 42, 34, + 40, 40, 37, 83, 44, 9, 45, 40, 81, 42, + 40, 40, 42, 42, 9, 101, 11, 40, 40, 42, + 40, 40, 40, 45, -1, 45, 45, 45, 32, 33, + -1, 96, 40, 53, 40, 57, 55, 45, -1, 45, + 40, 40, -1, 51, 62, 45, 45, 40, -1, 40, + 40, 40, 45, 42, 45, 45, 62, 47, 49, 40, + -1, -1, 62, 62, 45, 9, 47, 11, 40, 62, + 9, 10, -1, 45, -1, 47, 9, 10, -1, -1, + 13, -1, -1, -1, 23, 24, 30, -1, -1, -1, + 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, + -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 9, 10, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 23, 24, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -872,5 +891,5 @@ const int QmlJSGrammar::action_check [] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1}; + -1, -1, -1, -1, -1, -1, -1}; diff --git a/src/declarative/qml/parser/qmljsgrammar_p.h b/src/declarative/qml/parser/qmljsgrammar_p.h index c760564..1101e69 100644 --- a/src/declarative/qml/parser/qmljsgrammar_p.h +++ b/src/declarative/qml/parser/qmljsgrammar_p.h @@ -154,15 +154,15 @@ public: T_XOR = 78, T_XOR_EQ = 79, - ACCEPT_STATE = 616, - RULE_COUNT = 337, - STATE_COUNT = 617, + ACCEPT_STATE = 620, + RULE_COUNT = 339, + STATE_COUNT = 621, TERMINAL_COUNT = 95, NON_TERMINAL_COUNT = 103, - GOTO_INDEX_OFFSET = 617, - GOTO_INFO_OFFSET = 2231, - GOTO_CHECK_OFFSET = 2231 + GOTO_INDEX_OFFSET = 621, + GOTO_INFO_OFFSET = 2285, + GOTO_CHECK_OFFSET = 2285 }; static const char *const spell []; diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp index e64774e..7469381 100644 --- a/src/declarative/qml/parser/qmljsparser.cpp +++ b/src/declarative/qml/parser/qmljsparser.cpp @@ -396,26 +396,28 @@ case 42: { sym(1).Node = node; } break; -case 43: { +case 44: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); node->typeToken = loc(2); - node->identifierToken = loc(3); + node->identifierToken = loc(2); node->parameters = sym(4).UiParameterList; + node->semicolonToken = loc(6); sym(1).Node = node; } break; -case 44: { +case 46: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); node->typeToken = loc(2); - node->identifierToken = loc(3); + node->identifierToken = loc(2); + node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 46: { +case 48: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(3).sval); node->propertyToken = loc(1); node->typeToken = loc(2); @@ -424,7 +426,7 @@ case 46: { sym(1).Node = node; } break; -case 48: { +case 50: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(4).sval); node->isDefaultMember = true; node->defaultToken = loc(1); @@ -435,7 +437,7 @@ case 48: { sym(1).Node = node; } break; -case 50: { +case 52: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(3).sval, sym(5).Expression); node->propertyToken = loc(1); @@ -446,7 +448,7 @@ case 50: { sym(1).Node = node; } break; -case 52: { +case 54: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(4).sval, sym(6).Expression); node->isDefaultMember = true; @@ -459,76 +461,76 @@ case 52: { sym(1).Node = node; } break; -case 53: { +case 55: { sym(1).Node = makeAstNode(driver->nodePool(), sym(1).Node); } break; -case 54: { +case 56: { sym(1).Node = makeAstNode(driver->nodePool(), sym(1).Node); } break; -case 55: -case 56: +case 57: +case 58: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount())); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 58: { +case 60: { QString s = QLatin1String(QmlJSGrammar::spell[T_PROPERTY]); sym(1).sval = driver->intern(s.constData(), s.length()); break; } -case 59: { +case 61: { QString s = QLatin1String(QmlJSGrammar::spell[T_SIGNAL]); sym(1).sval = driver->intern(s.constData(), s.length()); break; } -case 60: { +case 62: { AST::ThisExpression *node = makeAstNode (driver->nodePool()); node->thisToken = loc(1); sym(1).Node = node; } break; -case 61: { +case 63: { AST::IdentifierExpression *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 62: { +case 64: { AST::NullExpression *node = makeAstNode (driver->nodePool()); node->nullToken = loc(1); sym(1).Node = node; } break; -case 63: { +case 65: { AST::TrueLiteral *node = makeAstNode (driver->nodePool()); node->trueToken = loc(1); sym(1).Node = node; } break; -case 64: { +case 66: { AST::FalseLiteral *node = makeAstNode (driver->nodePool()); node->falseToken = loc(1); sym(1).Node = node; } break; -case 65: { +case 67: { AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval); node->literalToken = loc(1); sym(1).Node = node; } break; -case 66: -case 67: { +case 68: +case 69: { AST::StringLiteral *node = makeAstNode (driver->nodePool(), sym(1).sval); node->literalToken = loc(1); sym(1).Node = node; } break; -case 68: { +case 70: { bool rx = lexer->scanRegExp(Lexer::NoPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -539,7 +541,7 @@ case 68: { sym(1).Node = node; } break; -case 69: { +case 71: { bool rx = lexer->scanRegExp(Lexer::EqualPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -550,28 +552,28 @@ case 69: { sym(1).Node = node; } break; -case 70: { +case 72: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), (AST::Elision *) 0); node->lbracketToken = loc(1); node->rbracketToken = loc(2); sym(1).Node = node; } break; -case 71: { +case 73: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).Elision->finish()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 72: { +case 74: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish ()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 73: { +case 75: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish (), (AST::Elision *) 0); node->lbracketToken = loc(1); @@ -580,7 +582,7 @@ case 73: { sym(1).Node = node; } break; -case 74: { +case 76: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish (), sym(4).Elision->finish()); node->lbracketToken = loc(1); @@ -589,7 +591,7 @@ case 74: { sym(1).Node = node; } break; -case 75: { +case 77: { AST::ObjectLiteral *node = 0; if (sym(2).Node) node = makeAstNode (driver->nodePool(), @@ -601,7 +603,7 @@ case 75: { sym(1).Node = node; } break; -case 76: { +case 78: { AST::ObjectLiteral *node = makeAstNode (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ()); node->lbraceToken = loc(1); @@ -609,67 +611,67 @@ case 76: { sym(1).Node = node; } break; -case 77: { +case 79: { AST::NestedExpression *node = makeAstNode(driver->nodePool(), sym(2).Expression); node->lparenToken = loc(1); node->rparenToken = loc(3); sym(1).Node = node; } break; -case 78: { +case 80: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 79: { +case 81: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 80: { +case 82: { sym(1).Node = makeAstNode (driver->nodePool(), (AST::Elision *) 0, sym(1).Expression); } break; -case 81: { +case 83: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Elision->finish(), sym(2).Expression); } break; -case 82: { +case 84: { AST::ElementList *node = makeAstNode (driver->nodePool(), sym(1).ElementList, (AST::Elision *) 0, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 83: { +case 85: { AST::ElementList *node = makeAstNode (driver->nodePool(), sym(1).ElementList, sym(3).Elision->finish(), sym(4).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 84: { +case 86: { AST::Elision *node = makeAstNode (driver->nodePool()); node->commaToken = loc(1); sym(1).Node = node; } break; -case 85: { +case 87: { AST::Elision *node = makeAstNode (driver->nodePool(), sym(1).Elision); node->commaToken = loc(2); sym(1).Node = node; } break; -case 86: { +case 88: { AST::PropertyNameAndValueList *node = makeAstNode (driver->nodePool(), sym(1).PropertyName, sym(3).Expression); node->colonToken = loc(2); sym(1).Node = node; } break; -case 87: { +case 89: { AST::PropertyNameAndValueList *node = makeAstNode (driver->nodePool(), sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression); node->commaToken = loc(2); @@ -677,40 +679,36 @@ case 87: { sym(1).Node = node; } break; -case 88: { +case 90: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 89: -case 90: { +case 91: +case 92: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount())); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 91: { +case 93: { AST::StringLiteralPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 92: { +case 94: { AST::NumericLiteralPropertyName *node = makeAstNode (driver->nodePool(), sym(1).dval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 93: { +case 95: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 94: - -case 95: - case 96: case 97: @@ -768,25 +766,29 @@ case 122: case 123: case 124: + +case 125: + +case 126: { sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount()); } break; -case 129: { +case 131: { AST::ArrayMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 130: { +case 132: { AST::FieldMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).sval); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 131: { +case 133: { AST::NewMemberExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression, sym(4).ArgumentList); node->newToken = loc(1); node->lparenToken = loc(3); @@ -794,316 +796,309 @@ case 131: { sym(1).Node = node; } break; -case 133: { +case 135: { AST::NewExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->newToken = loc(1); sym(1).Node = node; } break; -case 134: { +case 136: { AST::CallExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 135: { +case 137: { AST::CallExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 136: { +case 138: { AST::ArrayMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 137: { +case 139: { AST::FieldMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).sval); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 138: { +case 140: { sym(1).Node = 0; } break; -case 139: { +case 141: { sym(1).Node = sym(1).ArgumentList->finish(); } break; -case 140: { +case 142: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Expression); } break; -case 141: { +case 143: { AST::ArgumentList *node = makeAstNode (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 145: { +case 147: { AST::PostIncrementExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->incrementToken = loc(2); sym(1).Node = node; } break; -case 146: { +case 148: { AST::PostDecrementExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->decrementToken = loc(2); sym(1).Node = node; } break; -case 148: { +case 150: { AST::DeleteExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->deleteToken = loc(1); sym(1).Node = node; } break; -case 149: { +case 151: { AST::VoidExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->voidToken = loc(1); sym(1).Node = node; } break; -case 150: { +case 152: { AST::TypeOfExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->typeofToken = loc(1); sym(1).Node = node; } break; -case 151: { +case 153: { AST::PreIncrementExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->incrementToken = loc(1); sym(1).Node = node; } break; -case 152: { +case 154: { AST::PreDecrementExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->decrementToken = loc(1); sym(1).Node = node; } break; -case 153: { +case 155: { AST::UnaryPlusExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->plusToken = loc(1); sym(1).Node = node; } break; -case 154: { +case 156: { AST::UnaryMinusExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->minusToken = loc(1); sym(1).Node = node; } break; -case 155: { +case 157: { AST::TildeExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->tildeToken = loc(1); sym(1).Node = node; } break; -case 156: { +case 158: { AST::NotExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->notToken = loc(1); sym(1).Node = node; } break; -case 158: { +case 160: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Mul, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 159: { +case 161: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Div, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 160: { +case 162: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Mod, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 162: { +case 164: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Add, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 163: { +case 165: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Sub, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 165: { +case 167: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::LShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 166: { +case 168: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::RShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 167: { +case 169: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::URShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 169: { +case 171: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 170: { +case 172: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 171: { +case 173: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 172: { +case 174: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 173: { +case 175: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 174: { +case 176: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::In, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 176: { +case 178: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 177: { +case 179: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 178: { +case 180: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 179: { +case 181: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 180: { +case 182: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 182: { +case 184: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 183: { +case 185: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 184: { +case 186: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 185: { +case 187: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 187: { +case 189: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 188: { +case 190: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 189: { +case 191: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 190: { - AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, - QSOperator::StrictNotEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - case 192: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, - QSOperator::BitAnd, sym(3).Expression); + QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1117,7 +1112,7 @@ case 194: { case 196: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, - QSOperator::BitXor, sym(3).Expression); + QSOperator::BitAnd, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1131,7 +1126,7 @@ case 198: { case 200: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, - QSOperator::BitOr, sym(3).Expression); + QSOperator::BitXor, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1145,7 +1140,7 @@ case 202: { case 204: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, - QSOperator::And, sym(3).Expression); + QSOperator::BitOr, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1159,7 +1154,7 @@ case 206: { case 208: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, - QSOperator::Or, sym(3).Expression); + QSOperator::And, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; @@ -1172,6 +1167,13 @@ case 210: { } break; case 212: { + AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, + QSOperator::Or, sym(3).Expression); + node->operatorToken = loc(2); + sym(1).Node = node; +} break; + +case 214: { AST::ConditionalExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1179,7 +1181,7 @@ case 212: { sym(1).Node = node; } break; -case 214: { +case 216: { AST::ConditionalExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1187,112 +1189,112 @@ case 214: { sym(1).Node = node; } break; -case 216: { +case 218: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 218: { +case 220: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 219: { +case 221: { sym(1).ival = QSOperator::Assign; } break; -case 220: { +case 222: { sym(1).ival = QSOperator::InplaceMul; } break; -case 221: { +case 223: { sym(1).ival = QSOperator::InplaceDiv; } break; -case 222: { +case 224: { sym(1).ival = QSOperator::InplaceMod; } break; -case 223: { +case 225: { sym(1).ival = QSOperator::InplaceAdd; } break; -case 224: { +case 226: { sym(1).ival = QSOperator::InplaceSub; } break; -case 225: { +case 227: { sym(1).ival = QSOperator::InplaceLeftShift; } break; -case 226: { +case 228: { sym(1).ival = QSOperator::InplaceRightShift; } break; -case 227: { +case 229: { sym(1).ival = QSOperator::InplaceURightShift; } break; -case 228: { +case 230: { sym(1).ival = QSOperator::InplaceAnd; } break; -case 229: { +case 231: { sym(1).ival = QSOperator::InplaceXor; } break; -case 230: { +case 232: { sym(1).ival = QSOperator::InplaceOr; } break; -case 232: { +case 234: { AST::Expression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 233: { +case 235: { sym(1).Node = 0; } break; -case 236: { +case 238: { AST::Expression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 237: { +case 239: { sym(1).Node = 0; } break; -case 254: { +case 256: { AST::Block *node = makeAstNode (driver->nodePool(), sym(2).StatementList); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 255: { +case 257: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Statement); } break; -case 256: { +case 258: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).StatementList, sym(2).Statement); } break; -case 257: { +case 259: { sym(1).Node = 0; } break; -case 258: { +case 260: { sym(1).Node = sym(1).StatementList->finish (); } break; -case 260: { +case 262: { AST::VariableStatement *node = makeAstNode (driver->nodePool(), sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST)); node->declarationKindToken = loc(1); @@ -1300,76 +1302,76 @@ case 260: { sym(1).Node = node; } break; -case 261: { +case 263: { sym(1).ival = T_CONST; } break; -case 262: { +case 264: { sym(1).ival = T_VAR; } break; -case 263: { +case 265: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclaration); } break; -case 264: { +case 266: { AST::VariableDeclarationList *node = makeAstNode (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); node->commaToken = loc(2); sym(1).Node = node; } break; -case 265: { +case 267: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclaration); } break; -case 266: { +case 268: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); } break; -case 267: { +case 269: { AST::VariableDeclaration *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 268: { +case 270: { AST::VariableDeclaration *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 269: { +case 271: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 270: { +case 272: { sym(1).Node = 0; } break; -case 272: { +case 274: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 273: { +case 275: { sym(1).Node = 0; } break; -case 275: { +case 277: { AST::EmptyStatement *node = makeAstNode (driver->nodePool()); node->semicolonToken = loc(1); sym(1).Node = node; } break; -case 277: { +case 279: { AST::ExpressionStatement *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 278: { +case 280: { AST::IfStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1378,7 +1380,7 @@ case 278: { sym(1).Node = node; } break; -case 279: { +case 281: { AST::IfStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1386,7 +1388,7 @@ case 279: { sym(1).Node = node; } break; -case 281: { +case 283: { AST::DoWhileStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(5).Expression); node->doToken = loc(1); node->whileToken = loc(3); @@ -1396,7 +1398,7 @@ case 281: { sym(1).Node = node; } break; -case 282: { +case 284: { AST::WhileStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->whileToken = loc(1); node->lparenToken = loc(2); @@ -1404,7 +1406,7 @@ case 282: { sym(1).Node = node; } break; -case 283: { +case 285: { AST::ForStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); node->forToken = loc(1); @@ -1415,7 +1417,7 @@ case 283: { sym(1).Node = node; } break; -case 284: { +case 286: { AST::LocalForStatement *node = makeAstNode (driver->nodePool(), sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); @@ -1428,7 +1430,7 @@ case 284: { sym(1).Node = node; } break; -case 285: { +case 287: { AST:: ForEachStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Statement); node->forToken = loc(1); @@ -1438,7 +1440,7 @@ case 285: { sym(1).Node = node; } break; -case 286: { +case 288: { AST::LocalForEachStatement *node = makeAstNode (driver->nodePool(), sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); node->forToken = loc(1); @@ -1449,14 +1451,14 @@ case 286: { sym(1).Node = node; } break; -case 288: { +case 290: { AST::ContinueStatement *node = makeAstNode (driver->nodePool()); node->continueToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 290: { +case 292: { AST::ContinueStatement *node = makeAstNode (driver->nodePool(), sym(2).sval); node->continueToken = loc(1); node->identifierToken = loc(2); @@ -1464,14 +1466,14 @@ case 290: { sym(1).Node = node; } break; -case 292: { +case 294: { AST::BreakStatement *node = makeAstNode (driver->nodePool()); node->breakToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 294: { +case 296: { AST::BreakStatement *node = makeAstNode (driver->nodePool(), sym(2).sval); node->breakToken = loc(1); node->identifierToken = loc(2); @@ -1479,14 +1481,14 @@ case 294: { sym(1).Node = node; } break; -case 296: { +case 298: { AST::ReturnStatement *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->returnToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 297: { +case 299: { AST::WithStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->withToken = loc(1); node->lparenToken = loc(2); @@ -1494,7 +1496,7 @@ case 297: { sym(1).Node = node; } break; -case 298: { +case 300: { AST::SwitchStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock); node->switchToken = loc(1); node->lparenToken = loc(2); @@ -1502,90 +1504,90 @@ case 298: { sym(1).Node = node; } break; -case 299: { +case 301: { AST::CaseBlock *node = makeAstNode (driver->nodePool(), sym(2).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 300: { +case 302: { AST::CaseBlock *node = makeAstNode (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(5); sym(1).Node = node; } break; -case 301: { +case 303: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).CaseClause); } break; -case 302: { +case 304: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause); } break; -case 303: { +case 305: { sym(1).Node = 0; } break; -case 304: { +case 306: { sym(1).Node = sym(1).CaseClauses->finish (); } break; -case 305: { +case 307: { AST::CaseClause *node = makeAstNode (driver->nodePool(), sym(2).Expression, sym(4).StatementList); node->caseToken = loc(1); node->colonToken = loc(3); sym(1).Node = node; } break; -case 306: { +case 308: { AST::DefaultClause *node = makeAstNode (driver->nodePool(), sym(3).StatementList); node->defaultToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 307: -case 308: { +case 309: +case 310: { AST::LabelledStatement *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 309: { +case 311: { AST::LabelledStatement *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 311: { +case 313: { AST::ThrowStatement *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->throwToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 312: { +case 314: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Catch); node->tryToken = loc(1); sym(1).Node = node; } break; -case 313: { +case 315: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 314: { +case 316: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 315: { +case 317: { AST::Catch *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(5).Block); node->catchToken = loc(1); node->lparenToken = loc(2); @@ -1594,20 +1596,20 @@ case 315: { sym(1).Node = node; } break; -case 316: { +case 318: { AST::Finally *node = makeAstNode (driver->nodePool(), sym(2).Block); node->finallyToken = loc(1); sym(1).Node = node; } break; -case 318: { +case 320: { AST::DebuggerStatement *node = makeAstNode (driver->nodePool()); node->debuggerToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 319: { +case 321: { AST::FunctionDeclaration *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); node->identifierToken = loc(2); @@ -1618,7 +1620,7 @@ case 319: { sym(1).Node = node; } break; -case 320: { +case 322: { AST::FunctionExpression *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); if (sym(2).sval) @@ -1630,56 +1632,56 @@ case 320: { sym(1).Node = node; } break; -case 321: { +case 323: { AST::FormalParameterList *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 322: { +case 324: { AST::FormalParameterList *node = makeAstNode (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval); node->commaToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 323: { +case 325: { sym(1).Node = 0; } break; -case 324: { +case 326: { sym(1).Node = sym(1).FormalParameterList->finish (); } break; -case 325: { +case 327: { sym(1).Node = 0; } break; -case 327: { +case 329: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElements->finish ()); } break; -case 328: { +case 330: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElement); } break; -case 329: { +case 331: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement); } break; -case 330: { +case 332: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Statement); } break; -case 331: { +case 333: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).FunctionDeclaration); } break; -case 332: { +case 334: { sym(1).sval = 0; } break; -case 334: { +case 336: { sym(1).Node = 0; } break; diff --git a/src/declarative/qml/parser/qmljsparser_p.h b/src/declarative/qml/parser/qmljsparser_p.h index 6f36484..17f33d6 100644 --- a/src/declarative/qml/parser/qmljsparser_p.h +++ b/src/declarative/qml/parser/qmljsparser_p.h @@ -219,9 +219,9 @@ protected: -#define J_SCRIPT_REGEXPLITERAL_RULE1 68 +#define J_SCRIPT_REGEXPLITERAL_RULE1 70 -#define J_SCRIPT_REGEXPLITERAL_RULE2 69 +#define J_SCRIPT_REGEXPLITERAL_RULE2 71 QT_END_NAMESPACE -- cgit v0.12 From f4c02abe4f4638f2c3b702405119e232fcfe47e8 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Fri, 24 Jul 2009 07:17:02 +0200 Subject: Recognize formal arguments in the left hand side of a binding. --- src/declarative/qml/parser/qmljs.g | 61 +- src/declarative/qml/parser/qmljsgrammar.cpp | 1451 +++++++++++++-------------- src/declarative/qml/parser/qmljsgrammar_p.h | 14 +- src/declarative/qml/parser/qmljsparser.cpp | 475 ++++----- src/declarative/qml/parser/qmljsparser_p.h | 4 +- 5 files changed, 1038 insertions(+), 967 deletions(-) diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g index d8d67c3..ccfe7fd 100644 --- a/src/declarative/qml/parser/qmljs.g +++ b/src/declarative/qml/parser/qmljs.g @@ -741,8 +741,8 @@ UiObjectMember: UiObjectDefinition ; UiObjectMember: UiQualifiedId T_COLON T_LBRACKET UiArrayMemberList T_RBRACKET ; /. case $rule_number: { - AST::UiArrayBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), - sym(4).UiArrayMemberList->finish()); + AST::UiArrayBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish()); node->colonToken = loc(2); node->lbracketToken = loc(3); node->rbracketToken = loc(5); @@ -750,7 +750,7 @@ case $rule_number: { } break; ./ -UiObjectMember: UiQualifiedId T_COLON Expression UiObjectInitializer ; +UiObjectMember: UiQualifiedId T_COLON Expression UiObjectInitializer ; /. case $rule_number: { if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(3).Expression)) { @@ -769,6 +769,48 @@ case $rule_number: { } break; ./ +UiObjectMember: UiQualifiedId UiSignature T_COLON Expression UiObjectInitializer ; +/. +case $rule_number: { + if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(4).Expression)) { + AST::UiObjectBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), qualifiedId, sym(5).UiObjectInitializer); + node->colonToken = loc(3); + sym(1).Node = node; + } else { + sym(1).Node = 0; + + diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(2), + QLatin1String("Expected a type name after token `:'"))); + + return false; // ### recover + } +} break; +./ + +UiObjectMember: UiQualifiedId UiSignature T_COLON Block ; +/.case $rule_number:./ + +UiObjectMember: UiQualifiedId UiSignature T_COLON EmptyStatement ; +/.case $rule_number:./ + +UiObjectMember: UiQualifiedId UiSignature T_COLON ExpressionStatement ; +/.case $rule_number:./ + +UiObjectMember: UiQualifiedId UiSignature T_COLON IfStatement ; --- ### do we really want if statement in a binding? +/.case $rule_number:./ + +/. +{ + AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), sym(4).Statement); + node->colonToken = loc(3); + sym(1).Node = node; +} break; +./ + + + UiObjectMember: UiQualifiedId T_COLON Block ; /.case $rule_number:./ @@ -783,8 +825,8 @@ UiObjectMember: UiQualifiedId T_COLON IfStatement ; --- ### do we really want if /. { - AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), - sym(3).Statement); + AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), sym(3).Statement); node->colonToken = loc(2); sym(1).Node = node; } break; @@ -837,6 +879,15 @@ case $rule_number: { } break; ./ +UiFormal: JsIdentifier ; +UiFormal: JsIdentifier T_AS JsIdentifier ; + +UiFormalList: UiFormal ; +UiFormalList: UiFormalList T_COMMA UiFormal ; + +UiSignature: T_LPAREN T_RPAREN ; +UiSignature: T_LPAREN UiFormalList T_RPAREN ; + UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_AUTOMATIC_SEMICOLON ; UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_SEMICOLON ; /. diff --git a/src/declarative/qml/parser/qmljsgrammar.cpp b/src/declarative/qml/parser/qmljsgrammar.cpp index 873307f..21dde3f 100644 --- a/src/declarative/qml/parser/qmljsgrammar.cpp +++ b/src/declarative/qml/parser/qmljsgrammar.cpp @@ -58,392 +58,434 @@ const int QmlJSGrammar::lhs [] = { 95, 95, 95, 96, 99, 99, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 101, 100, 107, 107, 109, 109, 110, 110, 106, 108, - 108, 108, 108, 108, 108, 108, 115, 115, 115, 116, - 116, 117, 117, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 105, 105, 104, - 104, 104, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 105, 105, 122, 122, 122, 122, 121, 121, 124, 124, - 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 128, 128, 129, - 129, 129, 129, 129, 132, 132, 133, 133, 133, 133, - 131, 131, 134, 134, 135, 135, 136, 136, 136, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, - 138, 138, 138, 139, 139, 139, 140, 140, 140, 140, - 141, 141, 141, 141, 141, 141, 141, 142, 142, 142, - 142, 142, 142, 143, 143, 143, 143, 143, 144, 144, - 144, 144, 144, 145, 145, 146, 146, 147, 147, 148, - 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, - 153, 154, 154, 155, 155, 156, 156, 125, 125, 157, - 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 98, 98, 159, 159, 160, 160, 161, - 161, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 111, 173, 173, 172, - 172, 119, 119, 174, 174, 175, 175, 177, 177, 176, - 178, 181, 179, 179, 182, 180, 180, 112, 113, 113, - 114, 114, 162, 162, 162, 162, 162, 162, 162, 163, - 163, 163, 163, 164, 164, 164, 164, 165, 165, 166, - 168, 183, 183, 186, 186, 184, 184, 187, 185, 167, - 167, 167, 169, 169, 170, 170, 170, 188, 189, 171, - 171, 118, 130, 193, 193, 190, 190, 191, 191, 194, - 195, 195, 196, 196, 192, 192, 123, 123, 197}; + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 116, 116, 116, 117, 117, 118, 118, 119, 119, + 120, 120, 111, 111, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 105, 105, + 104, 104, 104, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 105, 105, 125, 125, 125, 125, 124, 124, 127, + 127, 129, 129, 129, 129, 129, 129, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, + 132, 132, 132, 132, 132, 135, 135, 136, 136, 136, + 136, 134, 134, 137, 137, 138, 138, 139, 139, 139, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 141, 141, 141, 141, 142, 142, 142, 143, 143, 143, + 143, 144, 144, 144, 144, 144, 144, 144, 145, 145, + 145, 145, 145, 145, 146, 146, 146, 146, 146, 147, + 147, 147, 147, 147, 148, 148, 149, 149, 150, 150, + 151, 151, 152, 152, 153, 153, 154, 154, 155, 155, + 156, 156, 157, 157, 158, 158, 159, 159, 128, 128, + 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 98, 98, 162, 162, 163, 163, + 164, 164, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 112, 176, 176, + 175, 175, 122, 122, 177, 177, 178, 178, 180, 180, + 179, 181, 184, 182, 182, 185, 183, 183, 113, 114, + 114, 115, 115, 165, 165, 165, 165, 165, 165, 165, + 166, 166, 166, 166, 167, 167, 167, 167, 168, 168, + 169, 171, 186, 186, 189, 189, 187, 187, 190, 188, + 170, 170, 170, 172, 172, 173, 173, 173, 191, 192, + 174, 174, 121, 133, 196, 196, 193, 193, 194, 194, + 197, 198, 198, 199, 199, 195, 195, 126, 126, 200}; const int QmlJSGrammar:: rhs[] = { 2, 2, 2, 2, 1, 1, 1, 2, 3, 3, 5, 5, 3, 3, 4, 4, 6, 6, 5, 5, 0, 1, 1, 2, 1, 3, 2, 3, 2, 1, - 5, 4, 3, 3, 3, 3, 1, 1, 1, 0, - 1, 2, 4, 6, 6, 3, 3, 4, 4, 5, - 5, 6, 6, 7, 7, 1, 1, 1, 1, 1, + 5, 4, 5, 4, 4, 4, 4, 3, 3, 3, + 3, 1, 1, 1, 0, 1, 2, 4, 1, 3, + 1, 3, 2, 3, 6, 6, 3, 3, 4, 4, + 5, 5, 6, 6, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 3, 3, 4, 5, 3, 4, 3, - 1, 3, 1, 2, 3, 4, 1, 2, 3, 5, + 1, 1, 1, 2, 3, 3, 4, 5, 3, 4, + 3, 1, 3, 1, 2, 3, 4, 1, 2, 3, + 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 3, 5, 1, 2, 4, 4, 4, 3, - 0, 1, 1, 3, 1, 1, 1, 2, 2, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, - 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, - 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, - 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, - 3, 3, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 5, 1, 5, 1, 3, 1, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 1, 1, 3, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 2, 0, - 1, 3, 3, 1, 1, 1, 3, 1, 3, 2, - 2, 2, 0, 1, 2, 0, 1, 1, 2, 2, - 7, 5, 7, 7, 5, 9, 10, 7, 8, 2, - 2, 3, 3, 2, 2, 3, 3, 3, 3, 5, - 5, 3, 5, 1, 2, 0, 1, 4, 3, 3, - 3, 3, 3, 3, 3, 3, 4, 5, 2, 2, - 2, 8, 8, 1, 3, 0, 1, 0, 1, 1, - 1, 2, 1, 1, 0, 1, 0, 1, 2}; + 1, 1, 4, 3, 5, 1, 2, 4, 4, 4, + 3, 0, 1, 1, 3, 1, 1, 1, 2, 2, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, + 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, + 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, + 3, 3, 3, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, + 1, 3, 1, 3, 1, 5, 1, 5, 1, 3, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 0, 1, 1, 3, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, + 0, 1, 3, 3, 1, 1, 1, 3, 1, 3, + 2, 2, 2, 0, 1, 2, 0, 1, 1, 2, + 2, 7, 5, 7, 7, 5, 9, 10, 7, 8, + 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, + 5, 5, 3, 5, 1, 2, 0, 1, 4, 3, + 3, 3, 3, 3, 3, 3, 3, 4, 5, 2, + 2, 2, 8, 8, 1, 3, 0, 1, 0, 1, + 1, 1, 2, 1, 1, 0, 1, 0, 1, 2}; const int QmlJSGrammar::action_default [] = { - 0, 0, 0, 21, 0, 167, 234, 198, 206, 202, - 146, 218, 194, 3, 131, 64, 147, 210, 214, 135, - 164, 145, 150, 130, 184, 171, 0, 71, 72, 67, - 335, 60, 337, 0, 0, 0, 0, 69, 0, 0, - 65, 68, 0, 0, 61, 62, 70, 63, 0, 66, - 0, 0, 160, 0, 0, 147, 166, 149, 148, 0, - 0, 0, 162, 163, 161, 165, 0, 195, 0, 0, - 0, 0, 185, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 169, 170, 168, 173, 177, 176, 174, - 172, 187, 186, 188, 0, 203, 0, 199, 0, 0, - 141, 128, 140, 129, 97, 98, 99, 124, 100, 125, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 126, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 127, 0, 0, 139, 235, 142, - 0, 143, 0, 144, 138, 0, 231, 224, 222, 229, - 230, 228, 227, 233, 226, 225, 223, 232, 219, 0, - 207, 0, 0, 211, 0, 0, 215, 0, 0, 141, - 133, 0, 132, 0, 137, 151, 0, 336, 326, 327, - 0, 324, 0, 325, 0, 328, 242, 249, 248, 256, - 244, 0, 245, 329, 0, 334, 246, 247, 252, 250, - 331, 330, 333, 253, 0, 264, 0, 0, 0, 0, - 335, 60, 0, 337, 61, 236, 278, 62, 0, 0, - 0, 265, 0, 0, 254, 255, 0, 243, 251, 279, - 280, 323, 332, 0, 294, 295, 296, 297, 0, 290, - 291, 292, 293, 320, 321, 0, 0, 0, 0, 0, - 283, 284, 240, 238, 200, 208, 204, 220, 196, 241, - 0, 147, 212, 216, 189, 178, 0, 0, 197, 0, - 0, 0, 0, 190, 0, 0, 0, 0, 0, 182, - 180, 183, 181, 179, 192, 191, 193, 0, 205, 0, - 201, 0, 239, 147, 0, 221, 236, 237, 0, 236, - 0, 0, 286, 0, 0, 0, 288, 0, 209, 0, - 0, 213, 0, 0, 217, 276, 0, 268, 277, 271, - 0, 275, 0, 236, 269, 0, 236, 0, 0, 287, - 0, 0, 0, 289, 336, 326, 0, 0, 328, 0, - 322, 0, 312, 0, 0, 0, 282, 0, 281, 0, - 338, 0, 96, 258, 261, 0, 97, 264, 100, 125, - 102, 103, 67, 107, 108, 60, 109, 112, 65, 68, - 61, 236, 62, 70, 115, 63, 117, 66, 119, 120, - 265, 122, 123, 127, 0, 89, 0, 0, 91, 95, - 93, 79, 92, 94, 0, 90, 78, 259, 257, 135, - 136, 141, 0, 134, 0, 311, 0, 298, 299, 0, - 310, 0, 0, 0, 301, 306, 304, 307, 0, 0, - 305, 306, 0, 302, 0, 303, 260, 309, 0, 260, - 308, 0, 313, 314, 0, 260, 315, 316, 0, 0, - 317, 0, 0, 0, 318, 319, 153, 152, 0, 0, - 0, 285, 0, 0, 0, 300, 273, 266, 0, 274, - 270, 0, 272, 262, 0, 263, 267, 83, 0, 0, - 87, 73, 0, 75, 85, 0, 76, 86, 88, 77, - 84, 74, 0, 80, 157, 155, 159, 156, 154, 158, - 2, 5, 0, 7, 6, 0, 1, 81, 58, 59, + 0, 0, 0, 21, 0, 178, 245, 209, 217, 213, + 157, 229, 205, 3, 142, 75, 158, 221, 225, 146, + 175, 156, 161, 141, 195, 182, 0, 82, 83, 78, + 346, 71, 348, 0, 0, 0, 0, 80, 0, 0, + 76, 79, 0, 0, 72, 73, 81, 74, 0, 77, + 0, 0, 171, 0, 0, 158, 177, 160, 159, 0, + 0, 0, 173, 174, 172, 176, 0, 206, 0, 0, + 0, 0, 196, 0, 0, 0, 0, 0, 0, 186, + 0, 0, 0, 180, 181, 179, 184, 188, 187, 185, + 183, 198, 197, 199, 0, 214, 0, 210, 0, 0, + 152, 139, 151, 140, 108, 109, 110, 135, 111, 136, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 137, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 138, 0, 0, 150, 246, 153, + 0, 154, 0, 155, 149, 0, 242, 235, 233, 240, + 241, 239, 238, 244, 237, 236, 234, 243, 230, 0, + 218, 0, 0, 222, 0, 0, 226, 0, 0, 152, + 144, 0, 143, 0, 148, 162, 0, 347, 337, 338, + 0, 335, 0, 336, 0, 339, 253, 260, 259, 267, + 255, 0, 256, 340, 0, 345, 257, 258, 263, 261, + 342, 341, 344, 264, 0, 275, 0, 0, 0, 0, + 346, 71, 0, 348, 72, 247, 289, 73, 0, 0, + 0, 276, 0, 0, 265, 266, 0, 254, 262, 290, + 291, 334, 343, 0, 305, 306, 307, 308, 0, 301, + 302, 303, 304, 331, 332, 0, 0, 0, 0, 0, + 294, 295, 251, 249, 211, 219, 215, 231, 207, 252, + 0, 158, 223, 227, 200, 189, 0, 0, 208, 0, + 0, 0, 0, 201, 0, 0, 0, 0, 0, 193, + 191, 194, 192, 190, 203, 202, 204, 0, 216, 0, + 212, 0, 250, 158, 0, 232, 247, 248, 0, 247, + 0, 0, 297, 0, 0, 0, 299, 0, 220, 0, + 0, 224, 0, 0, 228, 287, 0, 279, 288, 282, + 0, 286, 0, 247, 280, 0, 247, 0, 0, 298, + 0, 0, 0, 300, 347, 337, 0, 0, 339, 0, + 333, 0, 323, 0, 0, 0, 293, 0, 292, 0, + 349, 0, 107, 269, 272, 0, 108, 275, 111, 136, + 113, 114, 78, 118, 119, 71, 120, 123, 76, 79, + 72, 247, 73, 81, 126, 74, 128, 77, 130, 131, + 276, 133, 134, 138, 0, 100, 0, 0, 102, 106, + 104, 90, 103, 105, 0, 101, 89, 270, 268, 146, + 147, 152, 0, 145, 0, 322, 0, 309, 310, 0, + 321, 0, 0, 0, 312, 317, 315, 318, 0, 0, + 316, 317, 0, 313, 0, 314, 271, 320, 0, 271, + 319, 0, 324, 325, 0, 271, 326, 327, 0, 0, + 328, 0, 0, 0, 329, 330, 164, 163, 0, 0, + 0, 296, 0, 0, 0, 311, 284, 277, 0, 285, + 281, 0, 283, 273, 0, 274, 278, 94, 0, 0, + 98, 84, 0, 86, 96, 0, 87, 97, 99, 88, + 95, 85, 0, 91, 168, 166, 170, 167, 165, 169, + 2, 5, 0, 7, 6, 0, 1, 92, 69, 70, 0, 0, 0, 9, 10, 0, 11, 12, 0, 13, - 0, 0, 14, 0, 19, 20, 82, 0, 15, 16, - 0, 17, 18, 8, 22, 0, 4, 0, 29, 56, - 0, 0, 61, 27, 62, 30, 23, 0, 0, 57, - 0, 39, 38, 37, 0, 0, 50, 0, 51, 0, - 54, 55, 0, 0, 0, 48, 0, 49, 0, 52, - 53, 0, 46, 40, 47, 41, 0, 0, 0, 0, - 43, 0, 44, 45, 42, 28, 24, 0, 33, 34, - 0, 35, 36, 260, 0, 32, 97, 264, 100, 125, - 102, 103, 67, 107, 108, 60, 109, 112, 65, 68, - 61, 236, 62, 70, 115, 63, 117, 66, 119, 120, - 265, 122, 123, 127, 64, 0, 25, 0, 31, 26, - 339}; + 0, 0, 14, 0, 19, 20, 93, 0, 15, 16, + 0, 17, 18, 8, 22, 0, 4, 0, 29, 67, + 0, 0, 72, 27, 73, 30, 23, 0, 0, 68, + 0, 44, 43, 42, 0, 0, 61, 0, 62, 0, + 65, 66, 0, 0, 0, 59, 0, 60, 0, 63, + 64, 0, 57, 45, 58, 46, 0, 0, 0, 0, + 48, 0, 55, 56, 47, 28, 24, 0, 0, 0, + 38, 39, 0, 40, 41, 271, 0, 32, 108, 275, + 111, 136, 113, 114, 78, 118, 119, 71, 120, 123, + 76, 79, 72, 247, 73, 81, 126, 74, 128, 77, + 130, 131, 276, 133, 134, 138, 75, 0, 25, 0, + 31, 26, 49, 53, 51, 0, 0, 50, 0, 54, + 52, 0, 34, 35, 0, 36, 37, 33, 350}; const int QmlJSGrammar::goto_default [] = { 4, 496, 353, 191, 495, 526, 491, 494, 493, 15, - 525, 535, 537, 536, 615, 528, 186, 190, 192, 196, - 553, 566, 565, 195, 227, 23, 469, 468, 351, 350, - 6, 349, 352, 102, 19, 14, 140, 21, 10, 139, - 16, 22, 52, 20, 5, 25, 24, 264, 12, 258, - 7, 254, 9, 256, 8, 255, 17, 262, 18, 263, - 11, 257, 253, 294, 406, 259, 260, 197, 188, 187, - 199, 228, 198, 203, 224, 225, 189, 355, 354, 226, - 458, 457, 316, 317, 460, 319, 459, 318, 414, 418, - 421, 417, 416, 436, 437, 180, 194, 176, 179, 193, - 201, 200, 0}; + 525, 535, 537, 536, 617, 528, 579, 186, 190, 192, + 196, 553, 566, 565, 624, 625, 195, 227, 23, 469, + 468, 351, 350, 6, 349, 352, 102, 19, 14, 140, + 21, 10, 139, 16, 22, 52, 20, 5, 25, 24, + 264, 12, 258, 7, 254, 9, 256, 8, 255, 17, + 262, 18, 263, 11, 257, 253, 294, 406, 259, 260, + 197, 188, 187, 199, 228, 198, 203, 224, 225, 189, + 355, 354, 226, 458, 457, 316, 317, 460, 319, 459, + 318, 414, 418, 421, 417, 416, 436, 437, 180, 194, + 176, 179, 193, 201, 200, 0}; const int QmlJSGrammar::action_index [] = { - 175, 862, 1917, -50, 39, 89, -95, 32, -14, -52, - 374, -95, 341, 21, -95, -95, 577, 42, 84, 198, - 250, -95, -95, -95, 473, 252, 862, -95, -95, -95, - 259, -95, 1735, 1208, 862, 862, 862, -95, 638, 862, - -95, -95, 862, 862, -95, -95, -95, -95, 862, -95, - 862, 862, -95, 862, 862, 93, 300, -95, -95, 862, - 862, 862, -95, -95, -95, 287, 862, 324, 862, 862, - 862, 862, 453, 862, 862, 862, 862, 862, 862, 307, - 862, 862, 862, 118, 102, 127, 308, 293, 326, 251, - 255, 463, 488, 508, 862, 23, 862, 82, 1644, 862, - 862, -95, -95, -95, -95, -95, -95, -95, -95, -95, + 157, 803, 2033, -22, 55, 68, -95, 96, 32, -10, + 282, -95, 348, 42, -95, -95, 636, 92, 75, 201, + 218, -95, -95, -95, 544, 253, 803, -95, -95, -95, + 179, -95, 1760, 1230, 803, 803, 803, -95, 719, 803, + -95, -95, 803, 803, -95, -95, -95, -95, 803, -95, + 803, 803, -95, 803, 803, 104, 202, -95, -95, 803, + 803, 803, -95, -95, -95, 198, 803, 340, 803, 803, + 803, 803, 544, 803, 803, 803, 803, 803, 803, 206, + 803, 803, 803, 64, 72, 69, 253, 167, 182, 158, + 150, 454, 544, 544, 803, -70, 803, 96, 1669, 803, + 803, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, 119, 862, -95, -95, 88, - 63, -95, 862, -95, -95, 862, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, 862, - 3, 862, 862, 28, 24, 862, -95, 1644, 862, 862, - -95, 131, -95, -41, -95, -95, -25, -95, 208, -5, - -11, -95, 202, -95, 61, 2008, -95, -95, -95, -95, - -95, 222, -95, -95, 65, -95, -95, -95, -95, -95, - -95, 2008, -95, -95, 376, -95, 405, 75, 1917, 56, - 274, 79, 54, 2190, 71, 862, -95, 74, 49, 862, - 51, -95, 43, 67, -95, -95, 281, -95, -95, -95, - -95, -95, -95, 90, -95, -95, -95, -95, 83, -95, - -95, -95, -95, -95, -95, 35, 55, 862, 94, 70, - -95, -95, 946, -95, 76, 34, -10, -95, 336, 59, - 10, 695, 73, 138, 356, 277, 262, 862, 178, 862, - 862, 862, 862, 446, 862, 862, 862, 862, 862, 267, - 273, 292, 270, 311, 446, 518, 446, 862, 19, 862, - 72, 862, -95, 543, 862, -95, 862, 58, 69, 862, - 68, 1917, -95, 862, 116, 1917, -95, 862, 57, 862, - 862, 96, 92, 862, -95, 78, 98, 62, -95, -95, - 862, -95, 256, 862, -95, 64, 862, 9, 1917, -95, - 862, 101, 1917, -95, -36, 220, -53, -13, 2008, -33, - -95, 1917, -95, 862, 100, 1917, -2, 1917, -95, 6, - 1, -40, -95, -95, 1917, -45, 390, 52, 388, 122, - 862, 1917, -6, -34, 337, -1, -28, 778, 18, 45, - -95, 1034, -95, 46, 14, 17, 862, 40, 15, 862, - 48, 862, 26, 29, 862, -95, 1826, 140, -95, -95, - -95, -95, -95, -95, 862, -95, -95, -95, -95, 322, - -95, 862, -32, -95, 1917, -95, 95, -95, -95, 1917, - -95, 862, 106, 8, -95, 38, -95, 37, 107, 862, - -95, 31, 33, -95, -18, -95, 1917, -95, 105, 1917, - -95, 181, -95, -95, 113, 1917, 7, -95, -4, 12, - -95, 162, 4, 13, -95, -95, -95, -95, 862, 133, - 1917, -95, 862, 135, 1917, -95, 0, -95, 196, -95, - -95, 862, -95, -95, 206, -95, -95, -95, 108, 1121, - -95, -95, 1379, -95, -95, 1466, -95, -95, -95, -95, - -95, -95, 114, -95, -95, -95, -95, -95, -95, -95, - -95, -95, 450, -95, -12, 361, -95, -95, -95, -95, - 159, 350, 197, -95, -95, 111, -95, -95, 180, -95, - 150, 149, -95, 124, -95, -95, -95, 189, -95, -95, - 109, -95, -95, -95, -95, 85, -95, 603, -95, -95, - 44, 136, 165, -95, 27, -95, -95, 492, 294, -95, - 185, -95, -95, -95, 60, 183, -95, 862, -95, 190, - -95, -95, 36, 41, 192, -95, 862, -95, 199, -95, - -95, 179, -95, 148, -95, 66, 20, 134, 151, 139, - -95, 120, -95, -95, -95, -95, -95, 1292, -95, -95, - 306, -95, -95, 2099, 1553, -95, 397, 81, 333, 87, - 862, 1917, 80, -15, 347, 11, -20, 778, 5, 16, - -95, 1034, -95, -3, -31, 47, 862, 53, 30, 862, - 50, 862, 25, 22, 2, 99, -95, 363, -95, -95, - -95, + -95, -95, -95, -95, -95, 137, 803, -95, -95, 82, + 61, -95, 803, -95, -95, 803, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, 803, + 6, 803, 803, 43, 39, 803, -95, 1669, 803, 803, + -95, 143, -95, 9, -95, -95, 29, -95, 264, 59, + 10, -95, 259, -95, 8, 1942, -95, -95, -95, -95, + -95, 274, -95, -95, 31, -95, -95, -95, -95, -95, + -95, 1942, -95, -95, 421, -95, 414, 105, 2033, 40, + 234, 71, 41, 2215, 66, 803, -95, 65, 28, 803, + 20, -95, 22, 11, -95, -95, 290, -95, -95, -95, + -95, -95, -95, 119, -95, -95, -95, -95, 112, -95, + -95, -95, -95, -95, -95, -17, 27, 803, 135, 117, + -95, -95, 975, -95, 48, -6, 62, -95, 400, 85, + 63, 569, 93, 102, 472, 235, 205, 803, 400, 803, + 803, 803, 803, 398, 803, 803, 803, 803, 803, 253, + 295, 323, 241, 323, 472, 472, 355, 803, 5, 803, + 81, 803, -95, 636, 803, -95, 803, 76, 53, 803, + 57, 2033, -95, 803, 146, 2033, -95, 803, 54, 803, + 803, 90, 84, 803, -95, 12, 125, -24, -95, -95, + 803, -95, 203, 803, -95, -49, 803, -47, 2033, -95, + 803, 130, 2033, -95, -34, 285, -28, 0, 1942, -21, + -95, 2033, -95, 803, 129, 2033, 1, 2033, -95, 17, + 19, -29, -95, -95, 2033, -33, 405, 21, 375, 107, + 803, 2033, 23, -20, 305, -1, -31, 719, 3, 4, + -95, 891, -95, 7, -35, -3, 803, 33, 2, 803, + 13, 803, -18, -11, 803, -95, 1851, 16, -95, -95, + -95, -95, -95, -95, 803, -95, -95, -95, -95, 281, + -95, 803, -45, -95, 2033, -95, 70, -95, -95, 2033, + -95, 803, 122, -12, -95, 14, -95, 34, 106, 803, + -95, -2, 30, -95, -19, -95, 2033, -95, 103, 2033, + -95, 250, -95, -95, 116, 2033, 18, -95, -5, 2, + -95, 280, -60, 2, -95, -95, -95, -95, 803, 110, + 2033, -95, 803, 99, 2033, -95, -8, -95, 156, -95, + -95, 803, -95, -95, 136, -95, -95, -95, 97, 1317, + -95, -95, 1404, -95, -95, 1491, -95, -95, -95, -95, + -95, -95, 98, -95, -95, -95, -95, -95, -95, -95, + -95, -95, 433, -95, 51, 344, -95, -95, -95, -95, + 139, 366, 155, -95, -95, 73, -95, -95, 186, -95, + 190, 162, -95, 101, -95, -95, -95, 131, -95, -95, + 88, -95, -95, -95, -95, 111, -95, 495, -95, -95, + 47, 298, 221, -95, 60, -95, -95, 518, 306, -95, + 255, -95, -95, -95, 58, 292, -95, 803, -95, 246, + -95, -95, 52, 56, 164, -95, 803, -95, 228, -95, + -95, 151, -95, 209, -95, 95, 67, 175, 200, 210, + -95, 86, -95, -95, -95, -95, -95, 1143, 303, 91, + -95, -95, 347, -95, -95, 2124, 1578, -95, 397, 89, + 386, 80, 803, 2033, 94, 26, 308, 74, 25, 719, + 44, 49, -95, 891, -95, 45, 24, 37, 803, 36, + 15, 803, 50, 803, 38, 35, 46, 120, -95, 372, + -95, -95, -14, -95, -95, 183, 238, -95, 257, -95, + -95, 1059, -95, -95, 335, -95, -95, -95, -95, - -103, 0, 3, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -44, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 44, -103, -103, -103, - 20, -103, -103, -16, 13, 110, 121, -103, 165, 156, - -103, -103, 167, 155, -103, -103, -103, -103, 170, -103, - 171, 211, -103, 126, 125, -103, -103, -103, -103, 130, - 136, 142, -103, -103, -103, -103, 131, -103, 134, 137, - 141, 145, -103, 113, 115, 119, 117, 161, 149, -103, - 160, 83, 45, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, 91, -103, 80, -103, 106, 5, - 51, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 23, -103, -103, -103, - -103, -103, 27, -103, -103, 36, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, 94, - -103, 86, 41, -103, -103, 37, -103, 196, 57, 73, - -103, -103, -103, -103, -103, -103, -103, -103, 54, -103, - -103, -103, 50, -103, -103, 70, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, 114, -103, -103, 34, -103, 26, -103, 81, -103, - 67, -103, -103, -103, -103, 79, -103, -103, -103, 4, - -10, -103, -103, -103, -103, -103, -5, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, 19, -103, -103, - -103, -103, 66, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, 18, 209, -103, 210, - 274, 228, 219, -103, 99, 101, 109, 95, 88, -103, - -103, -103, -103, -103, -103, -103, -103, 180, -103, 192, - -103, 194, -103, -103, 200, -103, 111, -103, -103, 129, - -103, 9, -103, 25, -103, 7, -103, 181, -103, 178, - 182, -103, -103, 207, -103, -103, -103, -103, -103, -103, - 201, -103, 120, 92, -103, -103, 87, -103, 76, -103, - 77, -103, 75, -103, -103, 78, -103, -103, 135, -103, - -103, 42, -103, 43, -103, 46, -103, 52, -103, -103, - -103, -103, -103, -103, 32, -103, 30, -103, 33, -103, - 68, 53, -103, -103, 56, -103, -103, 65, -103, -103, - -103, 71, -103, -103, -103, -103, 55, -103, 40, 177, - -103, 211, -103, -103, 39, -103, 2, -103, -103, -103, - -103, -103, -103, -103, 38, -103, -103, -103, -103, -103, - -103, 89, -103, -103, 59, -103, -103, -103, -103, 60, - -103, 72, -103, -103, -103, -103, -103, -22, -103, 61, - -103, -38, -103, -103, -103, -103, -32, -103, -103, -40, - -103, -103, -103, -103, -103, -103, -58, -103, -103, 24, - -103, 64, -103, 31, -103, -103, -103, -103, 35, -103, - 48, -103, 49, -103, 47, -103, -103, -103, -103, -103, - -103, 63, -103, -103, 127, -103, -103, -103, -103, 58, - -103, -103, 74, -103, -103, 62, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, 103, -103, -7, 96, -103, -103, -103, -103, - -103, -103, 1, -103, -103, -103, -103, -103, -9, -103, - 85, -103, -103, -103, -103, -103, -103, 6, -103, -103, - -103, -103, -103, -103, -103, -103, -103, 261, -103, -103, - -103, 16, -103, -103, -103, -103, -103, 267, -103, -103, - 21, -103, -103, -103, -103, -103, -103, 17, -103, -103, - -103, -103, -103, -103, -103, -103, 10, -103, -103, -103, - -103, -103, -103, -8, -103, -103, -103, 12, -2, 14, - -103, -103, -103, -103, -103, -103, -103, 374, -103, -103, - 11, -103, -103, -103, 256, -103, 8, -103, 15, -103, - 105, 28, -103, -103, 22, -103, -103, 84, -103, -103, - -103, 29, -103, -103, -103, -103, -1, -103, -10, 148, - -103, 82, -103, -103, -103, -103, -103, 205, -103, -103, - -103}; + -106, 3, 1, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -54, -106, -106, -106, + -106, -106, -106, -106, -106, -106, 72, -106, -106, -106, + 4, -106, -106, -16, 18, 100, 170, -106, 174, 167, + -106, -106, 164, 182, -106, -106, -106, -106, 127, -106, + 126, 117, -106, 113, 131, -106, -106, -106, -106, 146, + 135, 143, -106, -106, -106, -106, 139, -106, 159, 173, + 109, 83, -106, 136, 149, 150, 156, 133, 120, -106, + 158, 176, 177, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, 91, -106, 101, -106, 94, -2, + -29, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, 33, -106, -106, -106, + -106, -106, 14, -106, -106, 19, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, 85, + -106, 63, 49, -106, -106, 53, -106, 311, 60, 118, + -106, -106, -106, -106, -106, -106, -106, -106, 51, -106, + -106, -106, -4, -106, -106, 59, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, 122, -106, -106, 30, -106, 44, -106, 41, -106, + 27, -106, -106, -106, -106, 84, -106, -106, -106, 71, + 58, -106, -106, -106, -106, -106, 64, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, 13, -106, -106, + -106, -106, 65, -106, -106, -106, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -1, 197, -106, 188, + 187, 221, 229, -106, 90, 87, 93, 105, 107, -106, + -106, -106, -106, -106, -106, -106, -106, 230, -106, 207, + -106, 219, -106, -106, 205, -106, 180, -106, -106, 106, + -106, 28, -106, 31, -106, 26, -106, 185, -106, 198, + 186, -106, -106, 217, -106, -106, -106, -106, -106, -106, + 220, -106, 81, 97, -106, -106, 172, -106, 76, -106, + 78, -106, 69, -106, -106, 89, -106, -106, 86, -106, + -106, 75, -106, 80, -106, 70, -106, 82, -106, -106, + -106, -106, -106, -106, 42, -106, 39, -106, 40, -106, + 214, 48, -106, -106, 37, -106, -106, 163, -106, -106, + -106, 52, -106, -106, -106, -106, 61, -106, 50, 151, + -106, 67, -106, -106, 43, -106, 45, -106, -106, -106, + -106, -106, -106, -106, 47, -106, -106, -106, -106, -106, + -106, 98, -106, -106, 57, -106, -106, -106, -106, 54, + -106, 55, -106, -106, -106, -106, -106, -38, -106, 66, + -106, -24, -106, -106, -106, -106, -15, -106, -106, -18, + -106, -106, -106, -106, -106, -106, -46, -106, -106, 24, + -106, 36, -106, 25, -106, -106, -106, -106, 35, -106, + 68, -106, 34, -106, 38, -106, -106, -106, -106, -106, + -106, 21, -106, -106, 111, -106, -106, -106, -106, 62, + -106, -106, 132, -106, -106, 56, -106, -106, -106, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, 92, -106, 77, 96, -106, -106, -106, -106, + -106, -106, -9, -106, -106, -106, -106, -106, 0, -106, + -7, -106, -106, -106, -106, -106, -106, 22, -106, -106, + -106, -106, -106, -106, -106, -106, -106, 265, -106, -106, + -106, 16, -106, -106, -106, -106, -106, 280, -106, -106, + -11, -106, -106, -106, -106, -106, -106, 23, -106, -106, + -106, -106, -106, -106, -106, -106, 29, -106, -106, -106, + -106, -106, -106, 12, -106, -106, -106, 11, 8, 5, + -106, -106, -106, -106, -106, -106, -106, 277, 2, -106, + -106, -106, 7, -106, -106, -106, 233, -106, 9, -106, + 15, -106, 73, 17, -106, -106, 6, -106, -106, 74, + -106, -106, -106, 32, -106, -106, -106, -106, 20, -106, + 10, 151, -106, 104, -106, -106, -106, -106, -106, 112, + -106, -106, -106, -106, -106, -106, 88, -106, 95, -106, + -106, 284, -106, -106, -8, -106, -106, -106, -106}; const int QmlJSGrammar::action_info [] = { - 335, -105, 252, 182, -94, 411, -91, 337, 343, 386, - 398, 178, -113, 384, 347, 396, 343, 461, -91, 174, - 338, 252, 340, -95, -116, -113, 96, 439, 403, 136, - 159, 165, 441, 66, 94, -81, 419, 425, 492, 620, - 426, 415, 419, 419, 159, 435, 435, -118, 435, 184, - 411, 94, -95, -94, -116, -121, 561, -121, 452, -124, - -118, 448, 448, 435, 443, 452, 136, 291, 289, 328, - 554, 296, 335, 267, 568, 307, 492, 267, 404, 448, - 571, 409, 287, 66, 435, 411, 341, -105, -124, 545, - 343, 247, 252, 330, 185, 320, 142, 289, 307, 313, - 510, 96, 136, 452, 0, 287, 322, 617, 136, 136, - 540, 246, 429, 136, 136, 0, 472, 422, 527, 438, - 231, 0, 136, 144, 136, 326, 0, 136, 301, 53, - 299, 251, 250, 439, 161, 57, 244, 243, 162, 136, - 54, 136, 53, 136, 242, 241, 58, 394, 244, 243, - 0, 237, 236, 54, 249, 618, 408, 407, 53, 323, - 345, 332, 423, 31, 473, 31, 413, 53, 31, 54, - 522, 521, 507, 506, 483, 137, 305, 541, 54, 31, - 541, 573, 572, 244, 243, 515, 514, 172, 309, 136, - 547, 31, 310, 450, 541, 454, 269, 270, 136, 556, - 44, 45, 44, 45, 464, 44, 45, 136, 0, 31, - 519, 518, 0, 167, 541, 563, 44, 45, 31, 0, - 504, 503, 543, 271, 272, 543, 31, 0, 44, 45, - 136, 31, 168, 542, 169, 31, 542, 31, 517, 543, - 564, 562, 433, 432, 548, 546, 44, 45, 502, 31, - 542, 551, 550, 557, 555, 44, 45, 465, 463, 543, - 560, 559, 59, 44, 45, 3, 2, 1, 44, 45, - 542, 0, 44, 45, 44, 45, 80, 80, 81, 81, - 80, 0, 81, 230, 229, 31, 44, 45, 31, 82, - 82, 31, 80, 82, 81, 80, 0, 81, 80, 59, - 81, 577, 80, 31, 81, 82, 0, 60, 82, 510, - 31, 82, 59, 61, 136, 82, 0, 80, 80, 81, - 81, 0, 44, 45, 0, 44, 45, 527, 44, 45, - 82, 82, 80, 80, 81, 81, 80, 167, 81, 527, - 44, 45, 68, 69, 60, 82, 82, 44, 45, 82, - 61, 80, 0, 81, 269, 270, 168, 60, 401, 68, - 69, 0, 31, 61, 82, 510, 31, 230, 229, 70, - 71, 0, 0, -335, 0, 0, 31, 0, 0, 274, - 275, 271, 272, -335, 0, 0, 70, 71, 276, 98, - 31, 277, 31, 278, 240, 239, 0, 511, 0, 44, - 45, 0, 0, 44, 45, 31, 0, 0, 99, 0, - 100, 512, 509, 44, 45, 0, 0, 31, 0, 31, - 499, 0, 499, 0, 0, 0, 31, 44, 45, 44, - 45, 0, 0, 0, 31, 0, 0, 235, 234, 508, - 0, 0, 44, 45, 0, 0, 498, 0, 498, 240, - 239, 235, 234, 0, 44, 45, 44, 45, 235, 234, - 0, 0, 0, 44, 45, 0, 240, 239, 0, 274, - 275, 44, 45, 0, 0, 0, 73, 74, 276, 31, - 0, 277, 0, 278, 75, 76, 73, 74, 77, 0, - 78, 0, 0, 0, 75, 76, 73, 74, 77, 0, - 78, 0, 530, 0, 75, 76, 0, 0, 77, 499, - 78, 73, 74, 0, 531, 500, 44, 45, 0, 75, - 76, 31, 0, 77, 0, 78, 0, 0, 0, 0, - 0, 73, 74, 0, 0, 498, 0, 0, 0, 75, - 76, 274, 275, 77, 0, 78, 146, 575, 0, 0, - 276, 499, 0, 277, 0, 278, 147, 0, 532, 534, - 148, 0, 0, 0, 0, 0, 221, 0, 0, 149, - 0, 150, 0, 0, 0, 205, 0, 498, 0, 0, - 146, 0, 151, 0, 152, 57, 0, 0, 0, 0, - 147, 0, 153, 0, 148, 154, 58, 0, 0, 0, - 0, 155, 0, 149, 0, 150, 0, 156, 0, 0, - 0, 0, 0, 530, 0, 0, 151, 0, 152, 57, - 0, 0, 157, 0, 0, 531, 153, 0, 0, 154, - 58, 0, 31, 0, 0, 155, 0, 0, 0, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 28, 0, 0, 0, 0, 157, 0, 533, 0, - 30, 0, 499, 0, 0, 0, 0, 31, 0, 532, - 534, 32, 33, 0, 34, 0, 0, 221, 0, 0, - 0, 38, 0, 0, 0, 41, 205, 0, 498, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, - 0, 0, 0, 46, 44, 45, 0, 47, 147, 0, - 0, 0, 148, 0, 0, 0, 0, 0, 40, 49, - 29, 149, 0, 150, 37, 0, 303, 0, 0, 0, - 0, 0, 0, 0, 151, 0, 152, 57, 0, 0, - 0, 0, 0, 0, 153, 0, 0, 154, 58, 0, - 0, 0, 0, 155, 0, 0, 0, 0, 0, 156, + 443, 411, 335, 419, -127, 343, -102, 330, 96, 461, + -124, -106, 326, 328, -105, 403, 252, 347, 448, 419, + -132, 415, 398, 394, 384, 452, 396, 386, -135, 320, + -116, 441, 337, 338, 340, 435, 425, 426, 439, 419, + -129, 185, 287, -129, -127, 159, 165, 452, 435, 267, + 136, -124, -105, 435, 94, 638, -106, -132, 448, 246, + 411, 343, 252, 247, 411, 178, 492, 182, 96, 174, + 184, 452, 409, 404, 448, 626, 252, 343, 341, -92, + 94, -102, 267, 289, 136, 554, 231, 545, 335, 561, + 142, 313, 307, 291, 159, 307, -135, 66, 631, 0, + 0, -116, 287, 568, 53, 472, 136, 136, 53, 53, + 429, 136, 53, 540, 299, 54, 422, 301, 136, 54, + 54, 144, 438, 54, 296, 161, 510, 571, 619, 162, + 136, 408, 407, 322, 507, 506, 439, 136, 136, 492, + 289, 244, 243, 136, 527, 136, 57, 573, 572, 522, + 521, 136, 309, 473, 136, 0, 310, 58, 483, 454, + 31, 423, 515, 514, 464, 31, 244, 243, 244, 243, + 450, 556, 0, 242, 241, 80, 620, 81, 251, 250, + 237, 236, 413, 80, 31, 81, 323, 563, 82, 345, + 332, 628, 80, 137, 81, 249, 82, 44, 45, 172, + 504, 503, 44, 45, 31, 82, 305, 80, 31, 81, + 59, 0, 564, 562, 59, 31, 167, 465, 463, 31, + 82, 44, 45, 519, 518, 557, 555, 0, 502, 541, + 59, 80, 31, 81, 31, 168, 136, 169, 541, 31, + 0, 44, 45, 629, 82, 44, 45, 3, 2, 1, + 541, 517, 44, 45, 136, 60, 44, 45, 136, 60, + 80, 61, 81, 31, 0, 61, 80, 31, 81, 44, + 45, 44, 45, 82, 543, 60, 44, 45, 80, 82, + 81, 61, 136, 543, 541, 542, 31, 0, 31, 560, + 559, 82, 0, 31, 542, 543, 167, 98, 0, 547, + 44, 45, 0, 0, 44, 45, 542, 551, 550, 31, + 0, 433, 432, 577, 31, 168, 99, 401, 100, 31, + 80, 510, 81, 44, 45, 44, 45, 31, 0, 543, + 44, 45, 31, 82, 31, 230, 229, 31, 0, 527, + 542, -346, 578, 136, -346, 0, 44, 45, 80, 0, + 81, 44, 45, 548, 546, 136, 44, 45, 68, 69, + 0, 82, 0, 623, 44, 45, 68, 69, 527, 44, + 45, 44, 45, 31, 44, 45, 0, 0, 274, 275, + 527, 510, 0, 0, 0, 70, 71, 276, 0, 0, + 277, 0, 278, 70, 71, 0, 230, 229, 0, 0, + 0, 31, 0, 499, 31, 0, 0, 0, 230, 229, + 44, 45, 0, 511, 0, 31, 0, 0, 269, 270, + 0, 274, 275, 0, 0, 0, 31, 512, 509, 498, + 276, 499, 0, 277, 31, 278, 240, 239, 44, 45, + 0, 44, 45, 31, 0, 271, 272, 240, 239, 0, + 31, 0, 44, 45, 0, 508, 0, 498, 235, 234, + 0, 0, 31, 44, 45, 0, 235, 234, 0, 0, + 0, 44, 45, 0, 0, 240, 239, 73, 74, 0, + 44, 45, 235, 234, 0, 75, 76, 44, 45, 77, + 0, 78, 499, 0, 0, 274, 275, 0, 500, 44, + 45, 0, 0, 0, 276, 530, 0, 277, 0, 278, + 0, 0, 0, 0, 0, 0, 0, 531, 498, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, + 531, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 533, 0, 0, 0, 499, 0, 0, 0, 0, 0, + 0, 532, 534, 0, 0, 0, 0, 73, 74, 221, + 0, 0, 146, 575, 0, 75, 76, 499, 205, 77, + 498, 78, 147, 0, 532, 534, 148, 0, 0, 0, + 0, 0, 221, 0, 0, 149, 0, 150, 0, 0, + 303, 205, 0, 498, 0, 0, 0, 0, 151, 0, + 152, 57, 0, 0, 0, 0, 0, 0, 153, 0, + 0, 154, 58, 0, 0, 0, 0, 155, 0, 0, + 0, 0, 0, 156, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 147, + 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, + 0, 0, 149, 0, 150, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 151, 0, 152, 57, 0, + 0, 0, 0, 0, 0, 153, 0, 0, 154, 58, + 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 34, 0, 0, 0, 0, 0, - 0, 38, 0, 0, 0, 41, 0, 0, 0, 0, + 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, + 0, 0, 32, 33, 0, 34, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 44, 45, 0, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 49, - 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, - 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, - 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, - 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, - 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, - 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 27, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, - 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, + 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, + 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 27, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, + 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, + 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, + 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, + 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, + 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, + 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, + 0, 0, 42, 0, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, + 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, + 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 27, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, + 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, + 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, - 266, 51, 0, 0, 0, 0, 40, 49, 29, 0, - 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, - 0, -114, 0, 0, 0, 26, 27, 28, 0, 0, + 46, 44, 45, 0, 47, 0, 48, 0, 50, 266, + 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 0, 0, 0, 0, 0, 0, 31, 212, + 0, 0, 585, 33, 0, 34, 0, 0, 0, 35, + 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, + 42, 0, 43, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 46, 44, 45, 0, 47, 0, + 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, + 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 26, 27, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 31, 212, 0, 0, 585, 586, 0, 34, + 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, + 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 46, 44, + 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, + 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 470, 0, + 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, + 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, + 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, + 0, 42, 0, 43, 0, 0, 471, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, + 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, + 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, + 0, 0, 0, 0, 0, 478, 0, 0, 26, 27, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, + 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, + 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, + 43, 0, 0, 481, 0, 0, 0, 0, 0, 0, + 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, + 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, + 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, + 0, 0, 470, 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 476, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 478, @@ -451,7 +493,7 @@ const int QmlJSGrammar::action_info [] = { 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, - 0, 0, 42, 0, 43, 0, 0, 481, 0, 0, + 0, 0, 42, 0, 43, 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, 0, @@ -460,151 +502,110 @@ const int QmlJSGrammar::action_info [] = { 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, - 0, 43, 0, 0, 471, 0, 0, 0, 0, 0, + 0, 43, 0, 0, 471, 0, 0, 499, 0, 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, 49, - 29, 0, 0, 0, 37, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 27, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, - 0, 31, 212, 0, 0, 583, 584, 0, 34, 0, + 29, 0, 0, 498, 37, 0, 0, 0, 0, 0, + 0, 0, 0, 104, 105, 106, 0, 0, 108, 110, + 111, 0, 0, 112, 0, 113, 0, 0, 0, 115, + 116, 117, 0, 0, 0, 0, 0, 0, 31, 118, + 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, + 0, 0, 0, 0, 0, 44, 45, 125, 126, 127, + 0, 129, 130, 131, 132, 133, 134, 0, 0, 122, + 128, 114, 107, 109, 123, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 104, 105, 106, 0, 0, 108, + 110, 111, 0, 0, 112, 0, 113, 0, 0, 0, + 115, 116, 117, 0, 0, 0, 0, 0, 0, 388, + 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 121, 0, 0, 0, 389, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, + 0, 0, 0, 0, 0, 393, 390, 392, 125, 126, + 127, 0, 129, 130, 131, 132, 133, 134, 0, 0, + 122, 128, 114, 107, 109, 123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 104, 105, 106, 0, 0, + 108, 110, 111, 0, 0, 112, 0, 113, 0, 0, + 0, 115, 116, 117, 0, 0, 0, 0, 0, 0, + 388, 118, 119, 120, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 121, 0, 0, 0, 389, 0, + 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, + 124, 0, 0, 0, 0, 0, 393, 390, 392, 125, + 126, 127, 0, 129, 130, 131, 132, 133, 134, 0, + 0, 122, 128, 114, 107, 109, 123, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, + 0, 206, 0, 26, 27, 28, 208, 0, 0, 0, + 0, 0, 0, 209, 210, 0, 0, 0, 0, 0, + 0, 211, 212, 0, 0, 213, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 46, 44, 45, - 0, 47, 0, 48, 0, 50, 0, 51, 0, 0, - 0, 0, 40, 49, 29, 0, 0, 0, 37, 0, - 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, - 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 0, 31, 0, - 0, 0, 32, 33, 0, 34, 0, 0, 0, 35, - 0, 36, 38, 39, 0, 0, 41, 0, 0, 0, - 42, 0, 43, 0, 0, 476, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 44, 45, 0, 47, 0, - 48, 0, 50, 0, 51, 0, 0, 0, 0, 40, - 49, 29, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 478, 0, 0, 26, 27, 28, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, - 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, - 39, 0, 0, 41, 0, 0, 0, 42, 0, 43, - 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 44, 45, 0, 47, 0, 48, 0, 50, - 0, 51, 0, 0, 0, 0, 40, 49, 29, 0, - 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, - 0, 470, 0, 0, 26, 27, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 32, 33, 0, 34, + 0, 215, 0, 216, 0, 0, 0, 46, 214, 217, + 218, 47, 219, 48, 220, 50, 221, 51, 222, 223, + 0, 0, 40, 49, 29, 205, 207, 0, 37, 0, + 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, + 0, 0, 206, 0, 26, 27, 28, 208, 0, 0, + 0, 0, 0, 0, 209, 30, 0, 0, 0, 0, + 0, 0, 211, 212, 0, 0, 213, 33, 0, 34, 0, 0, 0, 35, 0, 36, 38, 39, 0, 0, - 41, 0, 0, 0, 42, 0, 43, 0, 0, 471, - 0, 0, 499, 0, 0, 0, 0, 0, 46, 44, - 45, 0, 47, 0, 48, 0, 50, 0, 51, 0, - 0, 0, 0, 40, 49, 29, 0, 0, 498, 37, - 0, 0, 0, 0, 0, 0, 0, 0, 104, 105, - 106, 0, 0, 108, 110, 111, 0, 0, 112, 0, - 113, 0, 0, 0, 115, 116, 117, 0, 0, 0, - 0, 0, 0, 31, 118, 119, 120, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, - 44, 45, 125, 126, 127, 0, 129, 130, 131, 132, - 133, 134, 0, 0, 122, 128, 114, 107, 109, 123, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, - 105, 106, 0, 0, 108, 110, 111, 0, 0, 112, - 0, 113, 0, 0, 0, 115, 116, 117, 0, 0, - 0, 0, 0, 0, 388, 118, 119, 120, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 393, 390, 392, 125, 126, 127, 0, 129, 130, 131, - 132, 133, 134, 0, 0, 122, 128, 114, 107, 109, - 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 104, 105, 106, 0, 0, 108, 110, 111, 0, 0, - 112, 0, 113, 0, 0, 0, 115, 116, 117, 0, - 0, 0, 0, 0, 0, 388, 118, 119, 120, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, - 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, - 0, 391, 0, 0, 0, 124, 0, 0, 0, 0, - 0, 393, 390, 392, 125, 126, 127, 0, 129, 130, - 131, 132, 133, 134, 0, 0, 122, 128, 114, 107, - 109, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 204, 0, 0, 0, 0, 206, 0, 26, 27, - 28, 208, 0, 0, 0, 0, 0, 0, 209, 30, - 0, 0, 0, 0, 0, 0, 211, 212, 0, 0, - 213, 33, 0, 34, 0, 0, 0, 35, 0, 36, - 38, 39, 0, 0, 41, 0, 0, 0, 42, 0, - 43, 0, 0, 0, 0, 0, 215, 0, 216, 0, - 0, 0, 46, 214, 217, 218, 47, 219, 48, 220, - 50, 221, 51, 222, 223, 0, 0, 40, 49, 29, - 205, 207, 0, 37, 0, 0, 0, 0, 0, 0, - 0, 0, 204, 0, 0, 0, 0, 206, 0, 26, - 27, 28, 208, 0, 0, 0, 0, 0, 0, 209, - 210, 0, 0, 0, 0, 0, 0, 211, 212, 0, - 0, 213, 33, 0, 34, 0, 0, 0, 35, 0, - 36, 38, 39, 0, 0, 41, 0, 0, 0, 42, - 0, 43, 0, 0, 0, 0, 0, 215, 0, 216, - 0, 0, 0, 46, 214, 217, 218, 47, 219, 48, - 220, 50, 221, 51, 222, 223, 0, 0, 40, 49, - 29, 205, 207, 0, 37, 0, 0, 0, 0, 0, - 0, 0, 0, 586, 105, 106, 0, 0, 588, 110, - 590, 27, 28, 591, 0, 113, 0, 0, 0, 115, - 593, 594, 0, 0, 0, 0, 0, 0, 595, 596, - 119, 120, 213, 33, 0, 34, 0, 0, 0, 35, - 0, 36, 597, 39, 0, 0, 599, 0, 0, 0, - 42, 0, 43, 0, 0, 0, 0, 0, 601, 0, - 216, 0, 0, 0, 603, 600, 602, 604, 605, 606, - 48, 608, 609, 610, 611, 612, 613, 0, 0, 598, - 607, 592, 587, 589, 123, 37, 0, 0, 0, 0, - 0, 0, 0, 0, 356, 105, 106, 0, 0, 358, - 110, 360, 27, 28, 361, 0, 113, 0, 0, 0, - 115, 363, 364, 0, 0, 0, 0, 0, 0, 365, - 366, 119, 120, 213, 33, 0, 34, 0, 0, 0, - 35, 0, 36, 367, 39, 0, 0, 369, 0, 0, - 0, 42, 0, 43, 0, -260, 0, 0, 0, 371, - 0, 216, 0, 0, 0, 373, 370, 372, 374, 375, - 376, 48, 378, 379, 380, 381, 382, 383, 0, 0, - 368, 377, 362, 357, 359, 123, 37, 0, 0, 0, - 0, 0, 0, 0, 0, + 41, 0, 0, 0, 42, 0, 43, 0, 0, 0, + 0, 0, 215, 0, 216, 0, 0, 0, 46, 214, + 217, 218, 47, 219, 48, 220, 50, 221, 51, 222, + 223, 0, 0, 40, 49, 29, 205, 207, 0, 37, + 0, 0, 0, 0, 0, 0, 0, 0, 588, 105, + 106, 0, 0, 590, 110, 592, 27, 28, 593, 0, + 113, 0, 0, 0, 115, 595, 596, 0, 0, 0, + 0, 0, 0, 597, 598, 119, 120, 213, 33, 0, + 34, 0, 0, 0, 35, 0, 36, 599, 39, 0, + 0, 601, 0, 0, 0, 42, 0, 43, 0, 0, + 0, 0, 0, 603, 0, 216, 0, 0, 0, 605, + 602, 604, 606, 607, 608, 48, 610, 611, 612, 613, + 614, 615, 0, 0, 600, 609, 594, 589, 591, 123, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 356, + 105, 106, 0, 0, 358, 110, 360, 27, 28, 361, + 0, 113, 0, 0, 0, 115, 363, 364, 0, 0, + 0, 0, 0, 0, 365, 366, 119, 120, 213, 33, + 0, 34, 0, 0, 0, 35, 0, 36, 367, 39, + 0, 0, 369, 0, 0, 0, 42, 0, 43, 0, + -271, 0, 0, 0, 371, 0, 216, 0, 0, 0, + 373, 370, 372, 374, 375, 376, 48, 378, 379, 380, + 381, 382, 383, 0, 0, 368, 377, 362, 357, 359, + 123, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 513, 523, 431, 13, 456, 490, 434, 431, 135, 306, - 505, 302, 567, 558, 467, 520, 482, 233, 569, 145, - 549, 574, 248, 570, 238, 552, 585, 315, 304, 177, - 245, 177, 297, 387, 397, 238, 440, 430, 449, 233, - 445, 544, 238, 233, 342, 427, 344, 444, 346, 455, - 451, 424, 453, 138, 348, 245, 434, 143, 431, 183, - 171, 405, 410, 181, 428, 177, 158, 166, 395, 385, - 420, 164, 202, 442, 297, 412, 334, 333, 329, 0, - 331, 141, 297, 245, 55, 55, 175, 181, 480, 85, - 297, 0, 477, 462, 516, 297, 0, 0, 0, 399, - 475, 0, 400, 141, 474, 497, 261, 524, 55, 173, - 175, 265, 497, 501, 297, 101, 202, 0, 399, 141, - 55, 400, 55, 55, 447, 402, 55, 84, 55, 315, - 97, 55, 297, 283, 55, 55, 456, 202, 103, 55, - 282, 55, 163, 95, 279, 55, 280, 175, 160, 55, - 55, 327, 484, 55, 281, 55, 325, 55, 79, 55, - 86, 55, 88, 485, 87, 55, 55, 0, 65, 56, - 55, 55, 62, 336, 55, 298, 55, 55, 63, 67, - 72, 55, 55, 91, 64, 55, 0, 92, 55, 55, - 446, 93, 0, 300, 90, 55, 55, 488, 486, 399, - 55, 55, 400, 324, 83, 101, 89, 55, 466, 487, - 55, 55, 489, 446, 497, 232, 619, 55, 55, 446, - 55, 55, 293, 265, 0, 265, 265, 265, 103, 170, - 0, 339, 55, 288, 293, 311, 308, 265, 0, 265, - 293, 293, 0, 290, 312, 265, 265, 293, 0, 55, - 55, 55, 265, 447, 265, 265, 292, 273, 268, 55, - 0, 0, 295, 321, 265, 614, 286, 616, 55, 314, - 497, 538, 0, 265, 0, 285, 497, 538, 0, 0, - 576, 0, 0, 0, 529, 539, 467, 0, 0, 0, - 529, 539, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 0, 265, - 0, 284, 0, 0, 0, 0, 0, 0, 0, 0, + 505, 135, 516, 490, 141, 183, 13, 637, 315, 513, + 544, 622, 145, 177, 570, 177, 248, 467, 233, 245, + 574, 482, 587, 431, 238, 552, 549, 434, 306, 569, + 302, 520, 558, 567, 304, 297, 334, 453, 449, 233, + 455, 445, 444, 245, 397, 442, 177, 143, 233, 238, + 245, 440, 158, 238, 462, 297, 410, 420, 412, 405, + 181, 202, 430, 171, 431, 427, 138, 434, 424, 428, + 451, 333, 346, 456, 431, 434, 385, 342, 329, 387, + 395, 331, 164, 344, 348, 523, 166, 297, 202, 477, + 315, 0, 0, 0, 0, 480, 0, 627, 181, 0, + 297, 497, 501, 101, 622, 497, 55, 524, 261, 297, + 55, 399, 447, 265, 400, 55, 55, 175, 175, 630, + 456, 497, 163, 621, 202, 0, 55, 0, 55, 103, + 55, 141, 93, 55, 55, 280, 55, 402, 279, 0, + 0, 281, 160, 55, 55, 484, 95, 55, 55, 447, + 55, 141, 55, 282, 97, 283, 55, 173, 92, 56, + 55, 475, 447, 55, 325, 474, 0, 324, 90, 55, + 55, 446, 489, 300, 55, 297, 55, 65, 55, 55, + 63, 89, 55, 297, 79, 339, 55, 336, 64, 55, + 67, 62, 55, 55, 55, 466, 446, 86, 87, 55, + 399, 55, 55, 400, 88, 83, 0, 55, 72, 487, + 55, 399, 486, 55, 400, 485, 55, 0, 0, 55, + 55, 0, 91, 84, 85, 55, 232, 488, 55, 293, + 55, 55, 0, 265, 265, 265, 265, 284, 273, 327, + 55, 55, 616, 308, 618, 265, 265, 298, 293, 268, + 55, 312, 0, 265, 0, 265, 0, 55, 311, 175, + 293, 290, 293, 293, 55, 265, 467, 265, 265, 265, + 295, 285, 55, 55, 497, 538, 0, 265, 265, 286, + 582, 0, 314, 0, 292, 321, 288, 634, 0, 497, + 538, 529, 539, 576, 580, 581, 583, 584, 0, 0, + 0, 632, 633, 635, 636, 0, 529, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 580, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 578, 579, 581, 582, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -614,116 +615,153 @@ const int QmlJSGrammar::action_info [] = { 0, 0, 0, 0, 0, 0, 0}; const int QmlJSGrammar::action_check [] = { - 36, 7, 36, 8, 7, 36, 7, 60, 36, 8, - 55, 36, 7, 7, 16, 55, 36, 17, 7, 60, - 33, 36, 55, 7, 7, 7, 78, 20, 60, 8, - 2, 7, 36, 1, 48, 33, 5, 55, 88, 0, - 7, 33, 5, 5, 2, 33, 33, 7, 33, 60, - 36, 48, 7, 7, 7, 7, 29, 7, 36, 7, - 7, 36, 36, 33, 60, 36, 8, 8, 78, 60, - 29, 61, 36, 1, 8, 2, 88, 1, 7, 36, - 60, 7, 48, 1, 33, 36, 7, 7, 7, 29, - 36, 36, 36, 31, 33, 17, 8, 78, 2, 7, - 15, 78, 8, 36, -1, 48, 8, 8, 8, 8, - 66, 76, 7, 8, 8, -1, 8, 10, 33, 6, - 55, -1, 8, 60, 8, 61, -1, 8, 60, 40, - 61, 61, 62, 20, 50, 42, 61, 62, 54, 8, - 51, 8, 40, 8, 61, 62, 53, 7, 61, 62, - -1, 61, 62, 51, 60, 56, 61, 62, 40, 61, - 60, 60, 55, 29, 56, 29, 60, 40, 29, 51, - 61, 62, 61, 62, 60, 56, 60, 29, 51, 29, - 29, 61, 62, 61, 62, 61, 62, 56, 50, 8, - 7, 29, 54, 60, 29, 60, 18, 19, 8, 7, - 66, 67, 66, 67, 8, 66, 67, 8, -1, 29, - 61, 62, -1, 15, 29, 36, 66, 67, 29, -1, - 61, 62, 74, 45, 46, 74, 29, -1, 66, 67, - 8, 29, 34, 85, 36, 29, 85, 29, 89, 74, - 61, 62, 61, 62, 61, 62, 66, 67, 89, 29, - 85, 61, 62, 61, 62, 66, 67, 61, 62, 74, - 61, 62, 12, 66, 67, 90, 91, 92, 66, 67, - 85, -1, 66, 67, 66, 67, 25, 25, 27, 27, - 25, -1, 27, 61, 62, 29, 66, 67, 29, 38, - 38, 29, 25, 38, 27, 25, -1, 27, 25, 12, - 27, 7, 25, 29, 27, 38, -1, 57, 38, 15, - 29, 38, 12, 63, 8, 38, -1, 25, 25, 27, - 27, -1, 66, 67, -1, 66, 67, 33, 66, 67, - 38, 38, 25, 25, 27, 27, 25, 15, 27, 33, - 66, 67, 18, 19, 57, 38, 38, 66, 67, 38, - 63, 25, -1, 27, 18, 19, 34, 57, 36, 18, - 19, -1, 29, 63, 38, 15, 29, 61, 62, 45, - 46, -1, -1, 36, -1, -1, 29, -1, -1, 23, - 24, 45, 46, 36, -1, -1, 45, 46, 32, 15, - 29, 35, 29, 37, 61, 62, -1, 47, -1, 66, - 67, -1, -1, 66, 67, 29, -1, -1, 34, -1, - 36, 61, 62, 66, 67, -1, -1, 29, -1, 29, - 59, -1, 59, -1, -1, -1, 29, 66, 67, 66, - 67, -1, -1, -1, 29, -1, -1, 61, 62, 89, - -1, -1, 66, 67, -1, -1, 85, -1, 85, 61, - 62, 61, 62, -1, 66, 67, 66, 67, 61, 62, - -1, -1, -1, 66, 67, -1, 61, 62, -1, 23, - 24, 66, 67, -1, -1, -1, 23, 24, 32, 29, - -1, 35, -1, 37, 31, 32, 23, 24, 35, -1, - 37, -1, -1, -1, 31, 32, 23, 24, 35, -1, - 37, -1, 10, -1, 31, 32, -1, -1, 35, 59, - 37, 23, 24, -1, 22, 65, 66, 67, -1, 31, - 32, 29, -1, 35, -1, 37, -1, -1, -1, -1, - -1, 23, 24, -1, -1, 85, -1, -1, -1, 31, - 32, 23, 24, 35, -1, 37, 3, 55, -1, -1, - 32, 59, -1, 35, -1, 37, 13, -1, 66, 67, - 17, -1, -1, -1, -1, -1, 74, -1, -1, 26, - -1, 28, -1, -1, -1, 83, -1, 85, -1, -1, - 3, -1, 39, -1, 41, 42, -1, -1, -1, -1, - 13, -1, 49, -1, 17, 52, 53, -1, -1, -1, - -1, 58, -1, 26, -1, 28, -1, 64, -1, -1, - -1, -1, -1, 10, -1, -1, 39, -1, 41, 42, - -1, -1, 79, -1, -1, 22, 49, -1, -1, 52, - 53, -1, 29, -1, -1, 58, -1, -1, -1, -1, - -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, - 12, 13, -1, -1, -1, -1, 79, -1, 55, -1, - 22, -1, 59, -1, -1, -1, -1, 29, -1, 66, - 67, 33, 34, -1, 36, -1, -1, 74, -1, -1, - -1, 43, -1, -1, -1, 47, 83, -1, 85, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, - -1, -1, -1, 65, 66, 67, -1, 69, 13, -1, - -1, -1, 17, -1, -1, -1, -1, -1, 80, 81, - 82, 26, -1, 28, 86, -1, 31, -1, -1, -1, - -1, -1, -1, -1, 39, -1, 41, 42, -1, -1, - -1, -1, -1, -1, 49, -1, -1, 52, 53, -1, - -1, -1, -1, 58, -1, -1, -1, -1, -1, 64, + 60, 36, 36, 5, 7, 36, 7, 31, 78, 17, + 7, 7, 61, 60, 7, 60, 36, 16, 36, 5, + 7, 33, 55, 7, 7, 36, 55, 8, 7, 17, + 7, 36, 60, 33, 55, 33, 55, 7, 20, 5, + 7, 33, 48, 7, 7, 2, 7, 36, 33, 1, + 8, 7, 7, 33, 48, 0, 7, 7, 36, 76, + 36, 36, 36, 36, 36, 36, 88, 8, 78, 60, + 60, 36, 7, 7, 36, 89, 36, 36, 7, 33, + 48, 7, 1, 78, 8, 29, 55, 29, 36, 29, + 8, 7, 2, 8, 2, 2, 7, 1, 7, -1, + -1, 7, 48, 8, 40, 8, 8, 8, 40, 40, + 7, 8, 40, 66, 61, 51, 10, 60, 8, 51, + 51, 60, 6, 51, 61, 50, 15, 60, 8, 54, + 8, 61, 62, 8, 61, 62, 20, 8, 8, 88, + 78, 61, 62, 8, 33, 8, 42, 61, 62, 61, + 62, 8, 50, 56, 8, -1, 54, 53, 60, 60, + 29, 55, 61, 62, 8, 29, 61, 62, 61, 62, + 60, 7, -1, 61, 62, 25, 56, 27, 61, 62, + 61, 62, 60, 25, 29, 27, 61, 36, 38, 60, + 60, 8, 25, 56, 27, 60, 38, 66, 67, 56, + 61, 62, 66, 67, 29, 38, 60, 25, 29, 27, + 12, -1, 61, 62, 12, 29, 15, 61, 62, 29, + 38, 66, 67, 61, 62, 61, 62, -1, 89, 29, + 12, 25, 29, 27, 29, 34, 8, 36, 29, 29, + -1, 66, 67, 60, 38, 66, 67, 90, 91, 92, + 29, 89, 66, 67, 8, 57, 66, 67, 8, 57, + 25, 63, 27, 29, -1, 63, 25, 29, 27, 66, + 67, 66, 67, 38, 74, 57, 66, 67, 25, 38, + 27, 63, 8, 74, 29, 85, 29, -1, 29, 61, + 62, 38, -1, 29, 85, 74, 15, 15, -1, 7, + 66, 67, -1, -1, 66, 67, 85, 61, 62, 29, + -1, 61, 62, 7, 29, 34, 34, 36, 36, 29, + 25, 15, 27, 66, 67, 66, 67, 29, -1, 74, + 66, 67, 29, 38, 29, 61, 62, 29, -1, 33, + 85, 36, 36, 8, 36, -1, 66, 67, 25, -1, + 27, 66, 67, 61, 62, 8, 66, 67, 18, 19, + -1, 38, -1, 60, 66, 67, 18, 19, 33, 66, + 67, 66, 67, 29, 66, 67, -1, -1, 23, 24, + 33, 15, -1, -1, -1, 45, 46, 32, -1, -1, + 35, -1, 37, 45, 46, -1, 61, 62, -1, -1, + -1, 29, -1, 59, 29, -1, -1, -1, 61, 62, + 66, 67, -1, 47, -1, 29, -1, -1, 18, 19, + -1, 23, 24, -1, -1, -1, 29, 61, 62, 85, + 32, 59, -1, 35, 29, 37, 61, 62, 66, 67, + -1, 66, 67, 29, -1, 45, 46, 61, 62, -1, + 29, -1, 66, 67, -1, 89, -1, 85, 61, 62, + -1, -1, 29, 66, 67, -1, 61, 62, -1, -1, + -1, 66, 67, -1, -1, 61, 62, 23, 24, -1, + 66, 67, 61, 62, -1, 31, 32, 66, 67, 35, + -1, 37, 59, -1, -1, 23, 24, -1, 65, 66, + 67, -1, -1, -1, 32, 10, -1, 35, -1, 37, + -1, -1, -1, -1, -1, -1, -1, 22, 85, -1, + -1, -1, -1, -1, 29, -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, -1, -1, -1, -1, -1, - -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, + 55, -1, -1, -1, 59, -1, -1, -1, -1, -1, + -1, 66, 67, -1, -1, -1, -1, 23, 24, 74, + -1, -1, 3, 55, -1, 31, 32, 59, 83, 35, + 85, 37, 13, -1, 66, 67, 17, -1, -1, -1, + -1, -1, 74, -1, -1, 26, -1, 28, -1, -1, + 31, 83, -1, 85, -1, -1, -1, -1, 39, -1, + 41, 42, -1, -1, -1, -1, -1, -1, 49, -1, + -1, 52, 53, -1, -1, -1, -1, 58, -1, -1, + -1, -1, -1, 64, -1, -1, -1, -1, -1, 3, + -1, -1, -1, -1, -1, -1, -1, -1, 79, 13, + -1, -1, -1, 17, -1, -1, -1, -1, -1, -1, + -1, -1, 26, -1, 28, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 39, -1, 41, 42, -1, + -1, -1, -1, -1, -1, 49, -1, -1, 52, 53, + -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, + 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, 66, 67, -1, 69, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, - 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, - -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, - -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, - -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, - -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, - -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, - -1, -1, -1, -1, -1, -1, -1, 11, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, - -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, - 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, + -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, + -1, -1, 33, 34, -1, 36, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, - 74, 75, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, - -1, 7, -1, -1, -1, 11, 12, 13, -1, -1, + -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, + 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, + -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, + 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, + -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, + -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, + -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, + -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, + 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, + -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, + -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, + 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, + -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, + -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, + -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, + -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, + -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, + -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 65, 66, 67, -1, 69, -1, 71, -1, 73, 74, + 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, + -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, + 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 22, -1, -1, -1, -1, -1, -1, 29, 30, + -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, + 61, -1, -1, -1, 65, 66, 67, -1, 69, -1, + 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, + 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, + -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, 61, -1, -1, -1, 65, 66, + 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, + -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, + -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, + -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, + -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, + -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, + 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, + -1, 51, -1, 53, -1, -1, 56, -1, -1, -1, + -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, + -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, + 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, + -1, -1, -1, -1, -1, 8, -1, -1, 11, 12, + 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, + -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, + 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, + 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, + 53, -1, -1, 56, -1, -1, -1, -1, -1, -1, + -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, + 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, + -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, + -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, + 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 8, @@ -740,151 +778,110 @@ const int QmlJSGrammar::action_check [] = { 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, - -1, 53, -1, -1, 56, -1, -1, -1, -1, -1, + -1, 53, -1, -1, 56, -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, 81, - 82, -1, -1, -1, 86, -1, -1, -1, -1, -1, - -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, + 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, + -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, + 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, + -1, -1, -1, -1, -1, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, 82, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, + 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, + 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, + 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 43, -1, -1, -1, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, + -1, -1, -1, -1, -1, 65, 66, 67, 68, 69, + 70, -1, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, 82, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4, 5, 6, -1, -1, + 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, + -1, 20, 21, 22, -1, -1, -1, -1, -1, -1, + 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, 47, -1, + -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, + 59, -1, -1, -1, -1, -1, 65, 66, 67, 68, + 69, 70, -1, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, 82, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, + -1, 9, -1, 11, 12, 13, 14, -1, -1, -1, + -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, - -1, -1, -1, 61, -1, -1, -1, 65, 66, 67, - -1, 69, -1, 71, -1, 73, -1, 75, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, - -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, - 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, - -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - 51, -1, 53, -1, -1, 56, -1, -1, -1, -1, - -1, -1, -1, -1, 65, 66, 67, -1, 69, -1, - 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, 86, -1, -1, -1, -1, - -1, -1, -1, -1, 8, -1, -1, 11, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, - -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, - 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, - 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, - -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, - -1, 65, 66, 67, -1, 69, -1, 71, -1, 73, - -1, 75, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, - -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, - -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, + -1, 59, -1, 61, -1, -1, -1, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, 82, 83, 84, -1, 86, -1, + -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, + -1, -1, 9, -1, 11, 12, 13, 14, -1, -1, + -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, + -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, - 47, -1, -1, -1, 51, -1, 53, -1, -1, 56, - -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, - 67, -1, 69, -1, 71, -1, 73, -1, 75, -1, - -1, -1, -1, 80, 81, 82, -1, -1, 85, 86, + 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, -1, -1, 80, 81, 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, - 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, + 6, -1, -1, 9, 10, 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, -1, - -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - 66, 67, 68, 69, 70, -1, 72, 73, 74, 75, + -1, -1, -1, 29, 30, 31, 32, 33, 34, -1, + 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, + -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, + -1, -1, -1, 59, -1, 61, -1, -1, -1, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, 85, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, - 5, 6, -1, -1, 9, 10, 11, -1, -1, 14, + 86, -1, -1, -1, -1, -1, -1, -1, -1, 4, + 5, 6, -1, -1, 9, 10, 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, -1, - -1, -1, -1, -1, 29, 30, 31, 32, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, - -1, -1, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, - 65, 66, 67, 68, 69, 70, -1, 72, 73, 74, + -1, -1, -1, -1, 29, 30, 31, 32, 33, 34, + -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, + -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, + 55, -1, -1, -1, 59, -1, 61, -1, -1, -1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, 84, - 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4, 5, 6, -1, -1, 9, 10, 11, -1, -1, - 14, -1, 16, -1, -1, -1, 20, 21, 22, -1, - -1, -1, -1, -1, -1, 29, 30, 31, 32, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, - -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, - -1, 55, -1, -1, -1, 59, -1, -1, -1, -1, - -1, 65, 66, 67, 68, 69, 70, -1, 72, 73, - 74, 75, 76, 77, -1, -1, 80, 81, 82, 83, - 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4, -1, -1, -1, -1, 9, -1, 11, 12, - 13, 14, -1, -1, -1, -1, -1, -1, 21, 22, - -1, -1, -1, -1, -1, -1, 29, 30, -1, -1, - 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, - 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, 59, -1, 61, -1, - -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, -1, -1, 80, 81, 82, - 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, - -1, -1, 4, -1, -1, -1, -1, 9, -1, 11, - 12, 13, 14, -1, -1, -1, -1, -1, -1, 21, - 22, -1, -1, -1, -1, -1, -1, 29, 30, -1, - -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, - 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, - -1, 53, -1, -1, -1, -1, -1, 59, -1, 61, - -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, - 82, 83, 84, -1, 86, -1, -1, -1, -1, -1, - -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, - 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, - 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, - 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, - 51, -1, 53, -1, -1, -1, -1, -1, 59, -1, - 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, - 81, 82, 83, 84, 85, 86, -1, -1, -1, -1, - -1, -1, -1, -1, 4, 5, 6, -1, -1, 9, - 10, 11, 12, 13, 14, -1, 16, -1, -1, -1, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, 33, 34, -1, 36, -1, -1, -1, - 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, - -1, 51, -1, 53, -1, 55, -1, -1, -1, 59, - -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, 82, 83, 84, 85, 86, -1, -1, -1, - -1, -1, -1, -1, -1, + 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, - 9, 8, 3, 3, 9, 2, 16, 3, 3, 2, - 9, 2, 20, 3, 30, 9, 3, 9, 20, 63, - 3, 9, 3, 9, 9, 9, 15, 9, 3, 9, - 2, 9, 3, 31, 2, 9, 94, 77, 3, 9, - 16, 20, 9, 9, 2, 77, 3, 16, 2, 2, - 2, 89, 3, 30, 2, 2, 16, 30, 3, 9, - 3, 2, 2, 9, 3, 9, 30, 30, 30, 30, - 92, 30, 2, 9, 3, 3, 9, 2, 2, -1, - 3, 30, 3, 2, 40, 40, 42, 9, 30, 44, - 3, -1, 30, 30, 9, 3, -1, -1, -1, 34, - 26, -1, 37, 30, 30, 9, 40, 11, 40, 36, - 42, 45, 9, 10, 3, 9, 2, -1, 34, 30, - 40, 37, 40, 40, 42, 36, 40, 44, 40, 9, - 50, 40, 3, 45, 40, 40, 9, 2, 32, 40, - 45, 40, 56, 52, 45, 40, 45, 42, 54, 40, - 40, 64, 42, 40, 45, 40, 64, 40, 45, 40, - 45, 40, 45, 42, 45, 40, 40, -1, 43, 43, - 40, 40, 42, 95, 40, 64, 40, 40, 42, 48, - 46, 40, 40, 46, 42, 40, -1, 46, 40, 40, - 42, 46, -1, 64, 45, 40, 40, 42, 42, 34, - 40, 40, 37, 83, 44, 9, 45, 40, 81, 42, - 40, 40, 42, 42, 9, 101, 11, 40, 40, 42, - 40, 40, 40, 45, -1, 45, 45, 45, 32, 33, - -1, 96, 40, 53, 40, 57, 55, 45, -1, 45, - 40, 40, -1, 51, 62, 45, 45, 40, -1, 40, - 40, 40, 45, 42, 45, 45, 62, 47, 49, 40, - -1, -1, 62, 62, 45, 9, 47, 11, 40, 62, - 9, 10, -1, 45, -1, 47, 9, 10, -1, -1, - 13, -1, -1, -1, 23, 24, 30, -1, -1, -1, - 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, 45, - -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, + 9, 3, 9, 2, 33, 9, 3, 15, 9, 9, + 21, 9, 66, 9, 9, 9, 3, 33, 9, 2, + 9, 3, 15, 3, 9, 9, 3, 17, 2, 21, + 2, 9, 3, 21, 3, 3, 9, 3, 3, 9, + 2, 17, 17, 2, 2, 9, 9, 33, 9, 9, + 2, 97, 33, 9, 33, 3, 2, 95, 3, 2, + 9, 2, 80, 3, 3, 80, 33, 17, 92, 3, + 2, 2, 2, 9, 3, 17, 33, 2, 2, 34, + 33, 3, 33, 3, 2, 8, 33, 3, 2, 33, + 9, -1, -1, -1, -1, 33, -1, 9, 9, -1, + 3, 9, 10, 9, 9, 9, 43, 11, 43, 3, + 43, 37, 45, 48, 40, 43, 43, 45, 45, 24, + 9, 9, 59, 11, 2, -1, 43, -1, 43, 35, + 43, 33, 49, 43, 43, 48, 43, 39, 48, -1, + -1, 48, 57, 43, 43, 45, 55, 43, 43, 45, + 43, 33, 43, 48, 53, 48, 43, 39, 49, 46, + 43, 29, 45, 43, 67, 33, -1, 86, 48, 43, + 43, 45, 45, 67, 43, 3, 43, 46, 43, 43, + 45, 48, 43, 3, 48, 99, 43, 98, 45, 43, + 51, 45, 43, 43, 43, 84, 45, 48, 48, 43, + 37, 43, 43, 40, 48, 47, -1, 43, 49, 45, + 43, 37, 45, 43, 40, 45, 43, -1, -1, 43, + 43, -1, 49, 47, 47, 43, 104, 45, 43, 43, + 43, 43, -1, 48, 48, 48, 48, 50, 50, 67, + 43, 43, 9, 58, 11, 48, 48, 67, 43, 52, + 43, 65, -1, 48, -1, 48, -1, 43, 60, 45, + 43, 54, 43, 43, 43, 48, 33, 48, 48, 48, + 65, 50, 43, 43, 9, 10, -1, 48, 48, 50, + 3, -1, 65, -1, 65, 65, 56, 3, -1, 9, + 10, 26, 27, 13, 17, 18, 19, 20, -1, -1, + -1, 17, 18, 19, 20, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 16, 17, 18, 19, -1, -1, -1, -1, -1, -1, + 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, diff --git a/src/declarative/qml/parser/qmljsgrammar_p.h b/src/declarative/qml/parser/qmljsgrammar_p.h index 1101e69..c2bc60e 100644 --- a/src/declarative/qml/parser/qmljsgrammar_p.h +++ b/src/declarative/qml/parser/qmljsgrammar_p.h @@ -154,15 +154,15 @@ public: T_XOR = 78, T_XOR_EQ = 79, - ACCEPT_STATE = 620, - RULE_COUNT = 339, - STATE_COUNT = 621, + ACCEPT_STATE = 638, + RULE_COUNT = 350, + STATE_COUNT = 639, TERMINAL_COUNT = 95, - NON_TERMINAL_COUNT = 103, + NON_TERMINAL_COUNT = 106, - GOTO_INDEX_OFFSET = 621, - GOTO_INFO_OFFSET = 2285, - GOTO_CHECK_OFFSET = 2285 + GOTO_INDEX_OFFSET = 639, + GOTO_INFO_OFFSET = 2310, + GOTO_CHECK_OFFSET = 2310 }; static const char *const spell []; diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp index 7469381..22f3820 100644 --- a/src/declarative/qml/parser/qmljsparser.cpp +++ b/src/declarative/qml/parser/qmljsparser.cpp @@ -337,8 +337,8 @@ case 28: { } break; case 30: { - AST::UiArrayBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), - sym(4).UiArrayMemberList->finish()); + AST::UiArrayBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish()); node->colonToken = loc(2); node->lbracketToken = loc(3); node->rbracketToken = loc(5); @@ -360,43 +360,66 @@ case 31: { return false; // ### recover } } break; -case 32:case 33:case 34:case 35: + +case 32: { + if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(4).Expression)) { + AST::UiObjectBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), qualifiedId, sym(5).UiObjectInitializer); + node->colonToken = loc(3); + sym(1).Node = node; + } else { + sym(1).Node = 0; + + diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(2), + QLatin1String("Expected a type name after token `:'"))); + + return false; // ### recover + } +} break; +case 33:case 34:case 35:case 36: +{ + AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), sym(4).Statement); + node->colonToken = loc(3); + sym(1).Node = node; +} break; +case 37:case 38:case 39:case 40: { - AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId->finish(), - sym(3).Statement); + AST::UiScriptBinding *node = makeAstNode (driver->nodePool(), + sym(1).UiQualifiedId->finish(), sym(3).Statement); node->colonToken = loc(2); sym(1).Node = node; } break; -case 36: +case 41: -case 37: { +case 42: { sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount()); break; } -case 39: { +case 44: { sym(1).Node = 0; } break; -case 40: { +case 45: { sym(1).Node = sym(1).UiParameterList->finish (); } break; -case 41: { +case 46: { AST::UiParameterList *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).sval); node->identifierToken = loc(2); sym(1).Node = node; } break; -case 42: { +case 47: { AST::UiParameterList *node = makeAstNode (driver->nodePool(), sym(1).UiParameterList, sym(3).sval, sym(4).sval); node->commaToken = loc(2); node->identifierToken = loc(4); sym(1).Node = node; } break; -case 44: { +case 55: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); @@ -407,7 +430,7 @@ case 44: { sym(1).Node = node; } break; -case 46: { +case 57: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), (NameId *)0, sym(2).sval); node->type = AST::UiPublicMember::Signal; node->propertyToken = loc(1); @@ -417,7 +440,7 @@ case 46: { sym(1).Node = node; } break; -case 48: { +case 59: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(3).sval); node->propertyToken = loc(1); node->typeToken = loc(2); @@ -426,7 +449,7 @@ case 48: { sym(1).Node = node; } break; -case 50: { +case 61: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(4).sval); node->isDefaultMember = true; node->defaultToken = loc(1); @@ -437,7 +460,7 @@ case 50: { sym(1).Node = node; } break; -case 52: { +case 63: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(3).sval, sym(5).Expression); node->propertyToken = loc(1); @@ -448,7 +471,7 @@ case 52: { sym(1).Node = node; } break; -case 54: { +case 65: { AST::UiPublicMember *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(4).sval, sym(6).Expression); node->isDefaultMember = true; @@ -461,76 +484,76 @@ case 54: { sym(1).Node = node; } break; -case 55: { +case 66: { sym(1).Node = makeAstNode(driver->nodePool(), sym(1).Node); } break; -case 56: { +case 67: { sym(1).Node = makeAstNode(driver->nodePool(), sym(1).Node); } break; -case 57: -case 58: +case 68: +case 69: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount())); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 60: { +case 71: { QString s = QLatin1String(QmlJSGrammar::spell[T_PROPERTY]); sym(1).sval = driver->intern(s.constData(), s.length()); break; } -case 61: { +case 72: { QString s = QLatin1String(QmlJSGrammar::spell[T_SIGNAL]); sym(1).sval = driver->intern(s.constData(), s.length()); break; } -case 62: { +case 73: { AST::ThisExpression *node = makeAstNode (driver->nodePool()); node->thisToken = loc(1); sym(1).Node = node; } break; -case 63: { +case 74: { AST::IdentifierExpression *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 64: { +case 75: { AST::NullExpression *node = makeAstNode (driver->nodePool()); node->nullToken = loc(1); sym(1).Node = node; } break; -case 65: { +case 76: { AST::TrueLiteral *node = makeAstNode (driver->nodePool()); node->trueToken = loc(1); sym(1).Node = node; } break; -case 66: { +case 77: { AST::FalseLiteral *node = makeAstNode (driver->nodePool()); node->falseToken = loc(1); sym(1).Node = node; } break; -case 67: { +case 78: { AST::NumericLiteral *node = makeAstNode (driver->nodePool(), sym(1).dval); node->literalToken = loc(1); sym(1).Node = node; } break; -case 68: -case 69: { +case 79: +case 80: { AST::StringLiteral *node = makeAstNode (driver->nodePool(), sym(1).sval); node->literalToken = loc(1); sym(1).Node = node; } break; -case 70: { +case 81: { bool rx = lexer->scanRegExp(Lexer::NoPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -541,7 +564,7 @@ case 70: { sym(1).Node = node; } break; -case 71: { +case 82: { bool rx = lexer->scanRegExp(Lexer::EqualPrefix); if (!rx) { diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); @@ -552,28 +575,28 @@ case 71: { sym(1).Node = node; } break; -case 72: { +case 83: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), (AST::Elision *) 0); node->lbracketToken = loc(1); node->rbracketToken = loc(2); sym(1).Node = node; } break; -case 73: { +case 84: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).Elision->finish()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 74: { +case 85: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish ()); node->lbracketToken = loc(1); node->rbracketToken = loc(3); sym(1).Node = node; } break; -case 75: { +case 86: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish (), (AST::Elision *) 0); node->lbracketToken = loc(1); @@ -582,7 +605,7 @@ case 75: { sym(1).Node = node; } break; -case 76: { +case 87: { AST::ArrayLiteral *node = makeAstNode (driver->nodePool(), sym(2).ElementList->finish (), sym(4).Elision->finish()); node->lbracketToken = loc(1); @@ -591,7 +614,7 @@ case 76: { sym(1).Node = node; } break; -case 77: { +case 88: { AST::ObjectLiteral *node = 0; if (sym(2).Node) node = makeAstNode (driver->nodePool(), @@ -603,7 +626,7 @@ case 77: { sym(1).Node = node; } break; -case 78: { +case 89: { AST::ObjectLiteral *node = makeAstNode (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ()); node->lbraceToken = loc(1); @@ -611,67 +634,67 @@ case 78: { sym(1).Node = node; } break; -case 79: { +case 90: { AST::NestedExpression *node = makeAstNode(driver->nodePool(), sym(2).Expression); node->lparenToken = loc(1); node->rparenToken = loc(3); sym(1).Node = node; } break; -case 80: { +case 91: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 81: { +case 92: { AST::UiQualifiedId *node = makeAstNode (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 82: { +case 93: { sym(1).Node = makeAstNode (driver->nodePool(), (AST::Elision *) 0, sym(1).Expression); } break; -case 83: { +case 94: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Elision->finish(), sym(2).Expression); } break; -case 84: { +case 95: { AST::ElementList *node = makeAstNode (driver->nodePool(), sym(1).ElementList, (AST::Elision *) 0, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 85: { +case 96: { AST::ElementList *node = makeAstNode (driver->nodePool(), sym(1).ElementList, sym(3).Elision->finish(), sym(4).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 86: { +case 97: { AST::Elision *node = makeAstNode (driver->nodePool()); node->commaToken = loc(1); sym(1).Node = node; } break; -case 87: { +case 98: { AST::Elision *node = makeAstNode (driver->nodePool(), sym(1).Elision); node->commaToken = loc(2); sym(1).Node = node; } break; -case 88: { +case 99: { AST::PropertyNameAndValueList *node = makeAstNode (driver->nodePool(), sym(1).PropertyName, sym(3).Expression); node->colonToken = loc(2); sym(1).Node = node; } break; -case 89: { +case 100: { AST::PropertyNameAndValueList *node = makeAstNode (driver->nodePool(), sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression); node->commaToken = loc(2); @@ -679,58 +702,36 @@ case 89: { sym(1).Node = node; } break; -case 90: { +case 101: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 91: -case 92: { +case 102: +case 103: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount())); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 93: { +case 104: { AST::StringLiteralPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 94: { +case 105: { AST::NumericLiteralPropertyName *node = makeAstNode (driver->nodePool(), sym(1).dval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 95: { +case 106: { AST::IdentifierPropertyName *node = makeAstNode (driver->nodePool(), sym(1).sval); node->propertyNameToken = loc(1); sym(1).Node = node; } break; -case 96: - -case 97: - -case 98: - -case 99: - -case 100: - -case 101: - -case 102: - -case 103: - -case 104: - -case 105: - -case 106: - case 107: case 108: @@ -770,25 +771,47 @@ case 124: case 125: case 126: + +case 127: + +case 128: + +case 129: + +case 130: + +case 131: + +case 132: + +case 133: + +case 134: + +case 135: + +case 136: + +case 137: { sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount()); } break; -case 131: { +case 142: { AST::ArrayMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 132: { +case 143: { AST::FieldMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).sval); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 133: { +case 144: { AST::NewMemberExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression, sym(4).ArgumentList); node->newToken = loc(1); node->lparenToken = loc(3); @@ -796,384 +819,384 @@ case 133: { sym(1).Node = node; } break; -case 135: { +case 146: { AST::NewExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->newToken = loc(1); sym(1).Node = node; } break; -case 136: { +case 147: { AST::CallExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 137: { +case 148: { AST::CallExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList); node->lparenToken = loc(2); node->rparenToken = loc(4); sym(1).Node = node; } break; -case 138: { +case 149: { AST::ArrayMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->lbracketToken = loc(2); node->rbracketToken = loc(4); sym(1).Node = node; } break; -case 139: { +case 150: { AST::FieldMemberExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).sval); node->dotToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 140: { +case 151: { sym(1).Node = 0; } break; -case 141: { +case 152: { sym(1).Node = sym(1).ArgumentList->finish(); } break; -case 142: { +case 153: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Expression); } break; -case 143: { +case 154: { AST::ArgumentList *node = makeAstNode (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 147: { +case 158: { AST::PostIncrementExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->incrementToken = loc(2); sym(1).Node = node; } break; -case 148: { +case 159: { AST::PostDecrementExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->decrementToken = loc(2); sym(1).Node = node; } break; -case 150: { +case 161: { AST::DeleteExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->deleteToken = loc(1); sym(1).Node = node; } break; -case 151: { +case 162: { AST::VoidExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->voidToken = loc(1); sym(1).Node = node; } break; -case 152: { +case 163: { AST::TypeOfExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->typeofToken = loc(1); sym(1).Node = node; } break; -case 153: { +case 164: { AST::PreIncrementExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->incrementToken = loc(1); sym(1).Node = node; } break; -case 154: { +case 165: { AST::PreDecrementExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->decrementToken = loc(1); sym(1).Node = node; } break; -case 155: { +case 166: { AST::UnaryPlusExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->plusToken = loc(1); sym(1).Node = node; } break; -case 156: { +case 167: { AST::UnaryMinusExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->minusToken = loc(1); sym(1).Node = node; } break; -case 157: { +case 168: { AST::TildeExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->tildeToken = loc(1); sym(1).Node = node; } break; -case 158: { +case 169: { AST::NotExpression *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->notToken = loc(1); sym(1).Node = node; } break; -case 160: { +case 171: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Mul, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 161: { +case 172: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Div, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 162: { +case 173: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Mod, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 164: { +case 175: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Add, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 165: { +case 176: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Sub, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 167: { +case 178: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::LShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 168: { +case 179: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::RShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 169: { +case 180: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::URShift, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 171: { +case 182: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 172: { +case 183: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 173: { +case 184: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 174: { +case 185: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 175: { +case 186: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 176: { +case 187: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::In, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 178: { +case 189: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 179: { +case 190: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 180: { +case 191: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 181: { +case 192: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 182: { +case 193: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 184: { +case 195: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 185: { +case 196: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 186: { +case 197: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 187: { +case 198: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 189: { +case 200: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 190: { +case 201: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 191: { +case 202: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 192: { +case 203: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 194: { +case 205: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 196: { +case 207: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 198: { +case 209: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 200: { +case 211: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 202: { +case 213: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 204: { +case 215: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 206: { +case 217: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 208: { +case 219: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 210: { +case 221: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 212: { +case 223: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 214: { +case 225: { AST::ConditionalExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1181,7 +1204,7 @@ case 214: { sym(1).Node = node; } break; -case 216: { +case 227: { AST::ConditionalExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); node->questionToken = loc(2); @@ -1189,112 +1212,112 @@ case 216: { sym(1).Node = node; } break; -case 218: { +case 229: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 220: { +case 231: { AST::BinaryExpression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); node->operatorToken = loc(2); sym(1).Node = node; } break; -case 221: { +case 232: { sym(1).ival = QSOperator::Assign; } break; -case 222: { +case 233: { sym(1).ival = QSOperator::InplaceMul; } break; -case 223: { +case 234: { sym(1).ival = QSOperator::InplaceDiv; } break; -case 224: { +case 235: { sym(1).ival = QSOperator::InplaceMod; } break; -case 225: { +case 236: { sym(1).ival = QSOperator::InplaceAdd; } break; -case 226: { +case 237: { sym(1).ival = QSOperator::InplaceSub; } break; -case 227: { +case 238: { sym(1).ival = QSOperator::InplaceLeftShift; } break; -case 228: { +case 239: { sym(1).ival = QSOperator::InplaceRightShift; } break; -case 229: { +case 240: { sym(1).ival = QSOperator::InplaceURightShift; } break; -case 230: { +case 241: { sym(1).ival = QSOperator::InplaceAnd; } break; -case 231: { +case 242: { sym(1).ival = QSOperator::InplaceXor; } break; -case 232: { +case 243: { sym(1).ival = QSOperator::InplaceOr; } break; -case 234: { +case 245: { AST::Expression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 235: { +case 246: { sym(1).Node = 0; } break; -case 238: { +case 249: { AST::Expression *node = makeAstNode (driver->nodePool(), sym(1).Expression, sym(3).Expression); node->commaToken = loc(2); sym(1).Node = node; } break; -case 239: { +case 250: { sym(1).Node = 0; } break; -case 256: { +case 267: { AST::Block *node = makeAstNode (driver->nodePool(), sym(2).StatementList); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 257: { +case 268: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Statement); } break; -case 258: { +case 269: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).StatementList, sym(2).Statement); } break; -case 259: { +case 270: { sym(1).Node = 0; } break; -case 260: { +case 271: { sym(1).Node = sym(1).StatementList->finish (); } break; -case 262: { +case 273: { AST::VariableStatement *node = makeAstNode (driver->nodePool(), sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST)); node->declarationKindToken = loc(1); @@ -1302,76 +1325,76 @@ case 262: { sym(1).Node = node; } break; -case 263: { +case 274: { sym(1).ival = T_CONST; } break; -case 264: { +case 275: { sym(1).ival = T_VAR; } break; -case 265: { +case 276: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclaration); } break; -case 266: { +case 277: { AST::VariableDeclarationList *node = makeAstNode (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); node->commaToken = loc(2); sym(1).Node = node; } break; -case 267: { +case 278: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclaration); } break; -case 268: { +case 279: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); } break; -case 269: { +case 280: { AST::VariableDeclaration *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 270: { +case 281: { AST::VariableDeclaration *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(2).Expression); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 271: { +case 282: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 272: { +case 283: { sym(1).Node = 0; } break; -case 274: { +case 285: { // ### TODO: AST for initializer sym(1) = sym(2); } break; -case 275: { +case 286: { sym(1).Node = 0; } break; -case 277: { +case 288: { AST::EmptyStatement *node = makeAstNode (driver->nodePool()); node->semicolonToken = loc(1); sym(1).Node = node; } break; -case 279: { +case 290: { AST::ExpressionStatement *node = makeAstNode (driver->nodePool(), sym(1).Expression); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 280: { +case 291: { AST::IfStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1380,7 +1403,7 @@ case 280: { sym(1).Node = node; } break; -case 281: { +case 292: { AST::IfStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->ifToken = loc(1); node->lparenToken = loc(2); @@ -1388,7 +1411,7 @@ case 281: { sym(1).Node = node; } break; -case 283: { +case 294: { AST::DoWhileStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(5).Expression); node->doToken = loc(1); node->whileToken = loc(3); @@ -1398,7 +1421,7 @@ case 283: { sym(1).Node = node; } break; -case 284: { +case 295: { AST::WhileStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->whileToken = loc(1); node->lparenToken = loc(2); @@ -1406,7 +1429,7 @@ case 284: { sym(1).Node = node; } break; -case 285: { +case 296: { AST::ForStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); node->forToken = loc(1); @@ -1417,7 +1440,7 @@ case 285: { sym(1).Node = node; } break; -case 286: { +case 297: { AST::LocalForStatement *node = makeAstNode (driver->nodePool(), sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); @@ -1430,7 +1453,7 @@ case 286: { sym(1).Node = node; } break; -case 287: { +case 298: { AST:: ForEachStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Statement); node->forToken = loc(1); @@ -1440,7 +1463,7 @@ case 287: { sym(1).Node = node; } break; -case 288: { +case 299: { AST::LocalForEachStatement *node = makeAstNode (driver->nodePool(), sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); node->forToken = loc(1); @@ -1451,14 +1474,14 @@ case 288: { sym(1).Node = node; } break; -case 290: { +case 301: { AST::ContinueStatement *node = makeAstNode (driver->nodePool()); node->continueToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 292: { +case 303: { AST::ContinueStatement *node = makeAstNode (driver->nodePool(), sym(2).sval); node->continueToken = loc(1); node->identifierToken = loc(2); @@ -1466,14 +1489,14 @@ case 292: { sym(1).Node = node; } break; -case 294: { +case 305: { AST::BreakStatement *node = makeAstNode (driver->nodePool()); node->breakToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 296: { +case 307: { AST::BreakStatement *node = makeAstNode (driver->nodePool(), sym(2).sval); node->breakToken = loc(1); node->identifierToken = loc(2); @@ -1481,14 +1504,14 @@ case 296: { sym(1).Node = node; } break; -case 298: { +case 309: { AST::ReturnStatement *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->returnToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 299: { +case 310: { AST::WithStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).Statement); node->withToken = loc(1); node->lparenToken = loc(2); @@ -1496,7 +1519,7 @@ case 299: { sym(1).Node = node; } break; -case 300: { +case 311: { AST::SwitchStatement *node = makeAstNode (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock); node->switchToken = loc(1); node->lparenToken = loc(2); @@ -1504,90 +1527,90 @@ case 300: { sym(1).Node = node; } break; -case 301: { +case 312: { AST::CaseBlock *node = makeAstNode (driver->nodePool(), sym(2).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 302: { +case 313: { AST::CaseBlock *node = makeAstNode (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(5); sym(1).Node = node; } break; -case 303: { +case 314: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).CaseClause); } break; -case 304: { +case 315: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause); } break; -case 305: { +case 316: { sym(1).Node = 0; } break; -case 306: { +case 317: { sym(1).Node = sym(1).CaseClauses->finish (); } break; -case 307: { +case 318: { AST::CaseClause *node = makeAstNode (driver->nodePool(), sym(2).Expression, sym(4).StatementList); node->caseToken = loc(1); node->colonToken = loc(3); sym(1).Node = node; } break; -case 308: { +case 319: { AST::DefaultClause *node = makeAstNode (driver->nodePool(), sym(3).StatementList); node->defaultToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 309: -case 310: { +case 320: +case 321: { AST::LabelledStatement *node = makeAstNode (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 311: { +case 322: { AST::LabelledStatement *node = makeAstNode (driver->nodePool(), sym(1).sval, sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 313: { +case 324: { AST::ThrowStatement *node = makeAstNode (driver->nodePool(), sym(2).Expression); node->throwToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 314: { +case 325: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Catch); node->tryToken = loc(1); sym(1).Node = node; } break; -case 315: { +case 326: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 316: { +case 327: { AST::TryStatement *node = makeAstNode (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 317: { +case 328: { AST::Catch *node = makeAstNode (driver->nodePool(), sym(3).sval, sym(5).Block); node->catchToken = loc(1); node->lparenToken = loc(2); @@ -1596,20 +1619,20 @@ case 317: { sym(1).Node = node; } break; -case 318: { +case 329: { AST::Finally *node = makeAstNode (driver->nodePool(), sym(2).Block); node->finallyToken = loc(1); sym(1).Node = node; } break; -case 320: { +case 331: { AST::DebuggerStatement *node = makeAstNode (driver->nodePool()); node->debuggerToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 321: { +case 332: { AST::FunctionDeclaration *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); node->identifierToken = loc(2); @@ -1620,7 +1643,7 @@ case 321: { sym(1).Node = node; } break; -case 322: { +case 333: { AST::FunctionExpression *node = makeAstNode (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); if (sym(2).sval) @@ -1632,56 +1655,56 @@ case 322: { sym(1).Node = node; } break; -case 323: { +case 334: { AST::FormalParameterList *node = makeAstNode (driver->nodePool(), sym(1).sval); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 324: { +case 335: { AST::FormalParameterList *node = makeAstNode (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval); node->commaToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 325: { +case 336: { sym(1).Node = 0; } break; -case 326: { +case 337: { sym(1).Node = sym(1).FormalParameterList->finish (); } break; -case 327: { +case 338: { sym(1).Node = 0; } break; -case 329: { +case 340: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElements->finish ()); } break; -case 330: { +case 341: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElement); } break; -case 331: { +case 342: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement); } break; -case 332: { +case 343: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).Statement); } break; -case 333: { +case 344: { sym(1).Node = makeAstNode (driver->nodePool(), sym(1).FunctionDeclaration); } break; -case 334: { +case 345: { sym(1).sval = 0; } break; -case 336: { +case 347: { sym(1).Node = 0; } break; diff --git a/src/declarative/qml/parser/qmljsparser_p.h b/src/declarative/qml/parser/qmljsparser_p.h index 17f33d6..be5317b 100644 --- a/src/declarative/qml/parser/qmljsparser_p.h +++ b/src/declarative/qml/parser/qmljsparser_p.h @@ -219,9 +219,9 @@ protected: -#define J_SCRIPT_REGEXPLITERAL_RULE1 70 +#define J_SCRIPT_REGEXPLITERAL_RULE1 81 -#define J_SCRIPT_REGEXPLITERAL_RULE2 71 +#define J_SCRIPT_REGEXPLITERAL_RULE2 82 QT_END_NAMESPACE -- cgit v0.12