aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/doc/qtqml.qdocconf12
-rw-r--r--src/qml/qml/parser/qqmljs.g117
-rw-r--r--src/qml/qml/parser/qqmljsast.cpp28
-rw-r--r--src/qml/qml/parser/qqmljsast_p.h113
-rw-r--r--src/qml/qml/parser/qqmljsastfwd_p.h4
-rw-r--r--src/qml/qml/parser/qqmljsastvisitor_p.h10
-rw-r--r--src/qml/qml/parser/qqmljsengine_p.cpp2
-rw-r--r--src/qml/qml/parser/qqmljsgrammar.cpp1785
-rw-r--r--src/qml/qml/parser/qqmljsgrammar_p.h36
-rw-r--r--src/qml/qml/parser/qqmljskeywords_p.h26
-rw-r--r--src/qml/qml/parser/qqmljslexer.cpp256
-rw-r--r--src/qml/qml/parser/qqmljslexer_p.h2
-rw-r--r--src/qml/qml/parser/qqmljsparser.cpp414
-rw-r--r--src/qml/qml/parser/qqmljsparser_p.h7
-rw-r--r--src/qml/qml/qqmlmetatype.cpp366
-rw-r--r--src/qml/qml/qqmlvme.cpp9
-rw-r--r--src/qml/qml/v4/qv4irbuilder.cpp14
-rw-r--r--src/qml/qml/v4/qv4irbuilder_p.h4
18 files changed, 1771 insertions, 1434 deletions
diff --git a/src/qml/doc/qtqml.qdocconf b/src/qml/doc/qtqml.qdocconf
index 5a289767ba..45fecc1896 100644
--- a/src/qml/doc/qtqml.qdocconf
+++ b/src/qml/doc/qtqml.qdocconf
@@ -3,19 +3,19 @@ include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
project = QtQml
description = Qt QML Reference Documentation
url = http://qt-project.org/doc/qt-5.0/qtqml
-version = 5.0.1
+version = 5.1.0
qhp.projects = QtQml
qhp.QtQml.file = qtqml.qhp
-qhp.QtQml.namespace = org.qt-project.qtqml.501
+qhp.QtQml.namespace = org.qt-project.qtqml.510
qhp.QtQml.virtualFolder = qtqml
qhp.QtQml.indexTitle = Qt QML
qhp.QtQml.indexRoot =
-qhp.QtQml.filterAttributes = qtqml 5.0.1 qtrefdoc
-qhp.QtQml.customFilters.Qt.name = QtQml 5.0.1
-qhp.QtQml.customFilters.Qt.filterAttributes = qtqml 5.0.1
+qhp.QtQml.filterAttributes = qtqml 5.1.0 qtrefdoc
+qhp.QtQml.customFilters.Qt.name = QtQml 5.1.0
+qhp.QtQml.customFilters.Qt.filterAttributes = qtqml 5.1.0
qhp.QtQml.subprojects = classes examples
qhp.QtQml.subprojects.classes.title = C++ Classes
qhp.QtQml.subprojects.classes.indexTitle = Qt QML Module C++ Classes
@@ -34,7 +34,7 @@ headerdirs += ..
sourcedirs += ..
-exampledirs += ../../../examples/ \
+exampledirs += ../../../examples/qml \
../ \
snippets
diff --git a/src/qml/qml/parser/qqmljs.g b/src/qml/qml/parser/qqmljs.g
index df891da992..b4307909ea 100644
--- a/src/qml/qml/parser/qqmljs.g
+++ b/src/qml/qml/parser/qqmljs.g
@@ -24,7 +24,7 @@
%parser QQmlJSGrammar
%decl qqmljsparser_p.h
%impl qqmljsparser.cpp
-%expect 2
+%expect 5
%expect-rr 2
%token T_AND "&" T_AND_AND "&&" T_AND_EQ "&="
@@ -67,6 +67,8 @@
%token T_IMPORT "import"
%token T_AS "as"
%token T_ON "on"
+%token T_GET "get"
+%token T_SET "set"
%token T_ERROR
@@ -79,7 +81,7 @@
%token T_FEED_JS_PROGRAM
%nonassoc SHIFT_THERE
-%nonassoc T_IDENTIFIER T_COLON T_SIGNAL T_PROPERTY T_READONLY
+%nonassoc T_IDENTIFIER T_COLON T_SIGNAL T_PROPERTY T_READONLY T_ON T_SET T_GET
%nonassoc REDUCE_HERE
%start TopLevel
@@ -240,7 +242,8 @@ public:
AST::FunctionDeclaration *FunctionDeclaration;
AST::Node *Node;
AST::PropertyName *PropertyName;
- AST::PropertyNameAndValueList *PropertyNameAndValueList;
+ AST::PropertyAssignment *PropertyAssignment;
+ AST::PropertyAssignmentList *PropertyAssignmentList;
AST::SourceElement *SourceElement;
AST::SourceElements *SourceElements;
AST::Statement *Statement;
@@ -1043,6 +1046,8 @@ JsIdentifier: T_PROPERTY ;
JsIdentifier: T_SIGNAL ;
JsIdentifier: T_READONLY ;
JsIdentifier: T_ON ;
+JsIdentifier: T_GET ;
+JsIdentifier: T_SET ;
--------------------------------------------------------------------------------------------------------
-- Expressions
@@ -1219,13 +1224,13 @@ case $rule_number: {
-- } break;
-- ./
-PrimaryExpression: T_LBRACE PropertyNameAndValueListOpt T_RBRACE ;
+PrimaryExpression: T_LBRACE PropertyAssignmentListOpt T_RBRACE ;
/.
case $rule_number: {
AST::ObjectLiteral *node = 0;
if (sym(2).Node)
node = new (pool) AST::ObjectLiteral(
- sym(2).PropertyNameAndValueList->finish ());
+ sym(2).PropertyAssignmentList->finish ());
else
node = new (pool) AST::ObjectLiteral();
node->lbraceToken = loc(1);
@@ -1234,11 +1239,11 @@ case $rule_number: {
} break;
./
-PrimaryExpression: T_LBRACE PropertyNameAndValueList T_COMMA T_RBRACE ;
+PrimaryExpression: T_LBRACE PropertyAssignmentList T_COMMA T_RBRACE ;
/.
case $rule_number: {
AST::ObjectLiteral *node = new (pool) AST::ObjectLiteral(
- sym(2).PropertyNameAndValueList->finish ());
+ sym(2).PropertyAssignmentList->finish ());
node->lbraceToken = loc(1);
node->rbraceToken = loc(4);
sym(1).Node = node;
@@ -1330,40 +1335,62 @@ case $rule_number: {
} break;
./
-PropertyNameAndValueList: PropertyName T_COLON AssignmentExpression ;
+PropertyAssignment: PropertyName T_COLON AssignmentExpression ;
/.
case $rule_number: {
- AST::PropertyNameAndValueList *node = new (pool) AST::PropertyNameAndValueList(
+ AST::PropertyNameAndValue *node = new (pool) AST::PropertyNameAndValue(
sym(1).PropertyName, sym(3).Expression);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
./
-PropertyNameAndValueList: PropertyNameAndValueList T_COMMA PropertyName T_COLON AssignmentExpression ;
+PropertyAssignment: T_GET PropertyName T_LPAREN T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
/.
case $rule_number: {
- AST::PropertyNameAndValueList *node = new (pool) AST::PropertyNameAndValueList(
- sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression);
- node->commaToken = loc(2);
- node->colonToken = loc(4);
+ AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter(
+ sym(2).PropertyName, sym(6).FunctionBody);
+ node->getSetToken = loc(1);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(4);
+ node->lbraceToken = loc(5);
+ node->rbraceToken = loc(7);
sym(1).Node = node;
} break;
./
-PropertyName: T_IDENTIFIER %prec SHIFT_THERE ;
+PropertyAssignment: T_SET PropertyName T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
/.
case $rule_number: {
- AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1));
- node->propertyNameToken = loc(1);
+ AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter(
+ sym(2).PropertyName, sym(4).FormalParameterList, sym(7).FunctionBody);
+ node->getSetToken = loc(1);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(5);
+ node->lbraceToken = loc(6);
+ node->rbraceToken = loc(8);
sym(1).Node = node;
} break;
./
-PropertyName: T_SIGNAL ;
-/.case $rule_number:./
+PropertyAssignmentList: PropertyAssignment ;
+/.
+case $rule_number: {
+ sym(1).Node = new (pool) AST::PropertyAssignmentList(sym(1).PropertyAssignment);
+} break;
+./
+
+PropertyAssignmentList: PropertyAssignmentList T_COMMA PropertyAssignment ;
+/.
+case $rule_number: {
+ AST::PropertyAssignmentList *node = new (pool) AST::PropertyAssignmentList(
+ sym(1).PropertyAssignmentList, sym(3).PropertyAssignment);
+ node->commaToken = loc(2);
+ sym(1).Node = node;
+} break;
+./
-PropertyName: T_PROPERTY ;
+PropertyName: JsIdentifier %prec SHIFT_THERE ;
/.
case $rule_number: {
AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1));
@@ -2669,20 +2696,7 @@ case $rule_number: {
} break;
./
-LabelledStatement: T_SIGNAL T_COLON Statement ;
-/.case $rule_number:./
-
-LabelledStatement: T_PROPERTY T_COLON Statement ;
-/.
-case $rule_number: {
- AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement);
- node->identifierToken = loc(1);
- node->colonToken = loc(2);
- sym(1).Node = node;
-} break;
-./
-
-LabelledStatement: T_IDENTIFIER T_COLON Statement ;
+LabelledStatement: JsIdentifier T_COLON Statement ;
/.
case $rule_number: {
AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement);
@@ -2762,7 +2776,12 @@ case $rule_number: {
} break;
./
-FunctionDeclaration: T_FUNCTION JsIdentifier T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
+-- tell the parser to prefer function declarations to function expressions.
+-- That is, the `Function' symbol is used to mark the start of a function
+-- declaration.
+Function: T_FUNCTION %prec REDUCE_HERE ;
+
+FunctionDeclaration: Function JsIdentifier T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
/.
case $rule_number: {
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody);
@@ -2776,7 +2795,7 @@ case $rule_number: {
} break;
./
-FunctionExpression: T_FUNCTION IdentifierOpt T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
+FunctionExpression: T_FUNCTION JsIdentifier T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
/.
case $rule_number: {
AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody);
@@ -2791,6 +2810,19 @@ case $rule_number: {
} break;
./
+FunctionExpression: T_FUNCTION T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ;
+/.
+case $rule_number: {
+ AST::FunctionExpression *node = new (pool) AST::FunctionExpression(QStringRef(), sym(3).FormalParameterList, sym(6).FunctionBody);
+ node->functionToken = loc(1);
+ node->lparenToken = loc(2);
+ node->rparenToken = loc(4);
+ node->lbraceToken = loc(5);
+ node->rbraceToken = loc(7);
+ sym(1).Node = node;
+} break;
+./
+
FormalParameterList: JsIdentifier ;
/.
case $rule_number: {
@@ -2877,23 +2909,14 @@ case $rule_number: {
} break;
./
-IdentifierOpt: ;
-/.
-case $rule_number: {
- stringRef(1) = QStringRef();
-} break;
-./
-
-IdentifierOpt: JsIdentifier ;
-
-PropertyNameAndValueListOpt: ;
+PropertyAssignmentListOpt: ;
/.
case $rule_number: {
sym(1).Node = 0;
} break;
./
-PropertyNameAndValueListOpt: PropertyNameAndValueList ;
+PropertyAssignmentListOpt: PropertyAssignmentList ;
/.
} // switch
diff --git a/src/qml/qml/parser/qqmljsast.cpp b/src/qml/qml/parser/qqmljsast.cpp
index 6b5ef15352..ea0df4a537 100644
--- a/src/qml/qml/parser/qqmljsast.cpp
+++ b/src/qml/qml/parser/qqmljsast.cpp
@@ -213,12 +213,32 @@ void Elision::accept0(Visitor *visitor)
visitor->endVisit(this);
}
-void PropertyNameAndValueList::accept0(Visitor *visitor)
+void PropertyNameAndValue::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- for (PropertyNameAndValueList *it = this; it; it = it->next) {
- accept(it->name, visitor);
- accept(it->value, visitor);
+ accept(name, visitor);
+ accept(value, visitor);
+ }
+
+ visitor->endVisit(this);
+}
+
+void PropertyGetterSetter::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ accept(name, visitor);
+ accept(formals, visitor);
+ accept(functionBody, visitor);
+ }
+
+ visitor->endVisit(this);
+}
+
+void PropertyAssignmentList::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ for (PropertyAssignmentList *it = this; it; it = it->next) {
+ accept(it->assignment, visitor);
}
}
diff --git a/src/qml/qml/parser/qqmljsast_p.h b/src/qml/qml/parser/qqmljsast_p.h
index 65a598c783..4c4af9ce9c 100644
--- a/src/qml/qml/parser/qqmljsast_p.h
+++ b/src/qml/qml/parser/qqmljsast_p.h
@@ -176,8 +176,10 @@ public:
Kind_PreDecrementExpression,
Kind_PreIncrementExpression,
Kind_Program,
+ Kind_PropertyAssignmentList,
+ Kind_PropertyGetterSetter,
Kind_PropertyName,
- Kind_PropertyNameAndValueList,
+ Kind_PropertyNameAndValue,
Kind_RegExpLiteral,
Kind_ReturnStatement,
Kind_SourceElement,
@@ -487,7 +489,7 @@ public:
ObjectLiteral():
properties (0) { kind = K; }
- ObjectLiteral(PropertyNameAndValueList *plist):
+ ObjectLiteral(PropertyAssignmentList *plist):
properties (plist) { kind = K; }
virtual void accept0(Visitor *visitor);
@@ -499,7 +501,7 @@ public:
{ return rbraceToken; }
// attributes
- PropertyNameAndValueList *properties;
+ PropertyAssignmentList *properties;
SourceLocation lbraceToken;
SourceLocation rbraceToken;
};
@@ -603,50 +605,113 @@ public:
SourceLocation propertyNameToken;
};
-class QML_PARSER_EXPORT PropertyNameAndValueList: public Node
+class QML_PARSER_EXPORT PropertyAssignment: public Node
{
public:
- QQMLJS_DECLARE_AST_NODE(PropertyNameAndValueList)
+ PropertyAssignment() {}
+};
- PropertyNameAndValueList(PropertyName *n, ExpressionNode *v):
- name (n), value (v), next (this)
- { kind = K; }
+class QML_PARSER_EXPORT PropertyAssignmentList: public Node
+{
+public:
+ QQMLJS_DECLARE_AST_NODE(PropertyAssignmentList)
- PropertyNameAndValueList(PropertyNameAndValueList *previous, PropertyName *n, ExpressionNode *v):
- name (n), value (v)
+ PropertyAssignmentList(PropertyAssignment *assignment)
+ : assignment(assignment)
+ , next(this)
+ { kind = K; }
+
+ PropertyAssignmentList(PropertyAssignmentList *previous, PropertyAssignment *assignment)
+ : assignment(assignment)
{
kind = K;
next = previous->next;
previous->next = this;
}
+ inline PropertyAssignmentList *finish ()
+ {
+ PropertyAssignmentList *front = next;
+ next = 0;
+ return front;
+ }
+
virtual void accept0(Visitor *visitor);
virtual SourceLocation firstSourceLocation() const
- { return name->firstSourceLocation(); }
+ { return assignment->firstSourceLocation(); }
virtual SourceLocation lastSourceLocation() const
- {
- if (next)
- return next->lastSourceLocation();
- return value->lastSourceLocation();
- }
+ { return next ? next->lastSourceLocation() : assignment->lastSourceLocation(); }
- inline PropertyNameAndValueList *finish ()
- {
- PropertyNameAndValueList *front = next;
- next = 0;
- return front;
- }
+// attributes
+ PropertyAssignment *assignment;
+ PropertyAssignmentList *next;
+ SourceLocation commaToken;
+};
+
+class QML_PARSER_EXPORT PropertyNameAndValue: public PropertyAssignment
+{
+public:
+ QQMLJS_DECLARE_AST_NODE(PropertyNameAndValue)
+
+ PropertyNameAndValue(PropertyName *n, ExpressionNode *v)
+ : name(n), value(v)
+ { kind = K; }
+
+ virtual void accept0(Visitor *visitor);
+
+ virtual SourceLocation firstSourceLocation() const
+ { return name->firstSourceLocation(); }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return value->lastSourceLocation(); }
// attributes
PropertyName *name;
- ExpressionNode *value;
- PropertyNameAndValueList *next;
SourceLocation colonToken;
+ ExpressionNode *value;
SourceLocation commaToken;
};
+class QML_PARSER_EXPORT PropertyGetterSetter: public PropertyAssignment
+{
+public:
+ QQMLJS_DECLARE_AST_NODE(PropertyGetterSetter)
+
+ enum Type {
+ Getter,
+ Setter
+ };
+
+ PropertyGetterSetter(PropertyName *n, FunctionBody *b)
+ : type(Getter), name(n), formals(0), functionBody (b)
+ { kind = K; }
+
+ PropertyGetterSetter(PropertyName *n, FormalParameterList *f, FunctionBody *b)
+ : type(Setter), name(n), formals(f), functionBody (b)
+ { kind = K; }
+
+ virtual void accept0(Visitor *visitor);
+
+ virtual SourceLocation firstSourceLocation() const
+ { return getSetToken; }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return rbraceToken; }
+
+// attributes
+ Type type;
+ SourceLocation getSetToken;
+ PropertyName *name;
+ SourceLocation lparenToken;
+ FormalParameterList *formals;
+ SourceLocation rparenToken;
+ SourceLocation lbraceToken;
+ FunctionBody *functionBody;
+ SourceLocation rbraceToken;
+};
+
class QML_PARSER_EXPORT IdentifierPropertyName: public PropertyName
{
public:
diff --git a/src/qml/qml/parser/qqmljsastfwd_p.h b/src/qml/qml/parser/qqmljsastfwd_p.h
index 67868234b2..fe5572c4b2 100644
--- a/src/qml/qml/parser/qqmljsastfwd_p.h
+++ b/src/qml/qml/parser/qqmljsastfwd_p.h
@@ -98,7 +98,9 @@ class ArrayLiteral;
class ObjectLiteral;
class ElementList;
class Elision;
-class PropertyNameAndValueList;
+class PropertyAssignmentList;
+class PropertyGetterSetter;
+class PropertyNameAndValue;
class PropertyName;
class IdentifierPropertyName;
class StringLiteralPropertyName;
diff --git a/src/qml/qml/parser/qqmljsastvisitor_p.h b/src/qml/qml/parser/qqmljsastvisitor_p.h
index 32f94bd436..ef022f617c 100644
--- a/src/qml/qml/parser/qqmljsastvisitor_p.h
+++ b/src/qml/qml/parser/qqmljsastvisitor_p.h
@@ -137,8 +137,14 @@ public:
virtual bool visit(Elision *) { return true; }
virtual void endVisit(Elision *) {}
- virtual bool visit(PropertyNameAndValueList *) { return true; }
- virtual void endVisit(PropertyNameAndValueList *) {}
+ virtual bool visit(PropertyAssignmentList *) { return true; }
+ virtual void endVisit(PropertyAssignmentList *) {}
+
+ virtual bool visit(PropertyNameAndValue *) { return true; }
+ virtual void endVisit(PropertyNameAndValue *) {}
+
+ virtual bool visit(PropertyGetterSetter *) { return true; }
+ virtual void endVisit(PropertyGetterSetter *) {}
virtual bool visit(NestedExpression *) { return true; }
virtual void endVisit(NestedExpression *) {}
diff --git a/src/qml/qml/parser/qqmljsengine_p.cpp b/src/qml/qml/parser/qqmljsengine_p.cpp
index 8e3903d7e0..9a61a62e3b 100644
--- a/src/qml/qml/parser/qqmljsengine_p.cpp
+++ b/src/qml/qml/parser/qqmljsengine_p.cpp
@@ -50,7 +50,7 @@ QT_QML_BEGIN_NAMESPACE
namespace QQmlJS {
-static int toDigit(char c)
+static inline int toDigit(char c)
{
if ((c >= '0') && (c <= '9'))
return c - '0';
diff --git a/src/qml/qml/parser/qqmljsgrammar.cpp b/src/qml/qml/parser/qqmljsgrammar.cpp
index d1b29be70a..4a5672a796 100644
--- a/src/qml/qml/parser/qqmljsgrammar.cpp
+++ b/src/qml/qml/parser/qqmljsgrammar.cpp
@@ -54,45 +54,46 @@ const char *const QQmlJSGrammar::spell [] = {
")", ";", 0, "*", "*=", "string literal", "property", "signal", "readonly", "switch",
"this", "throw", "~", "try", "typeof", "var", "void", "while", "with", "^",
"^=", "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "comment", 0,
- "public", "import", "as", "on", 0, 0, 0, 0, 0, 0,
- 0, 0, 0};
+ "public", "import", "as", "on", "get", "set", 0, 0, 0, 0,
+ 0, 0, 0, 0, 0};
const short QQmlJSGrammar::lhs [] = {
- 103, 103, 103, 103, 103, 103, 104, 110, 110, 113,
- 113, 115, 114, 114, 114, 114, 114, 114, 114, 114,
- 117, 112, 111, 120, 120, 121, 121, 122, 122, 119,
- 108, 108, 108, 108, 124, 124, 124, 124, 124, 124,
- 124, 108, 132, 132, 132, 133, 133, 134, 134, 108,
- 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
- 108, 108, 108, 108, 108, 108, 118, 118, 118, 118,
- 118, 137, 137, 137, 137, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 137, 137, 123,
- 139, 139, 139, 139, 138, 138, 141, 141, 143, 143,
- 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 145, 145, 116, 116, 116,
- 116, 116, 148, 148, 149, 149, 149, 149, 147, 147,
- 150, 150, 151, 151, 152, 152, 152, 153, 153, 153,
- 153, 153, 153, 153, 153, 153, 153, 154, 154, 154,
- 154, 155, 155, 155, 156, 156, 156, 156, 157, 157,
- 157, 157, 157, 157, 157, 158, 158, 158, 158, 158,
- 158, 159, 159, 159, 159, 159, 160, 160, 160, 160,
- 160, 161, 161, 162, 162, 163, 163, 164, 164, 165,
- 165, 166, 166, 167, 167, 168, 168, 169, 169, 170,
- 170, 171, 171, 172, 172, 142, 142, 173, 173, 174,
- 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
- 174, 106, 106, 175, 175, 176, 176, 177, 177, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
- 105, 105, 105, 105, 125, 186, 186, 185, 185, 136,
- 136, 187, 187, 188, 188, 190, 190, 189, 191, 194,
- 192, 192, 195, 193, 193, 126, 127, 127, 128, 128,
- 178, 178, 178, 178, 178, 178, 178, 178, 179, 179,
- 179, 179, 180, 180, 180, 180, 181, 181, 129, 130,
- 196, 196, 199, 199, 197, 197, 200, 198, 182, 182,
- 182, 183, 183, 131, 131, 131, 201, 202, 184, 184,
- 135, 146, 206, 206, 203, 203, 204, 204, 207, 109,
- 109, 208, 208, 107, 107, 205, 205, 140, 140, 209};
+ 105, 105, 105, 105, 105, 105, 106, 112, 112, 115,
+ 115, 117, 116, 116, 116, 116, 116, 116, 116, 116,
+ 119, 114, 113, 122, 122, 123, 123, 124, 124, 121,
+ 110, 110, 110, 110, 126, 126, 126, 126, 126, 126,
+ 126, 110, 134, 134, 134, 135, 135, 136, 136, 110,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 120, 120, 120, 120,
+ 120, 120, 120, 139, 139, 139, 139, 139, 139, 139,
+ 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+ 139, 125, 141, 141, 141, 141, 140, 140, 145, 145,
+ 145, 143, 143, 146, 146, 146, 146, 149, 149, 149,
+ 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
+ 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
+ 149, 149, 149, 149, 149, 149, 149, 149, 150, 150,
+ 118, 118, 118, 118, 118, 153, 153, 154, 154, 154,
+ 154, 152, 152, 155, 155, 156, 156, 157, 157, 157,
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
+ 159, 159, 159, 159, 160, 160, 160, 161, 161, 161,
+ 161, 162, 162, 162, 162, 162, 162, 162, 163, 163,
+ 163, 163, 163, 163, 164, 164, 164, 164, 164, 165,
+ 165, 165, 165, 165, 166, 166, 167, 167, 168, 168,
+ 169, 169, 170, 170, 171, 171, 172, 172, 173, 173,
+ 174, 174, 175, 175, 176, 176, 177, 177, 144, 144,
+ 178, 178, 179, 179, 179, 179, 179, 179, 179, 179,
+ 179, 179, 179, 179, 108, 108, 180, 180, 181, 181,
+ 182, 182, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 127, 191, 191,
+ 190, 190, 138, 138, 192, 192, 193, 193, 195, 195,
+ 194, 196, 199, 197, 197, 200, 198, 198, 128, 129,
+ 129, 130, 130, 183, 183, 183, 183, 183, 183, 183,
+ 183, 184, 184, 184, 184, 185, 185, 185, 185, 186,
+ 186, 131, 132, 201, 201, 204, 204, 202, 202, 205,
+ 203, 187, 188, 188, 133, 133, 133, 206, 207, 189,
+ 189, 208, 137, 151, 151, 209, 209, 148, 148, 147,
+ 147, 210, 111, 111, 211, 211, 109, 109, 142, 142,
+ 212};
const short QQmlJSGrammar::rhs [] = {
2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
@@ -103,593 +104,600 @@ const short QQmlJSGrammar::rhs [] = {
6, 3, 3, 7, 7, 4, 4, 5, 5, 5,
6, 6, 10, 6, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 3, 3, 4, 5, 3, 4, 3, 1,
- 1, 2, 3, 4, 1, 2, 3, 5, 1, 1,
+ 1, 1, 1, 2, 3, 3, 4, 5, 3, 4,
+ 3, 1, 1, 2, 3, 4, 1, 2, 3, 7,
+ 8, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
- 3, 5, 1, 2, 4, 4, 4, 3, 0, 1,
- 1, 3, 1, 1, 1, 2, 2, 1, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 1, 3, 3,
- 3, 1, 3, 3, 1, 3, 3, 3, 1, 3,
- 3, 3, 3, 3, 3, 1, 3, 3, 3, 3,
- 3, 1, 3, 3, 3, 3, 1, 3, 3, 3,
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
- 3, 1, 5, 1, 5, 1, 3, 1, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 0, 1, 1, 3, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 3, 1, 2, 0, 1, 3,
- 3, 1, 1, 1, 3, 1, 3, 2, 2, 2,
- 0, 1, 2, 0, 1, 1, 2, 2, 7, 5,
- 7, 7, 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,
- 1, 1, 2, 1, 1, 0, 1, 0, 1, 2};
+ 1, 1, 4, 3, 5, 1, 2, 4, 4, 4,
+ 3, 0, 1, 1, 3, 1, 1, 1, 2, 2,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 3, 3, 3, 1, 3, 3, 1, 3, 3,
+ 3, 1, 3, 3, 3, 3, 3, 3, 1, 3,
+ 3, 3, 3, 3, 1, 3, 3, 3, 3, 1,
+ 3, 3, 3, 3, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 3, 1, 5, 1, 5, 1, 3,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 0, 1, 1, 3,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
+ 0, 1, 3, 3, 1, 1, 1, 3, 1, 3,
+ 2, 2, 2, 0, 1, 2, 0, 1, 1, 2,
+ 2, 7, 5, 7, 7, 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, 4, 5, 2, 2,
+ 2, 1, 8, 8, 7, 1, 3, 0, 1, 0,
+ 1, 1, 1, 1, 1, 2, 1, 1, 0, 1,
+ 2};
const short QQmlJSGrammar::action_default [] = {
- 0, 0, 22, 0, 0, 0, 22, 0, 175, 242,
- 206, 214, 210, 154, 226, 202, 3, 139, 73, 155,
- 218, 222, 143, 172, 153, 158, 138, 192, 179, 0,
- 80, 81, 76, 346, 67, 348, 0, 0, 0, 0,
- 78, 0, 0, 74, 77, 71, 0, 0, 68, 70,
- 69, 79, 72, 0, 75, 0, 0, 168, 0, 0,
- 155, 174, 157, 156, 0, 0, 0, 170, 171, 169,
- 173, 0, 203, 0, 0, 0, 0, 193, 0, 0,
- 0, 0, 0, 0, 183, 0, 0, 0, 177, 178,
- 176, 181, 185, 184, 182, 180, 195, 194, 196, 0,
- 211, 0, 207, 0, 0, 149, 136, 148, 137, 105,
- 106, 107, 132, 108, 133, 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 134, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 135,
- 0, 0, 147, 243, 150, 0, 151, 0, 152, 146,
- 0, 239, 232, 230, 237, 238, 236, 235, 241, 234,
- 233, 231, 240, 227, 0, 215, 0, 0, 219, 0,
- 0, 223, 0, 0, 149, 141, 0, 140, 0, 145,
- 159, 0, 347, 335, 336, 0, 333, 0, 334, 0,
- 337, 250, 257, 256, 264, 252, 0, 253, 338, 0,
- 345, 254, 255, 260, 258, 342, 339, 344, 261, 0,
- 272, 0, 0, 0, 0, 346, 67, 0, 348, 68,
- 244, 286, 69, 0, 0, 0, 273, 0, 0, 262,
- 263, 0, 251, 259, 287, 288, 332, 343, 0, 303,
- 304, 305, 306, 0, 299, 300, 301, 302, 329, 330,
- 0, 0, 0, 0, 0, 291, 292, 293, 248, 246,
- 208, 216, 212, 228, 204, 249, 0, 155, 220, 224,
- 197, 186, 0, 0, 205, 0, 0, 0, 0, 198,
- 0, 0, 0, 0, 0, 190, 188, 191, 189, 187,
- 200, 199, 201, 0, 213, 0, 209, 0, 247, 155,
- 0, 229, 244, 245, 0, 244, 0, 0, 295, 0,
- 0, 0, 297, 0, 217, 0, 0, 221, 0, 0,
- 225, 284, 0, 276, 285, 279, 0, 283, 0, 244,
- 277, 0, 244, 0, 0, 296, 0, 0, 0, 298,
- 347, 335, 0, 0, 337, 0, 331, 0, 321, 0,
- 0, 0, 290, 0, 289, 0, 349, 0, 104, 266,
- 269, 0, 105, 272, 108, 133, 110, 111, 76, 115,
- 116, 67, 117, 120, 74, 77, 68, 244, 69, 79,
- 123, 72, 125, 75, 127, 128, 273, 130, 131, 135,
- 0, 97, 0, 0, 99, 103, 101, 88, 100, 102,
- 0, 98, 87, 267, 265, 143, 144, 149, 0, 142,
- 0, 320, 0, 307, 308, 0, 319, 0, 0, 0,
- 310, 315, 313, 316, 0, 0, 314, 315, 0, 311,
- 0, 312, 268, 318, 0, 268, 317, 0, 322, 323,
- 0, 268, 324, 325, 0, 0, 326, 0, 0, 0,
- 327, 328, 161, 160, 0, 0, 0, 294, 0, 0,
- 0, 309, 281, 274, 0, 282, 278, 0, 280, 270,
- 0, 271, 275, 91, 0, 0, 95, 82, 0, 84,
- 93, 0, 85, 94, 96, 86, 92, 83, 0, 89,
- 165, 163, 167, 164, 162, 166, 340, 6, 341, 4,
- 2, 65, 90, 0, 0, 68, 70, 69, 31, 5,
- 0, 66, 0, 45, 44, 43, 0, 0, 58, 0,
- 59, 35, 36, 37, 38, 40, 41, 62, 39, 0,
- 45, 0, 0, 0, 0, 0, 54, 0, 55, 0,
- 0, 26, 0, 0, 63, 27, 0, 30, 28, 24,
- 0, 29, 25, 0, 56, 0, 57, 143, 0, 60,
- 64, 0, 0, 0, 0, 61, 0, 52, 46, 53,
- 47, 0, 0, 0, 0, 49, 0, 50, 51, 48,
- 0, 0, 143, 268, 0, 0, 42, 105, 272, 108,
- 133, 110, 111, 76, 115, 116, 67, 117, 120, 74,
- 77, 68, 244, 69, 79, 123, 72, 125, 75, 127,
- 128, 273, 130, 131, 135, 0, 32, 33, 0, 34,
+ 0, 0, 22, 0, 0, 0, 22, 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, 0, 72, 67, 349, 0, 0, 0,
+ 0, 80, 0, 0, 76, 79, 71, 0, 0, 68,
+ 70, 73, 69, 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, 338, 338, 339, 0, 336, 0,
+ 337, 0, 340, 253, 260, 259, 267, 255, 0, 256,
+ 0, 341, 0, 348, 257, 258, 75, 263, 261, 345,
+ 342, 347, 264, 0, 275, 0, 0, 0, 0, 332,
+ 0, 349, 247, 289, 0, 0, 0, 276, 0, 0,
+ 265, 266, 0, 254, 262, 290, 291, 0, 338, 0,
+ 0, 340, 0, 333, 334, 0, 322, 346, 0, 306,
+ 307, 308, 309, 0, 302, 303, 304, 305, 330, 331,
+ 0, 0, 0, 0, 0, 294, 295, 296, 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, 298, 0,
+ 0, 0, 300, 0, 220, 0, 0, 224, 0, 0,
+ 228, 287, 0, 279, 288, 282, 0, 286, 0, 247,
+ 280, 0, 247, 0, 0, 299, 0, 0, 0, 301,
+ 0, 0, 0, 293, 0, 292, 75, 102, 350, 0,
+ 0, 107, 269, 272, 0, 108, 275, 111, 136, 113,
+ 114, 78, 118, 119, 72, 120, 123, 76, 79, 247,
+ 73, 81, 126, 74, 128, 77, 130, 131, 276, 133,
+ 134, 138, 0, 104, 103, 106, 90, 105, 89, 0,
+ 99, 270, 268, 0, 0, 0, 340, 0, 100, 146,
+ 147, 152, 0, 145, 0, 310, 311, 0, 338, 0,
+ 0, 340, 0, 101, 0, 0, 0, 313, 318, 316,
+ 319, 0, 0, 317, 318, 0, 314, 0, 315, 271,
+ 321, 0, 271, 320, 0, 323, 324, 0, 271, 325,
+ 326, 0, 0, 327, 0, 0, 0, 328, 329, 164,
+ 163, 0, 0, 0, 297, 0, 0, 0, 312, 284,
+ 277, 0, 285, 281, 0, 283, 273, 0, 274, 278,
+ 0, 0, 340, 0, 335, 93, 0, 0, 97, 84,
+ 0, 86, 95, 0, 87, 96, 98, 88, 94, 85,
+ 0, 91, 168, 166, 170, 167, 165, 169, 343, 6,
+ 344, 4, 2, 65, 92, 0, 0, 68, 70, 69,
+ 31, 5, 0, 66, 0, 45, 44, 43, 0, 0,
+ 58, 0, 59, 35, 36, 37, 38, 40, 41, 62,
+ 39, 0, 45, 0, 0, 0, 0, 0, 54, 0,
+ 55, 0, 0, 26, 0, 0, 63, 27, 0, 30,
+ 28, 24, 0, 29, 25, 0, 56, 0, 57, 146,
+ 0, 60, 64, 0, 0, 0, 0, 61, 0, 52,
+ 46, 53, 47, 0, 0, 0, 0, 49, 0, 50,
+ 51, 48, 0, 0, 146, 271, 0, 0, 42, 75,
+ 108, 275, 111, 136, 113, 114, 78, 118, 119, 120,
+ 123, 76, 79, 247, 81, 126, 74, 128, 77, 130,
+ 131, 276, 133, 134, 138, 0, 32, 33, 0, 34,
8, 0, 10, 0, 9, 0, 1, 21, 12, 0,
13, 0, 14, 0, 19, 20, 0, 15, 16, 0,
- 17, 18, 11, 23, 7, 350};
+ 17, 18, 11, 23, 7, 351};
const short QQmlJSGrammar::goto_default [] = {
- 7, 626, 207, 196, 205, 509, 497, 625, 644, 496,
- 624, 622, 627, 22, 623, 18, 508, 550, 540, 547,
- 542, 527, 191, 195, 197, 201, 233, 208, 230, 531,
- 571, 570, 200, 232, 26, 475, 474, 357, 356, 9,
- 355, 358, 107, 17, 145, 24, 13, 144, 19, 25,
- 57, 23, 8, 28, 27, 270, 15, 264, 10, 260,
- 12, 262, 11, 261, 20, 268, 21, 269, 14, 263,
- 259, 300, 412, 265, 266, 202, 193, 192, 204, 203,
- 229, 194, 361, 360, 231, 464, 463, 322, 323, 466,
- 325, 465, 324, 420, 424, 427, 423, 422, 442, 443,
- 185, 199, 181, 184, 198, 206, 0};
+ 7, 636, 211, 198, 209, 521, 509, 635, 654, 508,
+ 634, 632, 637, 22, 633, 18, 520, 562, 552, 559,
+ 554, 539, 193, 197, 199, 204, 234, 212, 231, 543,
+ 583, 582, 203, 233, 26, 487, 486, 359, 358, 9,
+ 357, 360, 202, 480, 361, 109, 17, 147, 24, 13,
+ 146, 19, 25, 59, 23, 8, 28, 27, 280, 15,
+ 274, 10, 270, 12, 272, 11, 271, 20, 278, 21,
+ 279, 14, 273, 269, 310, 414, 275, 276, 205, 195,
+ 194, 208, 207, 230, 196, 364, 363, 232, 471, 470,
+ 332, 333, 473, 335, 472, 334, 427, 431, 434, 430,
+ 429, 449, 450, 200, 186, 201, 210, 0};
const short QQmlJSGrammar::action_index [] = {
- 425, 1471, 2619, 2619, 2718, 1193, 69, 100, 86, -103,
- 97, 62, 60, 236, -103, 278, 93, -103, -103, 609,
- 83, 117, 266, 184, -103, -103, -103, 514, 179, 1471,
- -103, -103, -103, 392, -103, 2421, 1754, 1471, 1471, 1471,
- -103, 1001, 1471, -103, -103, -103, 1471, 1471, -103, -103,
- -103, -103, -103, 1471, -103, 1471, 1471, -103, 1471, 1471,
- 115, 169, -103, -103, 1471, 1471, 1471, -103, -103, -103,
- 152, 1471, 286, 1471, 1471, 1471, 1471, 562, 1471, 1471,
- 1471, 1471, 1471, 1471, 198, 1471, 1471, 1471, 87, 122,
- 138, 212, 197, 183, 227, 265, 562, 504, 472, 1471,
- 79, 1471, 102, 2322, 1471, 1471, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- 132, 1471, -103, -103, 94, 11, -103, 1471, -103, -103,
- 1471, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, -103, -103, 1471, 31, 1471, 1471, 67, 68,
- 1471, -103, 2322, 1471, 1471, -103, 98, -103, 39, -103,
- -103, 61, -103, 296, 66, 30, -103, 376, -103, 35,
- 2619, -103, -103, -103, -103, -103, 237, -103, -103, 21,
- -103, -103, -103, -103, -103, -103, 2619, -103, -103, 513,
- -103, 541, 114, 2718, 36, 422, 59, 42, 2916, 75,
- 1471, -103, 77, 53, 1471, 63, -103, 57, 58, -103,
- -103, 407, -103, -103, -103, -103, -103, -103, 80, -103,
- -103, -103, -103, 82, -103, -103, -103, -103, -103, -103,
- 52, 51, 1471, 96, 200, -103, -103, -103, 1659, -103,
- 76, 44, 46, -103, 298, 73, 48, 736, 78, 95,
- 363, 233, 347, 1471, 303, 1471, 1471, 1471, 1471, 402,
- 1471, 1471, 1471, 1471, 1471, 248, 189, 159, 167, 174,
- 482, 482, 444, 1471, 7, 1471, 64, 1471, -103, 627,
- 1471, -103, 1471, 65, 34, 1471, 54, 2718, -103, 1471,
- 140, 2718, -103, 1471, 74, 1471, 1471, 81, 84, 1471,
- -103, 71, 116, 33, -103, -103, 1471, -103, 313, 1471,
- -103, 70, 1471, 72, 2718, -103, 1471, 234, 2718, -103,
- -16, 324, -42, -12, 2619, -39, -103, 2718, -103, 1471,
- 151, 2718, 12, 2718, -103, 20, 16, -32, -103, -103,
- 2718, -52, 521, -2, 505, 129, 1471, 2718, -5, -35,
- 497, 2, -24, 819, 6, 3, -103, 1567, -103, -1,
- -36, 26, 1471, 47, 22, 1471, 45, 1471, 17, 15,
- 1471, -103, 2520, 49, -103, -103, -103, -103, -103, -103,
- 1471, -103, -103, -103, -103, 322, -103, 1471, -25, -103,
- 2718, -103, 118, -103, -103, 2718, -103, 1471, 112, 8,
- -103, 40, -103, 41, 106, 1471, -103, 38, 32, -103,
- -38, -103, 2718, -103, 104, 2718, -103, 247, -103, -103,
- 99, 2718, -6, -103, -10, -18, -103, 387, 10, 9,
- -103, -103, -103, -103, 1471, 125, 2718, -103, 1471, 127,
- 2718, -103, -13, -103, 187, -103, -103, 1471, -103, -103,
- 398, -103, -103, -103, 110, 2039, -103, -103, 1849, -103,
- -103, 1944, -103, -103, -103, -103, -103, -103, 105, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, 2619, -103,
- -103, -103, 113, -7, 1009, 145, -8, 19, -103, -103,
- 186, -103, 178, -103, -103, -103, 356, 226, -103, 2131,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, 322,
- -26, 364, 205, 43, 316, 206, -103, -3, -103, 1009,
- 107, -103, -11, 827, -103, -103, 1379, -103, -103, -103,
- 1286, -103, -103, 195, -103, 2131, -103, 305, -4, -103,
- -103, 209, 379, 18, 2131, -103, 182, -103, 199, -103,
- 0, -53, 306, 154, 284, -103, 108, -103, -103, -103,
- 2223, 918, 300, 2817, 1754, 5, -103, 549, 139, 636,
- 114, 1471, 2718, 50, 24, 463, 55, -17, 910, 23,
- 56, -103, 1567, -103, 27, 1, 29, 1471, 37, 14,
- 1471, 25, 1471, 4, 13, 126, -103, -103, 28, -103,
- -103, 1100, -103, 267, -41, 714, -103, -103, 121, 301,
- -103, 215, -103, 91, -103, -103, 336, -103, -103, 89,
- -103, -103, -103, -103, -103, -103,
+ 235, 1289, 2663, 2663, 2562, 1005, 64, 90, 103, -105,
+ 88, 94, 79, 173, -105, 302, 69, -105, -105, 724,
+ 65, 135, 195, 239, -105, -105, -105, 367, 278, 1289,
+ -105, -105, -105, 485, -105, -105, 2360, 1772, 1289, 1289,
+ 1289, -105, 817, 1289, -105, -105, -105, 1289, 1289, -105,
+ -105, -105, -105, -105, -105, 1289, -105, 1289, 1289, -105,
+ 1289, 1289, 95, 207, -105, -105, 1289, 1289, 1289, -105,
+ -105, -105, 202, 1289, 300, 1289, 1289, 1289, 1289, 377,
+ 1289, 1289, 1289, 1289, 1289, 1289, 253, 1289, 1289, 1289,
+ 151, 147, 129, 196, 170, 199, 279, 270, 470, 470,
+ 387, 1289, 53, 1289, 80, 2158, 1289, 1289, -105, -105,
+ -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
+ -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
+ -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
+ -105, -105, 128, 1289, -105, -105, 74, 52, -105, 1289,
+ -105, -105, 1289, -105, -105, -105, -105, -105, -105, -105,
+ -105, -105, -105, -105, -105, -105, 1289, 51, 1289, 1289,
+ 77, 66, 1289, -105, 2158, 1289, 1289, -105, 125, -105,
+ 48, -105, -105, 47, 451, 374, 83, 87, -105, 397,
+ -105, 62, 2663, -105, -105, -105, -105, -105, 205, -105,
+ 415, -105, 68, -105, -105, -105, 86, -105, -105, -105,
+ 2663, -105, -105, 622, -105, 576, 102, 2562, 75, 89,
+ 81, 2865, 1289, -105, 70, 1289, 63, -105, 92, 93,
+ -105, -105, 546, -105, -105, -105, -105, 91, 546, 40,
+ 45, 2663, 49, -105, -105, 2562, -105, -105, 106, -105,
+ -105, -105, -105, 121, -105, -105, -105, -105, -105, -105,
+ 42, 44, 1289, 114, 222, -105, -105, -105, 1481, -105,
+ 84, 57, 56, -105, 388, 78, 54, 682, 82, 99,
+ 357, 247, 546, 1289, 295, 1289, 1289, 1289, 1289, 334,
+ 1289, 1289, 1289, 1289, 1289, 203, 217, 244, 263, 211,
+ 341, 319, 351, 1289, 56, 1289, 73, 1289, -105, 724,
+ 1289, -105, 1289, 67, 46, 1289, 61, 2562, -105, 1289,
+ 136, 2562, -105, 1289, 76, 1289, 1289, 85, 59, 1289,
+ -105, 71, 133, 72, -105, -105, 1289, -105, 546, 1289,
+ -105, -53, 1289, -60, 2562, -105, 1289, 143, 2562, -105,
+ 1289, 132, 2562, 8, 2562, -105, 7, -105, 12, -37,
+ 107, -105, -105, 2562, -33, 622, 22, 555, 115, 1289,
+ 2562, 23, -13, 502, 2259, -10, 817, 18, 6, 1387,
+ 2259, 0, 9, -6, 1289, -4, -23, 1289, 5, 1289,
+ -25, -27, 2461, -105, -105, -105, -105, -105, -105, 1289,
+ -105, -105, -105, -3, -1, 21, 2663, 1, -105, 218,
+ -105, 1289, 4, -105, 111, -105, -105, 26, 466, 16,
+ 38, 2663, 39, -105, 1289, 110, 37, -105, 55, -105,
+ 60, 116, 1289, -105, 58, 43, -105, -15, -105, 2562,
+ -105, 123, 2562, -105, 154, -105, -105, 96, 2562, 32,
+ -105, 3, 14, -105, 546, -11, 13, -105, -105, -105,
+ -105, 1289, 126, 2562, -105, 1289, 130, 2562, -105, 15,
+ -105, 301, -105, -105, 1289, -105, -105, 546, -105, -105,
+ -45, -12, 2663, -24, -105, -105, 204, 1578, -105, -105,
+ 1869, -105, -105, 1675, -105, -105, -105, -105, -105, -105,
+ 101, -105, -105, -105, -105, -105, -105, -105, -105, -105,
+ 2663, -105, -105, -105, 105, 2, 910, 206, -47, -2,
+ -105, -105, 246, -105, 214, -105, -105, -105, 364, 232,
+ -105, 1963, -105, -105, -105, -105, -105, -105, -105, -105,
+ -105, 191, 24, 394, 172, -18, 384, 215, -105, -30,
+ -105, 910, 149, -105, -16, 910, -105, -105, 1100, -105,
+ -105, -105, 1195, -105, -105, 225, -105, 1963, -105, 316,
+ -17, -105, -105, 269, 418, -5, 1963, -105, 184, -105,
+ 175, -105, 20, -9, 546, 182, 469, -105, 104, -105,
+ -105, -105, 2057, 910, 292, 2764, 1772, 10, -105, 35,
+ 622, 34, 525, 98, 1289, 2562, 50, 17, 536, 19,
+ 817, 31, 27, 1387, 28, 9, 29, 1289, 30, 11,
+ 1289, 41, 1289, 33, 36, 137, -105, -105, 25, -105,
+ -105, 910, -105, 268, -86, 910, -105, -105, 141, 546,
+ -105, 156, -105, 117, -105, -105, 546, -105, -105, 138,
+ -105, -105, -105, -105, -105, -105,
- -107, 12, -95, 3, 6, 275, 2, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -37,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, 96,
- -107, -107, -107, 8, -107, -107, -17, 24, 95, 74,
- -107, 85, 175, -107, -107, -107, 172, 168, -107, -107,
- -107, -107, -107, 169, -107, 165, 164, -107, 156, 176,
- -107, -107, -107, -107, 182, 178, 112, -107, -107, -107,
- -107, 121, -107, 144, 118, 116, 117, -107, 108, 133,
- 134, 137, 143, 152, -107, 147, 141, 136, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, 107,
- -107, 173, -107, 153, 84, 56, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, 36, -107, -107, -107, -107, -107, 30, -107, -107,
- 0, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, 79, -107, 99, 44, -107, -107,
- 46, -107, 194, 70, 64, -107, -107, -107, -107, -107,
- -107, -107, -107, 29, -107, -107, -107, 65, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, 80, -107, -107, 51,
- -107, 48, -107, 40, -107, 34, -107, -107, 86, -107,
- 88, -107, -107, -107, 78, 60, -107, -107, -107, -107,
- -107, -6, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, 21, -107, -107, -107, -107, -107, 104, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, 16, 201, -107, 202, 224, 223, 215, -107,
- 67, 73, 75, 59, 106, -107, -107, -107, -107, -107,
- -107, -107, -107, 185, -107, 208, -107, 233, -107, -107,
- 234, -107, 203, -107, -107, 299, -107, 90, -107, -2,
- -107, 11, -107, 181, -107, 200, 192, -107, -107, 189,
- -107, -107, -107, -107, -107, -107, 199, -107, 123, 131,
- -107, -107, 111, -107, 77, -107, 87, -107, 195, -107,
- -107, 110, -107, -107, -50, -107, -107, 39, -107, 42,
- -107, 63, -107, 66, -107, -107, -107, -107, -107, -107,
- 68, -107, 43, -107, 47, -107, 92, 35, -107, -107,
- 31, -107, -107, 105, -107, -107, -107, 94, -107, -107,
- -107, -107, 71, -107, 54, 101, -107, 89, -107, -107,
- 55, -107, 49, -107, -107, -107, -107, -107, -107, -107,
- 38, -107, -107, -107, -107, -107, -107, 114, -107, -107,
- 76, -107, -107, -107, -107, 91, -107, 93, -107, -107,
- -107, -107, -107, -57, -107, 50, -107, -44, -107, -107,
- -107, -107, 98, -107, -107, 97, -107, -107, -107, -107,
- -107, 52, -42, -107, -107, 45, -107, 41, -107, 37,
- -107, -107, -107, -107, 57, -107, 53, -107, 58, -107,
- 62, -107, -107, -107, -107, -107, -107, 9, -107, -107,
- 187, -107, -107, -107, -107, 33, -107, -107, 139, -107,
- -107, 32, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -107, -107, -107, -107, -107, -107, -107, 82, -107,
- -107, -107, -107, -107, -11, -107, -107, -107, -107, -107,
- -107, -107, -25, -107, -107, -107, -9, -107, -107, 297,
- -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
- -107, -3, -26, -107, -10, -107, -107, -107, -107, 160,
- -107, -107, -107, 120, -107, -107, 279, -107, -107, -107,
- 285, -107, -107, -107, -107, 329, -107, -107, 17, -107,
- -107, -13, 14, -107, 385, -107, -107, -107, 23, -107,
- -107, -107, 28, 18, 20, -107, -107, -107, -107, -107,
- 313, 188, -107, 26, 267, 7, -107, 5, -107, -1,
- -107, 69, 19, -107, -107, 10, -107, -107, 103, -107,
- -107, -107, 27, -107, -107, -107, -107, 15, -107, -5,
- 61, -107, 81, -107, -107, -107, -107, -107, 13, -107,
- -107, 25, -107, -107, 22, 119, -107, -107, -107, 4,
- -107, -107, -107, -107, -107, -107, -15, -107, -107, -107,
- -107, -107, -107, -107, -107, -107};
+ -108, 0, 79, 128, 132, 301, 2, -108, -108, -108,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -47,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, 51,
+ -108, -108, -108, -3, -108, -108, 8, -23, 12, 78,
+ 106, -108, 69, 74, -108, -108, -108, 195, 204, -108,
+ -108, -108, -108, -108, -108, 188, -108, 201, 200, -108,
+ 127, 129, -108, -108, -108, -108, 140, 137, 133, -108,
+ -108, -108, -108, 146, -108, 177, 168, 170, 167, -108,
+ 144, 152, 166, 158, 160, 131, -108, 194, 187, 207,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ -108, 88, -108, 112, -108, 121, 90, -38, -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, 32, -108, -108, -108, -108, -108, 26,
+ -108, -108, 27, -108, -108, -108, -108, -108, -108, -108,
+ -108, -108, -108, -108, -108, -108, 102, -108, 103, 41,
+ -108, -108, 37, -108, 250, 38, 83, -108, -108, -108,
+ -108, -108, -108, -108, 42, 126, -108, -108, -108, 40,
+ -108, -108, 43, -108, -108, -108, -108, -108, -108, -108,
+ 39, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ 225, -108, -108, 30, -108, 24, -108, 211, -108, 55,
+ -108, 77, 60, -108, -108, 66, 34, -108, -108, -108,
+ -108, -108, -8, -108, -108, -108, -108, -108, 153, -108,
+ -108, 164, -108, -108, -108, 241, -108, -108, -108, -108,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ -108, -108, 11, -108, -108, -108, -108, -108, 179, -108,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ -108, -108, 19, 259, -108, 255, 228, 240, 246, -108,
+ 52, 63, 67, 65, 50, -108, -108, -108, -108, -108,
+ -108, -108, -108, 210, -108, 256, -108, 226, -108, -108,
+ 252, -108, 161, -108, -108, 268, -108, 197, -108, 5,
+ -108, 218, -108, 222, -108, 213, 249, -108, -108, 236,
+ -108, -108, -108, -108, -108, -108, 212, -108, 80, 87,
+ -108, -108, 86, -108, 98, -108, 61, -108, 245, -108,
+ 59, -108, 208, -108, 192, -108, -108, -108, -108, -108,
+ -108, -108, -108, 257, -108, 33, -108, 28, -108, 73,
+ 71, -108, -108, 36, 57, -108, 62, -108, -108, 46,
+ 70, -108, -108, -108, 49, -108, 45, 99, -108, 84,
+ -108, -108, 100, -108, -108, -108, -108, -108, -108, 21,
+ -108, -108, -108, -108, -108, -108, 118, -108, -108, -108,
+ -108, 81, -108, -108, -108, -108, -108, -108, 123, -108,
+ -108, 134, -108, -108, 56, -108, -108, -108, -108, -108,
+ -58, -108, 47, -108, -57, -108, -108, -108, -108, 265,
+ -108, -108, 374, -108, -108, -108, -108, -108, 94, -66,
+ -108, -108, 25, -108, 22, -108, 31, -108, -108, -108,
+ -108, 58, -108, 229, -108, 35, -108, 235, -108, -108,
+ -108, -108, -108, -108, 29, -108, -108, 186, -108, -108,
+ -108, -108, 162, -108, -108, -108, -108, 48, -108, -108,
+ 163, -108, -108, 44, -108, -108, -108, -108, -108, -108,
+ -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
+ 141, -108, -108, -108, -108, -108, -7, -108, -108, -108,
+ -108, -108, -108, -108, -19, -108, -108, -108, -6, -108,
+ -108, 334, -108, -108, -108, -108, -108, -108, -108, -108,
+ -108, -108, -108, -15, -27, -108, -10, -108, -108, -108,
+ -108, 159, -108, -108, -108, 176, -108, -108, 319, -108,
+ -108, -108, 322, -108, -108, -108, -108, 469, -108, -108,
+ 10, -108, -108, 6, 16, -108, 342, -108, -108, -108,
+ 17, -108, -108, -108, 15, 3, 9, -108, -108, -108,
+ -108, -108, 358, 68, -108, 82, 310, 1, -108, -108,
+ -2, -108, 7, -108, 54, 76, -108, -108, 4, -108,
+ 64, -108, -108, 23, -108, -108, -108, 18, -108, -5,
+ 95, -108, 91, -108, -108, -108, -108, -108, -1, -108,
+ -108, 20, -108, -108, 14, 142, -108, -108, -108, 13,
+ -108, -108, -108, -108, -108, -108, -11, -108, -108, -108,
+ -108, -108, -108, -108, -108, -108};
const short QQmlJSGrammar::action_info [] = {
- 417, 258, -113, 404, 467, -132, -102, 576, 573, 347,
- -103, 532, 349, -121, 445, 441, 346, 431, 343, 349,
- 341, 344, 546, 402, 392, 564, 447, 390, 353, 546,
- -121, 539, -129, -124, -102, 409, -124, 417, 546, 432,
- 454, 421, 441, 425, -126, 425, 425, 441, 566, 458,
- 621, 458, -129, 454, -126, 441, 400, -113, 561, 512,
- 258, 546, 347, -103, 336, 273, 347, 534, 190, 164,
- 449, 149, 258, 141, 187, 170, 236, 273, 349, 99,
- 313, 297, 410, 313, 415, 164, 295, 252, 326, 417,
- 189, 319, 293, 454, 458, 305, 441, 183, 71, 179,
- 645, 141, 147, 71, 141, 444, 141, 0, 0, 302,
- 99, 435, 141, 141, 307, 543, 428, 0, 478, 445,
- 141, 0, 293, 0, 328, 295, 58, 58, 172, 251,
- 0, 332, 334, 141, 543, 141, 172, 59, 59, 101,
- 141, 242, 241, 247, 246, 315, -132, 173, 141, 316,
- 641, 640, 635, 634, 177, 173, 254, 62, 101, 141,
- 621, 429, 58, 544, 64, 489, 479, 166, 63, 578,
- 577, 167, 419, 59, 530, 249, 248, 329, 58, 414,
- 413, 64, 616, 513, 85, 456, 86, 460, 142, 59,
- 249, 248, 85, 580, 86, 470, 64, 87, 0, 85,
- 311, 86, 555, 0, 85, 87, 86, 513, 85, 65,
- 86, 351, 87, 537, 85, 66, 86, 87, 568, 546,
- 515, 87, 85, 85, 86, 86, 65, 87, 513, 515,
- 0, 514, 66, 519, 513, 87, 87, 85, 513, 86,
- 514, 65, 141, 569, 567, 141, 0, 66, 471, 469,
- 87, 103, 85, 515, 86, 141, 556, 554, 85, 0,
- 86, 257, 255, 0, 514, 87, 0, 538, 536, 0,
- 104, 87, 105, 85, 515, 86, 638, 637, 0, 581,
- 515, 172, 0, 0, 515, 514, 87, 520, 518, 256,
- 85, 514, 86, 0, 338, 514, 73, 74, 235, 234,
- 173, 0, 174, 87, 73, 74, 0, 636, 439, 438,
- 0, 0, 0, 34, 631, 172, 275, 276, 0, 0,
- 172, 275, 276, 75, 76, 34, 0, 0, 632, 630,
- 34, 75, 76, -90, 173, 34, 174, 172, -90, 173,
- 0, 174, 34, 277, 278, 34, 0, 0, 277, 278,
- 48, 50, 49, 34, 0, 0, 173, 0, 407, 629,
- 0, 0, 48, 50, 49, 34, 0, 48, 50, 49,
- 0, 0, 48, 50, 49, 0, 34, 45, 0, 48,
- 50, 49, 48, 50, 49, 34, 280, 281, 0, 45,
- 48, 50, 49, 34, 45, 282, 0, 0, 283, 45,
- 284, 0, 48, 50, 49, 34, 45, 0, 34, 45,
- 0, 0, 0, 48, 50, 49, 34, 45, 0, 0,
- 0, 34, 48, 50, 49, 280, 281, 34, 0, 45,
- 48, 50, 49, 0, 282, 0, 34, 283, 0, 284,
- 45, 0, 48, 50, 49, 48, 50, 49, 0, 45,
- 0, 34, 0, 48, 50, 49, 0, 45, 48, 50,
- 49, 0, 0, 0, 48, 50, 49, 280, 281, 45,
- 0, 0, 45, 48, 50, 49, 282, 0, 0, 283,
- 45, 284, 0, 0, 0, 45, 0, 0, 48, 50,
- 49, 45, 34, 0, 0, 78, 79, 0, 0, -346,
- 45, 0, 0, 80, 81, 280, 281, 82, 0, 83,
- 0, 0, 0, 0, 282, 45, 0, 283, 0, 284,
- 6, 5, 4, 1, 3, 2, 34, 78, 79, 48,
- 50, 49, 0, -346, 34, 80, 81, 78, 79, 82,
- 0, 83, 34, 0, 0, 80, 81, 0, 0, 82,
- 34, 83, 0, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 0, 48, 50, 49, 245, 244, 0, 0,
- 34, 48, 50, 49, 240, 239, 0, 0, 34, 48,
- 50, 49, 240, 239, 0, 78, 79, 48, 50, 49,
- 45, 0, 0, 80, 81, 0, 0, 82, 45, 83,
- 0, 0, 245, 244, 0, 0, 45, 48, 50, 49,
- 240, 239, 151, 0, 45, 48, 50, 49, 0, 0,
- 0, 0, 152, 0, 0, 0, 153, 0, 0, 0,
- 151, 0, 0, 0, 45, 154, 0, 155, 0, 0,
- 152, 0, 45, 0, 153, 0, 0, 0, 156, 0,
- 157, 62, 0, 154, 0, 155, 0, 0, 158, 0,
- 0, 159, 63, 0, 0, 34, 156, 160, 157, 62,
- 0, 0, 0, 161, 0, 0, 158, 0, 0, 159,
- 63, 0, 0, 0, 0, 160, 0, 0, 0, 162,
- 0, 161, 0, 0, 0, 0, 0, 245, 244, 0,
- 0, 0, 48, 50, 49, 0, 0, 162, 0, 0,
+ 344, -127, 576, -129, 551, 631, 546, -105, 342, 465,
+ 448, 461, -132, -106, 245, 481, 558, 558, 398, 573,
+ 392, 482, 402, 268, 354, -124, 350, 578, 585, -135,
+ -116, 484, 474, 404, -106, -105, -127, -129, -124, 454,
+ 438, -135, 245, 558, 448, 424, 448, 448, -132, 456,
+ 439, 588, 452, 268, 406, 350, 408, -116, 558, 405,
+ 432, 544, 418, 432, 413, 432, 329, 166, 524, 461,
+ 428, 421, 465, 172, 283, 143, 420, 143, 241, 166,
+ 262, 73, 149, 185, 323, 283, 307, 323, 336, 73,
+ 655, 189, 0, 245, 423, 192, 448, 0, 0, 101,
+ 240, 0, 451, 346, 243, 303, 424, 315, 181, 143,
+ 0, 268, 151, 0, 399, 312, 452, 350, 143, 261,
+ 174, 317, 143, 244, 303, 184, 435, 238, 461, 465,
+ 442, 143, 103, 143, 143, 305, 143, 64, 143, 175,
+ 143, 338, 101, 60, 143, 555, 0, 191, 65, 325,
+ 0, 143, 0, 326, 61, 631, 174, 555, 103, 259,
+ 258, 501, 143, 259, 258, 590, 589, 252, 251, 60,
+ 426, 436, 416, 415, 264, 175, 259, 258, 645, 644,
+ 61, 179, 257, 256, 144, 168, 463, 60, 105, 169,
+ 467, 60, 352, 626, 339, 87, 321, 88, 61, 651,
+ 650, 525, 61, 348, 525, 556, 174, 106, 89, 107,
+ 174, 525, 490, 143, 66, 446, 445, 648, 647, 66,
+ 580, 87, 549, 88, 87, 175, 88, 411, 87, 175,
+ 88, 176, 567, 174, 89, 542, 87, 89, 88, 531,
+ 0, 89, 87, 525, 88, 581, 579, 527, 646, 89,
+ 527, 66, 175, 592, 411, 89, 0, 527, 526, 67,
+ 491, 526, 0, 0, 67, 68, 236, 235, 526, 87,
+ 68, 88, 87, 0, 88, 0, 550, 548, 87, 558,
+ 88, 527, 89, 267, 265, 89, 568, 566, 87, 527,
+ 88, 89, 526, 532, 530, 87, 67, 88, 525, 0,
+ 526, 89, 68, 87, 87, 88, 88, 174, 89, 477,
+ 0, 266, 0, 285, 286, 641, 89, 89, 75, 76,
+ 75, 76, 0, 0, 0, -92, 175, 0, 176, 642,
+ 640, 174, 6, 5, 4, 1, 3, 2, 0, 593,
+ 287, 288, 290, 291, 527, 77, 78, 77, 78, -92,
+ 175, 292, 176, 0, 293, 526, 294, 290, 291, 0,
+ 639, 0, 478, 476, 290, 291, 292, 0, 0, 293,
+ 0, 294, 0, 292, 290, 291, 293, 0, 294, 0,
+ 290, 291, 0, 292, 0, 0, 293, 0, 294, 292,
+ 80, 81, 293, 35, 294, 0, 0, 0, 82, 83,
+ 80, 81, 84, 35, 85, 0, 285, 286, 82, 83,
+ 80, 81, 84, 35, 85, 0, 0, 0, 82, 83,
+ 0, 0, 84, 35, 85, 0, 35, 0, 0, 0,
+ 49, 52, 50, 287, 288, 0, 0, 0, 0, 0,
+ 49, 52, 50, 0, 35, 0, 0, 35, 0, 0,
+ 49, 52, 50, 0, 0, 0, 0, 46, 34, 51,
+ 49, 52, 50, 49, 52, 50, 0, 46, 34, 51,
+ 0, 0, 0, 0, 0, 0, 0, 46, 34, 51,
+ 35, 49, 52, 50, 49, 52, 50, 46, 34, 51,
+ 46, 34, 51, 80, 81, 35, 0, 0, 35, 0,
+ 0, 82, 83, 0, 0, 84, 0, 85, 46, 34,
+ 51, 46, 34, 51, 35, 0, 0, 49, 52, 50,
+ 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 35, 49, 52, 50, 49, 52, 50, 184, 0,
+ 0, 0, 0, 0, 46, 34, 51, 0, 0, 0,
+ 0, 49, 52, 50, 35, 0, 0, 0, 0, 46,
+ 34, 51, 46, 34, 51, 35, 0, 0, 49, 52,
+ 50, 0, 184, 0, 0, 35, 0, 0, 46, 34,
+ 51, 0, 0, 0, 35, 0, 255, 254, 0, 0,
+ 0, 49, 52, 50, 0, 46, 34, 51, 0, 0,
+ 0, 0, 49, 52, 50, 35, 0, 0, 0, 0,
+ 0, 0, 49, 52, 50, 0, 255, 254, 46, 34,
+ 51, 49, 52, 50, 0, 0, 0, 0, 0, 46,
+ 34, 51, 0, 0, 0, 0, 0, 255, 254, 46,
+ 34, 51, 49, 52, 50, 0, 0, 0, 46, 34,
+ 51, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
+ 34, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 250, 249, 153, 0, 0, 49, 52,
+ 50, 0, 0, 0, 0, 154, 0, 0, 0, 155,
+ 0, 0, 0, 0, 0, 0, 0, 0, 156, 0,
+ 157, 0, 0, 319, 0, 46, 34, 51, 0, 0,
+ 0, 158, 0, 159, 64, 0, 0, 153, 0, 0,
+ 0, 160, 0, 0, 161, 65, 0, 154, 0, 0,
+ 162, 155, 0, 0, 0, 0, 163, 0, 0, 0,
+ 156, 0, 157, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 164, 158, 0, 159, 64, 0, 0, 0,
+ 0, 0, 0, 160, 0, 0, 161, 65, 0, 0,
+ 0, 0, 162, 0, 0, 0, 0, 0, 163, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 30, 31, 0, 45,
- 0, 0, 0, 0, 0, 0, 33, 0, 0, 151,
- 0, 0, 0, 34, 0, 0, 0, 35, 36, 152,
- 37, 0, 0, 153, 0, 0, 0, 504, 0, 0,
- 0, 44, 154, 0, 155, 0, 0, 309, 0, 0,
- 0, 0, 0, 0, 0, 156, 0, 157, 62, 51,
- 48, 50, 49, 0, 52, 158, 0, 0, 159, 63,
- 0, 0, 0, 0, 160, 43, 54, 32, 0, 0,
- 161, 40, 0, 0, 0, 0, 0, 45, 0, 0,
- 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
+ 0, 0, 0, 0, 164, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 30, 31, 0, 0, 0, 0, 0, 0, 30,
- 31, 33, 0, 0, 0, 0, 0, 0, 34, 33,
- 0, 0, 35, 36, 0, 37, 34, 0, 0, 0,
- 35, 36, 41, 37, 0, 0, 44, 0, 0, 0,
- 504, 0, 0, 0, 44, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 48, 50, 49, 0, 52,
- 0, 0, 51, 48, 50, 49, 0, 52, 0, 0,
- 43, 54, 32, 0, 0, 0, 40, 0, 43, 54,
- 32, 0, 45, 0, 40, 0, 0, 0, 0, 0,
- 45, 0, 30, 31, 0, 0, 0, 0, 0, 0,
- 30, 31, 33, 0, 0, 0, 0, 0, 0, 34,
- 33, 0, 0, 35, 36, 0, 37, 34, 0, 0,
- 0, 35, 36, 41, 37, 0, 0, 44, 0, 0,
- 0, 504, 0, 0, 0, 44, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 51, 48, 50, 49, 0,
- 52, 0, 0, 51, 48, 50, 49, 0, 52, 0,
- 0, 43, 54, 32, 0, 0, 0, 40, 0, 43,
- 54, 32, 0, 45, 0, 40, 0, 0, 0, 0,
- 0, 45, 0, 30, 31, 0, 0, 0, 0, 0,
- 0, 30, 31, 33, 0, 0, 0, 0, 0, 0,
- 34, 33, 0, 0, 35, 36, 0, 37, 34, 0,
- 0, 0, 35, 36, 41, 37, 0, 0, 44, 0,
- 0, 0, 504, 0, 0, 0, 44, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 48, 50, 49,
- 0, 52, 0, 0, 51, 48, 50, 49, 0, 52,
- 0, 0, 43, 54, 32, 0, 0, 0, 40, 0,
- 43, 54, 32, 0, 45, 0, 40, 0, 0, 0,
- 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
+ 31, 0, 0, 0, 0, 0, 0, 0, 0, 33,
+ 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
+ 36, 37, 0, 38, 0, 0, 0, 0, 0, 0,
+ 42, 0, 0, 0, 45, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 53, 49, 52, 50, 0, 54, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 44, 56,
+ 32, 0, 0, 0, 41, 0, 0, 0, 0, 0,
+ 46, 34, 51, 0, 0, 0, 0, 0, 0, 0,
0, 0, 30, 31, 0, 0, 0, 0, 0, 0,
- 0, 0, 33, 0, 0, 0, 0, 0, 0, 34,
- 0, 0, 0, 35, 36, 0, 37, 0, 0, 0,
- 0, 0, 0, 504, 0, 0, 0, 44, 0, 0,
+ 0, 0, 33, 0, 0, 0, 0, 0, 0, 35,
+ 0, 0, 0, 36, 37, 0, 38, 0, 0, 0,
+ 0, 0, 0, 516, 0, 0, 0, 45, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 51, 48, 50, 49, 0,
- 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 43, 54, 32, 0, 0, 0, 40, 0, 0,
- 0, 0, 0, 45, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 503, 0, 30, 31, 0, 0, 0,
- 0, 0, 0, 0, 0, 215, 0, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 35, 36, 0, 37,
- 0, 0, 0, 0, 0, 0, 504, 0, 0, 0,
- 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 51, 505,
- 507, 506, 0, 52, 0, 0, 0, 0, 226, 0,
- 0, 0, 0, 0, 43, 54, 32, 210, 0, 0,
- 40, 0, 0, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 503, 0, 30, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 215, 0,
- 0, 0, 0, 0, 0, 34, 0, 0, 0, 35,
- 36, 0, 37, 0, 0, 0, 0, 0, 0, 504,
- 0, 0, 0, 44, 0, 0, 0, 0, 0, 0,
- 0, 551, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 505, 507, 506, 0, 52, 0, 0, 0,
- 0, 226, 0, 0, 0, 0, 0, 43, 54, 32,
- 210, 0, 0, 40, 0, 0, 0, 0, 0, 45,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 503,
- 0, 30, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 215, 0, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 35, 36, 0, 37, 0, 0, 0, 0,
- 0, 0, 504, 0, 0, 0, 44, 0, 0, 0,
- 0, 0, 0, 0, 548, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 505, 507, 506, 0, 52,
- 0, 0, 0, 0, 226, 0, 0, 0, 0, 0,
- 43, 54, 32, 210, 0, 0, 40, 0, 0, 0,
- 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
- 34, 0, 0, 0, 35, 36, 0, 37, 0, 0,
- 0, 38, 0, 39, 41, 42, 0, 0, 44, 0,
- 0, 0, 46, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 51, 48, 50, 49,
- 0, 52, 0, 53, 0, 55, 0, 56, 0, 0,
- 0, 0, 43, 54, 32, 0, 0, 0, 40, 0,
- 0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -122, 0, 0, 0, 29, 30,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, 33,
- 0, 0, 0, 0, 0, 0, 34, 0, 0, 0,
- 35, 36, 0, 37, 0, 0, 0, 38, 0, 39,
- 41, 42, 0, 0, 44, 0, 0, 0, 46, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 48, 50, 49, 0, 52, 0, 53,
- 0, 55, 0, 56, 0, 0, 0, 0, 43, 54,
- 32, 0, 0, 0, 40, 0, 0, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 35, 36, 0, 37, 0, 0, 0, 38,
- 0, 39, 41, 42, 0, 0, 44, 0, 0, 0,
- 46, 0, 47, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 48, 50, 49, 0, 52,
- 0, 53, 0, 55, 272, 56, 0, 0, 0, 0,
- 43, 54, 32, 0, 0, 0, 40, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 49, 52, 50, 0,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 44, 56, 32, 0, 0, 0, 41, 0, 0,
+ 0, 0, 0, 46, 34, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 515, 0, 30, 31, 0,
+ 0, 0, 0, 0, 0, 0, 0, 219, 0, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 36, 37,
+ 0, 38, 0, 0, 0, 0, 0, 0, 516, 0,
0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 476, 0, 0, 29, 30, 31, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 34, 0, 0, 0, 35, 36, 0,
- 37, 0, 0, 0, 38, 0, 39, 41, 42, 0,
- 0, 44, 0, 0, 0, 46, 0, 47, 0, 0,
- 477, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 48, 50, 49, 0, 52, 0, 53, 0, 55, 0,
- 56, 0, 0, 0, 0, 43, 54, 32, 0, 0,
- 0, 40, 0, 0, 0, 0, 0, 45, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 476, 0, 0,
- 29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 35, 36, 0, 37, 0, 0, 0, 38,
- 0, 39, 41, 42, 0, 0, 44, 0, 0, 0,
- 46, 0, 47, 0, 0, 482, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 48, 50, 49, 0, 52,
- 0, 53, 0, 55, 0, 56, 0, 0, 0, 0,
- 43, 54, 32, 0, 0, 0, 40, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 53, 517, 519, 518, 0, 54, 0, 0, 0, 0,
+ 227, 0, 0, 0, 0, 0, 44, 56, 32, 214,
+ 0, 0, 41, 0, 0, 0, 0, 0, 46, 34,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 515, 0, 30, 31, 0, 0, 0, 0, 0, 0,
+ 0, 0, 219, 0, 0, 0, 0, 0, 0, 35,
+ 0, 0, 0, 36, 37, 0, 38, 0, 0, 0,
+ 0, 0, 0, 516, 0, 0, 0, 45, 0, 0,
+ 0, 0, 0, 0, 0, 560, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 517, 519, 518, 0,
+ 54, 0, 0, 0, 0, 227, 0, 0, 0, 0,
+ 0, 44, 56, 32, 214, 0, 0, 41, 0, 0,
+ 0, 0, 0, 46, 34, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 515, 0, 30, 31, 0,
+ 0, 0, 0, 0, 0, 0, 0, 219, 0, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 36, 37,
+ 0, 38, 0, 0, 0, 0, 0, 0, 516, 0,
0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 484, 0, 0, 29, 30, 31, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 34, 0, 0, 0, 35, 36, 0,
- 37, 0, 0, 0, 38, 0, 39, 41, 42, 0,
- 0, 44, 0, 0, 0, 46, 0, 47, 0, 0,
- 485, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 48, 50, 49, 0, 52, 0, 53, 0, 55, 0,
- 56, 0, 0, 0, 0, 43, 54, 32, 0, 0,
- 0, 40, 0, 0, 0, 0, 0, 45, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 484, 0, 0,
+ 563, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 53, 517, 519, 518, 0, 54, 0, 0, 0, 0,
+ 227, 0, 0, 0, 0, 0, 44, 56, 32, 214,
+ 0, 0, 41, 0, 0, 0, 0, 0, 46, 34,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 0, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 35, 36, 0, 37, 0, 0, 0, 38,
- 0, 39, 41, 42, 0, 0, 44, 0, 0, 0,
- 46, 0, 47, 0, 0, 487, 0, 0, 0, 0,
- 0, 0, 0, 0, 51, 48, 50, 49, 0, 52,
- 0, 53, 0, 55, 0, 56, 0, 0, 0, 0,
- 43, 54, 32, 0, 0, 0, 40, 0, 0, 0,
- 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 35, 0,
+ 0, 0, 36, 37, 0, 38, 0, 0, 0, 39,
+ 0, 40, 42, 43, 0, 0, 45, 0, 0, 0,
+ 47, 0, 48, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 53, 49, 52, 50, 0, 54,
+ 0, 55, 0, 57, 0, 58, 0, 0, 0, 0,
+ 44, 56, 32, 0, 0, 0, 41, 0, 0, 0,
+ 0, 0, 46, 34, 51, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -125, 0, 0, 0, 29, 30,
+ 31, 0, 0, 0, 0, 0, 0, 0, 0, 33,
+ 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
+ 36, 37, 0, 38, 0, 0, 0, 39, 0, 40,
+ 42, 43, 0, 0, 45, 0, 0, 0, 47, 0,
+ 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 53, 49, 52, 50, 0, 54, 0, 55,
+ 0, 57, 0, 58, 0, 0, 0, 0, 44, 56,
+ 32, 0, 0, 0, 41, 0, 0, 0, 0, 0,
+ 46, 34, 51, 0, 0, 0, 0, 0, 0, 0,
0, 0, 29, 30, 31, 0, 0, 0, 0, 0,
0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
- 34, 217, 0, 0, 218, 36, 0, 37, 0, 0,
- 0, 38, 0, 39, 41, 42, 0, 0, 44, 0,
- 0, 0, 46, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 221, 0, 0, 0, 51, 48, 50, 49,
- 223, 52, 0, 53, 225, 55, 0, 56, 0, 228,
- 0, 0, 43, 54, 32, 0, 0, 0, 40, 0,
- 0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
+ 35, 0, 0, 0, 36, 37, 0, 38, 0, 0,
+ 0, 39, 0, 40, 42, 43, 0, 0, 45, 0,
+ 0, 0, 47, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 49, 52, 50,
+ 0, 54, 0, 55, 0, 57, 282, 58, 0, 0,
+ 0, 0, 44, 56, 32, 0, 0, 0, 41, 0,
+ 0, 0, 0, 0, 46, 34, 51, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 496, 0, 0, 29,
+ 30, 31, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 35, 0, 0,
+ 0, 36, 37, 0, 38, 0, 0, 0, 39, 0,
+ 40, 42, 43, 0, 0, 45, 0, 0, 0, 47,
+ 0, 48, 0, 0, 499, 0, 0, 0, 0, 0,
+ 0, 0, 0, 53, 49, 52, 50, 0, 54, 0,
+ 55, 0, 57, 0, 58, 0, 0, 0, 0, 44,
+ 56, 32, 0, 0, 0, 41, 0, 0, 0, 0,
+ 0, 46, 34, 51, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 496, 0, 0, 29, 30, 31, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 0, 0,
+ 0, 0, 0, 0, 35, 0, 0, 0, 36, 37,
+ 0, 38, 0, 0, 0, 39, 0, 40, 42, 43,
+ 0, 0, 45, 0, 0, 0, 47, 0, 48, 0,
+ 0, 497, 0, 0, 0, 0, 0, 0, 0, 0,
+ 53, 49, 52, 50, 0, 54, 0, 55, 0, 57,
+ 0, 58, 0, 0, 0, 0, 44, 56, 32, 0,
+ 0, 0, 41, 0, 0, 0, 0, 0, 46, 34,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 488, 0, 0, 29, 30, 31, 0, 0, 0, 0,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 36, 37, 0, 38, 0,
+ 0, 0, 39, 0, 40, 42, 43, 0, 0, 45,
+ 0, 0, 0, 47, 0, 48, 0, 0, 489, 0,
+ 0, 0, 0, 0, 0, 0, 0, 53, 49, 52,
+ 50, 0, 54, 0, 55, 0, 57, 0, 58, 0,
+ 0, 0, 0, 44, 56, 32, 0, 0, 0, 41,
+ 0, 0, 0, 0, 0, 46, 34, 51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 488, 0, 0,
+ 29, 30, 31, 0, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 0, 0, 35, 0,
+ 0, 0, 36, 37, 0, 38, 0, 0, 0, 39,
+ 0, 40, 42, 43, 0, 0, 45, 0, 0, 0,
+ 47, 0, 48, 0, 0, 494, 0, 0, 0, 0,
+ 0, 0, 0, 0, 53, 49, 52, 50, 0, 54,
+ 0, 55, 0, 57, 0, 58, 0, 0, 0, 0,
+ 44, 56, 32, 0, 0, 0, 41, 0, 0, 0,
+ 0, 0, 46, 34, 51, 0, 0, 0, 0, 0,
0, 0, 0, 0, 29, 30, 31, 0, 0, 0,
0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
- 0, 0, 34, 217, 0, 0, 583, 584, 0, 37,
- 0, 0, 0, 38, 0, 39, 41, 42, 0, 0,
- 44, 0, 0, 0, 46, 0, 47, 0, 0, 0,
- 0, 0, 0, 0, 221, 0, 0, 0, 51, 48,
- 50, 49, 223, 52, 0, 53, 225, 55, 0, 56,
- 0, 228, 0, 0, 43, 54, 32, 0, 0, 0,
- 40, 0, 0, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 109, 110, 111, 0,
- 0, 113, 115, 116, 0, 0, 117, 0, 118, 0,
- 0, 0, 120, 121, 122, 0, 0, 0, 0, 0,
- 0, 34, 123, 124, 125, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 126, 0, 0, 0, 0,
+ 0, 0, 35, 220, 0, 0, 221, 37, 0, 38,
+ 0, 0, 0, 39, 0, 40, 42, 43, 0, 0,
+ 45, 0, 0, 0, 47, 0, 48, 0, 0, 0,
+ 0, 0, 0, 0, 223, 0, 0, 0, 53, 49,
+ 52, 50, 224, 54, 0, 55, 226, 57, 0, 58,
+ 0, 229, 0, 0, 44, 56, 32, 0, 0, 0,
+ 41, 0, 0, 0, 0, 0, 46, 34, 51, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
+ 31, 0, 0, 0, 0, 0, 0, 0, 0, 33,
+ 0, 0, 0, 0, 0, 0, 35, 220, 0, 0,
+ 595, 596, 0, 38, 0, 0, 0, 39, 0, 40,
+ 42, 43, 0, 0, 45, 0, 0, 0, 47, 0,
+ 48, 0, 0, 0, 0, 0, 0, 0, 223, 0,
+ 0, 0, 53, 49, 52, 50, 224, 54, 0, 55,
+ 226, 57, 0, 58, 0, 229, 0, 0, 44, 56,
+ 32, 0, 0, 0, 41, 0, 0, 0, 0, 0,
+ 46, 34, 51, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 111, 112, 113, 0, 0, 115, 117, 118,
+ 0, 0, 119, 0, 120, 0, 0, 0, 122, 123,
+ 124, 0, 0, 0, 0, 0, 0, 35, 125, 126,
+ 127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 131, 0, 0,
+ 0, 0, 0, 0, 49, 52, 50, 132, 133, 134,
+ 0, 136, 137, 138, 139, 140, 141, 0, 0, 129,
+ 135, 121, 114, 116, 130, 0, 0, 0, 0, 0,
+ 0, 46, 34, 51, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 111, 112, 113, 0, 0, 115, 117,
+ 118, 0, 0, 119, 0, 120, 0, 0, 0, 122,
+ 123, 124, 0, 0, 0, 0, 0, 0, 35, 125,
+ 126, 127, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 128, 0, 0, 0, 395, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 131, 0,
+ 0, 0, 0, 0, 397, 49, 52, 50, 132, 133,
+ 134, 0, 136, 137, 138, 139, 140, 141, 0, 0,
+ 129, 135, 121, 114, 116, 130, 0, 0, 0, 0,
+ 0, 0, 46, 34, 51, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 111, 112, 113, 0, 0, 115,
+ 117, 118, 0, 0, 119, 0, 120, 0, 0, 0,
+ 122, 123, 124, 0, 0, 0, 0, 0, 0, 35,
+ 125, 126, 127, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 128, 0, 0, 0, 395, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 131,
+ 0, 0, 0, 0, 0, 397, 49, 52, 50, 132,
+ 133, 134, 0, 136, 137, 138, 139, 140, 141, 0,
+ 0, 129, 135, 121, 114, 116, 130, 0, 0, 0,
+ 0, 0, 0, 46, 374, 380, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 111, 112, 113, 0, 0,
+ 115, 117, 118, 0, 0, 119, 0, 120, 0, 0,
+ 0, 122, 123, 124, 0, 0, 0, 0, 0, 0,
+ 35, 125, 126, 127, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 128, 0, 0, 0, 395, 0,
+ 0, 0, 0, 0, 0, 0, 396, 0, 0, 0,
+ 131, 0, 0, 0, 0, 0, 397, 49, 52, 50,
+ 132, 133, 134, 0, 136, 137, 138, 139, 140, 141,
+ 0, 0, 129, 135, 121, 114, 116, 130, 0, 0,
+ 0, 0, 0, 0, 46, 374, 380, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 213, 0, 0, 0,
+ 0, 215, 0, 29, 30, 31, 217, 0, 0, 0,
+ 0, 0, 0, 218, 33, 0, 0, 0, 0, 0,
+ 0, 35, 220, 0, 0, 221, 37, 0, 38, 0,
+ 0, 0, 39, 0, 40, 42, 43, 0, 0, 45,
+ 0, 0, 0, 47, 0, 48, 0, 0, 0, 0,
+ 0, 222, 0, 223, 0, 0, 0, 53, 49, 52,
+ 50, 224, 54, 225, 55, 226, 57, 227, 58, 228,
+ 229, 0, 0, 44, 56, 32, 214, 216, 0, 41,
+ 0, 0, 0, 0, 0, 46, 34, 51, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 213, 0, 0,
+ 0, 0, 215, 0, 29, 30, 31, 217, 0, 0,
+ 0, 0, 0, 0, 218, 219, 0, 0, 0, 0,
+ 0, 0, 35, 220, 0, 0, 221, 37, 0, 38,
+ 0, 0, 0, 39, 0, 40, 42, 43, 0, 0,
+ 45, 0, 0, 0, 47, 0, 48, 0, 0, 0,
+ 0, 0, 222, 0, 223, 0, 0, 0, 53, 49,
+ 52, 50, 224, 54, 225, 55, 226, 57, 227, 58,
+ 228, 229, 0, 0, 44, 56, 32, 214, 216, 0,
+ 41, 0, 0, 0, 0, 0, 46, 34, 51, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 600, 112,
+ 113, 0, 0, 602, 117, 604, 30, 31, 605, 0,
+ 120, 0, 0, 0, 122, 607, 608, 0, 0, 0,
+ 0, 0, 0, 35, 609, 126, 127, 221, 37, 0,
+ 38, 0, 0, 0, 39, 0, 40, 610, 43, 0,
+ 0, 612, 0, 0, 0, 47, 0, 48, 0, 0,
+ 0, 0, 0, 613, 0, 223, 0, 0, 0, 614,
+ 49, 52, 50, 615, 616, 617, 55, 619, 620, 621,
+ 622, 623, 624, 0, 0, 611, 618, 606, 601, 603,
+ 130, 41, 0, 0, 0, 0, 0, 46, 374, 380,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 365,
+ 112, 113, 0, 0, 367, 117, 369, 30, 31, 370,
+ 0, 120, 0, 0, 0, 122, 372, 373, 0, 0,
+ 0, 0, 0, 0, 35, 375, 126, 127, 221, 37,
+ 0, 38, 0, 0, 0, 39, 0, 40, 376, 43,
+ 0, 0, 378, 0, 0, 0, 47, 0, 48, 0,
+ -271, 0, 0, 0, 379, 0, 223, 0, 0, 0,
+ 381, 49, 52, 50, 382, 383, 384, 55, 386, 387,
+ 388, 389, 390, 391, 0, 0, 377, 385, 371, 366,
+ 368, 130, 41, 0, 0, 0, 0, 0, 46, 374,
+ 380, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 565, 148, 545, 16, 649, 547, 541, 469, 320, 529,
+ 528, 630, 183, 248, 263, 500, 485, 447, 629, 183,
+ 627, 444, 253, 393, 587, 652, 313, 152, 643, 572,
+ 591, 575, 586, 638, 331, 574, 453, 455, 466, 253,
+ 437, 178, 433, 253, 0, 248, 584, 458, 248, 313,
+ 441, 183, 444, 457, 237, 190, 447, 188, 206, 425,
+ 400, 462, 351, 313, 347, 150, 165, 447, 475, 444,
+ 183, 145, 393, 260, 0, 409, 173, 409, 260, 362,
+ 171, 514, 409, 495, 362, 393, 206, 498, 628, 313,
+ 313, 206, 356, 142, 206, 331, 362, 599, 403, 0,
+ 345, 62, 62, 62, 182, 62, 299, 182, 295, 206,
+ 410, 417, 410, 206, 62, 393, 62, 410, 62, 296,
+ 148, 298, 148, 297, 62, 62, 182, 504, 412, 62,
+ 180, 502, 511, 206, 512, 62, 108, 460, 188, 62,
+ 394, 188, 62, 206, 460, 247, 62, 206, 459, 206,
+ 62, 102, 459, 62, 62, 514, 206, 62, 653, 503,
+ 407, 343, 341, 62, 313, 110, 419, 167, 188, 187,
+ 170, 340, 514, 104, 0, 553, 422, 206, 62, 206,
+ 62, 63, 62, 72, 62, 510, 71, 97, 62, 514,
+ 70, 62, 557, 69, 355, 62, 239, 62, 493, 318,
+ 86, 469, 492, 62, 483, 74, 242, 206, 93, 62,
+ 353, 62, 206, 260, 95, 0, 96, 62, 62, 62,
+ 322, 62, 94, 206, 100, 98, 206, 99, 62, 247,
+ 277, 464, 0, 206, 79, 281, 314, 468, 62, 62,
+ 206, 507, 91, 246, 206, 62, 62, 349, 505, 90,
+ 206, 62, 62, 460, 459, 62, 206, 506, 62, 401,
+ 206, 62, 92, 309, 62, 108, 281, 362, 281, 281,
+ 0, 313, 206, 62, 304, 479, 0, 309, 281, 62,
+ 206, 327, 281, 0, 281, 337, 300, 309, 324, 0,
+ 0, 62, 281, 0, 110, 177, 281, 62, 301, 308,
+ 309, 0, 281, 309, 302, 281, 62, 62, 281, 330,
+ 62, 281, 281, 289, 514, 281, 0, 0, 306, 284,
+ 0, 522, 328, 569, 561, 311, 553, 564, 625, 0,
+ 0, 0, 514, 513, 523, 514, 0, 0, 0, 522,
+ 0, 0, 522, 316, 0, 0, 0, 0, 0, 485,
+ 440, 513, 523, 0, 513, 523, 533, 534, 535, 536,
+ 540, 537, 538, 577, 533, 534, 535, 536, 540, 537,
+ 538, 594, 0, 0, 0, 0, 362, 0, 597, 598,
+ 533, 534, 535, 536, 540, 537, 538, 0, 0, 206,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 129, 0, 0, 0, 0, 0, 0, 48, 50,
- 49, 130, 131, 132, 0, 134, 135, 136, 137, 138,
- 139, 0, 0, 127, 133, 119, 112, 114, 128, 0,
- 0, 0, 0, 0, 0, 45, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 109, 110, 111, 0, 0,
- 113, 115, 116, 0, 0, 117, 0, 118, 0, 0,
- 0, 120, 121, 122, 0, 0, 0, 0, 0, 0,
- 394, 123, 124, 125, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 126, 0, 0, 0, 395, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 129, 0, 0, 0, 0, 0, 399, 396, 398, 0,
- 130, 131, 132, 0, 134, 135, 136, 137, 138, 139,
- 0, 0, 127, 133, 119, 112, 114, 128, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 109, 110, 111, 0, 0, 113,
- 115, 116, 0, 0, 117, 0, 118, 0, 0, 0,
- 120, 121, 122, 0, 0, 0, 0, 0, 0, 394,
- 123, 124, 125, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 126, 0, 0, 0, 395, 0, 0,
- 0, 0, 0, 0, 0, 397, 0, 0, 0, 129,
- 0, 0, 0, 0, 0, 399, 396, 398, 0, 130,
- 131, 132, 0, 134, 135, 136, 137, 138, 139, 0,
- 0, 127, 133, 119, 112, 114, 128, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 209, 0, 0, 0, 0, 211, 0,
- 29, 30, 31, 213, 0, 0, 0, 0, 0, 0,
- 214, 215, 0, 0, 0, 0, 0, 0, 216, 217,
- 0, 0, 218, 36, 0, 37, 0, 0, 0, 38,
- 0, 39, 41, 42, 0, 0, 44, 0, 0, 0,
- 46, 0, 47, 0, 0, 0, 0, 0, 220, 0,
- 221, 0, 0, 0, 51, 219, 222, 49, 223, 52,
- 224, 53, 225, 55, 226, 56, 227, 228, 0, 0,
- 43, 54, 32, 210, 212, 0, 40, 0, 0, 0,
- 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 209, 0, 0, 0, 0, 211, 0, 29,
- 30, 31, 213, 0, 0, 0, 0, 0, 0, 214,
- 33, 0, 0, 0, 0, 0, 0, 216, 217, 0,
- 0, 218, 36, 0, 37, 0, 0, 0, 38, 0,
- 39, 41, 42, 0, 0, 44, 0, 0, 0, 46,
- 0, 47, 0, 0, 0, 0, 0, 220, 0, 221,
- 0, 0, 0, 51, 219, 222, 49, 223, 52, 224,
- 53, 225, 55, 226, 56, 227, 228, 0, 0, 43,
- 54, 32, 210, 212, 0, 40, 0, 0, 0, 0,
- 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 587, 110, 111, 0, 0, 589, 115, 591, 30,
- 31, 592, 0, 118, 0, 0, 0, 120, 594, 595,
- 0, 0, 0, 0, 0, 0, 596, 597, 124, 125,
- 218, 36, 0, 37, 0, 0, 0, 38, 0, 39,
- 598, 42, 0, 0, 600, 0, 0, 0, 46, 0,
- 47, 0, 0, 0, 0, 0, 602, 0, 221, 0,
- 0, 0, 604, 601, 603, 49, 605, 606, 607, 53,
- 609, 610, 611, 612, 613, 614, 0, 0, 599, 608,
- 593, 588, 590, 128, 40, 0, 0, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 362, 110, 111, 0, 0, 364, 115, 366, 30, 31,
- 367, 0, 118, 0, 0, 0, 120, 369, 370, 0,
- 0, 0, 0, 0, 0, 371, 372, 124, 125, 218,
- 36, 0, 37, 0, 0, 0, 38, 0, 39, 373,
- 42, 0, 0, 375, 0, 0, 0, 46, 0, 47,
- 0, -268, 0, 0, 0, 377, 0, 221, 0, 0,
- 0, 379, 376, 378, 49, 380, 381, 382, 53, 384,
- 385, 386, 387, 388, 389, 0, 0, 374, 383, 368,
- 363, 365, 128, 40, 0, 0, 0, 0, 0, 45,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 639, 310, 529, 533, 516, 535, 517, 499, 500, 462,
- 498, 620, 553, 312, 243, 16, 562, 440, 437, 633,
- 238, 250, 473, 182, 253, 182, 617, 488, 359, 563,
- 303, 321, 619, 642, 150, 575, 560, 250, 628, 163,
- 426, 348, 250, 579, 186, 350, 182, 574, 468, 340,
- 430, 345, 572, 434, 359, 457, 448, 446, 238, 450,
- 455, 459, 243, 243, 461, 352, 238, 451, 354, 148,
- 403, 483, 486, 176, 437, 143, 440, 401, 411, 335,
- 188, 437, 440, 169, 237, 171, 237, 140, 359, 393,
- 337, 303, 308, 416, 391, 146, 418, 303, 405, 359,
- 359, 0, 0, 146, 0, 0, 0, 60, 178, 60,
- 0, 452, 288, 0, 303, 60, 405, 60, 405, 180,
- 285, 60, 60, 60, 491, 186, 286, 60, 287, 60,
- 406, 453, 502, 502, 303, 643, 545, 60, 321, 453,
- 60, 165, 180, 60, 60, 490, 180, 60, 406, 60,
- 406, 452, 267, 146, 60, 60, 60, 271, 408, 289,
- 60, 84, 69, 168, 60, 60, 60, 100, 106, 60,
- 97, 98, 96, 502, 481, 0, 541, 72, 480, 436,
- 433, 60, 60, 333, 60, 60, 91, 92, 90, 60,
- 93, 60, 60, 89, 108, 60, 94, 339, 77, 88,
- 60, 502, 462, 331, 60, 95, 303, 61, 618, 106,
- 342, 330, 60, 60, 453, 452, 60, 60, 494, 495,
- 60, 60, 493, 60, 60, 492, 60, 70, 68, 60,
- 60, 102, 67, 60, 271, 108, 175, 299, 271, 0,
- 299, 0, 271, 0, 314, 271, 294, 299, 60, 60,
- 60, 0, 271, 271, 271, 271, 60, 279, 274, 320,
- 0, 271, 318, 60, 0, 317, 0, 296, 271, 327,
- 292, 60, 60, 472, 0, 304, 271, 271, 291, 290,
- 557, 299, 299, 541, 549, 615, 271, 271, 502, 0,
- 552, 0, 502, 0, 0, 510, 0, 0, 502, 510,
- 0, 0, 303, 298, 301, 510, 473, 501, 511, 0,
- 0, 501, 511, 0, 0, 0, 0, 501, 511, 521,
- 522, 523, 524, 528, 525, 526, 582, 0, 0, 0,
- 0, 0, 0, 585, 586, 521, 522, 523, 524, 528,
- 525, 526, 557, 0, 0, 0, 0, 0, 0, 558,
- 559, 521, 522, 523, 524, 528, 525, 526, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 306, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 443,
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, 565, 521, 522, 523,
- 524, 528, 525, 526, 0, 0, 0, 0, 0, 0,
+ 0, 0, 569, 0, 0, 0, 0, 0, 0, 570,
+ 571, 533, 534, 535, 536, 540, 537, 538, 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,
@@ -697,120 +705,101 @@ const short QQmlJSGrammar::action_info [] = {
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 short QQmlJSGrammar::action_check [] = {
- 36, 36, 7, 55, 17, 7, 7, 60, 8, 7,
- 7, 37, 36, 7, 20, 33, 55, 55, 60, 36,
- 36, 33, 33, 55, 8, 7, 36, 7, 16, 33,
- 7, 34, 7, 7, 7, 60, 7, 36, 33, 7,
- 36, 33, 33, 5, 7, 5, 5, 33, 29, 36,
- 91, 36, 7, 36, 7, 33, 7, 7, 66, 66,
- 36, 33, 7, 7, 31, 1, 7, 24, 33, 2,
- 60, 60, 36, 8, 8, 7, 55, 1, 36, 48,
- 2, 8, 7, 2, 7, 2, 79, 36, 17, 36,
- 60, 7, 48, 36, 36, 61, 33, 36, 1, 60,
- 0, 8, 8, 1, 8, 6, 8, -1, -1, 61,
- 48, 7, 8, 8, 60, 8, 10, -1, 8, 20,
- 8, -1, 48, -1, 8, 79, 40, 40, 15, 77,
- -1, 61, 60, 8, 8, 8, 15, 51, 51, 79,
- 8, 61, 62, 61, 62, 50, 7, 34, 8, 54,
- 61, 62, 61, 62, 56, 34, 60, 42, 79, 8,
- 91, 55, 40, 56, 12, 60, 56, 50, 53, 61,
- 62, 54, 60, 51, 29, 61, 62, 61, 40, 61,
- 62, 12, 56, 29, 25, 60, 27, 60, 56, 51,
- 61, 62, 25, 7, 27, 8, 12, 38, -1, 25,
- 60, 27, 7, -1, 25, 38, 27, 29, 25, 57,
- 27, 60, 38, 7, 25, 63, 27, 38, 36, 33,
- 75, 38, 25, 25, 27, 27, 57, 38, 29, 75,
- -1, 86, 63, 7, 29, 38, 38, 25, 29, 27,
- 86, 57, 8, 61, 62, 8, -1, 63, 61, 62,
- 38, 15, 25, 75, 27, 8, 61, 62, 25, -1,
- 27, 61, 62, -1, 86, 38, -1, 61, 62, -1,
- 34, 38, 36, 25, 75, 27, 61, 62, -1, 93,
- 75, 15, -1, -1, 75, 86, 38, 61, 62, 89,
- 25, 86, 27, -1, 60, 86, 18, 19, 61, 62,
- 34, -1, 36, 38, 18, 19, -1, 92, 61, 62,
- -1, -1, -1, 29, 47, 15, 18, 19, -1, -1,
- 15, 18, 19, 45, 46, 29, -1, -1, 61, 62,
- 29, 45, 46, 33, 34, 29, 36, 15, 33, 34,
- -1, 36, 29, 45, 46, 29, -1, -1, 45, 46,
- 66, 67, 68, 29, -1, -1, 34, -1, 36, 92,
- -1, -1, 66, 67, 68, 29, -1, 66, 67, 68,
- -1, -1, 66, 67, 68, -1, 29, 93, -1, 66,
- 67, 68, 66, 67, 68, 29, 23, 24, -1, 93,
- 66, 67, 68, 29, 93, 32, -1, -1, 35, 93,
- 37, -1, 66, 67, 68, 29, 93, -1, 29, 93,
- -1, -1, -1, 66, 67, 68, 29, 93, -1, -1,
- -1, 29, 66, 67, 68, 23, 24, 29, -1, 93,
- 66, 67, 68, -1, 32, -1, 29, 35, -1, 37,
- 93, -1, 66, 67, 68, 66, 67, 68, -1, 93,
- -1, 29, -1, 66, 67, 68, -1, 93, 66, 67,
- 68, -1, -1, -1, 66, 67, 68, 23, 24, 93,
- -1, -1, 93, 66, 67, 68, 32, -1, -1, 35,
- 93, 37, -1, -1, -1, 93, -1, -1, 66, 67,
- 68, 93, 29, -1, -1, 23, 24, -1, -1, 36,
- 93, -1, -1, 31, 32, 23, 24, 35, -1, 37,
- -1, -1, -1, -1, 32, 93, -1, 35, -1, 37,
- 95, 96, 97, 98, 99, 100, 29, 23, 24, 66,
- 67, 68, -1, 36, 29, 31, 32, 23, 24, 35,
- -1, 37, 29, -1, -1, 31, 32, -1, -1, 35,
- 29, 37, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, 66, 67, 68, 61, 62, -1, -1,
- 29, 66, 67, 68, 61, 62, -1, -1, 29, 66,
- 67, 68, 61, 62, -1, 23, 24, 66, 67, 68,
- 93, -1, -1, 31, 32, -1, -1, 35, 93, 37,
- -1, -1, 61, 62, -1, -1, 93, 66, 67, 68,
- 61, 62, 3, -1, 93, 66, 67, 68, -1, -1,
- -1, -1, 13, -1, -1, -1, 17, -1, -1, -1,
- 3, -1, -1, -1, 93, 26, -1, 28, -1, -1,
- 13, -1, 93, -1, 17, -1, -1, -1, 39, -1,
- 41, 42, -1, 26, -1, 28, -1, -1, 49, -1,
- -1, 52, 53, -1, -1, 29, 39, 58, 41, 42,
- -1, -1, -1, 64, -1, -1, 49, -1, -1, 52,
- 53, -1, -1, -1, -1, 58, -1, -1, -1, 80,
- -1, 64, -1, -1, -1, -1, -1, 61, 62, -1,
- -1, -1, 66, 67, 68, -1, -1, 80, -1, -1,
+ 60, 7, 7, 7, 34, 91, 24, 7, 61, 36,
+ 33, 36, 7, 7, 7, 60, 33, 33, 55, 66,
+ 8, 33, 55, 36, 16, 7, 36, 29, 8, 7,
+ 7, 55, 17, 36, 7, 7, 7, 7, 7, 36,
+ 55, 7, 7, 33, 33, 36, 33, 33, 7, 60,
+ 7, 60, 20, 36, 33, 36, 55, 7, 33, 60,
+ 5, 37, 36, 5, 60, 5, 7, 2, 66, 36,
+ 33, 33, 36, 7, 1, 8, 60, 8, 33, 2,
+ 36, 1, 8, 36, 2, 1, 8, 2, 17, 1,
+ 0, 8, -1, 7, 55, 33, 33, -1, -1, 48,
+ 60, -1, 6, 31, 55, 48, 36, 61, 60, 8,
+ -1, 36, 60, -1, 7, 61, 20, 36, 8, 77,
+ 15, 60, 8, 55, 48, 36, 10, 36, 36, 36,
+ 7, 8, 79, 8, 8, 79, 8, 42, 8, 34,
+ 8, 8, 48, 40, 8, 8, -1, 60, 53, 50,
+ -1, 8, -1, 54, 51, 91, 15, 8, 79, 61,
+ 62, 60, 8, 61, 62, 61, 62, 61, 62, 40,
+ 60, 55, 61, 62, 60, 34, 61, 62, 61, 62,
+ 51, 56, 61, 62, 56, 50, 60, 40, 15, 54,
+ 60, 40, 60, 56, 61, 25, 60, 27, 51, 61,
+ 62, 29, 51, 60, 29, 56, 15, 34, 38, 36,
+ 15, 29, 8, 8, 12, 61, 62, 61, 62, 12,
+ 36, 25, 7, 27, 25, 34, 27, 36, 25, 34,
+ 27, 36, 7, 15, 38, 29, 25, 38, 27, 7,
+ -1, 38, 25, 29, 27, 61, 62, 75, 92, 38,
+ 75, 12, 34, 7, 36, 38, -1, 75, 86, 57,
+ 56, 86, -1, -1, 57, 63, 61, 62, 86, 25,
+ 63, 27, 25, -1, 27, -1, 61, 62, 25, 33,
+ 27, 75, 38, 61, 62, 38, 61, 62, 25, 75,
+ 27, 38, 86, 61, 62, 25, 57, 27, 29, -1,
+ 86, 38, 63, 25, 25, 27, 27, 15, 38, 8,
+ -1, 89, -1, 18, 19, 47, 38, 38, 18, 19,
+ 18, 19, -1, -1, -1, 33, 34, -1, 36, 61,
+ 62, 15, 97, 98, 99, 100, 101, 102, -1, 93,
+ 45, 46, 23, 24, 75, 45, 46, 45, 46, 33,
+ 34, 32, 36, -1, 35, 86, 37, 23, 24, -1,
+ 92, -1, 61, 62, 23, 24, 32, -1, -1, 35,
+ -1, 37, -1, 32, 23, 24, 35, -1, 37, -1,
+ 23, 24, -1, 32, -1, -1, 35, -1, 37, 32,
+ 23, 24, 35, 29, 37, -1, -1, -1, 31, 32,
+ 23, 24, 35, 29, 37, -1, 18, 19, 31, 32,
+ 23, 24, 35, 29, 37, -1, -1, -1, 31, 32,
+ -1, -1, 35, 29, 37, -1, 29, -1, -1, -1,
+ 66, 67, 68, 45, 46, -1, -1, -1, -1, -1,
+ 66, 67, 68, -1, 29, -1, -1, 29, -1, -1,
+ 66, 67, 68, -1, -1, -1, -1, 93, 94, 95,
+ 66, 67, 68, 66, 67, 68, -1, 93, 94, 95,
+ -1, -1, -1, -1, -1, -1, -1, 93, 94, 95,
+ 29, 66, 67, 68, 66, 67, 68, 93, 94, 95,
+ 93, 94, 95, 23, 24, 29, -1, -1, 29, -1,
+ -1, 31, 32, -1, -1, 35, -1, 37, 93, 94,
+ 95, 93, 94, 95, 29, -1, -1, 66, 67, 68,
+ -1, 36, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 29, 66, 67, 68, 66, 67, 68, 36, -1,
+ -1, -1, -1, -1, 93, 94, 95, -1, -1, -1,
+ -1, 66, 67, 68, 29, -1, -1, -1, -1, 93,
+ 94, 95, 93, 94, 95, 29, -1, -1, 66, 67,
+ 68, -1, 36, -1, -1, 29, -1, -1, 93, 94,
+ 95, -1, -1, -1, 29, -1, 61, 62, -1, -1,
+ -1, 66, 67, 68, -1, 93, 94, 95, -1, -1,
+ -1, -1, 66, 67, 68, 29, -1, -1, -1, -1,
+ -1, -1, 66, 67, 68, -1, 61, 62, 93, 94,
+ 95, 66, 67, 68, -1, -1, -1, -1, -1, 93,
+ 94, 95, -1, -1, -1, -1, -1, 61, 62, 93,
+ 94, 95, 66, 67, 68, -1, -1, -1, 93, 94,
+ 95, 29, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
+ 94, 95, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 61, 62, 3, -1, -1, 66, 67,
+ 68, -1, -1, -1, -1, 13, -1, -1, -1, 17,
+ -1, -1, -1, -1, -1, -1, -1, -1, 26, -1,
+ 28, -1, -1, 31, -1, 93, 94, 95, -1, -1,
+ -1, 39, -1, 41, 42, -1, -1, 3, -1, -1,
+ -1, 49, -1, -1, 52, 53, -1, 13, -1, -1,
+ 58, 17, -1, -1, -1, -1, 64, -1, -1, -1,
+ 26, -1, 28, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 80, 39, -1, 41, 42, -1, -1, -1,
+ -1, -1, -1, 49, -1, -1, 52, 53, -1, -1,
+ -1, -1, 58, -1, -1, -1, -1, -1, 64, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 12, 13, -1, 93,
- -1, -1, -1, -1, -1, -1, 22, -1, -1, 3,
- -1, -1, -1, 29, -1, -1, -1, 33, 34, 13,
- 36, -1, -1, 17, -1, -1, -1, 43, -1, -1,
- -1, 47, 26, -1, 28, -1, -1, 31, -1, -1,
- -1, -1, -1, -1, -1, 39, -1, 41, 42, 65,
- 66, 67, 68, -1, 70, 49, -1, -1, 52, 53,
- -1, -1, -1, -1, 58, 81, 82, 83, -1, -1,
- 64, 87, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
+ -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 12, 13, -1, -1, -1, -1, -1, -1, 12,
- 13, 22, -1, -1, -1, -1, -1, -1, 29, 22,
- -1, -1, 33, 34, -1, 36, 29, -1, -1, -1,
- 33, 34, 43, 36, -1, -1, 47, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 12,
+ 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
+ 33, 34, -1, 36, -1, -1, -1, -1, -1, -1,
43, -1, -1, -1, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 65, 66, 67, 68, -1, 70,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 65, 66, 67, 68, -1, 70, -1, -1,
- 81, 82, 83, -1, -1, -1, 87, -1, 81, 82,
- 83, -1, 93, -1, 87, -1, -1, -1, -1, -1,
- 93, -1, 12, 13, -1, -1, -1, -1, -1, -1,
- 12, 13, 22, -1, -1, -1, -1, -1, -1, 29,
- 22, -1, -1, 33, 34, -1, 36, 29, -1, -1,
- -1, 33, 34, 43, 36, -1, -1, 47, -1, -1,
- -1, 43, -1, -1, -1, 47, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 65, 66, 67, 68, -1,
- 70, -1, -1, 65, 66, 67, 68, -1, 70, -1,
- -1, 81, 82, 83, -1, -1, -1, 87, -1, 81,
- 82, 83, -1, 93, -1, 87, -1, -1, -1, -1,
- -1, 93, -1, 12, 13, -1, -1, -1, -1, -1,
- -1, 12, 13, 22, -1, -1, -1, -1, -1, -1,
- 29, 22, -1, -1, 33, 34, -1, 36, 29, -1,
- -1, -1, 33, 34, 43, 36, -1, -1, 47, -1,
- -1, -1, 43, -1, -1, -1, 47, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 65, 66, 67, 68,
- -1, 70, -1, -1, 65, 66, 67, 68, -1, 70,
- -1, -1, 81, 82, 83, -1, -1, -1, 87, -1,
- 81, 82, 83, -1, 93, -1, 87, -1, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 81, 82,
+ 83, -1, -1, -1, 87, -1, -1, -1, -1, -1,
+ 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 12, 13, -1, -1, -1, -1, -1, -1,
-1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
-1, -1, -1, 33, 34, -1, 36, -1, -1, -1,
@@ -819,44 +808,45 @@ const short QQmlJSGrammar::action_check [] = {
-1, -1, -1, -1, -1, 65, 66, 67, 68, -1,
70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 81, 82, 83, -1, -1, -1, 87, -1, -1,
- -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 10, -1, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
- -1, -1, 29, -1, -1, -1, 33, 34, -1, 36,
- -1, -1, -1, -1, -1, -1, 43, -1, -1, -1,
- 47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 65, 66,
- 67, 68, -1, 70, -1, -1, -1, -1, 75, -1,
- -1, -1, -1, -1, 81, 82, 83, 84, -1, -1,
- 87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 10, -1, 12, 13,
- -1, -1, -1, -1, -1, -1, -1, -1, 22, -1,
- -1, -1, -1, -1, -1, 29, -1, -1, -1, 33,
- 34, -1, 36, -1, -1, -1, -1, -1, -1, 43,
- -1, -1, -1, 47, -1, -1, -1, -1, -1, -1,
- -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 65, 66, 67, 68, -1, 70, -1, -1, -1,
- -1, 75, -1, -1, -1, -1, -1, 81, 82, 83,
- 84, -1, -1, 87, -1, -1, -1, -1, -1, 93,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
- -1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 94, 95, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 10, -1, 12, 13, -1,
+ -1, -1, -1, -1, -1, -1, -1, 22, -1, -1,
+ -1, -1, -1, -1, 29, -1, -1, -1, 33, 34,
+ -1, 36, -1, -1, -1, -1, -1, -1, 43, -1,
+ -1, -1, 47, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 65, 66, 67, 68, -1, 70, -1, -1, -1, -1,
+ 75, -1, -1, -1, -1, -1, 81, 82, 83, 84,
+ -1, -1, 87, -1, -1, -1, -1, -1, 93, 94,
+ 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 10, -1, 12, 13, -1, -1, -1, -1, -1, -1,
+ -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
+ -1, -1, -1, 33, 34, -1, 36, -1, -1, -1,
+ -1, -1, -1, 43, -1, -1, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, 55, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 65, 66, 67, 68, -1,
+ 70, -1, -1, -1, -1, 75, -1, -1, -1, -1,
+ -1, 81, 82, 83, 84, -1, -1, 87, -1, -1,
+ -1, -1, -1, 93, 94, 95, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 10, -1, 12, 13, -1,
+ -1, -1, -1, -1, -1, -1, -1, 22, -1, -1,
+ -1, -1, -1, -1, 29, -1, -1, -1, 33, 34,
+ -1, 36, -1, -1, -1, -1, -1, -1, 43, -1,
+ -1, -1, 47, -1, -1, -1, -1, -1, -1, -1,
+ 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 65, 66, 67, 68, -1, 70, -1, -1, -1, -1,
+ 75, -1, -1, -1, -1, -1, 81, 82, 83, 84,
+ -1, -1, 87, -1, -1, -1, -1, -1, 93, 94,
+ 95, -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, -1,
- -1, -1, 43, -1, -1, -1, 47, -1, -1, -1,
- -1, -1, -1, -1, 55, -1, -1, -1, -1, -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, 68, -1, 70,
- -1, -1, -1, -1, 75, -1, -1, -1, -1, -1,
- 81, 82, 83, 84, -1, -1, 87, -1, -1, -1,
- -1, -1, 93, -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, 68,
- -1, 70, -1, 72, -1, 74, -1, 76, -1, -1,
- -1, -1, 81, 82, 83, -1, -1, -1, 87, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
+ -1, 72, -1, 74, -1, 76, -1, -1, -1, -1,
+ 81, 82, 83, -1, -1, -1, 87, -1, -1, -1,
+ -1, -1, 93, 94, 95, -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,
@@ -866,44 +856,45 @@ const short QQmlJSGrammar::action_check [] = {
-1, -1, 65, 66, 67, 68, -1, 70, -1, 72,
-1, 74, -1, 76, -1, -1, -1, -1, 81, 82,
83, -1, -1, -1, 87, -1, -1, -1, -1, -1,
- 93, -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, 68, -1, 70,
- -1, 72, -1, 74, 75, 76, -1, -1, -1, -1,
- 81, 82, 83, -1, -1, -1, 87, -1, -1, -1,
- -1, -1, 93, -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, 68, -1, 70, -1, 72, -1, 74, -1,
- 76, -1, -1, -1, -1, 81, 82, 83, -1, -1,
- -1, 87, -1, -1, -1, -1, -1, 93, -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, 68, -1, 70,
- -1, 72, -1, 74, -1, 76, -1, -1, -1, -1,
- 81, 82, 83, -1, -1, -1, 87, -1, -1, -1,
- -1, -1, 93, -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, 68, -1, 70, -1, 72, -1, 74, -1,
- 76, -1, -1, -1, -1, 81, 82, 83, -1, -1,
- -1, 87, -1, -1, -1, -1, -1, 93, -1, -1,
+ 93, 94, 95, -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, 68,
+ -1, 70, -1, 72, -1, 74, 75, 76, -1, -1,
+ -1, -1, 81, 82, 83, -1, -1, -1, 87, -1,
+ -1, -1, -1, -1, 93, 94, 95, -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, 68, -1, 70, -1,
+ 72, -1, 74, -1, 76, -1, -1, -1, -1, 81,
+ 82, 83, -1, -1, -1, 87, -1, -1, -1, -1,
+ -1, 93, 94, 95, -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, 68, -1, 70, -1, 72, -1, 74,
+ -1, 76, -1, -1, -1, -1, 81, 82, 83, -1,
+ -1, -1, 87, -1, -1, -1, -1, -1, 93, 94,
+ 95, -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,
+ 68, -1, 70, -1, 72, -1, 74, -1, 76, -1,
+ -1, -1, -1, 81, 82, 83, -1, -1, -1, 87,
+ -1, -1, -1, -1, -1, 93, 94, 95, -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,
@@ -913,16 +904,7 @@ const short QQmlJSGrammar::action_check [] = {
-1, -1, -1, -1, 65, 66, 67, 68, -1, 70,
-1, 72, -1, 74, -1, 76, -1, -1, -1, -1,
81, 82, 83, -1, -1, -1, 87, -1, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
- -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
- 29, 30, -1, -1, 33, 34, -1, 36, -1, -1,
- -1, 40, -1, 42, 43, 44, -1, -1, 47, -1,
- -1, -1, 51, -1, 53, -1, -1, -1, -1, -1,
- -1, -1, 61, -1, -1, -1, 65, 66, 67, 68,
- 69, 70, -1, 72, 73, 74, -1, 76, -1, 78,
- -1, -1, 81, 82, 83, -1, -1, -1, 87, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
+ -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 11, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
-1, -1, 29, 30, -1, -1, 33, 34, -1, 36,
@@ -931,120 +913,149 @@ const short QQmlJSGrammar::action_check [] = {
-1, -1, -1, -1, 61, -1, -1, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, 74, -1, 76,
-1, 78, -1, -1, 81, 82, 83, -1, -1, -1,
- 87, -1, -1, -1, -1, -1, 93, -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, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 59, -1, -1, -1, -1, -1, -1, 66, 67,
- 68, 69, 70, 71, -1, 73, 74, 75, 76, 77,
- 78, -1, -1, 81, 82, 83, 84, 85, 86, -1,
- -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
+ 87, -1, -1, -1, -1, -1, 93, 94, 95, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 11, 12,
+ 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ -1, -1, -1, -1, -1, -1, 29, 30, -1, -1,
+ 33, 34, -1, 36, -1, -1, -1, 40, -1, 42,
+ 43, 44, -1, -1, 47, -1, -1, -1, 51, -1,
+ 53, -1, -1, -1, -1, -1, -1, -1, 61, -1,
+ -1, -1, 65, 66, 67, 68, 69, 70, -1, 72,
+ 73, 74, -1, 76, -1, 78, -1, -1, 81, 82,
+ 83, -1, -1, -1, 87, -1, -1, -1, -1, -1,
+ 93, 94, 95, -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, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
+ -1, -1, -1, -1, 66, 67, 68, 69, 70, 71,
+ -1, 73, 74, 75, 76, 77, 78, -1, -1, 81,
+ 82, 83, 84, 85, 86, -1, -1, -1, -1, -1,
+ -1, 93, 94, 95, -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,
+ 71, -1, 73, 74, 75, 76, 77, 78, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, -1, -1, -1,
+ -1, -1, 93, 94, 95, -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, 71, -1, 73, 74, 75, 76, 77, 78, -1,
+ -1, 81, 82, 83, 84, 85, 86, -1, -1, -1,
+ -1, -1, -1, 93, 94, 95, -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, -1,
+ -1, -1, -1, -1, -1, -1, 55, -1, -1, -1,
+ 59, -1, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, 71, -1, 73, 74, 75, 76, 77, 78,
-1, -1, 81, 82, 83, 84, 85, 86, -1, -1,
+ -1, -1, -1, -1, 93, 94, 95, -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,
+ 78, -1, -1, 81, 82, 83, 84, 85, -1, 87,
+ -1, -1, -1, -1, -1, 93, 94, 95, -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, 78, -1, -1, 81, 82, 83, 84, 85, -1,
+ 87, -1, -1, -1, -1, -1, 93, 94, 95, -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, 78, -1, -1, 81, 82, 83, 84, 85,
+ 86, 87, -1, -1, -1, -1, -1, 93, 94, 95,
+ -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, 78, -1, -1, 81, 82, 83, 84,
+ 85, 86, 87, -1, -1, -1, -1, -1, 93, 94,
+ 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+
+ 15, 39, 29, 3, 15, 15, 13, 15, 3, 15,
+ 29, 9, 15, 15, 3, 3, 39, 22, 19, 15,
+ 19, 3, 15, 15, 15, 11, 3, 74, 15, 19,
+ 15, 15, 29, 13, 15, 29, 102, 15, 3, 15,
+ 97, 3, 100, 15, -1, 15, 29, 22, 15, 3,
+ 3, 15, 3, 22, 15, 15, 22, 15, 15, 3,
+ 39, 3, 3, 3, 3, 39, 39, 22, 39, 3,
+ 15, 39, 15, 2, -1, 13, 39, 13, 2, 2,
+ 39, 13, 13, 39, 2, 15, 15, 39, 20, 3,
+ 3, 15, 15, 3, 15, 15, 2, 15, 41, -1,
+ 2, 51, 51, 51, 53, 51, 56, 53, 56, 15,
+ 48, 41, 48, 15, 51, 15, 51, 48, 51, 56,
+ 39, 56, 39, 56, 51, 51, 53, 53, 47, 51,
+ 47, 53, 4, 15, 2, 51, 15, 53, 15, 51,
+ 40, 15, 51, 15, 53, 4, 51, 15, 53, 15,
+ 51, 63, 53, 51, 51, 13, 15, 51, 16, 53,
+ 42, 75, 75, 51, 3, 44, 43, 65, 15, 43,
+ 67, 91, 13, 61, -1, 16, 42, 15, 51, 15,
+ 51, 54, 51, 54, 51, 106, 53, 56, 51, 13,
+ 53, 51, 16, 53, 2, 51, 43, 51, 35, 2,
+ 56, 15, 39, 51, 42, 59, 42, 15, 56, 51,
+ 2, 51, 15, 2, 56, -1, 56, 51, 51, 51,
+ 2, 51, 56, 15, 57, 57, 15, 57, 51, 4,
+ 51, 2, -1, 15, 57, 56, 75, 2, 51, 51,
+ 15, 53, 55, 2, 15, 51, 51, 2, 53, 55,
+ 15, 51, 51, 53, 53, 51, 15, 53, 51, 2,
+ 15, 51, 55, 51, 51, 15, 56, 2, 56, 56,
+ -1, 3, 15, 51, 64, 89, -1, 51, 56, 51,
+ 15, 68, 56, -1, 56, 73, 58, 51, 66, -1,
+ -1, 51, 56, -1, 44, 45, 56, 51, 58, 73,
+ 51, -1, 56, 51, 58, 56, 51, 51, 56, 73,
+ 51, 56, 56, 58, 13, 56, -1, -1, 62, 60,
+ -1, 20, 73, 13, 5, 73, 16, 5, 18, -1,
+ -1, -1, 13, 32, 33, 13, -1, -1, -1, 20,
+ -1, -1, 20, 75, -1, -1, -1, -1, -1, 39,
+ 85, 32, 33, -1, 32, 33, 22, 23, 24, 25,
+ 26, 27, 28, 21, 22, 23, 24, 25, 26, 27,
+ 28, 13, -1, -1, -1, -1, 2, -1, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, -1, -1, 15,
+ -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, 5, 6, -1, -1, 9,
- 10, 11, -1, -1, 14, -1, 16, -1, -1, -1,
- 20, 21, 22, -1, -1, -1, -1, -1, -1, 29,
- 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 43, -1, -1, -1, 47, -1, -1,
- -1, -1, -1, -1, -1, 55, -1, -1, -1, 59,
- -1, -1, -1, -1, -1, 65, 66, 67, -1, 69,
- 70, 71, -1, 73, 74, 75, 76, 77, 78, -1,
- -1, 81, 82, 83, 84, 85, 86, -1, -1, -1,
-1, -1, -1, -1, -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, 78, -1, -1,
- 81, 82, 83, 84, 85, -1, 87, -1, -1, -1,
- -1, -1, 93, -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, 78, -1, -1, 81,
- 82, 83, 84, 85, -1, 87, -1, -1, -1, -1,
- -1, 93, -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, 78, -1, -1, 81, 82,
- 83, 84, 85, 86, 87, -1, -1, -1, -1, -1,
- 93, -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, 78, -1, -1, 81, 82, 83,
- 84, 85, 86, 87, -1, -1, -1, -1, -1, 93,
- -1, -1, -1, -1, -1, -1, -1, -1, -1,
-
- 15, 3, 13, 29, 29, 15, 15, 4, 2, 15,
- 105, 9, 15, 2, 15, 3, 29, 22, 3, 15,
- 15, 2, 39, 15, 3, 15, 19, 3, 2, 15,
- 3, 15, 19, 11, 71, 15, 19, 2, 13, 39,
- 97, 2, 2, 15, 15, 3, 15, 29, 39, 15,
- 94, 101, 29, 3, 2, 2, 15, 99, 15, 22,
- 3, 3, 15, 15, 2, 2, 15, 22, 2, 39,
- 2, 39, 39, 3, 3, 39, 22, 39, 2, 2,
- 15, 3, 22, 39, 4, 39, 4, 3, 2, 40,
- 3, 3, 2, 2, 39, 39, 3, 3, 13, 2,
- 2, -1, -1, 39, -1, -1, -1, 48, 44, 48,
- -1, 50, 53, -1, 3, 48, 13, 48, 13, 50,
- 53, 48, 48, 48, 50, 15, 53, 48, 53, 48,
- 45, 50, 13, 13, 3, 16, 16, 48, 15, 50,
- 48, 62, 50, 48, 48, 50, 50, 48, 45, 48,
- 45, 50, 48, 39, 48, 48, 48, 53, 44, 53,
- 48, 53, 50, 64, 48, 48, 48, 60, 15, 48,
- 54, 54, 54, 13, 35, -1, 16, 56, 39, 82,
- 82, 48, 48, 72, 48, 48, 53, 53, 52, 48,
- 53, 48, 48, 52, 41, 48, 53, 2, 54, 52,
- 48, 13, 15, 72, 48, 53, 3, 51, 20, 15,
- 100, 88, 48, 48, 50, 50, 48, 48, 50, 50,
- 48, 48, 50, 48, 48, 50, 48, 51, 50, 48,
- 48, 58, 50, 48, 53, 41, 42, 48, 53, -1,
- 48, -1, 53, -1, 63, 53, 61, 48, 48, 48,
- 48, -1, 53, 53, 53, 53, 48, 55, 57, 70,
- -1, 53, 70, 48, -1, 65, -1, 59, 53, 70,
- 55, 48, 48, 86, -1, 72, 53, 53, 55, 55,
- 13, 48, 48, 16, 5, 18, 53, 53, 13, -1,
- 5, -1, 13, -1, -1, 20, -1, -1, 13, 20,
- -1, -1, 3, 70, 70, 20, 39, 32, 33, -1,
- -1, 32, 33, -1, -1, -1, -1, 32, 33, 22,
- 23, 24, 25, 26, 27, 28, 13, -1, -1, -1,
- -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 13, -1, -1, -1, -1, -1, -1, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 21, 22, 23, 24,
- 25, 26, 27, 28, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 13, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1052,6 +1063,6 @@ const short QQmlJSGrammar::action_check [] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1};
+ -1, -1, -1, -1, -1, -1, -1};
QT_END_NAMESPACE
diff --git a/src/qml/qml/parser/qqmljsgrammar_p.h b/src/qml/qml/parser/qqmljsgrammar_p.h
index 651c6e391f..9ef4695d69 100644
--- a/src/qml/qml/parser/qqmljsgrammar_p.h
+++ b/src/qml/qml/parser/qqmljsgrammar_p.h
@@ -63,8 +63,8 @@ class QQmlJSGrammar
public:
enum VariousConstants {
EOF_SYMBOL = 0,
- REDUCE_HERE = 102,
- SHIFT_THERE = 101,
+ REDUCE_HERE = 104,
+ SHIFT_THERE = 103,
T_AND = 1,
T_AND_AND = 2,
T_AND_EQ = 3,
@@ -90,18 +90,19 @@ public:
T_EQ = 17,
T_EQ_EQ = 18,
T_EQ_EQ_EQ = 19,
- T_ERROR = 94,
+ T_ERROR = 96,
T_FALSE = 83,
- T_FEED_JS_EXPRESSION = 98,
- T_FEED_JS_PROGRAM = 100,
- T_FEED_JS_SOURCE_ELEMENT = 99,
- T_FEED_JS_STATEMENT = 97,
- T_FEED_UI_OBJECT_MEMBER = 96,
- T_FEED_UI_PROGRAM = 95,
+ T_FEED_JS_EXPRESSION = 100,
+ T_FEED_JS_PROGRAM = 102,
+ T_FEED_JS_SOURCE_ELEMENT = 101,
+ T_FEED_JS_STATEMENT = 99,
+ T_FEED_UI_OBJECT_MEMBER = 98,
+ T_FEED_UI_PROGRAM = 97,
T_FINALLY = 20,
T_FOR = 21,
T_FUNCTION = 22,
T_GE = 23,
+ T_GET = 94,
T_GT = 24,
T_GT_GT = 25,
T_GT_GT_EQ = 26,
@@ -148,6 +149,7 @@ public:
T_RETURN = 59,
T_RPAREN = 60,
T_SEMICOLON = 61,
+ T_SET = 95,
T_SIGNAL = 67,
T_STAR = 63,
T_STAR_EQ = 64,
@@ -166,15 +168,15 @@ public:
T_XOR = 79,
T_XOR_EQ = 80,
- ACCEPT_STATE = 645,
- RULE_COUNT = 350,
- STATE_COUNT = 646,
- TERMINAL_COUNT = 103,
- NON_TERMINAL_COUNT = 107,
+ ACCEPT_STATE = 655,
+ RULE_COUNT = 351,
+ STATE_COUNT = 656,
+ TERMINAL_COUNT = 105,
+ NON_TERMINAL_COUNT = 108,
- GOTO_INDEX_OFFSET = 646,
- GOTO_INFO_OFFSET = 3019,
- GOTO_CHECK_OFFSET = 3019
+ GOTO_INDEX_OFFSET = 656,
+ GOTO_INFO_OFFSET = 2970,
+ GOTO_CHECK_OFFSET = 2970
};
static const char *const spell [];
diff --git a/src/qml/qml/parser/qqmljskeywords_p.h b/src/qml/qml/parser/qqmljskeywords_p.h
index 8bbbe2355b..7fcf001303 100644
--- a/src/qml/qml/parser/qqmljskeywords_p.h
+++ b/src/qml/qml/parser/qqmljskeywords_p.h
@@ -53,6 +53,12 @@
// We mean it.
//
+#include "qqmljslexer_p.h"
+
+QT_QML_BEGIN_NAMESPACE
+
+namespace QQmlJS {
+
static inline int classify2(const QChar *s, bool qmlMode) {
if (s[0].unicode() == 'a') {
if (s[1].unicode() == 's') {
@@ -88,6 +94,13 @@ static inline int classify3(const QChar *s, bool qmlMode) {
}
}
}
+ else if (s[0].unicode() == 'g') {
+ if (s[1].unicode() == 'e') {
+ if (s[2].unicode() == 't') {
+ return Lexer::T_GET;
+ }
+ }
+ }
else if (s[0].unicode() == 'i') {
if (s[1].unicode() == 'n') {
if (s[2].unicode() == 't') {
@@ -102,6 +115,13 @@ static inline int classify3(const QChar *s, bool qmlMode) {
}
}
}
+ else if (s[0].unicode() == 's') {
+ if (s[1].unicode() == 'e') {
+ if (s[2].unicode() == 't') {
+ return Lexer::T_SET;
+ }
+ }
+ }
else if (s[0].unicode() == 't') {
if (s[1].unicode() == 'r') {
if (s[2].unicode() == 'y') {
@@ -309,7 +329,7 @@ static inline int classify5(const QChar *s, bool qmlMode) {
if (s[2].unicode() == 'p') {
if (s[3].unicode() == 'e') {
if (s[4].unicode() == 'r') {
- return qmlMode ? int(Lexer::T_SUPER) : int(Lexer::T_IDENTIFIER);
+ return qmlMode ? int(Lexer::T_SUPER) : int(Lexer::T_RESERVED_WORD);
}
}
}
@@ -857,4 +877,8 @@ int Lexer::classify(const QChar *s, int n, bool qmlMode) {
} // switch
}
+} // namespace QQmlJS
+
+QT_QML_END_NAMESPACE
+
#endif // QQMLJSKEYWORDS_P_H
diff --git a/src/qml/qml/parser/qqmljslexer.cpp b/src/qml/qml/parser/qqmljslexer.cpp
index ec9b718917..9175efe054 100644
--- a/src/qml/qml/parser/qqmljslexer.cpp
+++ b/src/qml/qml/parser/qqmljslexer.cpp
@@ -42,6 +42,7 @@
#include "qqmljslexer_p.h"
#include "qqmljsengine_p.h"
#include "qqmljsmemorypool_p.h"
+#include "qqmljskeywords_p.h"
#include <QtCore/QCoreApplication>
#include <QtCore/QVarLengthArray>
@@ -136,6 +137,7 @@ void Lexer::setCode(const QString &code, int lineno, bool qmlMode)
_tokenSpell = QStringRef();
_codePtr = code.unicode();
+ _endPtr = _codePtr + code.length();
_lastLinePtr = _codePtr;
_tokenLinePtr = _codePtr;
_tokenStartPtr = _codePtr;
@@ -177,6 +179,52 @@ void Lexer::scanChar()
}
}
+namespace {
+inline bool isBinop(int tok)
+{
+ switch (tok) {
+ case Lexer::T_AND:
+ case Lexer::T_AND_AND:
+ case Lexer::T_AND_EQ:
+ case Lexer::T_DIVIDE_:
+ case Lexer::T_DIVIDE_EQ:
+ case Lexer::T_EQ:
+ case Lexer::T_EQ_EQ:
+ case Lexer::T_EQ_EQ_EQ:
+ case Lexer::T_GE:
+ case Lexer::T_GT:
+ case Lexer::T_GT_GT:
+ case Lexer::T_GT_GT_EQ:
+ case Lexer::T_GT_GT_GT:
+ case Lexer::T_GT_GT_GT_EQ:
+ case Lexer::T_LE:
+ case Lexer::T_LT:
+ case Lexer::T_LT_LT:
+ case Lexer::T_LT_LT_EQ:
+ case Lexer::T_MINUS:
+ case Lexer::T_MINUS_EQ:
+ case Lexer::T_NOT_EQ:
+ case Lexer::T_NOT_EQ_EQ:
+ case Lexer::T_OR:
+ case Lexer::T_OR_EQ:
+ case Lexer::T_OR_OR:
+ case Lexer::T_PLUS:
+ case Lexer::T_PLUS_EQ:
+ case Lexer::T_REMAINDER:
+ case Lexer::T_REMAINDER_EQ:
+ case Lexer::T_RETURN:
+ case Lexer::T_STAR:
+ case Lexer::T_STAR_EQ:
+ case Lexer::T_XOR:
+ case Lexer::T_XOR_EQ:
+ return true;
+
+ default:
+ return false;
+ }
+}
+} // anonymous namespace
+
int Lexer::lex()
{
const int previousTokenKind = _tokenKind;
@@ -193,9 +241,15 @@ int Lexer::lex()
switch (_tokenKind) {
case T_LBRACE:
case T_SEMICOLON:
+ case T_QUESTION:
case T_COLON:
+ case T_TILDE:
_delimited = true;
break;
+ default:
+ if (isBinop(_tokenKind))
+ _delimited = true;
+ break;
case T_IF:
case T_FOR:
@@ -275,6 +329,59 @@ QChar Lexer::decodeUnicodeEscapeCharacter(bool *ok)
return QChar();
}
+static inline bool isIdentifierStart(QChar ch)
+{
+ // fast path for ascii
+ if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') ||
+ (ch.unicode() >= 'A' && ch.unicode() <= 'Z') ||
+ ch == '$' || ch == '_')
+ return true;
+
+ switch (ch.category()) {
+ case QChar::Number_Letter:
+ case QChar::Letter_Uppercase:
+ case QChar::Letter_Lowercase:
+ case QChar::Letter_Titlecase:
+ case QChar::Letter_Modifier:
+ case QChar::Letter_Other:
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
+static bool isIdentifierPart(QChar ch)
+{
+ // fast path for ascii
+ if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') ||
+ (ch.unicode() >= 'A' && ch.unicode() <= 'Z') ||
+ (ch.unicode() >= '0' && ch.unicode() <= '9') ||
+ ch == '$' || ch == '_' ||
+ ch.unicode() == 0x200c /* ZWNJ */ || ch.unicode() == 0x200d /* ZWJ */)
+ return true;
+
+ switch (ch.category()) {
+ case QChar::Mark_NonSpacing:
+ case QChar::Mark_SpacingCombining:
+
+ case QChar::Number_DecimalDigit:
+ case QChar::Number_Letter:
+
+ case QChar::Letter_Uppercase:
+ case QChar::Letter_Lowercase:
+ case QChar::Letter_Titlecase:
+ case QChar::Letter_Modifier:
+ case QChar::Letter_Other:
+
+ case QChar::Punctuation_Connector:
+ return true;
+ default:
+ break;
+ }
+ return false;
+}
+
int Lexer::scanToken()
{
if (_stackToken != -1) {
@@ -310,7 +417,7 @@ again:
_tokenStartPtr = _codePtr - 1;
_tokenLine = _currentLineNumber;
- if (_char.isNull())
+ if (_codePtr > _endPtr)
return EOF_SYMBOL;
const QChar ch = _char;
@@ -395,7 +502,7 @@ again:
case '/':
if (_char == QLatin1Char('*')) {
scanChar();
- while (!_char.isNull()) {
+ while (_codePtr <= _endPtr) {
if (_char == QLatin1Char('*')) {
scanChar();
if (_char == QLatin1Char('/')) {
@@ -413,7 +520,7 @@ again:
}
}
} else if (_char == QLatin1Char('/')) {
- while (!_char.isNull() && !isLineTerminator()) {
+ while (_codePtr <= _endPtr && !isLineTerminator()) {
scanChar();
}
if (_engine) {
@@ -555,8 +662,14 @@ again:
const QChar *startCode = _codePtr;
if (_engine) {
- while (!_char.isNull()) {
- if (isLineTerminator() || _char == QLatin1Char('\\')) {
+ while (_codePtr <= _endPtr) {
+ if (isLineTerminator()) {
+ if (qmlMode())
+ break;
+ _errorCode = IllegalCharacter;
+ _errorMessage = QCoreApplication::translate("QQmlParser", "Stray newline in string literal");
+ return T_ERROR;
+ } else if (_char == QLatin1Char('\\')) {
break;
} else if (_char == quote) {
_tokenSpell = _engine->midRef(startCode - _code.unicode() - 1, _codePtr - startCode);
@@ -574,7 +687,7 @@ again:
while (startCode != _codePtr - 1)
_tokenText += *startCode++;
- while (! _char.isNull()) {
+ while (_codePtr <= _endPtr) {
if (unsigned sequenceLength = isLineTerminatorSequence()) {
multilineStringLiteral = true;
_tokenText += _char;
@@ -598,8 +711,11 @@ again:
// unicode escape sequence
case 'u':
u = decodeUnicodeEscapeCharacter(&ok);
- if (! ok)
- u = _char;
+ if (! ok) {
+ _errorCode = IllegalUnicodeEscapeSequence;
+ _errorMessage = QCoreApplication::translate("QQmlParser", "Illegal unicode escape sequence");
+ return T_ERROR;
+ }
break;
// hex escape sequence
@@ -631,14 +747,24 @@ again:
case 'v': u = QLatin1Char('\v'); scanChar(); break;
case '0':
- if (! _codePtr[1].isDigit()) {
+ if (! _codePtr->isDigit()) {
scanChar();
u = QLatin1Char('\0');
- } else {
- // ### parse deprecated octal escape sequence ?
- u = _char;
+ break;
}
- break;
+ // fall through
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ _errorCode = IllegalEscapeSequence;
+ _errorMessage = QCoreApplication::translate("QQmlParser", "Octal escape sequences are not allowed");
+ return T_ERROR;
case '\r':
if (isLineTerminatorSequence() == 2) {
@@ -687,28 +813,28 @@ again:
case '9':
return scanNumber(ch);
- default:
- if (ch.isLetter() || ch == QLatin1Char('$') || ch == QLatin1Char('_') || (ch == QLatin1Char('\\') && _char == QLatin1Char('u'))) {
- bool identifierWithEscapeChars = false;
- if (ch == QLatin1Char('\\')) {
- identifierWithEscapeChars = true;
+ default: {
+ QChar c = ch;
+ bool identifierWithEscapeChars = false;
+ if (c == QLatin1Char('\\') && _char == QLatin1Char('u')) {
+ identifierWithEscapeChars = true;
+ bool ok = false;
+ c = decodeUnicodeEscapeCharacter(&ok);
+ if (! ok) {
+ _errorCode = IllegalUnicodeEscapeSequence;
+ _errorMessage = QCoreApplication::translate("QQmlParser", "Illegal unicode escape sequence");
+ return T_ERROR;
+ }
+ }
+ if (isIdentifierStart(c)) {
+ if (identifierWithEscapeChars) {
_tokenText.resize(0);
- bool ok = false;
- _tokenText += decodeUnicodeEscapeCharacter(&ok);
+ _tokenText += c;
_validTokenText = true;
- if (! ok) {
- _errorCode = IllegalUnicodeEscapeSequence;
- _errorMessage = QCoreApplication::translate("QQmlParser", "Illegal unicode escape sequence");
- return T_ERROR;
- }
}
while (true) {
- if (_char.isLetterOrNumber() || _char == QLatin1Char('$') || _char == QLatin1Char('_')) {
- if (identifierWithEscapeChars)
- _tokenText += _char;
-
- scanChar();
- } else if (_char == QLatin1Char('\\') && _codePtr[0] == QLatin1Char('u')) {
+ c = _char;
+ if (_char == QLatin1Char('\\') && _codePtr[0] == QLatin1Char('u')) {
if (! identifierWithEscapeChars) {
identifierWithEscapeChars = true;
_tokenText.resize(0);
@@ -718,31 +844,41 @@ again:
scanChar(); // skip '\\'
bool ok = false;
- _tokenText += decodeUnicodeEscapeCharacter(&ok);
+ c = decodeUnicodeEscapeCharacter(&ok);
if (! ok) {
_errorCode = IllegalUnicodeEscapeSequence;
_errorMessage = QCoreApplication::translate("QQmlParser", "Illegal unicode escape sequence");
return T_ERROR;
}
- } else {
- _tokenLength = _codePtr - _tokenStartPtr - 1;
+ if (isIdentifierPart(c))
+ _tokenText += c;
+ continue;
+ } else if (isIdentifierPart(c)) {
+ if (identifierWithEscapeChars)
+ _tokenText += c;
- int kind = T_IDENTIFIER;
+ scanChar();
+ continue;
+ }
- if (! identifierWithEscapeChars)
- kind = classify(_tokenStartPtr, _tokenLength, _qmlMode);
+ _tokenLength = _codePtr - _tokenStartPtr - 1;
- if (_engine) {
- if (kind == T_IDENTIFIER && identifierWithEscapeChars)
- _tokenSpell = _engine->newStringRef(_tokenText);
- else
- _tokenSpell = _engine->midRef(_tokenStartPtr - _code.unicode(), _tokenLength);
- }
+ int kind = T_IDENTIFIER;
- return kind;
+ if (! identifierWithEscapeChars)
+ kind = classify(_tokenStartPtr, _tokenLength, _qmlMode);
+
+ if (_engine) {
+ if (kind == T_IDENTIFIER && identifierWithEscapeChars)
+ _tokenSpell = _engine->newStringRef(_tokenText);
+ else
+ _tokenSpell = _engine->midRef(_tokenStartPtr - _code.unicode(), _tokenLength);
}
+
+ return kind;
}
}
+ }
break;
}
@@ -753,12 +889,14 @@ again:
int Lexer::scanNumber(QChar ch)
{
if (ch != QLatin1Char('0')) {
- double integer = ch.unicode() - '0';
+ QByteArray buf;
+ buf.reserve(64);
+ buf += ch.toLatin1();
QChar n = _char;
const QChar *code = _codePtr;
while (n.isDigit()) {
- integer = integer * 10 + (n.unicode() - '0');
+ buf += n.toLatin1();
n = *code++;
}
@@ -767,17 +905,23 @@ int Lexer::scanNumber(QChar ch)
_codePtr = code - 1;
scanChar();
}
- _tokenValue = integer;
+ buf.append('\0');
+ _tokenValue = strtod(buf.constData(), 0);
return T_NUMERIC_LITERAL;
}
+ } else if (_char.isDigit() && !qmlMode()) {
+ _errorCode = IllegalCharacter;
+ _errorMessage = QCoreApplication::translate("QQmlParser", "Decimal numbers can't start with '0'");
+ return T_ERROR;
}
QVarLengthArray<char,32> chars;
chars.append(ch.unicode());
if (ch == QLatin1Char('0') && (_char == QLatin1Char('x') || _char == QLatin1Char('X'))) {
- // parse hex integer literal
+ ch = _char; // remember the x or X to use it in the error message below.
+ // parse hex integer literal
chars.append(_char.unicode());
scanChar(); // consume `x'
@@ -786,6 +930,12 @@ int Lexer::scanNumber(QChar ch)
scanChar();
}
+ if (chars.size() < 3) {
+ _errorCode = IllegalHexNumber;
+ _errorMessage = QCoreApplication::translate("QQmlParser", "At least one hexadecimal digit is required after '0%1'").arg(ch);
+ return T_ERROR;
+ }
+
_tokenValue = integerFromString(chars.constData(), chars.size(), 16);
return T_NUMERIC_LITERAL;
}
@@ -900,7 +1050,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
_tokenText += _char;
scanChar();
- if (_char.isNull() || isLineTerminator()) {
+ if (_codePtr > _endPtr || isLineTerminator()) {
_errorMessage = QCoreApplication::translate("QQmlParser", "Unterminated regular expression backslash sequence");
return false;
}
@@ -914,7 +1064,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
_tokenText += _char;
scanChar();
- while (! _char.isNull() && ! isLineTerminator()) {
+ while (_codePtr <= _endPtr && ! isLineTerminator()) {
if (_char == QLatin1Char(']'))
break;
else if (_char == QLatin1Char('\\')) {
@@ -922,7 +1072,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
_tokenText += _char;
scanChar();
- if (_char.isNull() || isLineTerminator()) {
+ if (_codePtr > _endPtr || isLineTerminator()) {
_errorMessage = QCoreApplication::translate("QQmlParser", "Unterminated regular expression backslash sequence");
return false;
}
@@ -945,7 +1095,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
break;
default:
- if (_char.isNull() || isLineTerminator()) {
+ if (_codePtr > _endPtr || isLineTerminator()) {
_errorMessage = QCoreApplication::translate("QQmlParser", "Unterminated regular expression literal");
return false;
} else {
@@ -1172,5 +1322,3 @@ bool Lexer::scanDirectives(Directives *directives)
return true;
}
-
-#include "qqmljskeywords_p.h"
diff --git a/src/qml/qml/parser/qqmljslexer_p.h b/src/qml/qml/parser/qqmljslexer_p.h
index c6ae0931c1..e7e15cbf94 100644
--- a/src/qml/qml/parser/qqmljslexer_p.h
+++ b/src/qml/qml/parser/qqmljslexer_p.h
@@ -121,6 +121,7 @@ public:
enum Error {
NoError,
IllegalCharacter,
+ IllegalHexNumber,
UnclosedStringLiteral,
IllegalEscapeSequence,
IllegalUnicodeEscapeSequence,
@@ -211,6 +212,7 @@ private:
QStringRef _tokenSpell;
const QChar *_codePtr;
+ const QChar *_endPtr;
const QChar *_lastLinePtr;
const QChar *_tokenLinePtr;
const QChar *_tokenStartPtr;
diff --git a/src/qml/qml/parser/qqmljsparser.cpp b/src/qml/qml/parser/qqmljsparser.cpp
index 1ef760b80a..bc03b57525 100644
--- a/src/qml/qml/parser/qqmljsparser.cpp
+++ b/src/qml/qml/parser/qqmljsparser.cpp
@@ -537,49 +537,49 @@ case 65: {
sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node);
} break;
-case 71: {
+case 73: {
AST::ThisExpression *node = new (pool) AST::ThisExpression();
node->thisToken = loc(1);
sym(1).Node = node;
} break;
-case 72: {
+case 74: {
AST::IdentifierExpression *node = new (pool) AST::IdentifierExpression(stringRef(1));
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 73: {
+case 75: {
AST::NullExpression *node = new (pool) AST::NullExpression();
node->nullToken = loc(1);
sym(1).Node = node;
} break;
-case 74: {
+case 76: {
AST::TrueLiteral *node = new (pool) AST::TrueLiteral();
node->trueToken = loc(1);
sym(1).Node = node;
} break;
-case 75: {
+case 77: {
AST::FalseLiteral *node = new (pool) AST::FalseLiteral();
node->falseToken = loc(1);
sym(1).Node = node;
} break;
-case 76: {
+case 78: {
AST::NumericLiteral *node = new (pool) AST::NumericLiteral(sym(1).dval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 77:
-case 78: {
+case 79:
+case 80: {
AST::StringLiteral *node = new (pool) AST::StringLiteral(stringRef(1));
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()));
@@ -595,7 +595,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()));
@@ -611,28 +611,28 @@ case 80: {
sym(1).Node = node;
} break;
-case 81: {
+case 83: {
AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral((AST::Elision *) 0);
node->lbracketToken = loc(1);
node->rbracketToken = loc(2);
sym(1).Node = node;
} break;
-case 82: {
+case 84: {
AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).Elision->finish());
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
sym(1).Node = node;
} break;
-case 83: {
+case 85: {
AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish ());
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
sym(1).Node = node;
} break;
-case 84: {
+case 86: {
AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish (),
(AST::Elision *) 0);
node->lbracketToken = loc(1);
@@ -641,7 +641,7 @@ case 84: {
sym(1).Node = node;
} break;
-case 85: {
+case 87: {
AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish (),
sym(4).Elision->finish());
node->lbracketToken = loc(1);
@@ -650,11 +650,11 @@ case 85: {
sym(1).Node = node;
} break;
-case 86: {
+case 88: {
AST::ObjectLiteral *node = 0;
if (sym(2).Node)
node = new (pool) AST::ObjectLiteral(
- sym(2).PropertyNameAndValueList->finish ());
+ sym(2).PropertyAssignmentList->finish ());
else
node = new (pool) AST::ObjectLiteral();
node->lbraceToken = loc(1);
@@ -662,22 +662,22 @@ case 86: {
sym(1).Node = node;
} break;
-case 87: {
+case 89: {
AST::ObjectLiteral *node = new (pool) AST::ObjectLiteral(
- sym(2).PropertyNameAndValueList->finish ());
+ sym(2).PropertyAssignmentList->finish ());
node->lbraceToken = loc(1);
node->rbraceToken = loc(4);
sym(1).Node = node;
} break;
-case 88: {
+case 90: {
AST::NestedExpression *node = new (pool) AST::NestedExpression(sym(2).Expression);
node->lparenToken = loc(1);
node->rparenToken = loc(3);
sym(1).Node = node;
} break;
-case 89: {
+case 91: {
if (AST::ArrayMemberExpression *mem = AST::cast<AST::ArrayMemberExpression *>(sym(1).Expression)) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Warning, mem->lbracketToken,
QLatin1String("Ignored annotation")));
@@ -697,100 +697,119 @@ case 89: {
}
} break;
-case 90: {
+case 92: {
sym(1).Node = new (pool) AST::ElementList((AST::Elision *) 0, sym(1).Expression);
} break;
-case 91: {
+case 93: {
sym(1).Node = new (pool) AST::ElementList(sym(1).Elision->finish(), sym(2).Expression);
} break;
-case 92: {
+case 94: {
AST::ElementList *node = new (pool) AST::ElementList(sym(1).ElementList,
(AST::Elision *) 0, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 93: {
+case 95: {
AST::ElementList *node = new (pool) AST::ElementList(sym(1).ElementList, sym(3).Elision->finish(),
sym(4).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 94: {
+case 96: {
AST::Elision *node = new (pool) AST::Elision();
node->commaToken = loc(1);
sym(1).Node = node;
} break;
-case 95: {
+case 97: {
AST::Elision *node = new (pool) AST::Elision(sym(1).Elision);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 96: {
- AST::PropertyNameAndValueList *node = new (pool) AST::PropertyNameAndValueList(
+case 98: {
+ AST::PropertyNameAndValue *node = new (pool) AST::PropertyNameAndValue(
sym(1).PropertyName, sym(3).Expression);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 97: {
- AST::PropertyNameAndValueList *node = new (pool) AST::PropertyNameAndValueList(
- sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression);
- node->commaToken = loc(2);
- node->colonToken = loc(4);
+case 99: {
+ AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter(
+ sym(2).PropertyName, sym(6).FunctionBody);
+ node->getSetToken = loc(1);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(4);
+ node->lbraceToken = loc(5);
+ node->rbraceToken = loc(7);
sym(1).Node = node;
} break;
-case 98: {
- AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1));
- node->propertyNameToken = loc(1);
+case 100: {
+ AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter(
+ sym(2).PropertyName, sym(4).FormalParameterList, sym(7).FunctionBody);
+ node->getSetToken = loc(1);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(5);
+ node->lbraceToken = loc(6);
+ node->rbraceToken = loc(8);
sym(1).Node = node;
} break;
-case 99:
-case 100: {
+
+case 101: {
+ sym(1).Node = new (pool) AST::PropertyAssignmentList(sym(1).PropertyAssignment);
+} break;
+
+case 102: {
+ AST::PropertyAssignmentList *node = new (pool) AST::PropertyAssignmentList(
+ sym(1).PropertyAssignmentList, sym(3).PropertyAssignment);
+ node->commaToken = loc(2);
+ sym(1).Node = node;
+} break;
+
+case 103: {
AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1));
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 101: {
+case 104: {
AST::StringLiteralPropertyName *node = new (pool) AST::StringLiteralPropertyName(stringRef(1));
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 102: {
+case 105: {
AST::NumericLiteralPropertyName *node = new (pool) AST::NumericLiteralPropertyName(sym(1).dval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 103: {
+case 106: {
AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1));
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 139: {
+case 142: {
AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-case 140: {
+case 143: {
AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 141: {
+case 144: {
AST::NewMemberExpression *node = new (pool) AST::NewMemberExpression(sym(2).Expression, sym(4).ArgumentList);
node->newToken = loc(1);
node->lparenToken = loc(3);
@@ -798,384 +817,384 @@ case 141: {
sym(1).Node = node;
} break;
-case 143: {
+case 146: {
AST::NewExpression *node = new (pool) AST::NewExpression(sym(2).Expression);
node->newToken = loc(1);
sym(1).Node = node;
} break;
-case 144: {
+case 147: {
AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 145: {
+case 148: {
AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 146: {
+case 149: {
AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-case 147: {
+case 150: {
AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 148: {
+case 151: {
sym(1).Node = 0;
} break;
-case 149: {
+case 152: {
sym(1).Node = sym(1).ArgumentList->finish();
} break;
-case 150: {
+case 153: {
sym(1).Node = new (pool) AST::ArgumentList(sym(1).Expression);
} break;
-case 151: {
+case 154: {
AST::ArgumentList *node = new (pool) AST::ArgumentList(sym(1).ArgumentList, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 155: {
+case 158: {
AST::PostIncrementExpression *node = new (pool) AST::PostIncrementExpression(sym(1).Expression);
node->incrementToken = loc(2);
sym(1).Node = node;
} break;
-case 156: {
+case 159: {
AST::PostDecrementExpression *node = new (pool) AST::PostDecrementExpression(sym(1).Expression);
node->decrementToken = loc(2);
sym(1).Node = node;
} break;
-case 158: {
+case 161: {
AST::DeleteExpression *node = new (pool) AST::DeleteExpression(sym(2).Expression);
node->deleteToken = loc(1);
sym(1).Node = node;
} break;
-case 159: {
+case 162: {
AST::VoidExpression *node = new (pool) AST::VoidExpression(sym(2).Expression);
node->voidToken = loc(1);
sym(1).Node = node;
} break;
-case 160: {
+case 163: {
AST::TypeOfExpression *node = new (pool) AST::TypeOfExpression(sym(2).Expression);
node->typeofToken = loc(1);
sym(1).Node = node;
} break;
-case 161: {
+case 164: {
AST::PreIncrementExpression *node = new (pool) AST::PreIncrementExpression(sym(2).Expression);
node->incrementToken = loc(1);
sym(1).Node = node;
} break;
-case 162: {
+case 165: {
AST::PreDecrementExpression *node = new (pool) AST::PreDecrementExpression(sym(2).Expression);
node->decrementToken = loc(1);
sym(1).Node = node;
} break;
-case 163: {
+case 166: {
AST::UnaryPlusExpression *node = new (pool) AST::UnaryPlusExpression(sym(2).Expression);
node->plusToken = loc(1);
sym(1).Node = node;
} break;
-case 164: {
+case 167: {
AST::UnaryMinusExpression *node = new (pool) AST::UnaryMinusExpression(sym(2).Expression);
node->minusToken = loc(1);
sym(1).Node = node;
} break;
-case 165: {
+case 168: {
AST::TildeExpression *node = new (pool) AST::TildeExpression(sym(2).Expression);
node->tildeToken = loc(1);
sym(1).Node = node;
} break;
-case 166: {
+case 169: {
AST::NotExpression *node = new (pool) AST::NotExpression(sym(2).Expression);
node->notToken = loc(1);
sym(1).Node = node;
} break;
-case 168: {
+case 171: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Mul, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 169: {
+case 172: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Div, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 170: {
+case 173: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Mod, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 172: {
+case 175: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Add, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 173: {
+case 176: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Sub, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 175: {
+case 178: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::LShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 176: {
+case 179: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::RShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 177: {
+case 180: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::URShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 179: {
+case 182: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Lt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 180: {
+case 183: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Gt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 181: {
+case 184: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Le, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 182: {
+case 185: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Ge, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 183: {
+case 186: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::InstanceOf, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 184: {
+case 187: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::In, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 186: {
+case 189: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Lt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 187: {
+case 190: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Gt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 188: {
+case 191: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Le, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 189: {
+case 192: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Ge, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 190: {
+case 193: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::InstanceOf, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 192: {
+case 195: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Equal, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 193: {
+case 196: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::NotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 194: {
+case 197: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::StrictEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 195: {
+case 198: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::StrictNotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 197: {
+case 200: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Equal, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 198: {
+case 201: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::NotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 199: {
+case 202: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::StrictEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 200: {
+case 203: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::StrictNotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 202: {
+case 205: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::BitAnd, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 204: {
+case 207: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::BitAnd, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 206: {
+case 209: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::BitXor, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 208: {
+case 211: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::BitXor, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 210: {
+case 213: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::BitOr, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 212: {
+case 215: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::BitOr, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 214: {
+case 217: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::And, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 216: {
+case 219: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::And, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 218: {
+case 221: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Or, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 220: {
+case 223: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
QSOperator::Or, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 222: {
+case 225: {
AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression,
sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
@@ -1183,7 +1202,7 @@ case 222: {
sym(1).Node = node;
} break;
-case 224: {
+case 227: {
AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression,
sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
@@ -1191,112 +1210,112 @@ case 224: {
sym(1).Node = node;
} break;
-case 226: {
+case 229: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 228: {
+case 231: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression,
sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 229: {
+case 232: {
sym(1).ival = QSOperator::Assign;
} break;
-case 230: {
+case 233: {
sym(1).ival = QSOperator::InplaceMul;
} break;
-case 231: {
+case 234: {
sym(1).ival = QSOperator::InplaceDiv;
} break;
-case 232: {
+case 235: {
sym(1).ival = QSOperator::InplaceMod;
} break;
-case 233: {
+case 236: {
sym(1).ival = QSOperator::InplaceAdd;
} break;
-case 234: {
+case 237: {
sym(1).ival = QSOperator::InplaceSub;
} break;
-case 235: {
+case 238: {
sym(1).ival = QSOperator::InplaceLeftShift;
} break;
-case 236: {
+case 239: {
sym(1).ival = QSOperator::InplaceRightShift;
} break;
-case 237: {
+case 240: {
sym(1).ival = QSOperator::InplaceURightShift;
} break;
-case 238: {
+case 241: {
sym(1).ival = QSOperator::InplaceAnd;
} break;
-case 239: {
+case 242: {
sym(1).ival = QSOperator::InplaceXor;
} break;
-case 240: {
+case 243: {
sym(1).ival = QSOperator::InplaceOr;
} break;
-case 242: {
+case 245: {
AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 243: {
+case 246: {
sym(1).Node = 0;
} break;
-case 246: {
+case 249: {
AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 247: {
+case 250: {
sym(1).Node = 0;
} break;
-case 264: {
+case 267: {
AST::Block *node = new (pool) AST::Block(sym(2).StatementList);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 265: {
+case 268: {
sym(1).Node = new (pool) AST::StatementList(sym(1).Statement);
} break;
-case 266: {
+case 269: {
sym(1).Node = new (pool) AST::StatementList(sym(1).StatementList, sym(2).Statement);
} break;
-case 267: {
+case 270: {
sym(1).Node = 0;
} break;
-case 268: {
+case 271: {
sym(1).Node = sym(1).StatementList->finish ();
} break;
-case 270: {
+case 273: {
AST::VariableStatement *node = new (pool) AST::VariableStatement(
sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST));
node->declarationKindToken = loc(1);
@@ -1304,76 +1323,76 @@ case 270: {
sym(1).Node = node;
} break;
-case 271: {
+case 274: {
sym(1).ival = T_CONST;
} break;
-case 272: {
+case 275: {
sym(1).ival = T_VAR;
} break;
-case 273: {
+case 276: {
sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclaration);
} break;
-case 274: {
+case 277: {
AST::VariableDeclarationList *node = new (pool) AST::VariableDeclarationList(
sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 275: {
+case 278: {
sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclaration);
} break;
-case 276: {
+case 279: {
sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
} break;
-case 277: {
+case 280: {
AST::VariableDeclaration *node = new (pool) AST::VariableDeclaration(stringRef(1), sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 278: {
+case 281: {
AST::VariableDeclaration *node = new (pool) AST::VariableDeclaration(stringRef(1), sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 279: {
+case 282: {
// ### TODO: AST for initializer
sym(1) = sym(2);
} break;
-case 280: {
+case 283: {
sym(1).Node = 0;
} break;
-case 282: {
+case 285: {
// ### TODO: AST for initializer
sym(1) = sym(2);
} break;
-case 283: {
+case 286: {
sym(1).Node = 0;
} break;
-case 285: {
+case 288: {
AST::EmptyStatement *node = new (pool) AST::EmptyStatement();
node->semicolonToken = loc(1);
sym(1).Node = node;
} break;
-case 287: {
+case 290: {
AST::ExpressionStatement *node = new (pool) AST::ExpressionStatement(sym(1).Expression);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 288: {
+case 291: {
AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement, sym(7).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -1382,7 +1401,7 @@ case 288: {
sym(1).Node = node;
} break;
-case 289: {
+case 292: {
AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -1390,7 +1409,7 @@ case 289: {
sym(1).Node = node;
} break;
-case 292: {
+case 295: {
AST::DoWhileStatement *node = new (pool) AST::DoWhileStatement(sym(2).Statement, sym(5).Expression);
node->doToken = loc(1);
node->whileToken = loc(3);
@@ -1400,7 +1419,7 @@ case 292: {
sym(1).Node = node;
} break;
-case 293: {
+case 296: {
AST::WhileStatement *node = new (pool) AST::WhileStatement(sym(3).Expression, sym(5).Statement);
node->whileToken = loc(1);
node->lparenToken = loc(2);
@@ -1408,7 +1427,7 @@ case 293: {
sym(1).Node = node;
} break;
-case 294: {
+case 297: {
AST::ForStatement *node = new (pool) AST::ForStatement(sym(3).Expression,
sym(5).Expression, sym(7).Expression, sym(9).Statement);
node->forToken = loc(1);
@@ -1419,7 +1438,7 @@ case 294: {
sym(1).Node = node;
} break;
-case 295: {
+case 298: {
AST::LocalForStatement *node = new (pool) AST::LocalForStatement(
sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression,
sym(8).Expression, sym(10).Statement);
@@ -1432,7 +1451,7 @@ case 295: {
sym(1).Node = node;
} break;
-case 296: {
+case 299: {
AST:: ForEachStatement *node = new (pool) AST::ForEachStatement(sym(3).Expression,
sym(5).Expression, sym(7).Statement);
node->forToken = loc(1);
@@ -1442,7 +1461,7 @@ case 296: {
sym(1).Node = node;
} break;
-case 297: {
+case 300: {
AST::LocalForEachStatement *node = new (pool) AST::LocalForEachStatement(
sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement);
node->forToken = loc(1);
@@ -1453,14 +1472,14 @@ case 297: {
sym(1).Node = node;
} break;
-case 299: {
+case 302: {
AST::ContinueStatement *node = new (pool) AST::ContinueStatement();
node->continueToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 301: {
+case 304: {
AST::ContinueStatement *node = new (pool) AST::ContinueStatement(stringRef(2));
node->continueToken = loc(1);
node->identifierToken = loc(2);
@@ -1468,14 +1487,14 @@ case 301: {
sym(1).Node = node;
} break;
-case 303: {
+case 306: {
AST::BreakStatement *node = new (pool) AST::BreakStatement(QStringRef());
node->breakToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 305: {
+case 308: {
AST::BreakStatement *node = new (pool) AST::BreakStatement(stringRef(2));
node->breakToken = loc(1);
node->identifierToken = loc(2);
@@ -1483,14 +1502,14 @@ case 305: {
sym(1).Node = node;
} break;
-case 307: {
+case 310: {
AST::ReturnStatement *node = new (pool) AST::ReturnStatement(sym(2).Expression);
node->returnToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 308: {
+case 311: {
AST::WithStatement *node = new (pool) AST::WithStatement(sym(3).Expression, sym(5).Statement);
node->withToken = loc(1);
node->lparenToken = loc(2);
@@ -1498,7 +1517,7 @@ case 308: {
sym(1).Node = node;
} break;
-case 309: {
+case 312: {
AST::SwitchStatement *node = new (pool) AST::SwitchStatement(sym(3).Expression, sym(5).CaseBlock);
node->switchToken = loc(1);
node->lparenToken = loc(2);
@@ -1506,90 +1525,83 @@ case 309: {
sym(1).Node = node;
} break;
-case 310: {
+case 313: {
AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 311: {
+case 314: {
AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(5);
sym(1).Node = node;
} break;
-case 312: {
+case 315: {
sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClause);
} break;
-case 313: {
+case 316: {
sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClauses, sym(2).CaseClause);
} break;
-case 314: {
+case 317: {
sym(1).Node = 0;
} break;
-case 315: {
+case 318: {
sym(1).Node = sym(1).CaseClauses->finish ();
} break;
-case 316: {
+case 319: {
AST::CaseClause *node = new (pool) AST::CaseClause(sym(2).Expression, sym(4).StatementList);
node->caseToken = loc(1);
node->colonToken = loc(3);
sym(1).Node = node;
} break;
-case 317: {
+case 320: {
AST::DefaultClause *node = new (pool) AST::DefaultClause(sym(3).StatementList);
node->defaultToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 318:
-case 319: {
- AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement);
- node->identifierToken = loc(1);
- node->colonToken = loc(2);
- sym(1).Node = node;
-} break;
-case 320: {
+case 321: {
AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement);
node->identifierToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 322: {
+case 323: {
AST::ThrowStatement *node = new (pool) AST::ThrowStatement(sym(2).Expression);
node->throwToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 323: {
+case 324: {
AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 324: {
+case 325: {
AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 325: {
+case 326: {
AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch, sym(4).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 326: {
+case 327: {
AST::Catch *node = new (pool) AST::Catch(stringRef(3), sym(5).Block);
node->catchToken = loc(1);
node->lparenToken = loc(2);
@@ -1598,20 +1610,20 @@ case 326: {
sym(1).Node = node;
} break;
-case 327: {
+case 328: {
AST::Finally *node = new (pool) AST::Finally(sym(2).Block);
node->finallyToken = loc(1);
sym(1).Node = node;
} break;
-case 329: {
+case 330: {
AST::DebuggerStatement *node = new (pool) AST::DebuggerStatement();
node->debuggerToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 330: {
+case 332: {
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
node->identifierToken = loc(2);
@@ -1622,7 +1634,7 @@ case 330: {
sym(1).Node = node;
} break;
-case 331: {
+case 333: {
AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
if (! stringRef(2).isNull())
@@ -1634,60 +1646,66 @@ case 331: {
sym(1).Node = node;
} break;
-case 332: {
+case 334: {
+ AST::FunctionExpression *node = new (pool) AST::FunctionExpression(QStringRef(), sym(3).FormalParameterList, sym(6).FunctionBody);
+ node->functionToken = loc(1);
+ node->lparenToken = loc(2);
+ node->rparenToken = loc(4);
+ node->lbraceToken = loc(5);
+ node->rbraceToken = loc(7);
+ sym(1).Node = node;
+} break;
+
+case 335: {
AST::FormalParameterList *node = new (pool) AST::FormalParameterList(stringRef(1));
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 333: {
+case 336: {
AST::FormalParameterList *node = new (pool) AST::FormalParameterList(sym(1).FormalParameterList, stringRef(3));
node->commaToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 334: {
+case 337: {
sym(1).Node = 0;
} break;
-case 335: {
+case 338: {
sym(1).Node = sym(1).FormalParameterList->finish ();
} break;
-case 336: {
+case 339: {
sym(1).Node = 0;
} break;
-case 338: {
+case 341: {
sym(1).Node = new (pool) AST::FunctionBody(sym(1).SourceElements->finish ());
} break;
-case 340: {
+case 343: {
sym(1).Node = new (pool) AST::Program(sym(1).SourceElements->finish ());
} break;
-case 341: {
+case 344: {
sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElement);
} break;
-case 342: {
+case 345: {
sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElements, sym(2).SourceElement);
} break;
-case 343: {
+case 346: {
sym(1).Node = new (pool) AST::StatementSourceElement(sym(1).Statement);
} break;
-case 344: {
+case 347: {
sym(1).Node = new (pool) AST::FunctionSourceElement(sym(1).FunctionDeclaration);
} break;
-case 345: {
- stringRef(1) = QStringRef();
-} break;
-
-case 347: {
+case 348: {
sym(1).Node = 0;
} break;
diff --git a/src/qml/qml/parser/qqmljsparser_p.h b/src/qml/qml/parser/qqmljsparser_p.h
index 3da1b9a6a4..7becd5f5c8 100644
--- a/src/qml/qml/parser/qqmljsparser_p.h
+++ b/src/qml/qml/parser/qqmljsparser_p.h
@@ -101,7 +101,8 @@ public:
AST::FunctionDeclaration *FunctionDeclaration;
AST::Node *Node;
AST::PropertyName *PropertyName;
- AST::PropertyNameAndValueList *PropertyNameAndValueList;
+ AST::PropertyAssignment *PropertyAssignment;
+ AST::PropertyAssignmentList *PropertyAssignmentList;
AST::SourceElement *SourceElement;
AST::SourceElements *SourceElements;
AST::Statement *Statement;
@@ -244,9 +245,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_QML_END_NAMESPACE
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 2389c45574..207aa1f16d 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -155,41 +155,41 @@ public:
void initEnums() const;
void insertEnums(const QMetaObject *metaObject) const;
- bool m_isInterface : 1;
- const char *m_iid;
- QHashedString m_module;
- QString m_name;
- QString m_elementName;
- int m_version_maj;
- int m_version_min;
- int m_typeId; int m_listId;
- int m_revision;
- mutable bool m_containsRevisionedAttributes;
- mutable QQmlType *m_superType;
-
- int m_allocationSize;
- void (*m_newFunc)(void *);
- QString m_noCreationReason;
-
- const QMetaObject *m_baseMetaObject;
- QQmlAttachedPropertiesFunc m_attachedPropertiesFunc;
- const QMetaObject *m_attachedPropertiesType;
- int m_attachedPropertiesId;
- int m_parserStatusCast;
- int m_propertyValueSourceCast;
- int m_propertyValueInterceptorCast;
- QObject *(*m_extFunc)(QObject *);
- const QMetaObject *m_extMetaObject;
- int m_index;
- QQmlCustomParser *m_customParser;
- mutable volatile bool m_isSetup:1;
- mutable volatile bool m_isEnumSetup:1;
- mutable bool m_haveSuperType:1;
- mutable QList<QQmlProxyMetaObject::ProxyData> m_metaObjects;
- mutable QStringHash<int> m_enums;
- QQmlType::SingletonInstanceInfo *m_singletonInstanceInfo;
-
- static QHash<const QMetaObject *, int> m_attachedPropertyIds;
+ bool isInterface : 1;
+ const char *iid;
+ QHashedString module;
+ QString name;
+ QString elementName;
+ int version_maj;
+ int version_min;
+ int typeId; int listId;
+ int revision;
+ mutable bool containsRevisionedAttributes;
+ mutable QQmlType *superType;
+
+ int allocationSize;
+ void (*newFunc)(void *);
+ QString noCreationReason;
+
+ const QMetaObject *baseMetaObject;
+ QQmlAttachedPropertiesFunc attachedPropertiesFunc;
+ const QMetaObject *attachedPropertiesType;
+ int attachedPropertiesId;
+ int parserStatusCast;
+ int propertyValueSourceCast;
+ int propertyValueInterceptorCast;
+ QObject *(*extFunc)(QObject *);
+ const QMetaObject *extMetaObject;
+ int index;
+ QQmlCustomParser *customParser;
+ mutable volatile bool isSetup:1;
+ mutable volatile bool isEnumSetup:1;
+ mutable bool haveSuperType:1;
+ mutable QList<QQmlProxyMetaObject::ProxyData> metaObjects;
+ mutable QStringHash<int> enums;
+ QQmlType::SingletonInstanceInfo *singletonInstanceInfo;
+
+ static QHash<const QMetaObject *, int> attachedPropertyIds;
};
// Avoid multiple fromUtf8(), copies and hashing of the module name.
@@ -250,147 +250,147 @@ QJSValue QQmlType::SingletonInstanceInfo::scriptApi(QQmlEngine *e) const
return scriptApis.value(e);
}
-QHash<const QMetaObject *, int> QQmlTypePrivate::m_attachedPropertyIds;
+QHash<const QMetaObject *, int> QQmlTypePrivate::attachedPropertyIds;
QQmlTypePrivate::QQmlTypePrivate()
-: m_isInterface(false), m_iid(0), m_typeId(0), m_listId(0), m_revision(0), m_containsRevisionedAttributes(false),
- m_superType(0), m_allocationSize(0), m_newFunc(0), m_baseMetaObject(0), m_attachedPropertiesFunc(0),
- m_attachedPropertiesType(0), m_parserStatusCast(-1), m_propertyValueSourceCast(-1),
- m_propertyValueInterceptorCast(-1), m_extFunc(0), m_extMetaObject(0), m_index(-1), m_customParser(0),
- m_isSetup(false), m_isEnumSetup(false), m_haveSuperType(false), m_singletonInstanceInfo(0)
+: isInterface(false), iid(0), typeId(0), listId(0), revision(0), containsRevisionedAttributes(false),
+ superType(0), allocationSize(0), newFunc(0), baseMetaObject(0), attachedPropertiesFunc(0),
+ attachedPropertiesType(0), parserStatusCast(-1), propertyValueSourceCast(-1),
+ propertyValueInterceptorCast(-1), extFunc(0), extMetaObject(0), index(-1), customParser(0),
+ isSetup(false), isEnumSetup(false), haveSuperType(false), singletonInstanceInfo(0)
{
}
QQmlTypePrivate::~QQmlTypePrivate()
{
- delete m_singletonInstanceInfo;
+ delete singletonInstanceInfo;
}
QQmlType::QQmlType(int index, const QQmlPrivate::RegisterInterface &interface)
: d(new QQmlTypePrivate)
{
- d->m_isInterface = true;
- d->m_iid = interface.iid;
- d->m_typeId = interface.typeId;
- d->m_listId = interface.listId;
- d->m_newFunc = 0;
- d->m_index = index;
- d->m_isSetup = true;
- d->m_version_maj = 0;
- d->m_version_min = 0;
+ d->isInterface = true;
+ d->iid = interface.iid;
+ d->typeId = interface.typeId;
+ d->listId = interface.listId;
+ d->newFunc = 0;
+ d->index = index;
+ d->isSetup = true;
+ d->version_maj = 0;
+ d->version_min = 0;
}
QQmlType::QQmlType(int index, const QString &elementName, const QQmlPrivate::RegisterSingletonType &type)
: d(new QQmlTypePrivate)
{
- d->m_elementName = elementName;
- d->m_module = moduleFromUtf8(type.uri);
+ d->elementName = elementName;
+ d->module = moduleFromUtf8(type.uri);
- d->m_version_maj = type.versionMajor;
- d->m_version_min = type.versionMinor;
+ d->version_maj = type.versionMajor;
+ d->version_min = type.versionMinor;
if (type.qobjectApi) {
if (type.version >= 1) // static metaobject added in version 1
- d->m_baseMetaObject = type.instanceMetaObject;
+ d->baseMetaObject = type.instanceMetaObject;
if (type.version >= 2) // typeId added in version 2
- d->m_typeId = type.typeId;
+ d->typeId = type.typeId;
if (type.version >= 2) // revisions added in version 2
- d->m_revision = type.revision;
+ d->revision = type.revision;
}
- d->m_newFunc = 0;
- d->m_index = index;
+ d->newFunc = 0;
+ d->index = index;
- d->m_singletonInstanceInfo = new SingletonInstanceInfo;
- d->m_singletonInstanceInfo->scriptCallback = type.scriptApi;
- d->m_singletonInstanceInfo->qobjectCallback = type.qobjectApi;
- d->m_singletonInstanceInfo->typeName = QString::fromUtf8(type.typeName);
- d->m_singletonInstanceInfo->instanceMetaObject = (type.qobjectApi && type.version >= 1) ? type.instanceMetaObject : 0;
+ d->singletonInstanceInfo = new SingletonInstanceInfo;
+ d->singletonInstanceInfo->scriptCallback = type.scriptApi;
+ d->singletonInstanceInfo->qobjectCallback = type.qobjectApi;
+ d->singletonInstanceInfo->typeName = QString::fromUtf8(type.typeName);
+ d->singletonInstanceInfo->instanceMetaObject = (type.qobjectApi && type.version >= 1) ? type.instanceMetaObject : 0;
}
QQmlType::QQmlType(int index, const QString &elementName, const QQmlPrivate::RegisterType &type)
: d(new QQmlTypePrivate)
{
- d->m_elementName = elementName;
- d->m_module = moduleFromUtf8(type.uri);
+ d->elementName = elementName;
+ d->module = moduleFromUtf8(type.uri);
- d->m_version_maj = type.versionMajor;
- d->m_version_min = type.versionMinor;
+ d->version_maj = type.versionMajor;
+ d->version_min = type.versionMinor;
if (type.version >= 1) // revisions added in version 1
- d->m_revision = type.revision;
- d->m_typeId = type.typeId;
- d->m_listId = type.listId;
- d->m_allocationSize = type.objectSize;
- d->m_newFunc = type.create;
- d->m_noCreationReason = type.noCreationReason;
- d->m_baseMetaObject = type.metaObject;
- d->m_attachedPropertiesFunc = type.attachedPropertiesFunction;
- d->m_attachedPropertiesType = type.attachedPropertiesMetaObject;
- if (d->m_attachedPropertiesType) {
- QHash<const QMetaObject *, int>::Iterator iter = d->m_attachedPropertyIds.find(d->m_baseMetaObject);
- if (iter == d->m_attachedPropertyIds.end())
- iter = d->m_attachedPropertyIds.insert(d->m_baseMetaObject, index);
- d->m_attachedPropertiesId = *iter;
+ d->revision = type.revision;
+ d->typeId = type.typeId;
+ d->listId = type.listId;
+ d->allocationSize = type.objectSize;
+ d->newFunc = type.create;
+ d->noCreationReason = type.noCreationReason;
+ d->baseMetaObject = type.metaObject;
+ d->attachedPropertiesFunc = type.attachedPropertiesFunction;
+ d->attachedPropertiesType = type.attachedPropertiesMetaObject;
+ if (d->attachedPropertiesType) {
+ QHash<const QMetaObject *, int>::Iterator iter = d->attachedPropertyIds.find(d->baseMetaObject);
+ if (iter == d->attachedPropertyIds.end())
+ iter = d->attachedPropertyIds.insert(d->baseMetaObject, index);
+ d->attachedPropertiesId = *iter;
} else {
- d->m_attachedPropertiesId = -1;
+ d->attachedPropertiesId = -1;
}
- d->m_parserStatusCast = type.parserStatusCast;
- d->m_propertyValueSourceCast = type.valueSourceCast;
- d->m_propertyValueInterceptorCast = type.valueInterceptorCast;
- d->m_extFunc = type.extensionObjectCreate;
- d->m_index = index;
- d->m_customParser = type.customParser;
+ d->parserStatusCast = type.parserStatusCast;
+ d->propertyValueSourceCast = type.valueSourceCast;
+ d->propertyValueInterceptorCast = type.valueInterceptorCast;
+ d->extFunc = type.extensionObjectCreate;
+ d->index = index;
+ d->customParser = type.customParser;
if (type.extensionMetaObject)
- d->m_extMetaObject = type.extensionMetaObject;
+ d->extMetaObject = type.extensionMetaObject;
}
QQmlType::~QQmlType()
{
- delete d->m_customParser;
+ delete d->customParser;
delete d;
}
const QHashedString &QQmlType::module() const
{
- return d->m_module;
+ return d->module;
}
int QQmlType::majorVersion() const
{
- return d->m_version_maj;
+ return d->version_maj;
}
int QQmlType::minorVersion() const
{
- return d->m_version_min;
+ return d->version_min;
}
bool QQmlType::availableInVersion(int vmajor, int vminor) const
{
Q_ASSERT(vmajor >= 0 && vminor >= 0);
- return vmajor == d->m_version_maj && vminor >= d->m_version_min;
+ return vmajor == d->version_maj && vminor >= d->version_min;
}
bool QQmlType::availableInVersion(const QHashedStringRef &module, int vmajor, int vminor) const
{
Q_ASSERT(vmajor >= 0 && vminor >= 0);
- return module == d->m_module && vmajor == d->m_version_maj && vminor >= d->m_version_min;
+ return module == d->module && vmajor == d->version_maj && vminor >= d->version_min;
}
// returns the nearest _registered_ super class
QQmlType *QQmlType::superType() const
{
- if (!d->m_haveSuperType && d->m_baseMetaObject) {
- const QMetaObject *mo = d->m_baseMetaObject->superClass();
- while (mo && !d->m_superType) {
- d->m_superType = QQmlMetaType::qmlType(mo, d->m_module, d->m_version_maj, d->m_version_min);
+ if (!d->haveSuperType && d->baseMetaObject) {
+ const QMetaObject *mo = d->baseMetaObject->superClass();
+ while (mo && !d->superType) {
+ d->superType = QQmlMetaType::qmlType(mo, d->module, d->version_maj, d->version_min);
mo = mo->superClass();
}
- d->m_haveSuperType = true;
+ d->haveSuperType = true;
}
- return d->m_superType;
+ return d->superType;
}
static void clone(QMetaObjectBuilder &builder, const QMetaObject *mo,
@@ -481,13 +481,13 @@ static bool isPropertyRevisioned(const QMetaObject *mo, int index)
void QQmlTypePrivate::init() const
{
- if (m_isSetup) return;
+ if (isSetup) return;
QWriteLocker lock(metaTypeDataLock());
- if (m_isSetup)
+ if (isSetup)
return;
- const QMetaObject *mo = m_baseMetaObject;
+ const QMetaObject *mo = baseMetaObject;
if (!mo) {
// singleton type without metaobject information
return;
@@ -495,78 +495,78 @@ void QQmlTypePrivate::init() const
// Setup extended meta object
// XXX - very inefficient
- if (m_extFunc) {
+ if (extFunc) {
QMetaObjectBuilder builder;
- clone(builder, m_extMetaObject, m_extMetaObject, m_extMetaObject);
+ clone(builder, extMetaObject, extMetaObject, extMetaObject);
builder.setFlags(QMetaObjectBuilder::DynamicMetaObject);
QMetaObject *mmo = builder.toMetaObject();
mmo->d.superdata = mo;
- QQmlProxyMetaObject::ProxyData data = { mmo, m_extFunc, 0, 0 };
- m_metaObjects << data;
+ QQmlProxyMetaObject::ProxyData data = { mmo, extFunc, 0, 0 };
+ metaObjects << data;
}
mo = mo->d.superdata;
while(mo) {
QQmlType *t = metaTypeData()->metaObjectToType.value(mo);
if (t) {
- if (t->d->m_extFunc) {
+ if (t->d->extFunc) {
QMetaObjectBuilder builder;
- clone(builder, t->d->m_extMetaObject, t->d->m_baseMetaObject, m_baseMetaObject);
+ clone(builder, t->d->extMetaObject, t->d->baseMetaObject, baseMetaObject);
builder.setFlags(QMetaObjectBuilder::DynamicMetaObject);
QMetaObject *mmo = builder.toMetaObject();
- mmo->d.superdata = m_baseMetaObject;
- if (!m_metaObjects.isEmpty())
- m_metaObjects.last().metaObject->d.superdata = mmo;
- QQmlProxyMetaObject::ProxyData data = { mmo, t->d->m_extFunc, 0, 0 };
- m_metaObjects << data;
+ mmo->d.superdata = baseMetaObject;
+ if (!metaObjects.isEmpty())
+ metaObjects.last().metaObject->d.superdata = mmo;
+ QQmlProxyMetaObject::ProxyData data = { mmo, t->d->extFunc, 0, 0 };
+ metaObjects << data;
}
}
mo = mo->d.superdata;
}
- for (int ii = 0; ii < m_metaObjects.count(); ++ii) {
- m_metaObjects[ii].propertyOffset =
- m_metaObjects.at(ii).metaObject->propertyOffset();
- m_metaObjects[ii].methodOffset =
- m_metaObjects.at(ii).metaObject->methodOffset();
+ for (int ii = 0; ii < metaObjects.count(); ++ii) {
+ metaObjects[ii].propertyOffset =
+ metaObjects.at(ii).metaObject->propertyOffset();
+ metaObjects[ii].methodOffset =
+ metaObjects.at(ii).metaObject->methodOffset();
}
// Check for revisioned details
{
const QMetaObject *mo = 0;
- if (m_metaObjects.isEmpty())
- mo = m_baseMetaObject;
+ if (metaObjects.isEmpty())
+ mo = baseMetaObject;
else
- mo = m_metaObjects.first().metaObject;
+ mo = metaObjects.first().metaObject;
- for (int ii = 0; !m_containsRevisionedAttributes && ii < mo->propertyCount(); ++ii) {
+ for (int ii = 0; !containsRevisionedAttributes && ii < mo->propertyCount(); ++ii) {
if (isPropertyRevisioned(mo, ii))
- m_containsRevisionedAttributes = true;
+ containsRevisionedAttributes = true;
}
- for (int ii = 0; !m_containsRevisionedAttributes && ii < mo->methodCount(); ++ii) {
+ for (int ii = 0; !containsRevisionedAttributes && ii < mo->methodCount(); ++ii) {
if (mo->method(ii).revision() != 0)
- m_containsRevisionedAttributes = true;
+ containsRevisionedAttributes = true;
}
}
- m_isSetup = true;
+ isSetup = true;
lock.unlock();
}
void QQmlTypePrivate::initEnums() const
{
- if (m_isEnumSetup) return;
+ if (isEnumSetup) return;
init();
QWriteLocker lock(metaTypeDataLock());
- if (m_isEnumSetup) return;
+ if (isEnumSetup) return;
- if (m_baseMetaObject) // could be singleton type without metaobject
- insertEnums(m_baseMetaObject);
+ if (baseMetaObject) // could be singleton type without metaobject
+ insertEnums(baseMetaObject);
- m_isEnumSetup = true;
+ isEnumSetup = true;
}
void QQmlTypePrivate::insertEnums(const QMetaObject *metaObject) const
@@ -584,46 +584,46 @@ void QQmlTypePrivate::insertEnums(const QMetaObject *metaObject) const
for (int ii = 0; ii < metaObject->enumeratorCount(); ++ii) {
QMetaEnum e = metaObject->enumerator(ii);
for (int jj = 0; jj < e.keyCount(); ++jj)
- m_enums.insert(QString::fromUtf8(e.key(jj)), e.value(jj));
+ enums.insert(QString::fromUtf8(e.key(jj)), e.value(jj));
}
}
QByteArray QQmlType::typeName() const
{
- if (d->m_singletonInstanceInfo)
- return d->m_singletonInstanceInfo->typeName.toUtf8();
- if (d->m_baseMetaObject)
- return d->m_baseMetaObject->className();
+ if (d->singletonInstanceInfo)
+ return d->singletonInstanceInfo->typeName.toUtf8();
+ if (d->baseMetaObject)
+ return d->baseMetaObject->className();
else
return QByteArray();
}
const QString &QQmlType::elementName() const
{
- return d->m_elementName;
+ return d->elementName;
}
const QString &QQmlType::qmlTypeName() const
{
- if (d->m_name.isEmpty()) {
- if (!d->m_module.isEmpty())
- d->m_name = static_cast<QString>(d->m_module) + QLatin1Char('/') + d->m_elementName;
+ if (d->name.isEmpty()) {
+ if (!d->module.isEmpty())
+ d->name = static_cast<QString>(d->module) + QLatin1Char('/') + d->elementName;
else
- d->m_name = d->m_elementName;
+ d->name = d->elementName;
}
- return d->m_name;
+ return d->name;
}
QObject *QQmlType::create() const
{
d->init();
- QObject *rv = (QObject *)operator new(d->m_allocationSize);
- d->m_newFunc(rv);
+ QObject *rv = (QObject *)operator new(d->allocationSize);
+ d->newFunc(rv);
- if (rv && !d->m_metaObjects.isEmpty())
- (void)new QQmlProxyMetaObject(rv, &d->m_metaObjects);
+ if (rv && !d->metaObjects.isEmpty())
+ (void)new QQmlProxyMetaObject(rv, &d->metaObjects);
return rv;
}
@@ -632,109 +632,109 @@ void QQmlType::create(QObject **out, void **memory, size_t additionalMemory) con
{
d->init();
- QObject *rv = (QObject *)operator new(d->m_allocationSize + additionalMemory);
- d->m_newFunc(rv);
+ QObject *rv = (QObject *)operator new(d->allocationSize + additionalMemory);
+ d->newFunc(rv);
- if (rv && !d->m_metaObjects.isEmpty())
- (void)new QQmlProxyMetaObject(rv, &d->m_metaObjects);
+ if (rv && !d->metaObjects.isEmpty())
+ (void)new QQmlProxyMetaObject(rv, &d->metaObjects);
*out = rv;
- *memory = ((char *)rv) + d->m_allocationSize;
+ *memory = ((char *)rv) + d->allocationSize;
}
QQmlType::SingletonInstanceInfo *QQmlType::singletonInstanceInfo() const
{
- return d->m_singletonInstanceInfo;
+ return d->singletonInstanceInfo;
}
QQmlCustomParser *QQmlType::customParser() const
{
- return d->m_customParser;
+ return d->customParser;
}
QQmlType::CreateFunc QQmlType::createFunction() const
{
- return d->m_newFunc;
+ return d->newFunc;
}
QString QQmlType::noCreationReason() const
{
- return d->m_noCreationReason;
+ return d->noCreationReason;
}
int QQmlType::createSize() const
{
- return d->m_allocationSize;
+ return d->allocationSize;
}
bool QQmlType::isCreatable() const
{
- return d->m_newFunc != 0;
+ return d->newFunc != 0;
}
bool QQmlType::isExtendedType() const
{
d->init();
- return !d->m_metaObjects.isEmpty();
+ return !d->metaObjects.isEmpty();
}
bool QQmlType::isSingleton() const
{
- return d->m_singletonInstanceInfo != 0;
+ return d->singletonInstanceInfo != 0;
}
bool QQmlType::isInterface() const
{
- return d->m_isInterface;
+ return d->isInterface;
}
int QQmlType::typeId() const
{
- return d->m_typeId;
+ return d->typeId;
}
int QQmlType::qListTypeId() const
{
- return d->m_listId;
+ return d->listId;
}
const QMetaObject *QQmlType::metaObject() const
{
d->init();
- if (d->m_metaObjects.isEmpty())
- return d->m_baseMetaObject;
+ if (d->metaObjects.isEmpty())
+ return d->baseMetaObject;
else
- return d->m_metaObjects.first().metaObject;
+ return d->metaObjects.first().metaObject;
}
const QMetaObject *QQmlType::baseMetaObject() const
{
- return d->m_baseMetaObject;
+ return d->baseMetaObject;
}
bool QQmlType::containsRevisionedAttributes() const
{
d->init();
- return d->m_containsRevisionedAttributes;
+ return d->containsRevisionedAttributes;
}
int QQmlType::metaObjectRevision() const
{
- return d->m_revision;
+ return d->revision;
}
QQmlAttachedPropertiesFunc QQmlType::attachedPropertiesFunction() const
{
- return d->m_attachedPropertiesFunc;
+ return d->attachedPropertiesFunc;
}
const QMetaObject *QQmlType::attachedPropertiesType() const
{
- return d->m_attachedPropertiesType;
+ return d->attachedPropertiesType;
}
/*
@@ -744,32 +744,32 @@ Qt 4.7 and QtQuick 1.0).
*/
int QQmlType::attachedPropertiesId() const
{
- return d->m_attachedPropertiesId;
+ return d->attachedPropertiesId;
}
int QQmlType::parserStatusCast() const
{
- return d->m_parserStatusCast;
+ return d->parserStatusCast;
}
int QQmlType::propertyValueSourceCast() const
{
- return d->m_propertyValueSourceCast;
+ return d->propertyValueSourceCast;
}
int QQmlType::propertyValueInterceptorCast() const
{
- return d->m_propertyValueInterceptorCast;
+ return d->propertyValueInterceptorCast;
}
const char *QQmlType::interfaceIId() const
{
- return d->m_iid;
+ return d->iid;
}
int QQmlType::index() const
{
- return d->m_index;
+ return d->index;
}
int QQmlType::enumValue(const QHashedStringRef &name, bool *ok) const
@@ -779,7 +779,7 @@ int QQmlType::enumValue(const QHashedStringRef &name, bool *ok) const
d->initEnums();
- int *rv = d->m_enums.value(name);
+ int *rv = d->enums.value(name);
if (rv)
return *rv;
@@ -794,7 +794,7 @@ int QQmlType::enumValue(const QHashedCStringRef &name, bool *ok) const
d->initEnums();
- int *rv = d->m_enums.value(name);
+ int *rv = d->enums.value(name);
if (rv)
return *rv;
@@ -809,7 +809,7 @@ int QQmlType::enumValue(const QHashedV8String &name, bool *ok) const
d->initEnums();
- int *rv = d->m_enums.value(name);
+ int *rv = d->enums.value(name);
if (rv)
return *rv;
diff --git a/src/qml/qml/qqmlvme.cpp b/src/qml/qml/qqmlvme.cpp
index 4abc6f46fa..8198eeca66 100644
--- a/src/qml/qml/qqmlvme.cpp
+++ b/src/qml/qml/qqmlvme.cpp
@@ -558,6 +558,11 @@ QObject *QQmlVME::run(QList<QQmlError> *errors,
QObject *o = 0;
void *memory = 0;
type.type->create(&o, &memory, sizeof(QQmlData));
+
+ if (!o)
+ VME_EXCEPTION(tr("Unable to create object of type %1").arg(type.type->elementName()),
+ instr.line);
+
QQmlData *ddata = new (memory) QQmlData;
ddata->ownMemory = false;
QObjectPrivate::get(o)->declarativeData = ddata;
@@ -572,10 +577,6 @@ QObject *QQmlVME::run(QList<QQmlError> *errors,
ddata->propertyCache->addref();
}
- if (!o)
- VME_EXCEPTION(tr("Unable to create object of type %1").arg(type.type->elementName()),
- instr.line);
-
if (states.count() == 1) {
// Keep a reference to the compiled data we rely on
ddata->compiledData = states[0].compiledData;
diff --git a/src/qml/qml/v4/qv4irbuilder.cpp b/src/qml/qml/v4/qv4irbuilder.cpp
index 50d799c8d9..4aa257d54a 100644
--- a/src/qml/qml/v4/qv4irbuilder.cpp
+++ b/src/qml/qml/v4/qv4irbuilder.cpp
@@ -358,7 +358,19 @@ bool QV4IRBuilder::visit(AST::StatementSourceElement *)
}
// object literals
-bool QV4IRBuilder::visit(AST::PropertyNameAndValueList *)
+bool QV4IRBuilder::visit(AST::PropertyAssignmentList *)
+{
+ Q_ASSERT(!"unreachable");
+ return false;
+}
+
+bool QV4IRBuilder::visit(AST::PropertyNameAndValue *)
+{
+ Q_ASSERT(!"unreachable");
+ return false;
+}
+
+bool QV4IRBuilder::visit(AST::PropertyGetterSetter *)
{
Q_ASSERT(!"unreachable");
return false;
diff --git a/src/qml/qml/v4/qv4irbuilder_p.h b/src/qml/qml/v4/qv4irbuilder_p.h
index 3aee38b269..dc0d62f438 100644
--- a/src/qml/qml/v4/qv4irbuilder_p.h
+++ b/src/qml/qml/v4/qv4irbuilder_p.h
@@ -139,7 +139,9 @@ protected:
virtual bool visit(QQmlJS::AST::StatementSourceElement *ast);
// object literals
- virtual bool visit(QQmlJS::AST::PropertyNameAndValueList *ast);
+ virtual bool visit(QQmlJS::AST::PropertyAssignmentList *ast);
+ virtual bool visit(QQmlJS::AST::PropertyNameAndValue *ast);
+ virtual bool visit(QQmlJS::AST::PropertyGetterSetter *ast);
virtual bool visit(QQmlJS::AST::IdentifierPropertyName *ast);
virtual bool visit(QQmlJS::AST::StringLiteralPropertyName *ast);
virtual bool visit(QQmlJS::AST::NumericLiteralPropertyName *ast);