summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/parser
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2009-07-27 07:08:23 (GMT)
committerMartin Jones <martin.jones@nokia.com>2009-07-27 07:08:23 (GMT)
commit10c75fb244f57b7caaf72cd570883e8c8bb5da7d (patch)
tree886ef437f51a4f4973d876bf368e25752e815258 /src/declarative/qml/parser
parent2ea4aec304eefa10a554e40c5f9ea948d18617a7 (diff)
parent27bc8c55608f0363ef49ce79efa9e0cd9f464fae (diff)
downloadQt-10c75fb244f57b7caaf72cd570883e8c8bb5da7d.zip
Qt-10c75fb244f57b7caaf72cd570883e8c8bb5da7d.tar.gz
Qt-10c75fb244f57b7caaf72cd570883e8c8bb5da7d.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/declarative/qml/parser')
-rw-r--r--src/declarative/qml/parser/parser.pri1
-rw-r--r--src/declarative/qml/parser/qmljs.g224
-rw-r--r--src/declarative/qml/parser/qmljsast.cpp62
-rw-r--r--src/declarative/qml/parser/qmljsast_p.h179
-rw-r--r--src/declarative/qml/parser/qmljsastfwd_p.h5
-rw-r--r--src/declarative/qml/parser/qmljsastvisitor_p.h10
-rw-r--r--src/declarative/qml/parser/qmljsgrammar.cpp1376
-rw-r--r--src/declarative/qml/parser/qmljsgrammar_p.h33
-rw-r--r--src/declarative/qml/parser/qmljslexer.cpp59
-rw-r--r--src/declarative/qml/parser/qmljslexer_p.h19
-rw-r--r--src/declarative/qml/parser/qmljsparser.cpp562
-rw-r--r--src/declarative/qml/parser/qmljsparser_p.h9
12 files changed, 1227 insertions, 1312 deletions
diff --git a/src/declarative/qml/parser/parser.pri b/src/declarative/qml/parser/parser.pri
index 610b2aa..1ea249a 100644
--- a/src/declarative/qml/parser/parser.pri
+++ b/src/declarative/qml/parser/parser.pri
@@ -1,5 +1,6 @@
INCLUDEPATH += $$PWD
+DEPENDPATH += $$PWD
HEADERS += $$PWD/qmljsast_p.h \
$$PWD/qmljsastfwd_p.h \
diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g
index 7d8faee..a1c4ba2 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,9 @@ public:
AST::UiObjectMemberList *UiObjectMemberList;
AST::UiArrayMemberList *UiArrayMemberList;
AST::UiQualifiedId *UiQualifiedId;
- AST::UiAttributeList *UiAttributeList;
- AST::UiAttribute *UiAttribute;
+ AST::UiSignature *UiSignature;
+ AST::UiFormalList *UiFormalList;
+ AST::UiFormal *UiFormal;
};
public:
@@ -671,93 +670,25 @@ case $rule_number: {
} break;
./
-UiRootMember: UiAnnotation UiObjectDefinition ;
-/.
-case $rule_number: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
-} break;
-./
-
-UiAnnotation: Empty ;
-UiAnnotation: UiAttributeList ;
+UiRootMember: UiObjectDefinition ;
/.
case $rule_number: {
- sym(1).UiAttributeList = sym(1).UiAttributeList->finish();
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
./
-UiAttributeList: UiAttribute ;
+UiObjectMemberList: UiObjectMember ;
/.
case $rule_number: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(), sym(1).UiAttribute);
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
./
-UiAttributeList: UiAttributeList UiAttribute ;
-/.
-case $rule_number: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiAttribute);
-} break;
-./
-
-UiAttributeName: JsIdentifier ;
-UiAttributeName: ReservedIdentifier ;
-
-UiAttribute: T_AT UiAttributeName ;
-/.
-case $rule_number: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(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<AST::UiAttribute>(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<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
- node->identifierToken = loc(1);
- sym(1).Node = node;
-} break;
-./
-
-UiAttributeValue: T_NUMERIC_LITERAL ;
-/.
-case $rule_number: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
- node->literalToken = loc(1);
- sym(1).Node = node;
-} break;
-./
-
-UiObjectMemberList: UiAnnotation UiObjectMember ;
-/.
-case $rule_number: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
-} break;
-./
-
-UiObjectMemberList: UiObjectMemberList UiAnnotation UiObjectMember ;
+UiObjectMemberList: UiObjectMemberList UiObjectMember ;
/.
case $rule_number: {
AST::UiObjectMemberList *node = makeAstNode<AST:: UiObjectMemberList> (driver->nodePool(),
- sym(1).UiObjectMemberList, sym(2).UiAttributeList, sym(3).UiObjectMember);
+ sym(1).UiObjectMemberList, sym(2).UiObjectMember);
sym(1).Node = node;
} break;
./
@@ -769,20 +700,11 @@ case $rule_number: {
} break;
./
-UiArrayMemberList: UiAttributeList UiObjectDefinition ;
-/.
-case $rule_number: {
- sym(2).UiObjectMember->attributes = sym(1).UiAttributeList->finish();
- sym(1).Node = makeAstNode<AST::UiArrayMemberList> (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<AST::UiArrayMemberList> (driver->nodePool(),
- sym(1).UiArrayMemberList, sym(4).UiObjectMember);
+ sym(1).UiArrayMemberList, sym(3).UiObjectMember);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
@@ -822,8 +744,8 @@ UiObjectMember: UiObjectDefinition ;
UiObjectMember: UiQualifiedId T_COLON T_LBRACKET UiArrayMemberList T_RBRACKET ;
/.
case $rule_number: {
- AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(4).UiArrayMemberList->finish());
+ AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish());
node->colonToken = loc(2);
node->lbracketToken = loc(3);
node->rbracketToken = loc(5);
@@ -831,7 +753,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)) {
@@ -850,6 +772,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<AST::UiObjectBinding> (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<AST::UiScriptBinding> (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:./
@@ -864,8 +828,8 @@ UiObjectMember: UiQualifiedId T_COLON IfStatement ; --- ### do we really want if
/.
{
- AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(3).Statement);
+ AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(3).Statement);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
@@ -918,27 +882,89 @@ case $rule_number: {
} break;
./
-UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN ;
+UiFormal: JsIdentifier ;
+/.
+case $rule_number: {
+ AST::UiFormal *node = makeAstNode<AST::UiFormal>(driver->nodePool(), sym(1).sval);
+ node->identifierToken = loc(1);
+ sym(1).UiFormal = node;
+} break;
+./
+
+UiFormal: JsIdentifier T_AS JsIdentifier ;
+/.
+case $rule_number: {
+ AST::UiFormal *node = makeAstNode<AST::UiFormal>(driver->nodePool(),
+ sym(1).sval, sym(3).sval);
+ node->identifierToken = loc(1);
+ node->asToken = loc(2);
+ node->aliasToken = loc(3);
+ sym(1).UiFormal = node;
+} break;
+./
+
+UiFormalList: UiFormal ;
+/.
+case $rule_number: {
+ sym(1).UiFormalList = makeAstNode<AST::UiFormalList>(driver->nodePool(),
+ sym(1).UiFormal);
+} break;
+./
+
+UiFormalList: UiFormalList T_COMMA UiFormal ;
+/.
+case $rule_number: {
+ sym(1).UiFormalList = makeAstNode<AST::UiFormalList>(driver->nodePool(),
+ sym(1).UiFormalList, sym(3).UiFormal);
+} break;
+./
+
+UiSignature: T_LPAREN T_RPAREN ;
+/.
+case $rule_number: {
+ AST::UiSignature *node = makeAstNode<AST::UiSignature>(driver->nodePool());
+ node->lparenToken = loc(1);
+ node->rparenToken = loc(3);
+ sym(1).UiSignature = node;
+} break;
+./
+
+UiSignature: T_LPAREN UiFormalList T_RPAREN ;
+/.
+case $rule_number: {
+ AST::UiSignature *node = makeAstNode<AST::UiSignature>(driver->nodePool(),
+ sym(2).UiFormalList->finish());
+ node->lparenToken = loc(1);
+ node->rparenToken = loc(3);
+ sym(1).UiSignature = node;
+} break;
+./
+
+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<AST::UiPublicMember> (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<AST::UiPublicMember> (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;
./
@@ -1102,7 +1128,7 @@ case $rule_number: {
PrimaryExpression: T_NUMERIC_LITERAL ;
/.
case $rule_number: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
+ AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (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 fb4ea8a..1d7f09e 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;
@@ -839,29 +801,34 @@ void UiProgram::accept0(Visitor *visitor)
visitor->endVisit(this);
}
-void UiAttributeList::accept0(Visitor *visitor)
+void UiSignature::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- for (UiAttributeList *it = this; it; it = it->next)
- acceptChild(it->attribute, visitor);
+ acceptChild(formals, visitor);
}
-
visitor->endVisit(this);
}
-void UiAttribute::accept0(Visitor *visitor)
+void UiFormalList::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(value, visitor);
+ for (UiFormalList *it = this; it; it = it->next) {
+ acceptChild(it->formal, visitor);
+ }
}
+ visitor->endVisit(this);
+}
+void UiFormal::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ }
visitor->endVisit(this);
}
void UiPublicMember::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(expression, visitor);
}
@@ -871,7 +838,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 +858,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 +869,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 +879,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 +936,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..9745153 100644
--- a/src/declarative/qml/parser/qmljsast_p.h
+++ b/src/declarative/qml/parser/qmljsast_p.h
@@ -214,8 +214,9 @@ public:
Kind_UiQualifiedId,
Kind_UiScriptBinding,
Kind_UiSourceElement,
- Kind_UiAttributeList,
- Kind_UiAttribute
+ Kind_UiFormal,
+ Kind_UiFormalList,
+ Kind_UiSignature
};
inline Node()
@@ -271,6 +272,89 @@ public:
virtual SourceLocation lastSourceLocation() const = 0;
};
+class UiFormal: public Node
+{
+public:
+ QMLJS_DECLARE_AST_NODE(UiFormal)
+
+ UiFormal(NameId *name, NameId *alias = 0)
+ : name(name), alias(alias)
+ { }
+
+ virtual SourceLocation firstSourceLocation() const
+ { return SourceLocation(); }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return SourceLocation(); }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ NameId *name;
+ NameId *alias;
+ SourceLocation identifierToken;
+ SourceLocation asToken;
+ SourceLocation aliasToken;
+};
+
+class UiFormalList: public Node
+{
+public:
+ QMLJS_DECLARE_AST_NODE(UiFormalList)
+
+ UiFormalList(UiFormal *formal)
+ : formal(formal), next(this) {}
+
+ UiFormalList(UiFormalList *previous, UiFormal *formal)
+ : formal(formal)
+ {
+ next = previous->next;
+ previous->next = this;
+ }
+
+ UiFormalList *finish()
+ {
+ UiFormalList *head = next;
+ next = 0;
+ return head;
+ }
+
+ virtual SourceLocation firstSourceLocation() const
+ { return SourceLocation(); }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return SourceLocation(); }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ UiFormal *formal;
+ UiFormalList *next;
+};
+
+class UiSignature: public Node
+{
+public:
+ QMLJS_DECLARE_AST_NODE(UiSignature)
+
+ UiSignature(UiFormalList *formals = 0)
+ : formals(formals)
+ { }
+
+ virtual SourceLocation firstSourceLocation() const
+ { return SourceLocation(); }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return SourceLocation(); }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ SourceLocation lparenToken;
+ UiFormalList *formals;
+ SourceLocation rparenToken;
+};
+
class NestedExpression: public ExpressionNode
{
public:
@@ -402,30 +486,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);
@@ -438,7 +500,6 @@ public:
// attributes:
double value;
- int suffix;
SourceLocation literalToken;
};
@@ -2183,56 +2244,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 +2342,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 +2349,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..f79cfc2 100644
--- a/src/declarative/qml/parser/qmljsastfwd_p.h
+++ b/src/declarative/qml/parser/qmljsastfwd_p.h
@@ -176,8 +176,9 @@ class UiObjectMember;
class UiObjectMemberList;
class UiArrayMemberList;
class UiQualifiedId;
-class UiAttributeList;
-class UiAttribute;
+class UiFormalList;
+class UiFormal;
+class UiSignature;
} } // namespace AST
diff --git a/src/declarative/qml/parser/qmljsastvisitor_p.h b/src/declarative/qml/parser/qmljsastvisitor_p.h
index c2486d7..237640f 100644
--- a/src/declarative/qml/parser/qmljsastvisitor_p.h
+++ b/src/declarative/qml/parser/qmljsastvisitor_p.h
@@ -82,8 +82,9 @@ 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 bool visit(UiSignature *) { return true; }
+ virtual bool visit(UiFormalList *) { return true; }
+ virtual bool visit(UiFormal *) { return true; }
virtual void endVisit(UiProgram *) {}
virtual void endVisit(UiImportList *) {}
@@ -98,8 +99,9 @@ public:
virtual void endVisit(UiObjectMemberList *) {}
virtual void endVisit(UiArrayMemberList *) {}
virtual void endVisit(UiQualifiedId *) {}
- virtual void endVisit(UiAttributeList *) {}
- virtual void endVisit(UiAttribute *) {}
+ virtual void endVisit(UiSignature *) {}
+ virtual void endVisit(UiFormalList *) {}
+ virtual void endVisit(UiFormal *) {}
// 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..21dde3f 100644
--- a/src/declarative/qml/parser/qmljsgrammar.cpp
+++ b/src/declarative/qml/parser/qmljsgrammar.cpp
@@ -51,367 +51,366 @@ 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, 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, 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, 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, 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,
- 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, 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, 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, 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, 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, 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, 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, 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, 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, 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 [] = {
- 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,
+ 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, 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,
- -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};
+ -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 [] = {
- -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,
+ 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,
0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
0, 30, 0, 0, 0, 0, 0, 0, 31, 0,
@@ -421,16 +420,7 @@ const int QmlJSGrammar::action_info [] = {
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,
- 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,
- -123, 0, 0, 0, 26, 27, 28, 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,
@@ -438,95 +428,102 @@ const int QmlJSGrammar::action_info [] = {
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, 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, 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,
+ 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,
+ 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, 590, 591, 0, 34, 0, 0, 0, 35,
+ 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, 0, 470, 0, 0, 26, 27,
+ 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, 476, 0, 0, 0, 0, 0, 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, 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,
- 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, 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, 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, 388, 118,
+ 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, 389, 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, 393, 390, 392, 125, 126, 127,
+ 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,
@@ -536,6 +533,15 @@ const int QmlJSGrammar::action_info [] = {
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, 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,
@@ -545,158 +551,142 @@ 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, 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,
- 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,
- 0, 0, 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, 103, 170, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 621, 0, 0, 624, 623, 0, 0, 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, 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,
+ 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,
+ 22, -1, -1, -1, -1, -1, -1, 29, -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, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
@@ -706,16 +696,7 @@ const int QmlJSGrammar::action_check [] = {
-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,
- -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,
- 7, -1, -1, -1, 11, 12, 13, -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,
@@ -723,33 +704,24 @@ const int QmlJSGrammar::action_check [] = {
-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, -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, -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,
+ -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,
@@ -758,6 +730,23 @@ const int QmlJSGrammar::action_check [] = {
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,
@@ -767,51 +756,50 @@ 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, -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, 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, 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, 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, 47, -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, 65, 66, 67, 68, 69, 70,
+ -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,
@@ -821,6 +809,15 @@ const int QmlJSGrammar::action_check [] = {
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,
@@ -830,81 +827,66 @@ 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, 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,
- -1, -1, -1, -1, 59, -1, 61, -1, -1, -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,
- -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,
- 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,
- -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, 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,
- 9, -1, -1, 12, 13, -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, -1, 36, -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,
-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..c2bc60e 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 = 638,
+ RULE_COUNT = 350,
+ STATE_COUNT = 639,
+ TERMINAL_COUNT = 95,
+ NON_TERMINAL_COUNT = 106,
- GOTO_INDEX_OFFSET = 635,
- GOTO_INFO_OFFSET = 2345,
- GOTO_CHECK_OFFSET = 2345
+ GOTO_INDEX_OFFSET = 639,
+ GOTO_INFO_OFFSET = 2310,
+ GOTO_CHECK_OFFSET = 2310
};
static const char *const spell [];
diff --git a/src/declarative/qml/parser/qmljslexer.cpp b/src/declarative/qml/parser/qmljslexer.cpp
index 0756f10..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)) {
@@ -1038,7 +980,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/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 296559b..9bd6e6f 100644
--- a/src/declarative/qml/parser/qmljsparser.cpp
+++ b/src/declarative/qml/parser/qmljsparser.cpp
@@ -292,109 +292,60 @@ case 20: {
} break;
case 21: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
-case 23: {
- sym(1).UiAttributeList = sym(1).UiAttributeList->finish();
-} break;
-
-case 24: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(), sym(1).UiAttribute);
-} break;
-
-case 25: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiAttribute);
+case 22: {
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
-case 28: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(driver->nodePool(), sym(2).sval);
- ast->atToken = loc(1);
- ast->nameToken = loc(2);
- sym(1).UiAttribute = ast;
-} break;
-
-case 29: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(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<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
- node->identifierToken = loc(1);
- sym(1).Node = node;
-} break;
-
-case 31: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
- node->literalToken = loc(1);
- sym(1).Node = node;
-} break;
-
-case 32: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
-} break;
-
-case 33: {
+case 23: {
AST::UiObjectMemberList *node = makeAstNode<AST:: UiObjectMemberList> (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<AST::UiArrayMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
-case 35: {
- sym(2).UiObjectMember->attributes = sym(1).UiAttributeList->finish();
- sym(1).Node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(), sym(2).UiObjectMember);
-} break;
-
-case 36: {
- sym(4).UiObjectMember->attributes = sym(3).UiAttributeList;
+case 25: {
AST::UiArrayMemberList *node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(),
- sym(1).UiArrayMemberList, sym(4).UiObjectMember);
+ sym(1).UiArrayMemberList, sym(3).UiObjectMember);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 37: {
+case 26: {
AST::UiObjectInitializer *node = makeAstNode<AST::UiObjectInitializer> (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<AST::UiObjectInitializer> (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<AST::UiObjectDefinition> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
sym(2).UiObjectInitializer);
sym(1).Node = node;
} break;
-case 41: {
- AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(4).UiArrayMemberList->finish());
+case 30: {
+ AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish());
node->colonToken = loc(2);
node->lbracketToken = loc(3);
node->rbracketToken = loc(5);
sym(1).Node = node;
} break;
-case 42: {
+case 31: {
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(3).Expression)) {
AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
sym(1).UiQualifiedId->finish(), qualifiedId, sym(4).UiObjectInitializer);
@@ -409,62 +360,127 @@ case 42: {
return false; // ### recover
}
} break;
-case 43:case 44:case 45:case 46:
+
+case 32: {
+ if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(4).Expression)) {
+ AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (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<AST::UiScriptBinding> (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<AST::UiScriptBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(3).Statement);
+ AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(3).Statement);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 47:
+case 41:
-case 48: {
+case 42: {
sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount());
break;
}
-case 50: {
+case 44: {
sym(1).Node = 0;
} break;
-case 51: {
+case 45: {
sym(1).Node = sym(1).UiParameterList->finish ();
} break;
-case 52: {
+case 46: {
AST::UiParameterList *node = makeAstNode<AST::UiParameterList> (driver->nodePool(), sym(1).sval, sym(2).sval);
node->identifierToken = loc(2);
sym(1).Node = node;
} break;
-case 53: {
+case 47: {
AST::UiParameterList *node = makeAstNode<AST::UiParameterList> (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 48: {
+ AST::UiFormal *node = makeAstNode<AST::UiFormal>(driver->nodePool(), sym(1).sval);
+ node->identifierToken = loc(1);
+ sym(1).UiFormal = node;
+} break;
+
+case 49: {
+ AST::UiFormal *node = makeAstNode<AST::UiFormal>(driver->nodePool(),
+ sym(1).sval, sym(3).sval);
+ node->identifierToken = loc(1);
+ node->asToken = loc(2);
+ node->aliasToken = loc(3);
+ sym(1).UiFormal = node;
+} break;
+
+case 50: {
+ sym(1).UiFormalList = makeAstNode<AST::UiFormalList>(driver->nodePool(),
+ sym(1).UiFormal);
+} break;
+
+case 51: {
+ sym(1).UiFormalList = makeAstNode<AST::UiFormalList>(driver->nodePool(),
+ sym(1).UiFormalList, sym(3).UiFormal);
+} break;
+
+case 52: {
+ AST::UiSignature *node = makeAstNode<AST::UiSignature>(driver->nodePool());
+ node->lparenToken = loc(1);
+ node->rparenToken = loc(3);
+ sym(1).UiSignature = node;
+} break;
+
+case 53: {
+ AST::UiSignature *node = makeAstNode<AST::UiSignature>(driver->nodePool(),
+ sym(2).UiFormalList->finish());
+ node->lparenToken = loc(1);
+ node->rparenToken = loc(3);
+ sym(1).UiSignature = node;
+} break;
+
+case 55: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (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 55: {
+case 57: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (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 57: {
+case 59: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval);
node->propertyToken = loc(1);
node->typeToken = loc(2);
@@ -473,7 +489,7 @@ case 57: {
sym(1).Node = node;
} break;
-case 59: {
+case 61: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(3).sval, sym(4).sval);
node->isDefaultMember = true;
node->defaultToken = loc(1);
@@ -484,7 +500,7 @@ case 59: {
sym(1).Node = node;
} break;
-case 61: {
+case 63: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval,
sym(5).Expression);
node->propertyToken = loc(1);
@@ -495,7 +511,7 @@ case 61: {
sym(1).Node = node;
} break;
-case 63: {
+case 65: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(3).sval, sym(4).sval,
sym(6).Expression);
node->isDefaultMember = true;
@@ -508,76 +524,76 @@ case 63: {
sym(1).Node = node;
} break;
-case 64: {
+case 66: {
sym(1).Node = makeAstNode<AST::UiSourceElement>(driver->nodePool(), sym(1).Node);
} break;
-case 65: {
+case 67: {
sym(1).Node = makeAstNode<AST::UiSourceElement>(driver->nodePool(), sym(1).Node);
} break;
-case 66:
-case 67:
+case 68:
+case 69:
{
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()));
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 69: {
+case 71: {
QString s = QLatin1String(QmlJSGrammar::spell[T_PROPERTY]);
sym(1).sval = driver->intern(s.constData(), s.length());
break;
}
-case 70: {
+case 72: {
QString s = QLatin1String(QmlJSGrammar::spell[T_SIGNAL]);
sym(1).sval = driver->intern(s.constData(), s.length());
break;
}
-case 71: {
+case 73: {
AST::ThisExpression *node = makeAstNode<AST::ThisExpression> (driver->nodePool());
node->thisToken = loc(1);
sym(1).Node = node;
} break;
-case 72: {
+case 74: {
AST::IdentifierExpression *node = makeAstNode<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 73: {
+case 75: {
AST::NullExpression *node = makeAstNode<AST::NullExpression> (driver->nodePool());
node->nullToken = loc(1);
sym(1).Node = node;
} break;
-case 74: {
+case 76: {
AST::TrueLiteral *node = makeAstNode<AST::TrueLiteral> (driver->nodePool());
node->trueToken = loc(1);
sym(1).Node = node;
} break;
-case 75: {
+case 77: {
AST::FalseLiteral *node = makeAstNode<AST::FalseLiteral> (driver->nodePool());
node->falseToken = loc(1);
sym(1).Node = node;
} break;
-case 76: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
+case 78: {
+ AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 77:
-case 78: {
+case 79:
+case 80: {
AST::StringLiteral *node = makeAstNode<AST::StringLiteral> (driver->nodePool(), sym(1).sval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 79: {
+case 81: {
bool rx = lexer->scanRegExp(Lexer::NoPrefix);
if (!rx) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage()));
@@ -588,7 +604,7 @@ case 79: {
sym(1).Node = node;
} break;
-case 80: {
+case 82: {
bool rx = lexer->scanRegExp(Lexer::EqualPrefix);
if (!rx) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage()));
@@ -599,28 +615,28 @@ case 80: {
sym(1).Node = node;
} break;
-case 81: {
+case 83: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), (AST::Elision *) 0);
node->lbracketToken = loc(1);
node->rbracketToken = loc(2);
sym(1).Node = node;
} break;
-case 82: {
+case 84: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).Elision->finish());
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
sym(1).Node = node;
} break;
-case 83: {
+case 85: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish ());
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
sym(1).Node = node;
} break;
-case 84: {
+case 86: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish (),
(AST::Elision *) 0);
node->lbracketToken = loc(1);
@@ -629,7 +645,7 @@ case 84: {
sym(1).Node = node;
} break;
-case 85: {
+case 87: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish (),
sym(4).Elision->finish());
node->lbracketToken = loc(1);
@@ -638,7 +654,7 @@ case 85: {
sym(1).Node = node;
} break;
-case 86: {
+case 88: {
AST::ObjectLiteral *node = 0;
if (sym(2).Node)
node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
@@ -650,7 +666,7 @@ case 86: {
sym(1).Node = node;
} break;
-case 87: {
+case 89: {
AST::ObjectLiteral *node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
sym(2).PropertyNameAndValueList->finish ());
node->lbraceToken = loc(1);
@@ -658,67 +674,67 @@ case 87: {
sym(1).Node = node;
} break;
-case 88: {
+case 90: {
AST::NestedExpression *node = makeAstNode<AST::NestedExpression>(driver->nodePool(), sym(2).Expression);
node->lparenToken = loc(1);
node->rparenToken = loc(3);
sym(1).Node = node;
} break;
-case 89: {
+case 91: {
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 90: {
+case 92: {
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 91: {
+case 93: {
sym(1).Node = makeAstNode<AST::ElementList> (driver->nodePool(), (AST::Elision *) 0, sym(1).Expression);
} break;
-case 92: {
+case 94: {
sym(1).Node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).Elision->finish(), sym(2).Expression);
} break;
-case 93: {
+case 95: {
AST::ElementList *node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).ElementList,
(AST::Elision *) 0, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 94: {
+case 96: {
AST::ElementList *node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).ElementList, sym(3).Elision->finish(),
sym(4).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 95: {
+case 97: {
AST::Elision *node = makeAstNode<AST::Elision> (driver->nodePool());
node->commaToken = loc(1);
sym(1).Node = node;
} break;
-case 96: {
+case 98: {
AST::Elision *node = makeAstNode<AST::Elision> (driver->nodePool(), sym(1).Elision);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 97: {
+case 99: {
AST::PropertyNameAndValueList *node = makeAstNode<AST::PropertyNameAndValueList> (driver->nodePool(),
sym(1).PropertyName, sym(3).Expression);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 98: {
+case 100: {
AST::PropertyNameAndValueList *node = makeAstNode<AST::PropertyNameAndValueList> (driver->nodePool(),
sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression);
node->commaToken = loc(2);
@@ -726,40 +742,36 @@ case 98: {
sym(1).Node = node;
} break;
-case 99: {
+case 101: {
AST::IdentifierPropertyName *node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 100:
-case 101: {
+case 102:
+case 103: {
AST::IdentifierPropertyName *node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()));
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 102: {
+case 104: {
AST::StringLiteralPropertyName *node = makeAstNode<AST::StringLiteralPropertyName> (driver->nodePool(), sym(1).sval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 103: {
+case 105: {
AST::NumericLiteralPropertyName *node = makeAstNode<AST::NumericLiteralPropertyName> (driver->nodePool(), sym(1).dval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 104: {
+case 106: {
AST::IdentifierPropertyName *node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 105:
-
-case 106:
-
case 107:
case 108:
@@ -817,25 +829,29 @@ case 133:
case 134:
case 135:
+
+case 136:
+
+case 137:
{
sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount());
} break;
-case 140: {
+case 142: {
AST::ArrayMemberExpression *node = makeAstNode<AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-case 141: {
+case 143: {
AST::FieldMemberExpression *node = makeAstNode<AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval);
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 142: {
+case 144: {
AST::NewMemberExpression *node = makeAstNode<AST::NewMemberExpression> (driver->nodePool(), sym(2).Expression, sym(4).ArgumentList);
node->newToken = loc(1);
node->lparenToken = loc(3);
@@ -843,316 +859,309 @@ case 142: {
sym(1).Node = node;
} break;
-case 144: {
+case 146: {
AST::NewExpression *node = makeAstNode<AST::NewExpression> (driver->nodePool(), sym(2).Expression);
node->newToken = loc(1);
sym(1).Node = node;
} break;
-case 145: {
+case 147: {
AST::CallExpression *node = makeAstNode<AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 146: {
+case 148: {
AST::CallExpression *node = makeAstNode<AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 147: {
+case 149: {
AST::ArrayMemberExpression *node = makeAstNode<AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-case 148: {
+case 150: {
AST::FieldMemberExpression *node = makeAstNode<AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval);
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 149: {
+case 151: {
sym(1).Node = 0;
} break;
-case 150: {
+case 152: {
sym(1).Node = sym(1).ArgumentList->finish();
} break;
-case 151: {
+case 153: {
sym(1).Node = makeAstNode<AST::ArgumentList> (driver->nodePool(), sym(1).Expression);
} break;
-case 152: {
+case 154: {
AST::ArgumentList *node = makeAstNode<AST::ArgumentList> (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 156: {
+case 158: {
AST::PostIncrementExpression *node = makeAstNode<AST::PostIncrementExpression> (driver->nodePool(), sym(1).Expression);
node->incrementToken = loc(2);
sym(1).Node = node;
} break;
-case 157: {
+case 159: {
AST::PostDecrementExpression *node = makeAstNode<AST::PostDecrementExpression> (driver->nodePool(), sym(1).Expression);
node->decrementToken = loc(2);
sym(1).Node = node;
} break;
-case 159: {
+case 161: {
AST::DeleteExpression *node = makeAstNode<AST::DeleteExpression> (driver->nodePool(), sym(2).Expression);
node->deleteToken = loc(1);
sym(1).Node = node;
} break;
-case 160: {
+case 162: {
AST::VoidExpression *node = makeAstNode<AST::VoidExpression> (driver->nodePool(), sym(2).Expression);
node->voidToken = loc(1);
sym(1).Node = node;
} break;
-case 161: {
+case 163: {
AST::TypeOfExpression *node = makeAstNode<AST::TypeOfExpression> (driver->nodePool(), sym(2).Expression);
node->typeofToken = loc(1);
sym(1).Node = node;
} break;
-case 162: {
+case 164: {
AST::PreIncrementExpression *node = makeAstNode<AST::PreIncrementExpression> (driver->nodePool(), sym(2).Expression);
node->incrementToken = loc(1);
sym(1).Node = node;
} break;
-case 163: {
+case 165: {
AST::PreDecrementExpression *node = makeAstNode<AST::PreDecrementExpression> (driver->nodePool(), sym(2).Expression);
node->decrementToken = loc(1);
sym(1).Node = node;
} break;
-case 164: {
+case 166: {
AST::UnaryPlusExpression *node = makeAstNode<AST::UnaryPlusExpression> (driver->nodePool(), sym(2).Expression);
node->plusToken = loc(1);
sym(1).Node = node;
} break;
-case 165: {
+case 167: {
AST::UnaryMinusExpression *node = makeAstNode<AST::UnaryMinusExpression> (driver->nodePool(), sym(2).Expression);
node->minusToken = loc(1);
sym(1).Node = node;
} break;
-case 166: {
+case 168: {
AST::TildeExpression *node = makeAstNode<AST::TildeExpression> (driver->nodePool(), sym(2).Expression);
node->tildeToken = loc(1);
sym(1).Node = node;
} break;
-case 167: {
+case 169: {
AST::NotExpression *node = makeAstNode<AST::NotExpression> (driver->nodePool(), sym(2).Expression);
node->notToken = loc(1);
sym(1).Node = node;
} break;
-case 169: {
+case 171: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Mul, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 170: {
+case 172: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Div, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 171: {
+case 173: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Mod, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 173: {
+case 175: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Add, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 174: {
+case 176: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Sub, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 176: {
+case 178: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::LShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 177: {
+case 179: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::RShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 178: {
+case 180: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::URShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 180: {
+case 182: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Lt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 181: {
+case 183: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Gt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 182: {
+case 184: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Le, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 183: {
+case 185: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Ge, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 184: {
+case 186: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::InstanceOf, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 185: {
+case 187: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::In, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 187: {
+case 189: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Lt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 188: {
+case 190: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Gt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 189: {
+case 191: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Le, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 190: {
+case 192: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Ge, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 191: {
+case 193: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::InstanceOf, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 193: {
+case 195: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Equal, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 194: {
+case 196: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::NotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 195: {
+case 197: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::StrictEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 196: {
+case 198: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::StrictNotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 198: {
+case 200: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Equal, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 199: {
+case 201: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::NotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 200: {
+case 202: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::StrictEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 201: {
- AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::StrictNotEqual, sym(3).Expression);
- node->operatorToken = loc(2);
- sym(1).Node = node;
-} break;
-
case 203: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::BitAnd, sym(3).Expression);
+ QSOperator::StrictNotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1166,7 +1175,7 @@ case 205: {
case 207: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::BitXor, sym(3).Expression);
+ QSOperator::BitAnd, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1180,7 +1189,7 @@ case 209: {
case 211: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::BitOr, sym(3).Expression);
+ QSOperator::BitXor, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1194,7 +1203,7 @@ case 213: {
case 215: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::And, sym(3).Expression);
+ QSOperator::BitOr, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1208,7 +1217,7 @@ case 217: {
case 219: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::Or, sym(3).Expression);
+ QSOperator::And, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1221,6 +1230,13 @@ case 221: {
} break;
case 223: {
+ AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
+ QSOperator::Or, sym(3).Expression);
+ node->operatorToken = loc(2);
+ sym(1).Node = node;
+} break;
+
+case 225: {
AST::ConditionalExpression *node = makeAstNode<AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression,
sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
@@ -1228,7 +1244,7 @@ case 223: {
sym(1).Node = node;
} break;
-case 225: {
+case 227: {
AST::ConditionalExpression *node = makeAstNode<AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression,
sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
@@ -1236,112 +1252,112 @@ case 225: {
sym(1).Node = node;
} break;
-case 227: {
+case 229: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 229: {
+case 231: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 230: {
+case 232: {
sym(1).ival = QSOperator::Assign;
} break;
-case 231: {
+case 233: {
sym(1).ival = QSOperator::InplaceMul;
} break;
-case 232: {
+case 234: {
sym(1).ival = QSOperator::InplaceDiv;
} break;
-case 233: {
+case 235: {
sym(1).ival = QSOperator::InplaceMod;
} break;
-case 234: {
+case 236: {
sym(1).ival = QSOperator::InplaceAdd;
} break;
-case 235: {
+case 237: {
sym(1).ival = QSOperator::InplaceSub;
} break;
-case 236: {
+case 238: {
sym(1).ival = QSOperator::InplaceLeftShift;
} break;
-case 237: {
+case 239: {
sym(1).ival = QSOperator::InplaceRightShift;
} break;
-case 238: {
+case 240: {
sym(1).ival = QSOperator::InplaceURightShift;
} break;
-case 239: {
+case 241: {
sym(1).ival = QSOperator::InplaceAnd;
} break;
-case 240: {
+case 242: {
sym(1).ival = QSOperator::InplaceXor;
} break;
-case 241: {
+case 243: {
sym(1).ival = QSOperator::InplaceOr;
} break;
-case 243: {
+case 245: {
AST::Expression *node = makeAstNode<AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 244: {
+case 246: {
sym(1).Node = 0;
} break;
-case 247: {
+case 249: {
AST::Expression *node = makeAstNode<AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 248: {
+case 250: {
sym(1).Node = 0;
} break;
-case 265: {
+case 267: {
AST::Block *node = makeAstNode<AST::Block> (driver->nodePool(), sym(2).StatementList);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 266: {
+case 268: {
sym(1).Node = makeAstNode<AST::StatementList> (driver->nodePool(), sym(1).Statement);
} break;
-case 267: {
+case 269: {
sym(1).Node = makeAstNode<AST::StatementList> (driver->nodePool(), sym(1).StatementList, sym(2).Statement);
} break;
-case 268: {
+case 270: {
sym(1).Node = 0;
} break;
-case 269: {
+case 271: {
sym(1).Node = sym(1).StatementList->finish ();
} break;
-case 271: {
+case 273: {
AST::VariableStatement *node = makeAstNode<AST::VariableStatement> (driver->nodePool(),
sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST));
node->declarationKindToken = loc(1);
@@ -1349,76 +1365,76 @@ case 271: {
sym(1).Node = node;
} break;
-case 272: {
+case 274: {
sym(1).ival = T_CONST;
} break;
-case 273: {
+case 275: {
sym(1).ival = T_VAR;
} break;
-case 274: {
+case 276: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration);
} break;
-case 275: {
+case 277: {
AST::VariableDeclarationList *node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(),
sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 276: {
+case 278: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration);
} break;
-case 277: {
+case 279: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
} break;
-case 278: {
+case 280: {
AST::VariableDeclaration *node = makeAstNode<AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 279: {
+case 281: {
AST::VariableDeclaration *node = makeAstNode<AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 280: {
+case 282: {
// ### TODO: AST for initializer
sym(1) = sym(2);
} break;
-case 281: {
+case 283: {
sym(1).Node = 0;
} break;
-case 283: {
+case 285: {
// ### TODO: AST for initializer
sym(1) = sym(2);
} break;
-case 284: {
+case 286: {
sym(1).Node = 0;
} break;
-case 286: {
+case 288: {
AST::EmptyStatement *node = makeAstNode<AST::EmptyStatement> (driver->nodePool());
node->semicolonToken = loc(1);
sym(1).Node = node;
} break;
-case 288: {
+case 290: {
AST::ExpressionStatement *node = makeAstNode<AST::ExpressionStatement> (driver->nodePool(), sym(1).Expression);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 289: {
+case 291: {
AST::IfStatement *node = makeAstNode<AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -1427,7 +1443,7 @@ case 289: {
sym(1).Node = node;
} break;
-case 290: {
+case 292: {
AST::IfStatement *node = makeAstNode<AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -1435,7 +1451,7 @@ case 290: {
sym(1).Node = node;
} break;
-case 292: {
+case 294: {
AST::DoWhileStatement *node = makeAstNode<AST::DoWhileStatement> (driver->nodePool(), sym(2).Statement, sym(5).Expression);
node->doToken = loc(1);
node->whileToken = loc(3);
@@ -1445,7 +1461,7 @@ case 292: {
sym(1).Node = node;
} break;
-case 293: {
+case 295: {
AST::WhileStatement *node = makeAstNode<AST::WhileStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
node->whileToken = loc(1);
node->lparenToken = loc(2);
@@ -1453,7 +1469,7 @@ case 293: {
sym(1).Node = node;
} break;
-case 294: {
+case 296: {
AST::ForStatement *node = makeAstNode<AST::ForStatement> (driver->nodePool(), sym(3).Expression,
sym(5).Expression, sym(7).Expression, sym(9).Statement);
node->forToken = loc(1);
@@ -1464,7 +1480,7 @@ case 294: {
sym(1).Node = node;
} break;
-case 295: {
+case 297: {
AST::LocalForStatement *node = makeAstNode<AST::LocalForStatement> (driver->nodePool(),
sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression,
sym(8).Expression, sym(10).Statement);
@@ -1477,7 +1493,7 @@ case 295: {
sym(1).Node = node;
} break;
-case 296: {
+case 298: {
AST:: ForEachStatement *node = makeAstNode<AST::ForEachStatement> (driver->nodePool(), sym(3).Expression,
sym(5).Expression, sym(7).Statement);
node->forToken = loc(1);
@@ -1487,7 +1503,7 @@ case 296: {
sym(1).Node = node;
} break;
-case 297: {
+case 299: {
AST::LocalForEachStatement *node = makeAstNode<AST::LocalForEachStatement> (driver->nodePool(),
sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement);
node->forToken = loc(1);
@@ -1498,14 +1514,14 @@ case 297: {
sym(1).Node = node;
} break;
-case 299: {
+case 301: {
AST::ContinueStatement *node = makeAstNode<AST::ContinueStatement> (driver->nodePool());
node->continueToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 301: {
+case 303: {
AST::ContinueStatement *node = makeAstNode<AST::ContinueStatement> (driver->nodePool(), sym(2).sval);
node->continueToken = loc(1);
node->identifierToken = loc(2);
@@ -1513,14 +1529,14 @@ case 301: {
sym(1).Node = node;
} break;
-case 303: {
+case 305: {
AST::BreakStatement *node = makeAstNode<AST::BreakStatement> (driver->nodePool());
node->breakToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 305: {
+case 307: {
AST::BreakStatement *node = makeAstNode<AST::BreakStatement> (driver->nodePool(), sym(2).sval);
node->breakToken = loc(1);
node->identifierToken = loc(2);
@@ -1528,14 +1544,14 @@ case 305: {
sym(1).Node = node;
} break;
-case 307: {
+case 309: {
AST::ReturnStatement *node = makeAstNode<AST::ReturnStatement> (driver->nodePool(), sym(2).Expression);
node->returnToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 308: {
+case 310: {
AST::WithStatement *node = makeAstNode<AST::WithStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
node->withToken = loc(1);
node->lparenToken = loc(2);
@@ -1543,7 +1559,7 @@ case 308: {
sym(1).Node = node;
} break;
-case 309: {
+case 311: {
AST::SwitchStatement *node = makeAstNode<AST::SwitchStatement> (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock);
node->switchToken = loc(1);
node->lparenToken = loc(2);
@@ -1551,90 +1567,90 @@ case 309: {
sym(1).Node = node;
} break;
-case 310: {
+case 312: {
AST::CaseBlock *node = makeAstNode<AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 311: {
+case 313: {
AST::CaseBlock *node = makeAstNode<AST::CaseBlock> (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 314: {
sym(1).Node = makeAstNode<AST::CaseClauses> (driver->nodePool(), sym(1).CaseClause);
} break;
-case 313: {
+case 315: {
sym(1).Node = makeAstNode<AST::CaseClauses> (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause);
} break;
-case 314: {
+case 316: {
sym(1).Node = 0;
} break;
-case 315: {
+case 317: {
sym(1).Node = sym(1).CaseClauses->finish ();
} break;
-case 316: {
+case 318: {
AST::CaseClause *node = makeAstNode<AST::CaseClause> (driver->nodePool(), sym(2).Expression, sym(4).StatementList);
node->caseToken = loc(1);
node->colonToken = loc(3);
sym(1).Node = node;
} break;
-case 317: {
+case 319: {
AST::DefaultClause *node = makeAstNode<AST::DefaultClause> (driver->nodePool(), sym(3).StatementList);
node->defaultToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 318:
-case 319: {
+case 320:
+case 321: {
AST::LabelledStatement *node = makeAstNode<AST::LabelledStatement> (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 322: {
AST::LabelledStatement *node = makeAstNode<AST::LabelledStatement> (driver->nodePool(), sym(1).sval, sym(3).Statement);
node->identifierToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 322: {
+case 324: {
AST::ThrowStatement *node = makeAstNode<AST::ThrowStatement> (driver->nodePool(), sym(2).Expression);
node->throwToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 323: {
+case 325: {
AST::TryStatement *node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 324: {
+case 326: {
AST::TryStatement *node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 325: {
+case 327: {
AST::TryStatement *node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 326: {
+case 328: {
AST::Catch *node = makeAstNode<AST::Catch> (driver->nodePool(), sym(3).sval, sym(5).Block);
node->catchToken = loc(1);
node->lparenToken = loc(2);
@@ -1643,20 +1659,20 @@ case 326: {
sym(1).Node = node;
} break;
-case 327: {
+case 329: {
AST::Finally *node = makeAstNode<AST::Finally> (driver->nodePool(), sym(2).Block);
node->finallyToken = loc(1);
sym(1).Node = node;
} break;
-case 329: {
+case 331: {
AST::DebuggerStatement *node = makeAstNode<AST::DebuggerStatement> (driver->nodePool());
node->debuggerToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 330: {
+case 332: {
AST::FunctionDeclaration *node = makeAstNode<AST::FunctionDeclaration> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
node->identifierToken = loc(2);
@@ -1667,7 +1683,7 @@ case 330: {
sym(1).Node = node;
} break;
-case 331: {
+case 333: {
AST::FunctionExpression *node = makeAstNode<AST::FunctionExpression> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
if (sym(2).sval)
@@ -1679,56 +1695,56 @@ case 331: {
sym(1).Node = node;
} break;
-case 332: {
+case 334: {
AST::FormalParameterList *node = makeAstNode<AST::FormalParameterList> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 333: {
+case 335: {
AST::FormalParameterList *node = makeAstNode<AST::FormalParameterList> (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval);
node->commaToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 334: {
+case 336: {
sym(1).Node = 0;
} break;
-case 335: {
+case 337: {
sym(1).Node = sym(1).FormalParameterList->finish ();
} break;
-case 336: {
+case 338: {
sym(1).Node = 0;
} break;
-case 338: {
+case 340: {
sym(1).Node = makeAstNode<AST::FunctionBody> (driver->nodePool(), sym(1).SourceElements->finish ());
} break;
-case 339: {
+case 341: {
sym(1).Node = makeAstNode<AST::SourceElements> (driver->nodePool(), sym(1).SourceElement);
} break;
-case 340: {
+case 342: {
sym(1).Node = makeAstNode<AST::SourceElements> (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement);
} break;
-case 341: {
+case 343: {
sym(1).Node = makeAstNode<AST::StatementSourceElement> (driver->nodePool(), sym(1).Statement);
} break;
-case 342: {
+case 344: {
sym(1).Node = makeAstNode<AST::FunctionSourceElement> (driver->nodePool(), sym(1).FunctionDeclaration);
} break;
-case 343: {
+case 345: {
sym(1).sval = 0;
} break;
-case 345: {
+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 74d3c84..e352f43 100644
--- a/src/declarative/qml/parser/qmljsparser_p.h
+++ b/src/declarative/qml/parser/qmljsparser_p.h
@@ -120,8 +120,9 @@ public:
AST::UiObjectMemberList *UiObjectMemberList;
AST::UiArrayMemberList *UiArrayMemberList;
AST::UiQualifiedId *UiQualifiedId;
- AST::UiAttributeList *UiAttributeList;
- AST::UiAttribute *UiAttribute;
+ AST::UiSignature *UiSignature;
+ AST::UiFormalList *UiFormalList;
+ AST::UiFormal *UiFormal;
};
public:
@@ -221,9 +222,9 @@ protected:
-#define J_SCRIPT_REGEXPLITERAL_RULE1 79
+#define J_SCRIPT_REGEXPLITERAL_RULE1 81
-#define J_SCRIPT_REGEXPLITERAL_RULE2 80
+#define J_SCRIPT_REGEXPLITERAL_RULE2 82
QT_END_NAMESPACE