summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2009-07-24 05:33:30 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2009-07-24 05:33:30 (GMT)
commit2210fce7beb9be8f1acbdff5129eed91a59f7be7 (patch)
tree91128c6f6fc11a19fac5b20bdb79f86fe6994d25
parent64f8d8c72874cd2aca592045e861a7d73d058e15 (diff)
parentf4c02abe4f4638f2c3b702405119e232fcfe47e8 (diff)
downloadQt-2210fce7beb9be8f1acbdff5129eed91a59f7be7.zip
Qt-2210fce7beb9be8f1acbdff5129eed91a59f7be7.tar.gz
Qt-2210fce7beb9be8f1acbdff5129eed91a59f7be7.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
-rw-r--r--src/declarative/qml/parser/qmljs.g172
-rw-r--r--src/declarative/qml/parser/qmljsast.cpp63
-rw-r--r--src/declarative/qml/parser/qmljsast_p.h95
-rw-r--r--src/declarative/qml/parser/qmljsastfwd_p.h2
-rw-r--r--src/declarative/qml/parser/qmljsastvisitor_p.h4
-rw-r--r--src/declarative/qml/parser/qmljsgrammar.cpp1376
-rw-r--r--src/declarative/qml/parser/qmljsgrammar_p.h33
-rw-r--r--src/declarative/qml/parser/qmljslexer.cpp59
-rw-r--r--src/declarative/qml/parser/qmljslexer_p.h19
-rw-r--r--src/declarative/qml/parser/qmljsparser.cpp522
-rw-r--r--src/declarative/qml/parser/qmljsparser_p.h6
-rw-r--r--src/declarative/qml/qml.pri6
-rw-r--r--src/declarative/qml/qmlbasicscript.cpp75
-rw-r--r--src/declarative/qml/qmlbinding.cpp3
-rw-r--r--src/declarative/qml/qmlcomponentjs.cpp (renamed from src/declarative/qml/qmlbindablecomponent.cpp)34
-rw-r--r--src/declarative/qml/qmlcomponentjs.h (renamed from src/declarative/qml/qmlbindablecomponent.h)12
-rw-r--r--src/declarative/qml/qmlcomponentjs_p.h (renamed from src/declarative/qml/qmlbindablecomponent_p.h)10
-rw-r--r--src/declarative/qml/qmlengine.cpp8
-rw-r--r--src/declarative/qml/qmlrewrite.cpp53
-rw-r--r--src/declarative/qml/qmlrewrite_p.h15
-rw-r--r--src/declarative/qml/qmlscriptparser.cpp21
-rw-r--r--src/declarative/util/qmlfontfamily.cpp13
-rw-r--r--src/declarative/util/qmlfontfamily.h4
23 files changed, 1121 insertions, 1484 deletions
diff --git a/src/declarative/qml/parser/qmljs.g b/src/declarative/qml/parser/qmljs.g
index 7d8faee..ccfe7fd 100644
--- a/src/declarative/qml/parser/qmljs.g
+++ b/src/declarative/qml/parser/qmljs.g
@@ -81,8 +81,6 @@
%token T_RESERVED_WORD "reserved word"
%token T_MULTILINE_STRING_LITERAL "multiline string literal"
-%token T_AT "@"
-
--- context keywords.
%token T_PUBLIC "public"
%token T_IMPORT "import"
@@ -273,8 +271,6 @@ public:
AST::UiObjectMemberList *UiObjectMemberList;
AST::UiArrayMemberList *UiArrayMemberList;
AST::UiQualifiedId *UiQualifiedId;
- AST::UiAttributeList *UiAttributeList;
- AST::UiAttribute *UiAttribute;
};
public:
@@ -671,93 +667,25 @@ case $rule_number: {
} break;
./
-UiRootMember: UiAnnotation UiObjectDefinition ;
-/.
-case $rule_number: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
-} break;
-./
-
-UiAnnotation: Empty ;
-UiAnnotation: UiAttributeList ;
-/.
-case $rule_number: {
- sym(1).UiAttributeList = sym(1).UiAttributeList->finish();
-} break;
-./
-
-UiAttributeList: UiAttribute ;
-/.
-case $rule_number: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(), sym(1).UiAttribute);
-} break;
-./
-
-UiAttributeList: UiAttributeList UiAttribute ;
-/.
-case $rule_number: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiAttribute);
-} break;
-./
-
-UiAttributeName: JsIdentifier ;
-UiAttributeName: ReservedIdentifier ;
-
-UiAttribute: T_AT UiAttributeName ;
+UiRootMember: UiObjectDefinition ;
/.
case $rule_number: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(driver->nodePool(), sym(2).sval);
- ast->atToken = loc(1);
- ast->nameToken = loc(2);
- sym(1).UiAttribute = ast;
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
./
-UiAttribute: T_AT UiAttributeName T_EQ UiAttributeValue ;
+UiObjectMemberList: UiObjectMember ;
/.
case $rule_number: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(driver->nodePool(),
- sym(2).sval, sym(4).Expression);
- ast->atToken = loc(1);
- ast->nameToken = loc(2);
- ast->equalToken = loc(3);
- sym(1).UiAttribute = ast;
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
./
-UiAttributeValue: UiAttributeName ;
-/.
-case $rule_number: {
- AST::IdentifierExpression *node = makeAstNode<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
- node->identifierToken = loc(1);
- sym(1).Node = node;
-} break;
-./
-
-UiAttributeValue: T_NUMERIC_LITERAL ;
-/.
-case $rule_number: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
- node->literalToken = loc(1);
- sym(1).Node = node;
-} break;
-./
-
-UiObjectMemberList: UiAnnotation UiObjectMember ;
-/.
-case $rule_number: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
-} break;
-./
-
-UiObjectMemberList: UiObjectMemberList UiAnnotation UiObjectMember ;
+UiObjectMemberList: UiObjectMemberList UiObjectMember ;
/.
case $rule_number: {
AST::UiObjectMemberList *node = makeAstNode<AST:: UiObjectMemberList> (driver->nodePool(),
- sym(1).UiObjectMemberList, sym(2).UiAttributeList, sym(3).UiObjectMember);
+ sym(1).UiObjectMemberList, sym(2).UiObjectMember);
sym(1).Node = node;
} break;
./
@@ -769,20 +697,11 @@ case $rule_number: {
} break;
./
-UiArrayMemberList: UiAttributeList UiObjectDefinition ;
+UiArrayMemberList: UiArrayMemberList T_COMMA UiObjectDefinition ;
/.
case $rule_number: {
- sym(2).UiObjectMember->attributes = sym(1).UiAttributeList->finish();
- sym(1).Node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(), sym(2).UiObjectMember);
-} break;
-./
-
-UiArrayMemberList: UiArrayMemberList T_COMMA UiAnnotation UiObjectDefinition ;
-/.
-case $rule_number: {
- sym(4).UiObjectMember->attributes = sym(3).UiAttributeList;
AST::UiArrayMemberList *node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(),
- sym(1).UiArrayMemberList, sym(4).UiObjectMember);
+ sym(1).UiArrayMemberList, sym(3).UiObjectMember);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
@@ -822,8 +741,8 @@ UiObjectMember: UiObjectDefinition ;
UiObjectMember: UiQualifiedId T_COLON T_LBRACKET UiArrayMemberList T_RBRACKET ;
/.
case $rule_number: {
- AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(4).UiArrayMemberList->finish());
+ AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish());
node->colonToken = loc(2);
node->lbracketToken = loc(3);
node->rbracketToken = loc(5);
@@ -831,7 +750,7 @@ case $rule_number: {
} break;
./
-UiObjectMember: UiQualifiedId T_COLON Expression UiObjectInitializer ;
+UiObjectMember: UiQualifiedId T_COLON Expression UiObjectInitializer ;
/.
case $rule_number: {
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(3).Expression)) {
@@ -850,6 +769,48 @@ case $rule_number: {
} break;
./
+UiObjectMember: UiQualifiedId UiSignature T_COLON Expression UiObjectInitializer ;
+/.
+case $rule_number: {
+ if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(4).Expression)) {
+ AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), qualifiedId, sym(5).UiObjectInitializer);
+ node->colonToken = loc(3);
+ sym(1).Node = node;
+ } else {
+ sym(1).Node = 0;
+
+ diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(2),
+ QLatin1String("Expected a type name after token `:'")));
+
+ return false; // ### recover
+ }
+} break;
+./
+
+UiObjectMember: UiQualifiedId UiSignature T_COLON Block ;
+/.case $rule_number:./
+
+UiObjectMember: UiQualifiedId UiSignature T_COLON EmptyStatement ;
+/.case $rule_number:./
+
+UiObjectMember: UiQualifiedId UiSignature T_COLON ExpressionStatement ;
+/.case $rule_number:./
+
+UiObjectMember: UiQualifiedId UiSignature T_COLON IfStatement ; --- ### do we really want if statement in a binding?
+/.case $rule_number:./
+
+/.
+{
+ AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(4).Statement);
+ node->colonToken = loc(3);
+ sym(1).Node = node;
+} break;
+./
+
+
+
UiObjectMember: UiQualifiedId T_COLON Block ;
/.case $rule_number:./
@@ -864,8 +825,8 @@ UiObjectMember: UiQualifiedId T_COLON IfStatement ; --- ### do we really want if
/.
{
- AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(3).Statement);
+ AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(3).Statement);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
@@ -918,27 +879,40 @@ case $rule_number: {
} break;
./
-UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN ;
+UiFormal: JsIdentifier ;
+UiFormal: JsIdentifier T_AS JsIdentifier ;
+
+UiFormalList: UiFormal ;
+UiFormalList: UiFormalList T_COMMA UiFormal ;
+
+UiSignature: T_LPAREN T_RPAREN ;
+UiSignature: T_LPAREN UiFormalList T_RPAREN ;
+
+UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_AUTOMATIC_SEMICOLON ;
+UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_SEMICOLON ;
/.
case $rule_number: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), (NameId *)0, sym(2).sval);
node->type = AST::UiPublicMember::Signal;
node->propertyToken = loc(1);
node->typeToken = loc(2);
- node->identifierToken = loc(3);
+ node->identifierToken = loc(2);
node->parameters = sym(4).UiParameterList;
+ node->semicolonToken = loc(6);
sym(1).Node = node;
} break;
./
-UiObjectMember: T_SIGNAL T_IDENTIFIER ;
+UiObjectMember: T_SIGNAL T_IDENTIFIER T_AUTOMATIC_SEMICOLON ;
+UiObjectMember: T_SIGNAL T_IDENTIFIER T_SEMICOLON ;
/.
case $rule_number: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), (NameId *)0, sym(2).sval);
node->type = AST::UiPublicMember::Signal;
node->propertyToken = loc(1);
node->typeToken = loc(2);
- node->identifierToken = loc(3);
+ node->identifierToken = loc(2);
+ node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
./
@@ -1102,7 +1076,7 @@ case $rule_number: {
PrimaryExpression: T_NUMERIC_LITERAL ;
/.
case $rule_number: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
+ AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
diff --git a/src/declarative/qml/parser/qmljsast.cpp b/src/declarative/qml/parser/qmljsast.cpp
index fb4ea8a..52f19e2 100644
--- a/src/declarative/qml/parser/qmljsast.cpp
+++ b/src/declarative/qml/parser/qmljsast.cpp
@@ -49,44 +49,6 @@ QT_BEGIN_NAMESPACE
namespace QmlJS { namespace AST {
-int NumericLiteral::suffixLength[] = {
- 0, // noSuffix
- 2, // emSuffix
- 2, // exSuffix
- 2, // pxSuffix
- 2, // cmSuffix
- 2, // mmSuffix
- 2, // inSuffix
- 2, // ptSuffix
- 2, // pcSuffix
- 3, // degSuffix
- 3, // radSuffix
- 4, // gradSuffix
- 2, // msSuffix
- 1, // sSuffix
- 2, // hzSuffix
- 3 // khzSuffix
-};
-
-const char *const NumericLiteral::suffixSpell[] = {
- "",
- "em",
- "ex",
- "px",
- "cm",
- "mm",
- "in",
- "pt",
- "pc",
- "deg",
- "rad",
- "grad",
- "ms",
- "s",
- "hz",
- "khz"
-};
-
ExpressionNode *Node::expressionCast()
{
return 0;
@@ -839,29 +801,9 @@ void UiProgram::accept0(Visitor *visitor)
visitor->endVisit(this);
}
-void UiAttributeList::accept0(Visitor *visitor)
-{
- if (visitor->visit(this)) {
- for (UiAttributeList *it = this; it; it = it->next)
- acceptChild(it->attribute, visitor);
- }
-
- visitor->endVisit(this);
-}
-
-void UiAttribute::accept0(Visitor *visitor)
-{
- if (visitor->visit(this)) {
- acceptChild(value, visitor);
- }
-
- visitor->endVisit(this);
-}
-
void UiPublicMember::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(expression, visitor);
}
@@ -871,7 +813,6 @@ void UiPublicMember::accept0(Visitor *visitor)
void UiObjectDefinition::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(qualifiedTypeNameId, visitor);
acceptChild(initializer, visitor);
}
@@ -892,7 +833,6 @@ void UiObjectInitializer::accept0(Visitor *visitor)
void UiObjectBinding::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(qualifiedId, visitor);
acceptChild(qualifiedTypeNameId, visitor);
acceptChild(initializer, visitor);
@@ -904,7 +844,6 @@ void UiObjectBinding::accept0(Visitor *visitor)
void UiScriptBinding::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(qualifiedId, visitor);
acceptChild(statement, visitor);
}
@@ -915,7 +854,6 @@ void UiScriptBinding::accept0(Visitor *visitor)
void UiArrayBinding::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(qualifiedId, visitor);
for (UiArrayMemberList *it = members; it; it = it->next)
acceptChild(it->member, visitor);
@@ -973,7 +911,6 @@ void UiImportList::accept0(Visitor *visitor)
void UiSourceElement::accept0(Visitor *visitor)
{
if (visitor->visit(this)) {
- acceptChild(attributes, visitor);
acceptChild(sourceElement, visitor);
}
diff --git a/src/declarative/qml/parser/qmljsast_p.h b/src/declarative/qml/parser/qmljsast_p.h
index 73b2cbc..eba9202 100644
--- a/src/declarative/qml/parser/qmljsast_p.h
+++ b/src/declarative/qml/parser/qmljsast_p.h
@@ -213,9 +213,7 @@ public:
Kind_UiPublicMember,
Kind_UiQualifiedId,
Kind_UiScriptBinding,
- Kind_UiSourceElement,
- Kind_UiAttributeList,
- Kind_UiAttribute
+ Kind_UiSourceElement
};
inline Node()
@@ -402,30 +400,8 @@ class NumericLiteral: public ExpressionNode
public:
QMLJS_DECLARE_AST_NODE(NumericLiteral)
- enum Suffix { // ### keep it in sync with the Suffix enum in qmljslexer_p.h
- noSuffix,
- emSuffix,
- exSuffix,
- pxSuffix,
- cmSuffix,
- mmSuffix,
- inSuffix,
- ptSuffix,
- pcSuffix,
- degSuffix,
- radSuffix,
- gradSuffix,
- msSuffix,
- sSuffix,
- hzSuffix,
- khzSuffix
- };
-
- static int suffixLength[];
- static const char *const suffixSpell[];
-
- NumericLiteral(double v, int suffix):
- value(v), suffix(suffix) { kind = K; }
+ NumericLiteral(double v):
+ value(v) { kind = K; }
virtual ~NumericLiteral() {}
virtual void accept0(Visitor *visitor);
@@ -438,7 +414,6 @@ public:
// attributes:
double value;
- int suffix;
SourceLocation literalToken;
};
@@ -2183,56 +2158,6 @@ public:
UiObjectMemberList *members;
};
-class UiAttributeList: public Node
-{
-public:
- QMLJS_DECLARE_AST_NODE(UiAttributeList)
-
- UiAttributeList(UiAttribute *attribute)
- : attribute(attribute), next(this)
- { kind = K; }
-
- UiAttributeList(UiAttributeList *previous, UiAttribute *attribute)
- : attribute(attribute)
- {
- next = previous->next;
- previous->next = this;
- kind = K;
- }
-
- UiAttributeList *finish()
- {
- UiAttributeList *head = next;
- next = 0;
- return head;
- }
-
- virtual void accept0(Visitor *visitor);
-
-// attributes
- UiAttribute *attribute;
- UiAttributeList *next;
-};
-
-class UiAttribute: public Node
-{
-public:
- QMLJS_DECLARE_AST_NODE(UiAttribute)
-
- UiAttribute(NameId *name, ExpressionNode *value = 0)
- : name(name), value(value)
- { kind = K; }
-
- virtual void accept0(Visitor *visitor);
-
-// attributes
- NameId *name;
- ExpressionNode *value;
- SourceLocation atToken;
- SourceLocation nameToken;
- SourceLocation equalToken;
-};
-
class UiQualifiedId: public Node
{
public:
@@ -2331,9 +2256,6 @@ class UiObjectMember: public Node
public:
virtual SourceLocation firstSourceLocation() const = 0;
virtual SourceLocation lastSourceLocation() const = 0;
-
-// attributes
- UiAttributeList *attributes;
};
class UiObjectMemberList: public Node
@@ -2341,21 +2263,16 @@ class UiObjectMemberList: public Node
public:
QMLJS_DECLARE_AST_NODE(UiObjectMemberList)
- UiObjectMemberList(UiAttributeList *attributes, UiObjectMember *member)
+ UiObjectMemberList(UiObjectMember *member)
: next(this), member(member)
- {
- kind = K;
- member->attributes = attributes;
- }
+ { kind = K; }
- UiObjectMemberList(UiObjectMemberList *previous, UiAttributeList *attributes,
- UiObjectMember *member)
+ UiObjectMemberList(UiObjectMemberList *previous, UiObjectMember *member)
: member(member)
{
kind = K;
next = previous->next;
previous->next = this;
- member->attributes = attributes;
}
virtual void accept0(Visitor *visitor);
diff --git a/src/declarative/qml/parser/qmljsastfwd_p.h b/src/declarative/qml/parser/qmljsastfwd_p.h
index 18b3704..339bea4 100644
--- a/src/declarative/qml/parser/qmljsastfwd_p.h
+++ b/src/declarative/qml/parser/qmljsastfwd_p.h
@@ -176,8 +176,6 @@ class UiObjectMember;
class UiObjectMemberList;
class UiArrayMemberList;
class UiQualifiedId;
-class UiAttributeList;
-class UiAttribute;
} } // namespace AST
diff --git a/src/declarative/qml/parser/qmljsastvisitor_p.h b/src/declarative/qml/parser/qmljsastvisitor_p.h
index c2486d7..3677b1a 100644
--- a/src/declarative/qml/parser/qmljsastvisitor_p.h
+++ b/src/declarative/qml/parser/qmljsastvisitor_p.h
@@ -82,8 +82,6 @@ public:
virtual bool visit(UiObjectMemberList *) { return true; }
virtual bool visit(UiArrayMemberList *) { return true; }
virtual bool visit(UiQualifiedId *) { return true; }
- virtual bool visit(UiAttributeList *) { return true; }
- virtual bool visit(UiAttribute *) { return true; }
virtual void endVisit(UiProgram *) {}
virtual void endVisit(UiImportList *) {}
@@ -98,8 +96,6 @@ public:
virtual void endVisit(UiObjectMemberList *) {}
virtual void endVisit(UiArrayMemberList *) {}
virtual void endVisit(UiQualifiedId *) {}
- virtual void endVisit(UiAttributeList *) {}
- virtual void endVisit(UiAttribute *) {}
// QmlJS
virtual bool visit(ThisExpression *) { return true; }
diff --git a/src/declarative/qml/parser/qmljsgrammar.cpp b/src/declarative/qml/parser/qmljsgrammar.cpp
index 13a68c8..21dde3f 100644
--- a/src/declarative/qml/parser/qmljsgrammar.cpp
+++ b/src/declarative/qml/parser/qmljsgrammar.cpp
@@ -51,367 +51,366 @@ const char *const QmlJSGrammar::spell [] = {
"||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return",
")", ";", 0, "*", "*=", "string literal", "property", "signal", "switch", "this",
"throw", "~", "try", "typeof", "var", "void", "while", "with", "^", "^=",
- "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "@", "public", "import",
- "as", 0, 0, 0, 0, 0};
+ "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "public", "import", "as",
+ 0, 0, 0, 0, 0};
const int QmlJSGrammar::lhs [] = {
- 96, 96, 96, 97, 100, 100, 103, 103, 104, 104,
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 102, 101, 107, 107, 109, 109, 111, 111, 110, 110,
- 113, 113, 114, 114, 116, 116, 116, 117, 117, 108,
- 115, 115, 115, 115, 115, 115, 115, 122, 122, 122,
- 123, 123, 124, 124, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 106, 106, 105, 105,
- 105, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 106,
- 106, 129, 129, 129, 129, 128, 128, 131, 131, 133,
- 133, 133, 133, 133, 133, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 134, 134, 135, 135,
- 135, 135, 135, 138, 138, 139, 139, 139, 139, 137,
- 137, 140, 140, 141, 141, 142, 142, 142, 143, 143,
- 143, 143, 143, 143, 143, 143, 143, 143, 144, 144,
- 144, 144, 145, 145, 145, 146, 146, 146, 146, 147,
- 147, 147, 147, 147, 147, 147, 148, 148, 148, 148,
- 148, 148, 149, 149, 149, 149, 149, 150, 150, 150,
- 150, 150, 151, 151, 152, 152, 153, 153, 154, 154,
- 155, 155, 156, 156, 157, 157, 158, 158, 159, 159,
- 160, 160, 161, 161, 162, 162, 132, 132, 163, 163,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 99, 99, 165, 165, 166, 166, 167, 167,
- 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 118, 179, 179, 178, 178,
- 126, 126, 180, 180, 181, 181, 183, 183, 182, 184,
- 187, 185, 185, 188, 186, 186, 119, 120, 120, 121,
- 121, 168, 168, 168, 168, 168, 168, 168, 169, 169,
- 169, 169, 170, 170, 170, 170, 171, 171, 172, 174,
- 189, 189, 192, 192, 190, 190, 193, 191, 173, 173,
- 173, 175, 175, 176, 176, 176, 194, 195, 177, 177,
- 125, 136, 199, 199, 196, 196, 197, 197, 200, 201,
- 201, 202, 202, 198, 198, 130, 130, 203};
+ 95, 95, 95, 96, 99, 99, 102, 102, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+ 101, 100, 107, 107, 109, 109, 110, 110, 106, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 116, 116, 116, 117, 117, 118, 118, 119, 119,
+ 120, 120, 111, 111, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 105, 105,
+ 104, 104, 104, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 105, 105, 125, 125, 125, 125, 124, 124, 127,
+ 127, 129, 129, 129, 129, 129, 129, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 131, 131,
+ 132, 132, 132, 132, 132, 135, 135, 136, 136, 136,
+ 136, 134, 134, 137, 137, 138, 138, 139, 139, 139,
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 141, 141, 141, 141, 142, 142, 142, 143, 143, 143,
+ 143, 144, 144, 144, 144, 144, 144, 144, 145, 145,
+ 145, 145, 145, 145, 146, 146, 146, 146, 146, 147,
+ 147, 147, 147, 147, 148, 148, 149, 149, 150, 150,
+ 151, 151, 152, 152, 153, 153, 154, 154, 155, 155,
+ 156, 156, 157, 157, 158, 158, 159, 159, 128, 128,
+ 160, 160, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 98, 98, 162, 162, 163, 163,
+ 164, 164, 97, 97, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 97, 97, 112, 176, 176,
+ 175, 175, 122, 122, 177, 177, 178, 178, 180, 180,
+ 179, 181, 184, 182, 182, 185, 183, 183, 113, 114,
+ 114, 115, 115, 165, 165, 165, 165, 165, 165, 165,
+ 166, 166, 166, 166, 167, 167, 167, 167, 168, 168,
+ 169, 171, 186, 186, 189, 189, 187, 187, 190, 188,
+ 170, 170, 170, 172, 172, 173, 173, 173, 191, 192,
+ 174, 174, 121, 133, 196, 196, 193, 193, 194, 194,
+ 197, 198, 198, 199, 199, 195, 195, 126, 126, 200};
const int QmlJSGrammar:: rhs[] = {
2, 2, 2, 2, 1, 1, 1, 2, 3, 3,
5, 5, 3, 3, 4, 4, 6, 6, 5, 5,
- 0, 2, 1, 1, 1, 2, 1, 1, 2, 4,
- 1, 1, 2, 3, 1, 2, 4, 2, 3, 2,
- 1, 5, 4, 3, 3, 3, 3, 1, 1, 1,
- 0, 1, 2, 4, 5, 2, 4, 4, 5, 5,
- 6, 6, 7, 7, 1, 1, 1, 1, 1, 1,
+ 0, 1, 1, 2, 1, 3, 2, 3, 2, 1,
+ 5, 4, 5, 4, 4, 4, 4, 3, 3, 3,
+ 3, 1, 1, 1, 0, 1, 2, 4, 1, 3,
+ 1, 3, 2, 3, 6, 6, 3, 3, 4, 4,
+ 5, 5, 6, 6, 7, 7, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 3, 3, 4, 5, 3, 4, 3, 1,
- 3, 1, 2, 3, 4, 1, 2, 3, 5, 1,
+ 1, 1, 1, 2, 3, 3, 4, 5, 3, 4,
+ 3, 1, 3, 1, 2, 3, 4, 1, 2, 3,
+ 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 4, 3, 5, 1, 2, 4, 4, 4, 3, 0,
- 1, 1, 3, 1, 1, 1, 2, 2, 1, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 1, 3,
- 3, 3, 1, 3, 3, 1, 3, 3, 3, 1,
- 3, 3, 3, 3, 3, 3, 1, 3, 3, 3,
- 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
- 3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
+ 1, 1, 4, 3, 5, 1, 2, 4, 4, 4,
+ 3, 0, 1, 1, 3, 1, 1, 1, 2, 2,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 3, 3, 3, 1, 3, 3, 1, 3, 3,
+ 3, 1, 3, 3, 3, 3, 3, 3, 1, 3,
+ 3, 3, 3, 3, 1, 3, 3, 3, 3, 1,
+ 3, 3, 3, 3, 1, 3, 1, 3, 1, 3,
1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
- 1, 3, 1, 5, 1, 5, 1, 3, 1, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 3, 0, 1, 1, 3, 0, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 1, 2, 0, 1,
- 3, 3, 1, 1, 1, 3, 1, 3, 2, 2,
- 2, 0, 1, 2, 0, 1, 1, 2, 2, 7,
- 5, 7, 7, 5, 9, 10, 7, 8, 2, 2,
- 3, 3, 2, 2, 3, 3, 3, 3, 5, 5,
- 3, 5, 1, 2, 0, 1, 4, 3, 3, 3,
- 3, 3, 3, 3, 3, 4, 5, 2, 2, 2,
- 8, 8, 1, 3, 0, 1, 0, 1, 1, 1,
- 2, 1, 1, 0, 1, 0, 1, 2};
+ 1, 3, 1, 3, 1, 5, 1, 5, 1, 3,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 0, 1, 1, 3,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
+ 0, 1, 3, 3, 1, 1, 1, 3, 1, 3,
+ 2, 2, 2, 0, 1, 2, 0, 1, 1, 2,
+ 2, 7, 5, 7, 7, 5, 9, 10, 7, 8,
+ 2, 2, 3, 3, 2, 2, 3, 3, 3, 3,
+ 5, 5, 3, 5, 1, 2, 0, 1, 4, 3,
+ 3, 3, 3, 3, 3, 3, 3, 4, 5, 2,
+ 2, 2, 8, 8, 1, 3, 0, 1, 0, 1,
+ 1, 1, 2, 1, 1, 0, 1, 0, 1, 2};
const int QmlJSGrammar::action_default [] = {
- 0, 0, 0, 21, 0, 176, 243, 207, 215, 211,
- 155, 227, 203, 3, 140, 73, 156, 219, 223, 144,
- 173, 154, 159, 139, 193, 180, 0, 80, 81, 76,
- 344, 69, 346, 0, 0, 0, 0, 78, 0, 0,
- 74, 77, 0, 0, 70, 71, 79, 72, 0, 75,
- 0, 0, 169, 0, 0, 156, 175, 158, 157, 0,
- 0, 0, 171, 172, 170, 174, 0, 204, 0, 0,
- 0, 0, 194, 0, 0, 0, 0, 0, 0, 184,
- 0, 0, 0, 178, 179, 177, 182, 186, 185, 183,
- 181, 196, 195, 197, 0, 212, 0, 208, 0, 0,
- 150, 137, 149, 138, 106, 107, 108, 133, 109, 134,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 135, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 136, 0, 0, 148, 244, 151,
- 0, 152, 0, 153, 147, 0, 240, 233, 231, 238,
- 239, 237, 236, 242, 235, 234, 232, 241, 228, 0,
- 216, 0, 0, 220, 0, 0, 224, 0, 0, 150,
- 142, 0, 141, 0, 146, 160, 0, 345, 335, 336,
- 0, 333, 0, 334, 0, 337, 251, 258, 257, 265,
- 253, 0, 254, 338, 0, 343, 255, 256, 261, 259,
- 340, 339, 342, 262, 0, 273, 0, 0, 0, 0,
- 344, 69, 0, 346, 70, 245, 287, 71, 0, 0,
- 0, 274, 0, 0, 263, 264, 0, 252, 260, 288,
- 289, 332, 341, 0, 303, 304, 305, 306, 0, 299,
- 300, 301, 302, 329, 330, 0, 0, 0, 0, 0,
- 292, 293, 249, 247, 209, 217, 213, 229, 205, 250,
- 0, 156, 221, 225, 198, 187, 0, 0, 206, 0,
- 0, 0, 0, 199, 0, 0, 0, 0, 0, 191,
- 189, 192, 190, 188, 201, 200, 202, 0, 214, 0,
- 210, 0, 248, 156, 0, 230, 245, 246, 0, 245,
- 0, 0, 295, 0, 0, 0, 297, 0, 218, 0,
- 0, 222, 0, 0, 226, 285, 0, 277, 286, 280,
- 0, 284, 0, 245, 278, 0, 245, 0, 0, 296,
- 0, 0, 0, 298, 345, 335, 0, 0, 337, 0,
- 331, 0, 321, 0, 0, 0, 291, 0, 290, 0,
- 347, 0, 105, 267, 270, 0, 106, 273, 109, 134,
- 111, 112, 76, 116, 117, 69, 118, 121, 74, 77,
- 70, 245, 71, 79, 124, 72, 126, 75, 128, 129,
- 274, 131, 132, 136, 0, 98, 0, 0, 100, 104,
- 102, 88, 101, 103, 0, 99, 87, 268, 266, 144,
- 145, 150, 0, 143, 0, 320, 0, 307, 308, 0,
- 319, 0, 0, 0, 310, 315, 313, 316, 0, 0,
- 314, 315, 0, 311, 0, 312, 269, 318, 0, 269,
- 317, 0, 322, 323, 0, 269, 324, 325, 0, 0,
- 326, 0, 0, 0, 327, 328, 162, 161, 0, 0,
- 0, 294, 0, 0, 0, 309, 282, 275, 0, 283,
- 279, 0, 281, 271, 0, 272, 276, 92, 0, 0,
- 96, 82, 0, 84, 94, 0, 85, 95, 97, 86,
- 93, 83, 0, 89, 166, 164, 168, 165, 163, 167,
- 2, 5, 0, 7, 6, 21, 1, 90, 67, 68,
+ 0, 0, 0, 21, 0, 178, 245, 209, 217, 213,
+ 157, 229, 205, 3, 142, 75, 158, 221, 225, 146,
+ 175, 156, 161, 141, 195, 182, 0, 82, 83, 78,
+ 346, 71, 348, 0, 0, 0, 0, 80, 0, 0,
+ 76, 79, 0, 0, 72, 73, 81, 74, 0, 77,
+ 0, 0, 171, 0, 0, 158, 177, 160, 159, 0,
+ 0, 0, 173, 174, 172, 176, 0, 206, 0, 0,
+ 0, 0, 196, 0, 0, 0, 0, 0, 0, 186,
+ 0, 0, 0, 180, 181, 179, 184, 188, 187, 185,
+ 183, 198, 197, 199, 0, 214, 0, 210, 0, 0,
+ 152, 139, 151, 140, 108, 109, 110, 135, 111, 136,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 137, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 138, 0, 0, 150, 246, 153,
+ 0, 154, 0, 155, 149, 0, 242, 235, 233, 240,
+ 241, 239, 238, 244, 237, 236, 234, 243, 230, 0,
+ 218, 0, 0, 222, 0, 0, 226, 0, 0, 152,
+ 144, 0, 143, 0, 148, 162, 0, 347, 337, 338,
+ 0, 335, 0, 336, 0, 339, 253, 260, 259, 267,
+ 255, 0, 256, 340, 0, 345, 257, 258, 263, 261,
+ 342, 341, 344, 264, 0, 275, 0, 0, 0, 0,
+ 346, 71, 0, 348, 72, 247, 289, 73, 0, 0,
+ 0, 276, 0, 0, 265, 266, 0, 254, 262, 290,
+ 291, 334, 343, 0, 305, 306, 307, 308, 0, 301,
+ 302, 303, 304, 331, 332, 0, 0, 0, 0, 0,
+ 294, 295, 251, 249, 211, 219, 215, 231, 207, 252,
+ 0, 158, 223, 227, 200, 189, 0, 0, 208, 0,
+ 0, 0, 0, 201, 0, 0, 0, 0, 0, 193,
+ 191, 194, 192, 190, 203, 202, 204, 0, 216, 0,
+ 212, 0, 250, 158, 0, 232, 247, 248, 0, 247,
+ 0, 0, 297, 0, 0, 0, 299, 0, 220, 0,
+ 0, 224, 0, 0, 228, 287, 0, 279, 288, 282,
+ 0, 286, 0, 247, 280, 0, 247, 0, 0, 298,
+ 0, 0, 0, 300, 347, 337, 0, 0, 339, 0,
+ 333, 0, 323, 0, 0, 0, 293, 0, 292, 0,
+ 349, 0, 107, 269, 272, 0, 108, 275, 111, 136,
+ 113, 114, 78, 118, 119, 71, 120, 123, 76, 79,
+ 72, 247, 73, 81, 126, 74, 128, 77, 130, 131,
+ 276, 133, 134, 138, 0, 100, 0, 0, 102, 106,
+ 104, 90, 103, 105, 0, 101, 89, 270, 268, 146,
+ 147, 152, 0, 145, 0, 322, 0, 309, 310, 0,
+ 321, 0, 0, 0, 312, 317, 315, 318, 0, 0,
+ 316, 317, 0, 313, 0, 314, 271, 320, 0, 271,
+ 319, 0, 324, 325, 0, 271, 326, 327, 0, 0,
+ 328, 0, 0, 0, 329, 330, 164, 163, 0, 0,
+ 0, 296, 0, 0, 0, 311, 284, 277, 0, 285,
+ 281, 0, 283, 273, 0, 274, 278, 94, 0, 0,
+ 98, 84, 0, 86, 96, 0, 87, 97, 99, 88,
+ 95, 85, 0, 91, 168, 166, 170, 167, 165, 169,
+ 2, 5, 0, 7, 6, 0, 1, 92, 69, 70,
0, 0, 0, 9, 10, 0, 11, 12, 0, 13,
- 0, 0, 14, 0, 19, 20, 91, 0, 15, 16,
- 0, 17, 18, 8, 23, 0, 0, 25, 24, 4,
- 27, 28, 29, 0, 32, 31, 30, 22, 0, 21,
- 40, 38, 0, 21, 65, 0, 0, 70, 71, 41,
- 33, 0, 66, 0, 50, 49, 48, 0, 0, 59,
- 0, 60, 0, 63, 64, 0, 0, 0, 57, 0,
- 58, 0, 61, 62, 56, 51, 52, 0, 0, 0,
- 0, 54, 55, 53, 0, 44, 45, 0, 46, 47,
- 269, 0, 43, 106, 273, 109, 134, 111, 112, 76,
- 116, 117, 69, 118, 121, 74, 77, 70, 245, 71,
- 79, 124, 72, 126, 75, 128, 129, 274, 131, 132,
- 136, 73, 0, 0, 35, 21, 42, 0, 37, 26,
- 36, 39, 0, 34, 348};
+ 0, 0, 14, 0, 19, 20, 93, 0, 15, 16,
+ 0, 17, 18, 8, 22, 0, 4, 0, 29, 67,
+ 0, 0, 72, 27, 73, 30, 23, 0, 0, 68,
+ 0, 44, 43, 42, 0, 0, 61, 0, 62, 0,
+ 65, 66, 0, 0, 0, 59, 0, 60, 0, 63,
+ 64, 0, 57, 45, 58, 46, 0, 0, 0, 0,
+ 48, 0, 55, 56, 47, 28, 24, 0, 0, 0,
+ 38, 39, 0, 40, 41, 271, 0, 32, 108, 275,
+ 111, 136, 113, 114, 78, 118, 119, 71, 120, 123,
+ 76, 79, 72, 247, 73, 81, 126, 74, 128, 77,
+ 130, 131, 276, 133, 134, 138, 75, 0, 25, 0,
+ 31, 26, 49, 53, 51, 0, 0, 50, 0, 54,
+ 52, 0, 34, 35, 0, 36, 37, 33, 350};
const int QmlJSGrammar::goto_default [] = {
- 4, 496, 353, 191, 495, 529, 524, 494, 493, 15,
- 538, 526, 549, 528, 527, 532, 352, 536, 543, 550,
- 622, 540, 186, 190, 192, 196, 566, 577, 576, 195,
- 227, 23, 469, 468, 351, 350, 6, 349, 102, 19,
- 14, 140, 21, 10, 139, 16, 22, 52, 20, 5,
- 25, 24, 264, 12, 258, 7, 254, 9, 256, 8,
- 255, 17, 262, 18, 263, 11, 257, 253, 294, 406,
- 259, 260, 197, 188, 187, 199, 228, 198, 203, 224,
- 225, 189, 355, 354, 226, 458, 457, 316, 317, 460,
- 319, 459, 318, 414, 418, 421, 417, 416, 436, 437,
- 180, 194, 176, 179, 193, 201, 200, 0};
+ 4, 496, 353, 191, 495, 526, 491, 494, 493, 15,
+ 525, 535, 537, 536, 617, 528, 579, 186, 190, 192,
+ 196, 553, 566, 565, 624, 625, 195, 227, 23, 469,
+ 468, 351, 350, 6, 349, 352, 102, 19, 14, 140,
+ 21, 10, 139, 16, 22, 52, 20, 5, 25, 24,
+ 264, 12, 258, 7, 254, 9, 256, 8, 255, 17,
+ 262, 18, 263, 11, 257, 253, 294, 406, 259, 260,
+ 197, 188, 187, 199, 228, 198, 203, 224, 225, 189,
+ 355, 354, 226, 458, 457, 316, 317, 460, 319, 459,
+ 318, 414, 418, 421, 417, 416, 436, 437, 180, 194,
+ 176, 179, 193, 201, 200, 0};
const int QmlJSGrammar::action_index [] = {
- 142, 814, 1973, 78, 97, 86, -96, 90, 73, 71,
- 257, -96, 315, 92, -96, -96, 539, 93, 81, 277,
- 242, -96, -96, -96, 453, 252, 814, -96, -96, -96,
- 214, -96, 1789, 1076, 814, 814, 814, -96, 729, 814,
- -96, -96, 814, 814, -96, -96, -96, -96, 814, -96,
- 814, 814, -96, 814, 814, 109, 207, -96, -96, 814,
- 814, 814, -96, -96, -96, 205, 814, 313, 814, 814,
- 814, 814, 434, 814, 814, 814, 814, 814, 814, 184,
- 814, 814, 814, 146, 149, 150, 189, 204, 328, 328,
- 328, 552, 473, 463, 814, 40, 814, 87, 1605, 814,
- 814, -96, -96, -96, -96, -96, -96, -96, -96, -96,
- -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
- -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
- -96, -96, -96, -96, -96, 140, 814, -96, -96, 65,
- 33, -96, 814, -96, -96, 814, -96, -96, -96, -96,
- -96, -96, -96, -96, -96, -96, -96, -96, -96, 814,
- 29, 814, 814, 63, 59, 814, -96, 1605, 814, 814,
- -96, 96, -96, 15, -96, -96, 31, -96, 208, 60,
- 20, -96, 249, -96, 49, 2065, -96, -96, -96, -96,
- -96, 248, -96, -96, 44, -96, -96, -96, -96, -96,
- -96, 2065, -96, -96, 377, -96, 387, 83, 1973, 58,
- 234, 72, 66, 2249, 67, 814, -96, 69, 54, 814,
- 53, -96, 51, 45, -96, -96, 283, -96, -96, -96,
- -96, -96, -96, 104, -96, -96, -96, -96, 102, -96,
- -96, -96, -96, -96, -96, 48, 47, 814, 117, 120,
- -96, -96, 988, -96, 77, 57, 64, -96, 406, 76,
- 61, 582, 176, 100, 479, 328, 269, 814, 311, 814,
- 814, 814, 814, 397, 814, 814, 814, 814, 814, 328,
- 328, 328, 328, 328, 345, 360, 341, 814, 39, 814,
- 70, 814, -96, 645, 814, -96, 814, 62, 24, 814,
- 12, 1973, -96, 814, 131, 1973, -96, 814, 68, 814,
- 814, 176, 89, 814, -96, 75, 95, 38, -96, -96,
- 814, -96, 273, 814, -96, 79, 814, 74, 1973, -96,
- 814, 111, 1973, -96, -16, 279, -41, -12, 2065, -37,
- -96, 1973, -96, 814, 119, 1973, 6, 1973, -96, 22,
- 18, -32, -96, -96, 1973, -52, 352, -2, 394, 98,
- 814, 1973, 82, -34, 308, -7, -30, 729, 2, 4,
- -96, 903, -96, 0, -5, 27, 814, 42, 21, 814,
- 46, 814, 16, 14, 814, -96, 1881, 52, -96, -96,
- -96, -96, -96, -96, 814, -96, -96, -96, -96, 307,
- -96, 814, -22, -96, 1973, -96, 107, -96, -96, 1973,
- -96, 814, 125, 13, -96, 37, -96, 35, 88, 814,
- -96, 34, 10, -96, -4, -96, 1973, -96, 103, 1973,
- -96, 263, -96, -96, 108, 1973, -8, -96, 11, 25,
- -96, 260, -36, -6, -96, -96, -96, -96, 814, 115,
- 1973, -96, 814, 112, 1973, -96, 43, -96, 190, -96,
- -96, 814, -96, -96, 194, -96, -96, -96, 99, 1164,
- -96, -96, 1337, -96, -96, 1425, -96, -96, -96, -96,
- -96, -96, 101, -96, -96, -96, -96, -96, -96, -96,
- -96, -96, 408, -96, -54, -57, -96, -96, -96, -96,
- 177, 332, 216, -96, -96, 132, -96, -96, 237, -96,
- 221, 163, -96, 122, -96, -96, -96, 240, -96, -96,
- 126, -96, -96, -96, -96, 1605, 343, -96, -86, -96,
- -96, -96, -1, 1697, -96, -96, -96, -96, 159, 121,
- -96, -96, 470, 118, -96, -38, 174, 170, 3, -96,
- -96, 203, -96, 173, -96, -96, -96, 32, 151, -96,
- 814, -96, 145, -96, -96, 5, 7, 223, -96, 814,
- -96, 187, -96, -96, 19, 141, 17, -45, 230, 191,
- 228, -96, -96, -96, 1249, -96, -96, 309, -96, -96,
- 2157, 1513, -96, 338, 1, 369, 85, 814, 1973, 82,
- 9, 285, 36, 8, 729, 30, 26, -96, 903, -96,
- 50, 28, 56, 814, 55, 23, 814, 41, 814, -26,
- -23, -29, 124, 454, -96, -73, -96, 374, -96, -96,
- -96, -96, 460, -96, -96,
+ 157, 803, 2033, -22, 55, 68, -95, 96, 32, -10,
+ 282, -95, 348, 42, -95, -95, 636, 92, 75, 201,
+ 218, -95, -95, -95, 544, 253, 803, -95, -95, -95,
+ 179, -95, 1760, 1230, 803, 803, 803, -95, 719, 803,
+ -95, -95, 803, 803, -95, -95, -95, -95, 803, -95,
+ 803, 803, -95, 803, 803, 104, 202, -95, -95, 803,
+ 803, 803, -95, -95, -95, 198, 803, 340, 803, 803,
+ 803, 803, 544, 803, 803, 803, 803, 803, 803, 206,
+ 803, 803, 803, 64, 72, 69, 253, 167, 182, 158,
+ 150, 454, 544, 544, 803, -70, 803, 96, 1669, 803,
+ 803, -95, -95, -95, -95, -95, -95, -95, -95, -95,
+ -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
+ -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
+ -95, -95, -95, -95, -95, 137, 803, -95, -95, 82,
+ 61, -95, 803, -95, -95, 803, -95, -95, -95, -95,
+ -95, -95, -95, -95, -95, -95, -95, -95, -95, 803,
+ 6, 803, 803, 43, 39, 803, -95, 1669, 803, 803,
+ -95, 143, -95, 9, -95, -95, 29, -95, 264, 59,
+ 10, -95, 259, -95, 8, 1942, -95, -95, -95, -95,
+ -95, 274, -95, -95, 31, -95, -95, -95, -95, -95,
+ -95, 1942, -95, -95, 421, -95, 414, 105, 2033, 40,
+ 234, 71, 41, 2215, 66, 803, -95, 65, 28, 803,
+ 20, -95, 22, 11, -95, -95, 290, -95, -95, -95,
+ -95, -95, -95, 119, -95, -95, -95, -95, 112, -95,
+ -95, -95, -95, -95, -95, -17, 27, 803, 135, 117,
+ -95, -95, 975, -95, 48, -6, 62, -95, 400, 85,
+ 63, 569, 93, 102, 472, 235, 205, 803, 400, 803,
+ 803, 803, 803, 398, 803, 803, 803, 803, 803, 253,
+ 295, 323, 241, 323, 472, 472, 355, 803, 5, 803,
+ 81, 803, -95, 636, 803, -95, 803, 76, 53, 803,
+ 57, 2033, -95, 803, 146, 2033, -95, 803, 54, 803,
+ 803, 90, 84, 803, -95, 12, 125, -24, -95, -95,
+ 803, -95, 203, 803, -95, -49, 803, -47, 2033, -95,
+ 803, 130, 2033, -95, -34, 285, -28, 0, 1942, -21,
+ -95, 2033, -95, 803, 129, 2033, 1, 2033, -95, 17,
+ 19, -29, -95, -95, 2033, -33, 405, 21, 375, 107,
+ 803, 2033, 23, -20, 305, -1, -31, 719, 3, 4,
+ -95, 891, -95, 7, -35, -3, 803, 33, 2, 803,
+ 13, 803, -18, -11, 803, -95, 1851, 16, -95, -95,
+ -95, -95, -95, -95, 803, -95, -95, -95, -95, 281,
+ -95, 803, -45, -95, 2033, -95, 70, -95, -95, 2033,
+ -95, 803, 122, -12, -95, 14, -95, 34, 106, 803,
+ -95, -2, 30, -95, -19, -95, 2033, -95, 103, 2033,
+ -95, 250, -95, -95, 116, 2033, 18, -95, -5, 2,
+ -95, 280, -60, 2, -95, -95, -95, -95, 803, 110,
+ 2033, -95, 803, 99, 2033, -95, -8, -95, 156, -95,
+ -95, 803, -95, -95, 136, -95, -95, -95, 97, 1317,
+ -95, -95, 1404, -95, -95, 1491, -95, -95, -95, -95,
+ -95, -95, 98, -95, -95, -95, -95, -95, -95, -95,
+ -95, -95, 433, -95, 51, 344, -95, -95, -95, -95,
+ 139, 366, 155, -95, -95, 73, -95, -95, 186, -95,
+ 190, 162, -95, 101, -95, -95, -95, 131, -95, -95,
+ 88, -95, -95, -95, -95, 111, -95, 495, -95, -95,
+ 47, 298, 221, -95, 60, -95, -95, 518, 306, -95,
+ 255, -95, -95, -95, 58, 292, -95, 803, -95, 246,
+ -95, -95, 52, 56, 164, -95, 803, -95, 228, -95,
+ -95, 151, -95, 209, -95, 95, 67, 175, 200, 210,
+ -95, 86, -95, -95, -95, -95, -95, 1143, 303, 91,
+ -95, -95, 347, -95, -95, 2124, 1578, -95, 397, 89,
+ 386, 80, 803, 2033, 94, 26, 308, 74, 25, 719,
+ 44, 49, -95, 891, -95, 45, 24, 37, 803, 36,
+ 15, 803, 50, 803, 38, 35, 46, 120, -95, 372,
+ -95, -95, -14, -95, -95, 183, 238, -95, 257, -95,
+ -95, 1059, -95, -95, 335, -95, -95, -95, -95,
- -108, 7, 100, -6, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -40, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, 103, -108, -108, -108,
- 32, -108, -108, 27, 37, 80, 79, -108, 89, 159,
- -108, -108, 167, 162, -108, -108, -108, -108, 156, -108,
- 163, 155, -108, 178, 173, -108, -108, -108, -108, 170,
- 177, 180, -108, -108, -108, -108, 116, -108, 119, 112,
- 137, 111, -108, 110, 108, 121, 145, 149, 148, -108,
- 135, 132, 123, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, 130, -108, 128, -108, 143, 43,
- 40, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, 53, -108, -108, -108,
- -108, -108, 54, -108, -108, 55, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, 106,
- -108, 131, -19, -108, -108, -29, -108, 231, 13, 175,
- -108, -108, -108, -108, -108, -108, -108, -108, 30, -108,
- -108, -108, 3, -108, -108, 18, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, 91, -108, -108, 44, -108, 49, -108, 50, -108,
- 57, -108, -108, -108, -108, 59, -108, -108, -108, 56,
- 39, -108, -108, -108, -108, -108, 77, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, 24, -108, -108,
- -108, -108, 85, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, 17, 206, -108, 240,
- 232, 205, 209, -108, 96, 84, 93, 95, 87, -108,
- -108, -108, -108, -108, -108, -108, -108, 236, -108, 217,
- -108, 185, -108, -108, 233, -108, 136, -108, -108, 176,
- -108, 0, -108, 8, -108, 41, -108, 184, -108, 187,
- 203, -108, -108, 196, -108, -108, -108, -108, -108, -108,
- 230, -108, 101, 98, -108, -108, 151, -108, 46, -108,
- 52, -108, 65, -108, -108, 113, -108, -108, 90, -108,
- -108, 62, -108, 66, -108, 63, -108, 42, -108, -108,
- -108, -108, -108, -108, 81, -108, 68, -108, 70, -108,
- 74, 83, -108, -108, 45, -108, -108, 78, -108, -108,
- -108, 47, -108, -108, -108, -108, 10, -108, -21, 163,
- -108, 61, -108, -108, -2, -108, -16, -108, -108, -108,
- -108, -108, -108, -108, 21, -108, -108, -108, -108, -108,
- -108, 82, -108, -108, 31, -108, -108, -108, -108, 4,
- -108, 5, -108, -108, -108, -108, -108, -83, -108, 72,
- -108, -13, -108, -108, -108, -108, -26, -108, -108, -22,
- -108, -108, -108, -108, -108, -108, -11, -108, -108, -3,
- -108, 73, -108, 58, -108, -108, -108, -108, 71, -108,
- 69, -108, 67, -108, 76, -108, -108, -108, -108, -108,
- -108, 36, -108, -108, 88, -108, -108, -108, -108, 51,
- -108, -108, 75, -108, -108, 48, -108, -108, -108, -108,
- -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
- -108, -108, 104, -108, 60, -108, -108, -108, -108, -108,
- -108, -108, 64, -108, -108, -108, -108, -108, 33, -108,
- 6, -108, -108, -108, -108, -108, -108, 9, -108, -108,
- -108, -108, -108, -108, -108, 169, 262, -108, 11, -108,
- -108, -108, -108, 227, -108, -108, -108, -108, -108, 12,
- -108, -108, 278, -8, -108, -108, -5, -108, -108, -108,
- -108, -108, -108, -17, -108, -108, -108, -108, -108, -108,
- 2, -108, -108, -108, -108, -108, -108, -108, -108, 35,
- -108, -108, -108, -108, -108, 23, -108, -108, 26, 25,
- 38, -108, -108, -108, 288, -108, -108, 16, -108, -108,
- -108, 361, -108, 20, -108, 15, -108, 97, 28, -108,
- -108, 22, -108, -108, 94, -108, -108, -108, 29, -108,
- -108, -108, -108, 19, -108, 14, 163, -108, 102, -108,
- -108, -108, -108, 219, -108, 34, -108, 86, -108, -108,
- -108, -108, 286, -108, -108};
+ -106, 3, 1, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -54, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, 72, -106, -106, -106,
+ 4, -106, -106, -16, 18, 100, 170, -106, 174, 167,
+ -106, -106, 164, 182, -106, -106, -106, -106, 127, -106,
+ 126, 117, -106, 113, 131, -106, -106, -106, -106, 146,
+ 135, 143, -106, -106, -106, -106, 139, -106, 159, 173,
+ 109, 83, -106, 136, 149, 150, 156, 133, 120, -106,
+ 158, 176, 177, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, 91, -106, 101, -106, 94, -2,
+ -29, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, 33, -106, -106, -106,
+ -106, -106, 14, -106, -106, 19, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, 85,
+ -106, 63, 49, -106, -106, 53, -106, 311, 60, 118,
+ -106, -106, -106, -106, -106, -106, -106, -106, 51, -106,
+ -106, -106, -4, -106, -106, 59, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+ -106, 122, -106, -106, 30, -106, 44, -106, 41, -106,
+ 27, -106, -106, -106, -106, 84, -106, -106, -106, 71,
+ 58, -106, -106, -106, -106, -106, 64, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, 13, -106, -106,
+ -106, -106, 65, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -1, 197, -106, 188,
+ 187, 221, 229, -106, 90, 87, 93, 105, 107, -106,
+ -106, -106, -106, -106, -106, -106, -106, 230, -106, 207,
+ -106, 219, -106, -106, 205, -106, 180, -106, -106, 106,
+ -106, 28, -106, 31, -106, 26, -106, 185, -106, 198,
+ 186, -106, -106, 217, -106, -106, -106, -106, -106, -106,
+ 220, -106, 81, 97, -106, -106, 172, -106, 76, -106,
+ 78, -106, 69, -106, -106, 89, -106, -106, 86, -106,
+ -106, 75, -106, 80, -106, 70, -106, 82, -106, -106,
+ -106, -106, -106, -106, 42, -106, 39, -106, 40, -106,
+ 214, 48, -106, -106, 37, -106, -106, 163, -106, -106,
+ -106, 52, -106, -106, -106, -106, 61, -106, 50, 151,
+ -106, 67, -106, -106, 43, -106, 45, -106, -106, -106,
+ -106, -106, -106, -106, 47, -106, -106, -106, -106, -106,
+ -106, 98, -106, -106, 57, -106, -106, -106, -106, 54,
+ -106, 55, -106, -106, -106, -106, -106, -38, -106, 66,
+ -106, -24, -106, -106, -106, -106, -15, -106, -106, -18,
+ -106, -106, -106, -106, -106, -106, -46, -106, -106, 24,
+ -106, 36, -106, 25, -106, -106, -106, -106, 35, -106,
+ 68, -106, 34, -106, 38, -106, -106, -106, -106, -106,
+ -106, 21, -106, -106, 111, -106, -106, -106, -106, 62,
+ -106, -106, 132, -106, -106, 56, -106, -106, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
+ -106, -106, 92, -106, 77, 96, -106, -106, -106, -106,
+ -106, -106, -9, -106, -106, -106, -106, -106, 0, -106,
+ -7, -106, -106, -106, -106, -106, -106, 22, -106, -106,
+ -106, -106, -106, -106, -106, -106, -106, 265, -106, -106,
+ -106, 16, -106, -106, -106, -106, -106, 280, -106, -106,
+ -11, -106, -106, -106, -106, -106, -106, 23, -106, -106,
+ -106, -106, -106, -106, -106, -106, 29, -106, -106, -106,
+ -106, -106, -106, 12, -106, -106, -106, 11, 8, 5,
+ -106, -106, -106, -106, -106, -106, -106, 277, 2, -106,
+ -106, -106, 7, -106, -106, -106, 233, -106, 9, -106,
+ 15, -106, 73, 17, -106, -106, 6, -106, -106, 74,
+ -106, -106, -106, 32, -106, -106, -106, -106, 20, -106,
+ 10, 151, -106, 104, -106, -106, -106, -106, -106, 112,
+ -106, -106, -106, -106, -106, -106, 88, -106, 95, -106,
+ -106, 284, -106, -106, -8, -106, -106, -106, -106};
const int QmlJSGrammar::action_info [] = {
- -100, 525, 252, 398, -90, -133, 343, -103, -133, -122,
- 448, -104, 439, 452, 525, 582, 533, 426, 340, 337,
- 335, 338, 347, 396, 443, 579, 386, 435, 553, 384,
- 525, 411, 574, -104, -125, 492, 567, -122, 403, 419,
- 419, 335, 419, -100, 343, 252, 415, 441, -130, -127,
- 452, 425, 448, -130, 435, 575, 435, -103, 435, 394,
- 461, 558, -127, -125, 411, 159, 165, 178, 182, 330,
- 136, 267, 301, 142, 404, 174, 409, 94, 267, 341,
- 184, 452, 185, 247, 291, 299, 435, 448, 66, -114,
- 411, 66, 320, 144, 252, 159, 313, 634, 422, 231,
- 136, 0, 343, 322, 136, 287, 0, 472, 0, 136,
- 429, 136, 0, 0, 438, 0, 287, 289, 96, 136,
- 136, 94, 296, 136, 246, 136, 53, 136, 439, 0,
- 0, 161, 625, 136, 328, 162, 0, 54, 0, 136,
- 326, 0, 289, 423, 244, 243, 244, 243, 136, 96,
- 309, 57, 172, 136, 310, 473, 323, 0, 560, 244,
- 243, 483, 58, 242, 241, 237, 236, 492, 408, 407,
- 554, 332, 454, 631, 510, 450, 541, 249, 307, 345,
- 626, 251, 250, 515, 514, 413, 53, 522, 521, 53,
- 53, 305, 539, 507, 506, 136, 137, 54, 464, 554,
- 54, 54, 554, 31, 0, 525, 564, 563, 525, 80,
- 584, 81, 561, 559, 80, 556, 81, 59, 510, 59,
- 554, 0, 82, 31, 519, 518, 555, 82, 0, 80,
- 569, 81, 0, 3, 2, 1, 539, 31, 504, 503,
- 44, 45, 82, 31, 556, 31, 0, 556, 573, 572,
- 31, 465, 463, 517, 59, 555, 136, 31, 555, 31,
- 44, 45, 60, 31, 60, 556, 31, 502, 61, 31,
- 61, 136, 98, 0, 44, 45, 555, 80, 31, 81,
- 44, 45, 44, 45, 570, 568, 0, 44, 45, 31,
- 82, 99, 167, 100, 44, 45, 44, 45, 31, 60,
- 44, 45, 31, 44, 45, 61, 44, 45, 31, 230,
- 229, 168, 31, 169, 31, 44, 45, 136, 0, 0,
- 0, -344, 167, 0, 433, 432, 44, 45, 0, 269,
- 270, 68, 69, 68, 69, 44, 45, 31, 0, 44,
- 45, 168, 539, 401, -344, 44, 45, 510, 0, 44,
- 45, 44, 45, 80, 0, 81, 271, 272, 70, 71,
- 70, 71, 0, 0, 274, 275, 82, 31, 274, 275,
- 230, 229, 31, 276, 44, 45, 277, 276, 278, 511,
- 277, 31, 278, 274, 275, 0, 0, 0, 0, 0,
- 0, 0, 276, 512, 509, 277, 0, 278, 31, 235,
- 234, 0, 499, 31, 44, 45, 31, 0, 0, 44,
- 45, 0, 0, 235, 234, 0, 31, 0, 44, 45,
- 274, 275, 508, 31, 269, 270, 0, 0, 498, 276,
- 240, 239, 277, 499, 278, 44, 45, 31, 235, 234,
- 44, 45, 0, 44, 45, 0, 0, 0, 240, 239,
- 0, 271, 272, 44, 45, 240, 239, 73, 74, 498,
- 44, 45, 0, 0, 0, 75, 76, 499, 0, 77,
- 545, 78, 0, 500, 44, 45, 73, 74, 0, 0,
- 545, 0, 546, 31, 75, 76, 73, 74, 77, 31,
- 78, 0, 546, 498, 75, 76, 73, 74, 77, 31,
- 78, 0, 274, 275, 75, 76, 0, 0, 77, 0,
- 78, 276, 0, 499, 277, 0, 278, 0, 0, 499,
- 44, 45, 0, 0, 0, 0, 547, 548, 0, 499,
- 0, 0, 0, 0, 221, 0, 547, 548, 0, 498,
- 0, 525, 146, 205, 221, 498, 0, 0, 0, 0,
- 0, 0, 147, 205, 0, 498, 148, 0, 0, 0,
- 0, 0, 0, 0, 0, 149, 0, 150, 0, 0,
- 0, 0, 0, 0, 0, 73, 74, 0, 151, 0,
- 152, 57, 0, 75, 76, 146, 0, 77, 153, 78,
- 0, 154, 58, 0, 0, 147, 0, 155, 0, 148,
- 0, 0, 0, 156, 0, 0, 0, 0, 149, 0,
- 150, 0, 0, 303, 0, 0, 0, 0, 157, 0,
- 0, 151, 0, 152, 57, 0, 0, 0, 0, 0,
- 0, 153, 0, 0, 154, 58, 0, 0, 0, 0,
- 155, 0, 0, 0, 0, 0, 156, 0, 146, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 147, 0,
- 0, 157, 148, 0, 0, 0, 0, 0, 0, 0,
- 0, 149, 0, 150, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 151, 0, 152, 57, 0, 0,
- 0, 0, 0, 0, 153, 0, 0, 154, 58, 0,
- 0, 0, 0, 155, 0, 0, 0, 0, 0, 156,
+ 443, 411, 335, 419, -127, 343, -102, 330, 96, 461,
+ -124, -106, 326, 328, -105, 403, 252, 347, 448, 419,
+ -132, 415, 398, 394, 384, 452, 396, 386, -135, 320,
+ -116, 441, 337, 338, 340, 435, 425, 426, 439, 419,
+ -129, 185, 287, -129, -127, 159, 165, 452, 435, 267,
+ 136, -124, -105, 435, 94, 638, -106, -132, 448, 246,
+ 411, 343, 252, 247, 411, 178, 492, 182, 96, 174,
+ 184, 452, 409, 404, 448, 626, 252, 343, 341, -92,
+ 94, -102, 267, 289, 136, 554, 231, 545, 335, 561,
+ 142, 313, 307, 291, 159, 307, -135, 66, 631, 0,
+ 0, -116, 287, 568, 53, 472, 136, 136, 53, 53,
+ 429, 136, 53, 540, 299, 54, 422, 301, 136, 54,
+ 54, 144, 438, 54, 296, 161, 510, 571, 619, 162,
+ 136, 408, 407, 322, 507, 506, 439, 136, 136, 492,
+ 289, 244, 243, 136, 527, 136, 57, 573, 572, 522,
+ 521, 136, 309, 473, 136, 0, 310, 58, 483, 454,
+ 31, 423, 515, 514, 464, 31, 244, 243, 244, 243,
+ 450, 556, 0, 242, 241, 80, 620, 81, 251, 250,
+ 237, 236, 413, 80, 31, 81, 323, 563, 82, 345,
+ 332, 628, 80, 137, 81, 249, 82, 44, 45, 172,
+ 504, 503, 44, 45, 31, 82, 305, 80, 31, 81,
+ 59, 0, 564, 562, 59, 31, 167, 465, 463, 31,
+ 82, 44, 45, 519, 518, 557, 555, 0, 502, 541,
+ 59, 80, 31, 81, 31, 168, 136, 169, 541, 31,
+ 0, 44, 45, 629, 82, 44, 45, 3, 2, 1,
+ 541, 517, 44, 45, 136, 60, 44, 45, 136, 60,
+ 80, 61, 81, 31, 0, 61, 80, 31, 81, 44,
+ 45, 44, 45, 82, 543, 60, 44, 45, 80, 82,
+ 81, 61, 136, 543, 541, 542, 31, 0, 31, 560,
+ 559, 82, 0, 31, 542, 543, 167, 98, 0, 547,
+ 44, 45, 0, 0, 44, 45, 542, 551, 550, 31,
+ 0, 433, 432, 577, 31, 168, 99, 401, 100, 31,
+ 80, 510, 81, 44, 45, 44, 45, 31, 0, 543,
+ 44, 45, 31, 82, 31, 230, 229, 31, 0, 527,
+ 542, -346, 578, 136, -346, 0, 44, 45, 80, 0,
+ 81, 44, 45, 548, 546, 136, 44, 45, 68, 69,
+ 0, 82, 0, 623, 44, 45, 68, 69, 527, 44,
+ 45, 44, 45, 31, 44, 45, 0, 0, 274, 275,
+ 527, 510, 0, 0, 0, 70, 71, 276, 0, 0,
+ 277, 0, 278, 70, 71, 0, 230, 229, 0, 0,
+ 0, 31, 0, 499, 31, 0, 0, 0, 230, 229,
+ 44, 45, 0, 511, 0, 31, 0, 0, 269, 270,
+ 0, 274, 275, 0, 0, 0, 31, 512, 509, 498,
+ 276, 499, 0, 277, 31, 278, 240, 239, 44, 45,
+ 0, 44, 45, 31, 0, 271, 272, 240, 239, 0,
+ 31, 0, 44, 45, 0, 508, 0, 498, 235, 234,
+ 0, 0, 31, 44, 45, 0, 235, 234, 0, 0,
+ 0, 44, 45, 0, 0, 240, 239, 73, 74, 0,
+ 44, 45, 235, 234, 0, 75, 76, 44, 45, 77,
+ 0, 78, 499, 0, 0, 274, 275, 0, 500, 44,
+ 45, 0, 0, 0, 276, 530, 0, 277, 0, 278,
+ 0, 0, 0, 0, 0, 0, 0, 531, 498, 0,
+ 0, 0, 0, 0, 31, 0, 0, 0, 530, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
+ 531, 0, 0, 0, 0, 0, 0, 31, 0, 0,
+ 533, 0, 0, 0, 499, 0, 0, 0, 0, 0,
+ 0, 532, 534, 0, 0, 0, 0, 73, 74, 221,
+ 0, 0, 146, 575, 0, 75, 76, 499, 205, 77,
+ 498, 78, 147, 0, 532, 534, 148, 0, 0, 0,
+ 0, 0, 221, 0, 0, 149, 0, 150, 0, 0,
+ 303, 205, 0, 498, 0, 0, 0, 0, 151, 0,
+ 152, 57, 0, 0, 0, 0, 0, 0, 153, 0,
+ 0, 154, 58, 0, 0, 0, 0, 155, 0, 0,
+ 0, 0, 0, 156, 0, 0, 0, 0, 0, 146,
+ 0, 0, 0, 0, 0, 0, 0, 0, 157, 147,
+ 0, 0, 0, 148, 0, 0, 0, 0, 0, 0,
+ 0, 0, 149, 0, 150, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 151, 0, 152, 57, 0,
+ 0, 0, 0, 0, 0, 153, 0, 0, 154, 58,
+ 0, 0, 0, 0, 155, 0, 0, 0, 0, 0,
+ 156, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 157, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
0, 30, 0, 0, 0, 0, 0, 0, 31, 0,
@@ -421,16 +420,7 @@ const int QmlJSGrammar::action_info [] = {
0, 0, 0, 0, 46, 44, 45, 0, 47, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
49, 29, 0, 0, 0, 37, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 26, 27, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 0, 31, 0, 0, 0, 32, 33, 0,
- 34, 0, 0, 0, 35, 0, 36, 38, 39, 0,
- 0, 41, 0, 0, 0, 42, 0, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
- 44, 45, 0, 47, 0, 48, 0, 50, 0, 51,
- 0, 0, 0, 0, 40, 49, 29, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -123, 0, 0, 0, 26, 27, 28, 0, 0, 0,
+ 0, 0, 0, 0, 26, 27, 28, 0, 0, 0,
0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
0, 0, 31, 0, 0, 0, 32, 33, 0, 34,
0, 0, 0, 35, 0, 36, 38, 39, 0, 0,
@@ -438,95 +428,102 @@ const int QmlJSGrammar::action_info [] = {
0, 0, 0, 0, 0, 0, 0, 0, 46, 44,
45, 0, 47, 0, 48, 0, 50, 0, 51, 0,
0, 0, 0, 40, 49, 29, 0, 0, 0, 37,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
- 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 31, 0, 0,
- 0, 32, 33, 0, 34, 0, 0, 0, 35, 0,
- 36, 38, 39, 0, 0, 41, 0, 0, 0, 42,
- 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 46, 44, 45, 0, 47, 0, 48,
- 0, 50, 266, 51, 0, 0, 0, 0, 40, 49,
- 29, 0, 0, 0, 37, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 470, 0, 0, 26, 27, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
- 0, 0, 0, 0, 0, 31, 0, 0, 0, 32,
- 33, 0, 34, 0, 0, 0, 35, 0, 36, 38,
- 39, 0, 0, 41, 0, 0, 0, 42, 0, 43,
- 0, 0, 471, 0, 0, 0, 0, 0, 0, 0,
- 0, 46, 44, 45, 0, 47, 0, 48, 0, 50,
- 0, 51, 0, 0, 0, 0, 40, 49, 29, 0,
- 0, 0, 37, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 478, 0, 0, 26, 27, 28, 0, 0,
- 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 0, 31, 0, 0, 0, 32, 33, 0,
- 34, 0, 0, 0, 35, 0, 36, 38, 39, 0,
- 0, 41, 0, 0, 0, 42, 0, 43, 0, 0,
- 481, 0, 0, 0, 0, 0, 0, 0, 0, 46,
- 44, 45, 0, 47, 0, 48, 0, 50, 0, 51,
- 0, 0, 0, 0, 40, 49, 29, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -125, 0,
+ 0, 0, 26, 27, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
+ 31, 0, 0, 0, 32, 33, 0, 34, 0, 0,
+ 0, 35, 0, 36, 38, 39, 0, 0, 41, 0,
+ 0, 0, 42, 0, 43, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 46, 44, 45, 0,
+ 47, 0, 48, 0, 50, 0, 51, 0, 0, 0,
+ 0, 40, 49, 29, 0, 0, 0, 37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 26, 27, 28, 0,
+ 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
+ 0, 0, 0, 0, 31, 0, 0, 0, 32, 33,
+ 0, 34, 0, 0, 0, 35, 0, 36, 38, 39,
+ 0, 0, 41, 0, 0, 0, 42, 0, 43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 44, 45, 0, 47, 0, 48, 0, 50, 266,
+ 51, 0, 0, 0, 0, 40, 49, 29, 0, 0,
+ 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
26, 27, 28, 0, 0, 0, 0, 0, 0, 0,
0, 30, 0, 0, 0, 0, 0, 0, 31, 212,
- 0, 0, 590, 591, 0, 34, 0, 0, 0, 35,
+ 0, 0, 585, 33, 0, 34, 0, 0, 0, 35,
0, 36, 38, 39, 0, 0, 41, 0, 0, 0,
42, 0, 43, 0, 0, 0, 0, 0, 0, 0,
216, 0, 0, 0, 46, 44, 45, 0, 47, 0,
48, 0, 50, 0, 51, 0, 0, 0, 0, 40,
49, 29, 0, 0, 0, 37, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 470, 0, 0, 26, 27,
+ 0, 0, 0, 0, 26, 27, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
+ 0, 0, 31, 212, 0, 0, 585, 586, 0, 34,
+ 0, 0, 0, 35, 0, 36, 38, 39, 0, 0,
+ 41, 0, 0, 0, 42, 0, 43, 0, 0, 0,
+ 0, 0, 0, 0, 216, 0, 0, 0, 46, 44,
+ 45, 0, 47, 0, 48, 0, 50, 0, 51, 0,
+ 0, 0, 0, 40, 49, 29, 0, 0, 0, 37,
+ 0, 0, 0, 0, 0, 0, 0, 0, 470, 0,
+ 0, 26, 27, 28, 0, 0, 0, 0, 0, 0,
+ 0, 0, 30, 0, 0, 0, 0, 0, 0, 31,
+ 0, 0, 0, 32, 33, 0, 34, 0, 0, 0,
+ 35, 0, 36, 38, 39, 0, 0, 41, 0, 0,
+ 0, 42, 0, 43, 0, 0, 471, 0, 0, 0,
+ 0, 0, 0, 0, 0, 46, 44, 45, 0, 47,
+ 0, 48, 0, 50, 0, 51, 0, 0, 0, 0,
+ 40, 49, 29, 0, 0, 0, 37, 0, 0, 0,
+ 0, 0, 0, 0, 0, 478, 0, 0, 26, 27,
28, 0, 0, 0, 0, 0, 0, 0, 0, 30,
0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
32, 33, 0, 34, 0, 0, 0, 35, 0, 36,
38, 39, 0, 0, 41, 0, 0, 0, 42, 0,
- 43, 0, 0, 476, 0, 0, 0, 0, 0, 0,
+ 43, 0, 0, 481, 0, 0, 0, 0, 0, 0,
0, 0, 46, 44, 45, 0, 47, 0, 48, 0,
50, 0, 51, 0, 0, 0, 0, 40, 49, 29,
0, 0, 0, 37, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 478, 0, 0, 26, 27, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
- 0, 0, 0, 0, 31, 0, 0, 0, 32, 33,
- 0, 34, 0, 0, 0, 35, 0, 36, 38, 39,
- 0, 0, 41, 0, 0, 0, 42, 0, 43, 0,
- 0, 479, 0, 0, 0, 0, 0, 0, 0, 0,
- 46, 44, 45, 0, 47, 0, 48, 0, 50, 0,
- 51, 0, 0, 0, 0, 40, 49, 29, 0, 0,
- 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 470, 0, 0, 26, 27, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
- 0, 0, 31, 0, 0, 0, 32, 33, 0, 34,
- 0, 0, 0, 35, 0, 36, 38, 39, 0, 0,
- 41, 0, 0, 0, 42, 0, 43, 0, 0, 471,
- 0, 0, 499, 0, 0, 0, 0, 0, 46, 44,
- 45, 0, 47, 0, 48, 0, 50, 0, 51, 0,
- 0, 0, 0, 40, 49, 29, 0, 0, 498, 37,
- 525, 0, 0, 0, 0, 0, 0, 0, 0, 104,
- 105, 106, 0, 0, 108, 110, 111, 0, 0, 112,
- 0, 113, 0, 0, 0, 115, 116, 117, 0, 0,
- 0, 0, 0, 0, 31, 118, 119, 120, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 121, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 124, 0, 0, 0, 0, 0,
- 0, 44, 45, 125, 126, 127, 0, 129, 130, 131,
- 132, 133, 134, 0, 0, 122, 128, 114, 107, 109,
- 123, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 104, 105, 106, 0, 0, 108, 110, 111, 0,
- 0, 112, 0, 113, 0, 0, 0, 115, 116, 117,
- 0, 0, 0, 0, 0, 0, 31, 118, 119, 120,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 121, 0, 0, 0, 534, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 124, 0, 0, 0,
- 0, 0, 0, 44, 45, 125, 126, 127, 0, 129,
- 130, 131, 132, 133, 134, 0, 0, 122, 128, 114,
- 107, 109, 123, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 470, 0, 0, 26, 27, 28, 0, 0,
+ 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 32, 33, 0,
+ 34, 0, 0, 0, 35, 0, 36, 38, 39, 0,
+ 0, 41, 0, 0, 0, 42, 0, 43, 0, 0,
+ 476, 0, 0, 0, 0, 0, 0, 0, 0, 46,
+ 44, 45, 0, 47, 0, 48, 0, 50, 0, 51,
+ 0, 0, 0, 0, 40, 49, 29, 0, 0, 0,
+ 37, 0, 0, 0, 0, 0, 0, 0, 0, 478,
+ 0, 0, 26, 27, 28, 0, 0, 0, 0, 0,
+ 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
+ 31, 0, 0, 0, 32, 33, 0, 34, 0, 0,
+ 0, 35, 0, 36, 38, 39, 0, 0, 41, 0,
+ 0, 0, 42, 0, 43, 0, 0, 479, 0, 0,
+ 0, 0, 0, 0, 0, 0, 46, 44, 45, 0,
+ 47, 0, 48, 0, 50, 0, 51, 0, 0, 0,
+ 0, 40, 49, 29, 0, 0, 0, 37, 0, 0,
+ 0, 0, 0, 0, 0, 0, 470, 0, 0, 26,
+ 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
+ 30, 0, 0, 0, 0, 0, 0, 31, 0, 0,
+ 0, 32, 33, 0, 34, 0, 0, 0, 35, 0,
+ 36, 38, 39, 0, 0, 41, 0, 0, 0, 42,
+ 0, 43, 0, 0, 471, 0, 0, 499, 0, 0,
+ 0, 0, 0, 46, 44, 45, 0, 47, 0, 48,
+ 0, 50, 0, 51, 0, 0, 0, 0, 40, 49,
+ 29, 0, 0, 498, 37, 0, 0, 0, 0, 0,
0, 0, 0, 104, 105, 106, 0, 0, 108, 110,
111, 0, 0, 112, 0, 113, 0, 0, 0, 115,
- 116, 117, 0, 0, 0, 0, 0, 0, 388, 118,
+ 116, 117, 0, 0, 0, 0, 0, 0, 31, 118,
119, 120, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 121, 0, 0, 0, 389, 0, 0, 0,
+ 0, 0, 121, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 124, 0,
- 0, 0, 0, 0, 393, 390, 392, 125, 126, 127,
+ 0, 0, 0, 0, 0, 44, 45, 125, 126, 127,
0, 129, 130, 131, 132, 133, 134, 0, 0, 122,
128, 114, 107, 109, 123, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 104, 105, 106, 0, 0, 108,
+ 110, 111, 0, 0, 112, 0, 113, 0, 0, 0,
+ 115, 116, 117, 0, 0, 0, 0, 0, 0, 388,
+ 118, 119, 120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 121, 0, 0, 0, 389, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 124,
+ 0, 0, 0, 0, 0, 393, 390, 392, 125, 126,
+ 127, 0, 129, 130, 131, 132, 133, 134, 0, 0,
+ 122, 128, 114, 107, 109, 123, 0, 0, 0, 0,
0, 0, 0, 0, 0, 104, 105, 106, 0, 0,
108, 110, 111, 0, 0, 112, 0, 113, 0, 0,
0, 115, 116, 117, 0, 0, 0, 0, 0, 0,
@@ -536,6 +533,15 @@ const int QmlJSGrammar::action_info [] = {
124, 0, 0, 0, 0, 0, 393, 390, 392, 125,
126, 127, 0, 129, 130, 131, 132, 133, 134, 0,
0, 122, 128, 114, 107, 109, 123, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 204, 0, 0, 0,
+ 0, 206, 0, 26, 27, 28, 208, 0, 0, 0,
+ 0, 0, 0, 209, 210, 0, 0, 0, 0, 0,
+ 0, 211, 212, 0, 0, 213, 33, 0, 34, 0,
+ 0, 0, 35, 0, 36, 38, 39, 0, 0, 41,
+ 0, 0, 0, 42, 0, 43, 0, 0, 0, 0,
+ 0, 215, 0, 216, 0, 0, 0, 46, 214, 217,
+ 218, 47, 219, 48, 220, 50, 221, 51, 222, 223,
+ 0, 0, 40, 49, 29, 205, 207, 0, 37, 0,
0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
0, 0, 206, 0, 26, 27, 28, 208, 0, 0,
0, 0, 0, 0, 209, 30, 0, 0, 0, 0,
@@ -545,158 +551,142 @@ const int QmlJSGrammar::action_info [] = {
0, 0, 215, 0, 216, 0, 0, 0, 46, 214,
217, 218, 47, 219, 48, 220, 50, 221, 51, 222,
223, 0, 0, 40, 49, 29, 205, 207, 0, 37,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
- 0, 0, 0, 0, 206, 0, 26, 27, 28, 208,
- 0, 0, 0, 0, 0, 0, 209, 210, 0, 0,
- 0, 0, 0, 0, 211, 212, 0, 0, 213, 33,
- 0, 34, 0, 0, 0, 35, 0, 36, 38, 39,
- 0, 0, 41, 0, 0, 0, 42, 0, 43, 0,
- 0, 0, 0, 0, 215, 0, 216, 0, 0, 0,
- 46, 214, 217, 218, 47, 219, 48, 220, 50, 221,
- 51, 222, 223, 0, 0, 40, 49, 29, 205, 207,
- 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 593, 105, 106, 0, 0, 595, 110, 597, 27,
- 28, 598, 0, 113, 0, 0, 0, 115, 600, 601,
- 0, 0, 0, 0, 0, 0, 602, 603, 119, 120,
- 213, 33, 0, 34, 0, 0, 0, 35, 0, 36,
- 604, 39, 0, 0, 606, 0, 0, 0, 42, 0,
- 43, 0, 0, 0, 0, 0, 608, 0, 216, 0,
- 0, 0, 610, 607, 609, 611, 612, 613, 48, 615,
- 616, 617, 618, 619, 620, 0, 0, 605, 614, 599,
- 594, 596, 123, 37, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 356, 105, 106, 0, 0, 358, 110,
- 360, 27, 28, 361, 0, 113, 0, 0, 0, 115,
- 363, 364, 0, 0, 0, 0, 0, 0, 365, 366,
- 119, 120, 213, 33, 0, 34, 0, 0, 0, 35,
- 0, 36, 367, 39, 0, 0, 369, 0, 0, 0,
- 42, 0, 43, 0, -269, 0, 0, 0, 371, 0,
- 216, 0, 0, 0, 373, 370, 372, 374, 375, 376,
- 48, 378, 379, 380, 381, 382, 383, 0, 0, 368,
- 377, 362, 357, 359, 123, 37, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 588, 105,
+ 106, 0, 0, 590, 110, 592, 27, 28, 593, 0,
+ 113, 0, 0, 0, 115, 595, 596, 0, 0, 0,
+ 0, 0, 0, 597, 598, 119, 120, 213, 33, 0,
+ 34, 0, 0, 0, 35, 0, 36, 599, 39, 0,
+ 0, 601, 0, 0, 0, 42, 0, 43, 0, 0,
+ 0, 0, 0, 603, 0, 216, 0, 0, 0, 605,
+ 602, 604, 606, 607, 608, 48, 610, 611, 612, 613,
+ 614, 615, 0, 0, 600, 609, 594, 589, 591, 123,
+ 37, 0, 0, 0, 0, 0, 0, 0, 0, 356,
+ 105, 106, 0, 0, 358, 110, 360, 27, 28, 361,
+ 0, 113, 0, 0, 0, 115, 363, 364, 0, 0,
+ 0, 0, 0, 0, 365, 366, 119, 120, 213, 33,
+ 0, 34, 0, 0, 0, 35, 0, 36, 367, 39,
+ 0, 0, 369, 0, 0, 0, 42, 0, 43, 0,
+ -271, 0, 0, 0, 371, 0, 216, 0, 0, 0,
+ 373, 370, 372, 374, 375, 376, 48, 378, 379, 380,
+ 381, 382, 383, 0, 0, 368, 377, 362, 357, 359,
+ 123, 37, 0, 0, 0, 0, 0, 0, 0, 0,
- 491, 434, 302, 632, 565, 562, 410, 166, 412, 557,
- 13, 304, 183, 431, 420, 516, 171, 164, 520, 445,
- 202, 387, 431, 542, 238, 629, 315, 248, 145, 233,
- 245, 177, 297, 405, 385, 583, 434, 592, 571, 181,
- 482, 177, 513, 306, 348, 627, 135, 581, 329, 578,
- 297, 580, 245, 233, 177, 331, 427, 395, 238, 431,
- 430, 434, 297, 467, 342, 346, 334, 333, 523, 344,
- 453, 451, 462, 505, 449, 428, 141, 233, 455, 238,
- 444, 424, 442, 397, 477, 245, 456, 480, 440, 138,
- 143, 158, 202, 202, 0, 497, 0, 456, 628, 0,
- 0, 297, 490, 0, 0, 0, 55, 475, 447, 0,
- 315, 474, 0, 497, 501, 0, 0, 399, 141, 55,
- 400, 175, 181, 402, 55, 55, 485, 484, 399, 55,
- 261, 400, 55, 399, 280, 265, 400, 283, 55, 297,
- 55, 55, 55, 281, 175, 282, 279, 55, 55, 447,
- 175, 55, 101, 55, 297, 55, 55, 55, 86, 103,
- 79, 55, 93, 91, 55, 160, 55, 325, 55, 67,
- 72, 87, 85, 55, 466, 55, 55, 55, 530, 297,
- 55, 84, 55, 97, 83, 531, 0, 95, 92, 324,
- 55, 339, 163, 55, 55, 88, 0, 232, 90, 89,
- 55, 55, 447, 489, 55, 298, 486, 55, 55, 488,
- 446, 141, 55, 336, 487, 55, 173, 62, 55, 0,
- 327, 65, 55, 55, 63, 55, 56, 64, 497, 55,
- 293, 630, 55, 629, 265, 265, 530, 265, 0, 0,
- 101, 293, 535, 531, 308, 300, 265, 103, 293, 311,
- 55, 55, 292, 265, 55, 265, 265, 285, 0, 265,
- 268, 286, 55, 314, 0, 0, 0, 265, 0, 170,
- 312, 497, 0, 290, 537, 293, 0, 55, 293, 0,
- 265, 55, 265, 265, 284, 55, 265, 497, 551, 0,
- 265, 587, 273, 0, 288, 497, 551, 321, 0, 0,
- 295, 0, 0, 0, 0, 633, 0, 544, 552, 0,
- 585, 586, 588, 589, 0, 544, 552, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 505, 135, 516, 490, 141, 183, 13, 637, 315, 513,
+ 544, 622, 145, 177, 570, 177, 248, 467, 233, 245,
+ 574, 482, 587, 431, 238, 552, 549, 434, 306, 569,
+ 302, 520, 558, 567, 304, 297, 334, 453, 449, 233,
+ 455, 445, 444, 245, 397, 442, 177, 143, 233, 238,
+ 245, 440, 158, 238, 462, 297, 410, 420, 412, 405,
+ 181, 202, 430, 171, 431, 427, 138, 434, 424, 428,
+ 451, 333, 346, 456, 431, 434, 385, 342, 329, 387,
+ 395, 331, 164, 344, 348, 523, 166, 297, 202, 477,
+ 315, 0, 0, 0, 0, 480, 0, 627, 181, 0,
+ 297, 497, 501, 101, 622, 497, 55, 524, 261, 297,
+ 55, 399, 447, 265, 400, 55, 55, 175, 175, 630,
+ 456, 497, 163, 621, 202, 0, 55, 0, 55, 103,
+ 55, 141, 93, 55, 55, 280, 55, 402, 279, 0,
+ 0, 281, 160, 55, 55, 484, 95, 55, 55, 447,
+ 55, 141, 55, 282, 97, 283, 55, 173, 92, 56,
+ 55, 475, 447, 55, 325, 474, 0, 324, 90, 55,
+ 55, 446, 489, 300, 55, 297, 55, 65, 55, 55,
+ 63, 89, 55, 297, 79, 339, 55, 336, 64, 55,
+ 67, 62, 55, 55, 55, 466, 446, 86, 87, 55,
+ 399, 55, 55, 400, 88, 83, 0, 55, 72, 487,
+ 55, 399, 486, 55, 400, 485, 55, 0, 0, 55,
+ 55, 0, 91, 84, 85, 55, 232, 488, 55, 293,
+ 55, 55, 0, 265, 265, 265, 265, 284, 273, 327,
+ 55, 55, 616, 308, 618, 265, 265, 298, 293, 268,
+ 55, 312, 0, 265, 0, 265, 0, 55, 311, 175,
+ 293, 290, 293, 293, 55, 265, 467, 265, 265, 265,
+ 295, 285, 55, 55, 497, 538, 0, 265, 265, 286,
+ 582, 0, 314, 0, 292, 321, 288, 634, 0, 497,
+ 538, 529, 539, 576, 580, 581, 583, 584, 0, 0,
+ 0, 632, 633, 635, 636, 0, 529, 539, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 103, 170, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 621, 0, 0, 624, 623, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 467, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ 0, 0, 0, 0, 0, 0, 0};
const int QmlJSGrammar::action_check [] = {
- 7, 87, 36, 55, 33, 7, 36, 7, 7, 7,
- 36, 7, 20, 36, 87, 60, 17, 7, 55, 60,
- 36, 33, 16, 55, 60, 8, 8, 33, 66, 7,
- 87, 36, 29, 7, 7, 89, 29, 7, 60, 5,
- 5, 36, 5, 7, 36, 36, 33, 36, 7, 7,
- 36, 55, 36, 7, 33, 36, 33, 7, 33, 7,
- 17, 29, 7, 7, 36, 2, 7, 36, 8, 31,
- 8, 1, 60, 8, 7, 60, 7, 48, 1, 7,
- 60, 36, 33, 36, 8, 61, 33, 36, 1, 7,
- 36, 1, 17, 60, 36, 2, 7, 0, 10, 55,
- 8, -1, 36, 8, 8, 48, -1, 8, -1, 8,
- 7, 8, -1, -1, 6, -1, 48, 78, 78, 8,
- 8, 48, 61, 8, 76, 8, 40, 8, 20, -1,
- -1, 50, 8, 8, 60, 54, -1, 51, -1, 8,
- 61, -1, 78, 55, 61, 62, 61, 62, 8, 78,
- 50, 42, 56, 8, 54, 56, 61, -1, 7, 61,
- 62, 60, 53, 61, 62, 61, 62, 89, 61, 62,
- 29, 60, 60, 55, 15, 60, 55, 60, 2, 60,
- 56, 61, 62, 61, 62, 60, 40, 61, 62, 40,
- 40, 60, 33, 61, 62, 8, 56, 51, 8, 29,
- 51, 51, 29, 29, -1, 87, 61, 62, 87, 25,
- 7, 27, 61, 62, 25, 74, 27, 12, 15, 12,
- 29, -1, 38, 29, 61, 62, 85, 38, -1, 25,
- 7, 27, -1, 91, 92, 93, 33, 29, 61, 62,
- 66, 67, 38, 29, 74, 29, -1, 74, 61, 62,
- 29, 61, 62, 90, 12, 85, 8, 29, 85, 29,
- 66, 67, 57, 29, 57, 74, 29, 90, 63, 29,
- 63, 8, 15, -1, 66, 67, 85, 25, 29, 27,
- 66, 67, 66, 67, 61, 62, -1, 66, 67, 29,
- 38, 34, 15, 36, 66, 67, 66, 67, 29, 57,
- 66, 67, 29, 66, 67, 63, 66, 67, 29, 61,
- 62, 34, 29, 36, 29, 66, 67, 8, -1, -1,
- -1, 36, 15, -1, 61, 62, 66, 67, -1, 18,
- 19, 18, 19, 18, 19, 66, 67, 29, -1, 66,
- 67, 34, 33, 36, 36, 66, 67, 15, -1, 66,
- 67, 66, 67, 25, -1, 27, 45, 46, 45, 46,
- 45, 46, -1, -1, 23, 24, 38, 29, 23, 24,
- 61, 62, 29, 32, 66, 67, 35, 32, 37, 47,
- 35, 29, 37, 23, 24, -1, -1, -1, -1, -1,
- -1, -1, 32, 61, 62, 35, -1, 37, 29, 61,
- 62, -1, 59, 29, 66, 67, 29, -1, -1, 66,
- 67, -1, -1, 61, 62, -1, 29, -1, 66, 67,
- 23, 24, 90, 29, 18, 19, -1, -1, 85, 32,
- 61, 62, 35, 59, 37, 66, 67, 29, 61, 62,
- 66, 67, -1, 66, 67, -1, -1, -1, 61, 62,
- -1, 45, 46, 66, 67, 61, 62, 23, 24, 85,
- 66, 67, -1, -1, -1, 31, 32, 59, -1, 35,
- 10, 37, -1, 65, 66, 67, 23, 24, -1, -1,
- 10, -1, 22, 29, 31, 32, 23, 24, 35, 29,
- 37, -1, 22, 85, 31, 32, 23, 24, 35, 29,
- 37, -1, 23, 24, 31, 32, -1, -1, 35, -1,
- 37, 32, -1, 59, 35, -1, 37, -1, -1, 59,
- 66, 67, -1, -1, -1, -1, 66, 67, -1, 59,
- -1, -1, -1, -1, 74, -1, 66, 67, -1, 85,
- -1, 87, 3, 83, 74, 85, -1, -1, -1, -1,
- -1, -1, 13, 83, -1, 85, 17, -1, -1, -1,
- -1, -1, -1, -1, -1, 26, -1, 28, -1, -1,
- -1, -1, -1, -1, -1, 23, 24, -1, 39, -1,
- 41, 42, -1, 31, 32, 3, -1, 35, 49, 37,
- -1, 52, 53, -1, -1, 13, -1, 58, -1, 17,
- -1, -1, -1, 64, -1, -1, -1, -1, 26, -1,
- 28, -1, -1, 31, -1, -1, -1, -1, 79, -1,
- -1, 39, -1, 41, 42, -1, -1, -1, -1, -1,
- -1, 49, -1, -1, 52, 53, -1, -1, -1, -1,
- 58, -1, -1, -1, -1, -1, 64, -1, 3, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 13, -1,
- -1, 79, 17, -1, -1, -1, -1, -1, -1, -1,
- -1, 26, -1, 28, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 39, -1, 41, 42, -1, -1,
- -1, -1, -1, -1, 49, -1, -1, 52, 53, -1,
- -1, -1, -1, 58, -1, -1, -1, -1, -1, 64,
+ 60, 36, 36, 5, 7, 36, 7, 31, 78, 17,
+ 7, 7, 61, 60, 7, 60, 36, 16, 36, 5,
+ 7, 33, 55, 7, 7, 36, 55, 8, 7, 17,
+ 7, 36, 60, 33, 55, 33, 55, 7, 20, 5,
+ 7, 33, 48, 7, 7, 2, 7, 36, 33, 1,
+ 8, 7, 7, 33, 48, 0, 7, 7, 36, 76,
+ 36, 36, 36, 36, 36, 36, 88, 8, 78, 60,
+ 60, 36, 7, 7, 36, 89, 36, 36, 7, 33,
+ 48, 7, 1, 78, 8, 29, 55, 29, 36, 29,
+ 8, 7, 2, 8, 2, 2, 7, 1, 7, -1,
+ -1, 7, 48, 8, 40, 8, 8, 8, 40, 40,
+ 7, 8, 40, 66, 61, 51, 10, 60, 8, 51,
+ 51, 60, 6, 51, 61, 50, 15, 60, 8, 54,
+ 8, 61, 62, 8, 61, 62, 20, 8, 8, 88,
+ 78, 61, 62, 8, 33, 8, 42, 61, 62, 61,
+ 62, 8, 50, 56, 8, -1, 54, 53, 60, 60,
+ 29, 55, 61, 62, 8, 29, 61, 62, 61, 62,
+ 60, 7, -1, 61, 62, 25, 56, 27, 61, 62,
+ 61, 62, 60, 25, 29, 27, 61, 36, 38, 60,
+ 60, 8, 25, 56, 27, 60, 38, 66, 67, 56,
+ 61, 62, 66, 67, 29, 38, 60, 25, 29, 27,
+ 12, -1, 61, 62, 12, 29, 15, 61, 62, 29,
+ 38, 66, 67, 61, 62, 61, 62, -1, 89, 29,
+ 12, 25, 29, 27, 29, 34, 8, 36, 29, 29,
+ -1, 66, 67, 60, 38, 66, 67, 90, 91, 92,
+ 29, 89, 66, 67, 8, 57, 66, 67, 8, 57,
+ 25, 63, 27, 29, -1, 63, 25, 29, 27, 66,
+ 67, 66, 67, 38, 74, 57, 66, 67, 25, 38,
+ 27, 63, 8, 74, 29, 85, 29, -1, 29, 61,
+ 62, 38, -1, 29, 85, 74, 15, 15, -1, 7,
+ 66, 67, -1, -1, 66, 67, 85, 61, 62, 29,
+ -1, 61, 62, 7, 29, 34, 34, 36, 36, 29,
+ 25, 15, 27, 66, 67, 66, 67, 29, -1, 74,
+ 66, 67, 29, 38, 29, 61, 62, 29, -1, 33,
+ 85, 36, 36, 8, 36, -1, 66, 67, 25, -1,
+ 27, 66, 67, 61, 62, 8, 66, 67, 18, 19,
+ -1, 38, -1, 60, 66, 67, 18, 19, 33, 66,
+ 67, 66, 67, 29, 66, 67, -1, -1, 23, 24,
+ 33, 15, -1, -1, -1, 45, 46, 32, -1, -1,
+ 35, -1, 37, 45, 46, -1, 61, 62, -1, -1,
+ -1, 29, -1, 59, 29, -1, -1, -1, 61, 62,
+ 66, 67, -1, 47, -1, 29, -1, -1, 18, 19,
+ -1, 23, 24, -1, -1, -1, 29, 61, 62, 85,
+ 32, 59, -1, 35, 29, 37, 61, 62, 66, 67,
+ -1, 66, 67, 29, -1, 45, 46, 61, 62, -1,
+ 29, -1, 66, 67, -1, 89, -1, 85, 61, 62,
+ -1, -1, 29, 66, 67, -1, 61, 62, -1, -1,
+ -1, 66, 67, -1, -1, 61, 62, 23, 24, -1,
+ 66, 67, 61, 62, -1, 31, 32, 66, 67, 35,
+ -1, 37, 59, -1, -1, 23, 24, -1, 65, 66,
+ 67, -1, -1, -1, 32, 10, -1, 35, -1, 37,
+ -1, -1, -1, -1, -1, -1, -1, 22, 85, -1,
+ -1, -1, -1, -1, 29, -1, -1, -1, 10, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
+ 22, -1, -1, -1, -1, -1, -1, 29, -1, -1,
+ 55, -1, -1, -1, 59, -1, -1, -1, -1, -1,
+ -1, 66, 67, -1, -1, -1, -1, 23, 24, 74,
+ -1, -1, 3, 55, -1, 31, 32, 59, 83, 35,
+ 85, 37, 13, -1, 66, 67, 17, -1, -1, -1,
+ -1, -1, 74, -1, -1, 26, -1, 28, -1, -1,
+ 31, 83, -1, 85, -1, -1, -1, -1, 39, -1,
+ 41, 42, -1, -1, -1, -1, -1, -1, 49, -1,
+ -1, 52, 53, -1, -1, -1, -1, 58, -1, -1,
+ -1, -1, -1, 64, -1, -1, -1, -1, -1, 3,
+ -1, -1, -1, -1, -1, -1, -1, -1, 79, 13,
+ -1, -1, -1, 17, -1, -1, -1, -1, -1, -1,
+ -1, -1, 26, -1, 28, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 39, -1, 41, 42, -1,
+ -1, -1, -1, -1, -1, 49, -1, -1, 52, 53,
+ -1, -1, -1, -1, 58, -1, -1, -1, -1, -1,
+ 64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
@@ -706,16 +696,7 @@ const int QmlJSGrammar::action_check [] = {
-1, -1, -1, -1, 65, 66, 67, -1, 69, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
81, 82, -1, -1, -1, 86, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 11, 12, 13, -1, -1,
- -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
- -1, -1, -1, 29, -1, -1, -1, 33, 34, -1,
- 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
- -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 65,
- 66, 67, -1, 69, -1, 71, -1, 73, -1, 75,
- -1, -1, -1, -1, 80, 81, 82, -1, -1, -1,
- 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 7, -1, -1, -1, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, 11, 12, 13, -1, -1, -1,
-1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
-1, -1, 29, -1, -1, -1, 33, 34, -1, 36,
-1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
@@ -723,33 +704,24 @@ const int QmlJSGrammar::action_check [] = {
-1, -1, -1, -1, -1, -1, -1, -1, 65, 66,
67, -1, 69, -1, 71, -1, 73, -1, 75, -1,
-1, -1, -1, 80, 81, 82, -1, -1, -1, 86,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 11,
- 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
- 22, -1, -1, -1, -1, -1, -1, 29, -1, -1,
- -1, 33, 34, -1, 36, -1, -1, -1, 40, -1,
- 42, 43, 44, -1, -1, 47, -1, -1, -1, 51,
- -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 65, 66, 67, -1, 69, -1, 71,
- -1, 73, 74, 75, -1, -1, -1, -1, 80, 81,
- 82, -1, -1, -1, 86, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 8, -1, -1, 11, 12, 13,
- -1, -1, -1, -1, -1, -1, -1, -1, 22, -1,
- -1, -1, -1, -1, -1, 29, -1, -1, -1, 33,
- 34, -1, 36, -1, -1, -1, 40, -1, 42, 43,
- 44, -1, -1, 47, -1, -1, -1, 51, -1, 53,
- -1, -1, 56, -1, -1, -1, -1, -1, -1, -1,
- -1, 65, 66, 67, -1, 69, -1, 71, -1, 73,
- -1, 75, -1, -1, -1, -1, 80, 81, 82, -1,
- -1, -1, 86, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 8, -1, -1, 11, 12, 13, -1, -1,
- -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
- -1, -1, -1, 29, -1, -1, -1, 33, 34, -1,
- 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
- -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
- 56, -1, -1, -1, -1, -1, -1, -1, -1, 65,
- 66, 67, -1, 69, -1, 71, -1, 73, -1, 75,
- -1, -1, -1, -1, 80, 81, 82, -1, -1, -1,
- 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 7, -1,
+ -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
+ 29, -1, -1, -1, 33, 34, -1, 36, -1, -1,
+ -1, 40, -1, 42, 43, 44, -1, -1, 47, -1,
+ -1, -1, 51, -1, 53, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 65, 66, 67, -1,
+ 69, -1, 71, -1, 73, -1, 75, -1, -1, -1,
+ -1, 80, 81, 82, -1, -1, -1, 86, -1, -1,
+ -1, -1, -1, -1, -1, -1, 11, 12, 13, -1,
+ -1, -1, -1, -1, -1, -1, -1, 22, -1, -1,
+ -1, -1, -1, -1, 29, -1, -1, -1, 33, 34,
+ -1, 36, -1, -1, -1, 40, -1, 42, 43, 44,
+ -1, -1, 47, -1, -1, -1, 51, -1, 53, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 65, 66, 67, -1, 69, -1, 71, -1, 73, 74,
+ 75, -1, -1, -1, -1, 80, 81, 82, -1, -1,
+ -1, 86, -1, -1, -1, -1, -1, -1, -1, -1,
11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, 22, -1, -1, -1, -1, -1, -1, 29, 30,
-1, -1, 33, 34, -1, 36, -1, -1, -1, 40,
@@ -758,6 +730,23 @@ const int QmlJSGrammar::action_check [] = {
61, -1, -1, -1, 65, 66, 67, -1, 69, -1,
71, -1, 73, -1, 75, -1, -1, -1, -1, 80,
81, 82, -1, -1, -1, 86, -1, -1, -1, -1,
+ -1, -1, -1, -1, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
+ -1, -1, 29, 30, -1, -1, 33, 34, -1, 36,
+ -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
+ 47, -1, -1, -1, 51, -1, 53, -1, -1, -1,
+ -1, -1, -1, -1, 61, -1, -1, -1, 65, 66,
+ 67, -1, 69, -1, 71, -1, 73, -1, 75, -1,
+ -1, -1, -1, 80, 81, 82, -1, -1, -1, 86,
+ -1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
+ -1, 11, 12, 13, -1, -1, -1, -1, -1, -1,
+ -1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
+ -1, -1, -1, 33, 34, -1, 36, -1, -1, -1,
+ 40, -1, 42, 43, 44, -1, -1, 47, -1, -1,
+ -1, 51, -1, 53, -1, -1, 56, -1, -1, -1,
+ -1, -1, -1, -1, -1, 65, 66, 67, -1, 69,
+ -1, 71, -1, 73, -1, 75, -1, -1, -1, -1,
+ 80, 81, 82, -1, -1, -1, 86, -1, -1, -1,
-1, -1, -1, -1, -1, 8, -1, -1, 11, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
-1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
@@ -767,51 +756,50 @@ const int QmlJSGrammar::action_check [] = {
-1, -1, 65, 66, 67, -1, 69, -1, 71, -1,
73, -1, 75, -1, -1, -1, -1, 80, 81, 82,
-1, -1, -1, 86, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 8, -1, -1, 11, 12, 13, -1,
- -1, -1, -1, -1, -1, -1, -1, 22, -1, -1,
- -1, -1, -1, -1, 29, -1, -1, -1, 33, 34,
- -1, 36, -1, -1, -1, 40, -1, 42, 43, 44,
- -1, -1, 47, -1, -1, -1, 51, -1, 53, -1,
- -1, 56, -1, -1, -1, -1, -1, -1, -1, -1,
- 65, 66, 67, -1, 69, -1, 71, -1, 73, -1,
- 75, -1, -1, -1, -1, 80, 81, 82, -1, -1,
- -1, 86, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 8, -1, -1, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
- -1, -1, 29, -1, -1, -1, 33, 34, -1, 36,
- -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
- 47, -1, -1, -1, 51, -1, 53, -1, -1, 56,
- -1, -1, 59, -1, -1, -1, -1, -1, 65, 66,
- 67, -1, 69, -1, 71, -1, 73, -1, 75, -1,
- -1, -1, -1, 80, 81, 82, -1, -1, 85, 86,
- 87, -1, -1, -1, -1, -1, -1, -1, -1, 4,
- 5, 6, -1, -1, 9, 10, 11, -1, -1, 14,
- -1, 16, -1, -1, -1, 20, 21, 22, -1, -1,
- -1, -1, -1, -1, 29, 30, 31, 32, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 43, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
- -1, 66, 67, 68, 69, 70, -1, 72, 73, 74,
- 75, 76, 77, -1, -1, 80, 81, 82, 83, 84,
- 85, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4, 5, 6, -1, -1, 9, 10, 11, -1,
- -1, 14, -1, 16, -1, -1, -1, 20, 21, 22,
- -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 43, -1, -1, -1, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
- -1, -1, -1, 66, 67, 68, 69, 70, -1, 72,
- 73, 74, 75, 76, 77, -1, -1, 80, 81, 82,
- 83, 84, 85, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 8, -1, -1, 11, 12, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
+ -1, -1, -1, 29, -1, -1, -1, 33, 34, -1,
+ 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
+ -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
+ 56, -1, -1, -1, -1, -1, -1, -1, -1, 65,
+ 66, 67, -1, 69, -1, 71, -1, 73, -1, 75,
+ -1, -1, -1, -1, 80, 81, 82, -1, -1, -1,
+ 86, -1, -1, -1, -1, -1, -1, -1, -1, 8,
+ -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
+ 29, -1, -1, -1, 33, 34, -1, 36, -1, -1,
+ -1, 40, -1, 42, 43, 44, -1, -1, 47, -1,
+ -1, -1, 51, -1, 53, -1, -1, 56, -1, -1,
+ -1, -1, -1, -1, -1, -1, 65, 66, 67, -1,
+ 69, -1, 71, -1, 73, -1, 75, -1, -1, -1,
+ -1, 80, 81, 82, -1, -1, -1, 86, -1, -1,
+ -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ 22, -1, -1, -1, -1, -1, -1, 29, -1, -1,
+ -1, 33, 34, -1, 36, -1, -1, -1, 40, -1,
+ 42, 43, 44, -1, -1, 47, -1, -1, -1, 51,
+ -1, 53, -1, -1, 56, -1, -1, 59, -1, -1,
+ -1, -1, -1, 65, 66, 67, -1, 69, -1, 71,
+ -1, 73, -1, 75, -1, -1, -1, -1, 80, 81,
+ 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
-1, -1, -1, 4, 5, 6, -1, -1, 9, 10,
11, -1, -1, 14, -1, 16, -1, -1, -1, 20,
21, 22, -1, -1, -1, -1, -1, -1, 29, 30,
31, 32, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 43, -1, -1, -1, 47, -1, -1, -1,
+ -1, -1, 43, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
+ -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
-1, 72, 73, 74, 75, 76, 77, -1, -1, 80,
81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4, 5, 6, -1, -1, 9,
+ 10, 11, -1, -1, 14, -1, 16, -1, -1, -1,
+ 20, 21, 22, -1, -1, -1, -1, -1, -1, 29,
+ 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 43, -1, -1, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ -1, -1, -1, -1, -1, 65, 66, 67, 68, 69,
+ 70, -1, 72, 73, 74, 75, 76, 77, -1, -1,
+ 80, 81, 82, 83, 84, 85, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4, 5, 6, -1, -1,
9, 10, 11, -1, -1, 14, -1, 16, -1, -1,
-1, 20, 21, 22, -1, -1, -1, -1, -1, -1,
@@ -821,6 +809,15 @@ const int QmlJSGrammar::action_check [] = {
59, -1, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, 74, 75, 76, 77, -1,
-1, 80, 81, 82, 83, 84, 85, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4, -1, -1, -1,
+ -1, 9, -1, 11, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, 21, 22, -1, -1, -1, -1, -1,
+ -1, 29, 30, -1, -1, 33, 34, -1, 36, -1,
+ -1, -1, 40, -1, 42, 43, 44, -1, -1, 47,
+ -1, -1, -1, 51, -1, 53, -1, -1, -1, -1,
+ -1, 59, -1, 61, -1, -1, -1, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ -1, -1, 80, 81, 82, 83, 84, -1, 86, -1,
-1, -1, -1, -1, -1, -1, -1, 4, -1, -1,
-1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
-1, -1, -1, -1, 21, 22, -1, -1, -1, -1,
@@ -830,81 +827,66 @@ const int QmlJSGrammar::action_check [] = {
-1, -1, 59, -1, 61, -1, -1, -1, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, -1, -1, 80, 81, 82, 83, 84, -1, 86,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
- -1, -1, -1, -1, 9, -1, 11, 12, 13, 14,
- -1, -1, -1, -1, -1, -1, 21, 22, -1, -1,
- -1, -1, -1, -1, 29, 30, -1, -1, 33, 34,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4, 5,
+ 6, -1, -1, 9, 10, 11, 12, 13, 14, -1,
+ 16, -1, -1, -1, 20, 21, 22, -1, -1, -1,
+ -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
+ 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
+ -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
+ -1, -1, -1, 59, -1, 61, -1, -1, -1, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, -1, -1, 80, 81, 82, 83, 84, 85,
+ 86, -1, -1, -1, -1, -1, -1, -1, -1, 4,
+ 5, 6, -1, -1, 9, 10, 11, 12, 13, 14,
+ -1, 16, -1, -1, -1, 20, 21, 22, -1, -1,
+ -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
-1, 36, -1, -1, -1, 40, -1, 42, 43, 44,
-1, -1, 47, -1, -1, -1, 51, -1, 53, -1,
- -1, -1, -1, -1, 59, -1, 61, -1, -1, -1,
+ 55, -1, -1, -1, 59, -1, 61, -1, -1, -1,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, -1, -1, 80, 81, 82, 83, 84,
- -1, 86, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 4, 5, 6, -1, -1, 9, 10, 11, 12,
- 13, 14, -1, 16, -1, -1, -1, 20, 21, 22,
- -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
- 33, 34, -1, 36, -1, -1, -1, 40, -1, 42,
- 43, 44, -1, -1, 47, -1, -1, -1, 51, -1,
- 53, -1, -1, -1, -1, -1, 59, -1, 61, -1,
- -1, -1, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, -1, -1, 80, 81, 82,
- 83, 84, 85, 86, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 4, 5, 6, -1, -1, 9, 10,
- 11, 12, 13, 14, -1, 16, -1, -1, -1, 20,
- 21, 22, -1, -1, -1, -1, -1, -1, 29, 30,
- 31, 32, 33, 34, -1, 36, -1, -1, -1, 40,
- -1, 42, 43, 44, -1, -1, 47, -1, -1, -1,
- 51, -1, 53, -1, 55, -1, -1, -1, 59, -1,
- 61, -1, -1, -1, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, -1, -1, 80,
- 81, 82, 83, 84, 85, 86, -1, -1, -1, -1,
- -1, -1, -1, -1, -1,
+ 85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
- 6, 22, 2, 11, 9, 3, 2, 36, 3, 26,
- 3, 3, 9, 3, 97, 9, 3, 36, 9, 22,
- 2, 37, 3, 11, 9, 14, 9, 3, 68, 9,
- 2, 9, 3, 2, 36, 9, 22, 21, 3, 9,
- 3, 9, 9, 2, 2, 11, 3, 9, 2, 26,
- 3, 26, 2, 9, 9, 3, 82, 36, 9, 3,
- 82, 22, 3, 36, 2, 2, 9, 2, 8, 3,
- 3, 2, 36, 9, 3, 3, 36, 9, 2, 9,
- 22, 94, 9, 2, 36, 2, 9, 36, 99, 36,
- 36, 36, 2, 2, -1, 9, -1, 9, 12, -1,
- -1, 3, 2, -1, -1, -1, 45, 32, 47, -1,
- 9, 36, -1, 9, 10, -1, -1, 39, 36, 45,
- 42, 47, 9, 41, 45, 45, 47, 47, 39, 45,
- 45, 42, 45, 39, 50, 50, 42, 50, 45, 3,
- 45, 45, 45, 50, 47, 50, 50, 45, 45, 47,
- 47, 45, 9, 45, 3, 45, 45, 45, 50, 16,
- 50, 45, 51, 51, 45, 59, 45, 69, 45, 53,
- 51, 50, 49, 45, 86, 45, 45, 45, 9, 3,
- 45, 49, 45, 55, 49, 16, -1, 57, 51, 88,
- 45, 101, 61, 45, 45, 50, -1, 106, 50, 50,
- 45, 45, 47, 47, 45, 69, 47, 45, 45, 47,
- 47, 36, 45, 100, 47, 45, 41, 47, 45, -1,
- 69, 48, 45, 45, 47, 45, 48, 47, 9, 45,
- 45, 12, 45, 14, 50, 50, 9, 50, -1, -1,
- 9, 45, 15, 16, 60, 69, 50, 16, 45, 62,
- 45, 45, 67, 50, 45, 50, 50, 52, -1, 50,
- 54, 52, 45, 67, -1, -1, -1, 50, -1, 38,
- 67, 9, -1, 56, 12, 45, -1, 45, 45, -1,
- 50, 45, 50, 50, 52, 45, 50, 9, 10, -1,
- 50, 3, 52, -1, 58, 9, 10, 67, -1, -1,
- 67, -1, -1, -1, -1, 19, -1, 29, 30, -1,
- 22, 23, 24, 25, -1, 29, 30, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 9, 3, 9, 2, 33, 9, 3, 15, 9, 9,
+ 21, 9, 66, 9, 9, 9, 3, 33, 9, 2,
+ 9, 3, 15, 3, 9, 9, 3, 17, 2, 21,
+ 2, 9, 3, 21, 3, 3, 9, 3, 3, 9,
+ 2, 17, 17, 2, 2, 9, 9, 33, 9, 9,
+ 2, 97, 33, 9, 33, 3, 2, 95, 3, 2,
+ 9, 2, 80, 3, 3, 80, 33, 17, 92, 3,
+ 2, 2, 2, 9, 3, 17, 33, 2, 2, 34,
+ 33, 3, 33, 3, 2, 8, 33, 3, 2, 33,
+ 9, -1, -1, -1, -1, 33, -1, 9, 9, -1,
+ 3, 9, 10, 9, 9, 9, 43, 11, 43, 3,
+ 43, 37, 45, 48, 40, 43, 43, 45, 45, 24,
+ 9, 9, 59, 11, 2, -1, 43, -1, 43, 35,
+ 43, 33, 49, 43, 43, 48, 43, 39, 48, -1,
+ -1, 48, 57, 43, 43, 45, 55, 43, 43, 45,
+ 43, 33, 43, 48, 53, 48, 43, 39, 49, 46,
+ 43, 29, 45, 43, 67, 33, -1, 86, 48, 43,
+ 43, 45, 45, 67, 43, 3, 43, 46, 43, 43,
+ 45, 48, 43, 3, 48, 99, 43, 98, 45, 43,
+ 51, 45, 43, 43, 43, 84, 45, 48, 48, 43,
+ 37, 43, 43, 40, 48, 47, -1, 43, 49, 45,
+ 43, 37, 45, 43, 40, 45, 43, -1, -1, 43,
+ 43, -1, 49, 47, 47, 43, 104, 45, 43, 43,
+ 43, 43, -1, 48, 48, 48, 48, 50, 50, 67,
+ 43, 43, 9, 58, 11, 48, 48, 67, 43, 52,
+ 43, 65, -1, 48, -1, 48, -1, 43, 60, 45,
+ 43, 54, 43, 43, 43, 48, 33, 48, 48, 48,
+ 65, 50, 43, 43, 9, 10, -1, 48, 48, 50,
+ 3, -1, 65, -1, 65, 65, 56, 3, -1, 9,
+ 10, 26, 27, 13, 17, 18, 19, 20, -1, -1,
+ -1, 17, 18, 19, 20, -1, 26, 27, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 9, -1, -1, 12, 13, -1, -1, -1, -1, -1,
+ 9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 36, -1, -1,
+ -1, -1, -1, -1, -1, -1, 35, 36, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1};
+ -1, -1, -1, -1, -1, -1, -1};
diff --git a/src/declarative/qml/parser/qmljsgrammar_p.h b/src/declarative/qml/parser/qmljsgrammar_p.h
index 7ffda6a..c2bc60e 100644
--- a/src/declarative/qml/parser/qmljsgrammar_p.h
+++ b/src/declarative/qml/parser/qmljsgrammar_p.h
@@ -59,13 +59,12 @@ class QmlJSGrammar
public:
enum {
EOF_SYMBOL = 0,
- REDUCE_HERE = 95,
- SHIFT_THERE = 94,
+ REDUCE_HERE = 94,
+ SHIFT_THERE = 93,
T_AND = 1,
T_AND_AND = 2,
T_AND_EQ = 3,
- T_AS = 90,
- T_AT = 87,
+ T_AS = 89,
T_AUTOMATIC_SEMICOLON = 62,
T_BREAK = 4,
T_CASE = 5,
@@ -86,9 +85,9 @@ public:
T_EQ_EQ = 18,
T_EQ_EQ_EQ = 19,
T_FALSE = 82,
- T_FEED_JS_EXPRESSION = 93,
- T_FEED_JS_STATEMENT = 92,
- T_FEED_UI_PROGRAM = 91,
+ T_FEED_JS_EXPRESSION = 92,
+ T_FEED_JS_STATEMENT = 91,
+ T_FEED_UI_PROGRAM = 90,
T_FINALLY = 20,
T_FOR = 21,
T_FUNCTION = 22,
@@ -100,7 +99,7 @@ public:
T_GT_GT_GT_EQ = 28,
T_IDENTIFIER = 29,
T_IF = 30,
- T_IMPORT = 89,
+ T_IMPORT = 88,
T_IN = 31,
T_INSTANCEOF = 32,
T_LBRACE = 33,
@@ -127,7 +126,7 @@ public:
T_PLUS_EQ = 52,
T_PLUS_PLUS = 53,
T_PROPERTY = 66,
- T_PUBLIC = 88,
+ T_PUBLIC = 87,
T_QUESTION = 54,
T_RBRACE = 55,
T_RBRACKET = 56,
@@ -155,15 +154,15 @@ public:
T_XOR = 78,
T_XOR_EQ = 79,
- ACCEPT_STATE = 634,
- RULE_COUNT = 348,
- STATE_COUNT = 635,
- TERMINAL_COUNT = 96,
- NON_TERMINAL_COUNT = 108,
+ ACCEPT_STATE = 638,
+ RULE_COUNT = 350,
+ STATE_COUNT = 639,
+ TERMINAL_COUNT = 95,
+ NON_TERMINAL_COUNT = 106,
- GOTO_INDEX_OFFSET = 635,
- GOTO_INFO_OFFSET = 2345,
- GOTO_CHECK_OFFSET = 2345
+ GOTO_INDEX_OFFSET = 639,
+ GOTO_INFO_OFFSET = 2310,
+ GOTO_CHECK_OFFSET = 2310
};
static const char *const spell [];
diff --git a/src/declarative/qml/parser/qmljslexer.cpp b/src/declarative/qml/parser/qmljslexer.cpp
index 0756f10..beb5ebd 100644
--- a/src/declarative/qml/parser/qmljslexer.cpp
+++ b/src/declarative/qml/parser/qmljslexer.cpp
@@ -755,64 +755,6 @@ int Lexer::lex()
bol = false;
}
- if (state == Number) {
- // CSS-style suffix for numeric literals
-
- flags = noSuffix;
-
- const ushort c = QChar::toLower(current);
- const ushort n1 = QChar::toLower(next1);
- const ushort n2 = QChar::toLower(next2);
- const ushort n3 = QChar::toLower(next3);
-
- if (c == 'e' && n1 == 'm') {
- flags = emSuffix;
- shift(2);
- } else if (c == 'e' && n1 == 'x') {
- flags = exSuffix;
- shift(2);
- } else if (c == 'p' && n1 == 'x') {
- flags = pxSuffix;
- shift(2);
- } else if (c == 'c' && n1 == 'm') {
- flags = cmSuffix;
- shift(2);
- } else if (c == 'm' && n1 == 'm') {
- flags = mmSuffix;
- shift(2);
- } else if (c == 'i' && n1 == 'n') {
- flags = inSuffix;
- shift(2);
- } else if (c == 'p' && n1 == 't') {
- flags = ptSuffix;
- shift(2);
- } else if (c == 'p' && n1 == 'c') {
- flags = pcSuffix;
- shift(1);
- } else if (c == 'd' && n1 == 'e' && n2 == 'g') {
- flags = degSuffix;
- shift(3);
- } else if (c == 'r' && n1 == 'a' && n2 == 'd') {
- flags = radSuffix;
- shift(3);
- } else if (c == 'g' && n1 == 'r' && n2 == 'a' && n3 == 'd') {
- flags = gradSuffix;
- shift(4);
- } else if (c == 'm' && n1 == 's') {
- flags = msSuffix;
- shift(2);
- } else if (c == 's') {
- flags = sSuffix;
- shift(1);
- } else if (c == 'h' && n1 == 'z') {
- flags = hzSuffix;
- shift(2);
- } else if (c == 'k' && n1 == 'h' && n2 == 'z') {
- flags = khzSuffix;
- shift(3);
- }
- }
-
// no identifiers allowed directly after numeric literal, e.g. "3in" is bad
if ((state == Number || state == Octal || state == Hex)
&& isIdentLetter(current)) {
@@ -1038,7 +980,6 @@ int Lexer::matchPunctuator(ushort c1, ushort c2,
case '[': shift(1); return QmlJSGrammar::T_LBRACKET;
case ']': shift(1); return QmlJSGrammar::T_RBRACKET;
case ';': shift(1); return QmlJSGrammar::T_SEMICOLON;
- case '@': shift(1); return QmlJSGrammar::T_AT;
default: return -1;
}
diff --git a/src/declarative/qml/parser/qmljslexer_p.h b/src/declarative/qml/parser/qmljslexer_p.h
index e1ff23e..5817868 100644
--- a/src/declarative/qml/parser/qmljslexer_p.h
+++ b/src/declarative/qml/parser/qmljslexer_p.h
@@ -112,25 +112,6 @@ public:
Other,
Bad };
- enum Suffix {
- noSuffix,
- emSuffix,
- exSuffix,
- pxSuffix,
- cmSuffix,
- mmSuffix,
- inSuffix,
- ptSuffix,
- pcSuffix,
- degSuffix,
- radSuffix,
- gradSuffix,
- msSuffix,
- sSuffix,
- hzSuffix,
- khzSuffix
- };
-
enum Error {
NoError,
IllegalCharacter,
diff --git a/src/declarative/qml/parser/qmljsparser.cpp b/src/declarative/qml/parser/qmljsparser.cpp
index 296559b..22f3820 100644
--- a/src/declarative/qml/parser/qmljsparser.cpp
+++ b/src/declarative/qml/parser/qmljsparser.cpp
@@ -292,109 +292,60 @@ case 20: {
} break;
case 21: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
-case 23: {
- sym(1).UiAttributeList = sym(1).UiAttributeList->finish();
-} break;
-
-case 24: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(), sym(1).UiAttribute);
-} break;
-
-case 25: {
- sym(1).UiAttributeList = makeAstNode<AST::UiAttributeList>(driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiAttribute);
-} break;
-
-case 28: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(driver->nodePool(), sym(2).sval);
- ast->atToken = loc(1);
- ast->nameToken = loc(2);
- sym(1).UiAttribute = ast;
-} break;
-
-case 29: {
- AST::UiAttribute *ast = makeAstNode<AST::UiAttribute>(driver->nodePool(),
- sym(2).sval, sym(4).Expression);
- ast->atToken = loc(1);
- ast->nameToken = loc(2);
- ast->equalToken = loc(3);
- sym(1).UiAttribute = ast;
-} break;
-
-case 30: {
- AST::IdentifierExpression *node = makeAstNode<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
- node->identifierToken = loc(1);
- sym(1).Node = node;
-} break;
-
-case 31: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
- node->literalToken = loc(1);
- sym(1).Node = node;
+case 22: {
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
-case 32: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(),
- sym(1).UiAttributeList, sym(2).UiObjectMember);
-} break;
-
-case 33: {
+case 23: {
AST::UiObjectMemberList *node = makeAstNode<AST:: UiObjectMemberList> (driver->nodePool(),
- sym(1).UiObjectMemberList, sym(2).UiAttributeList, sym(3).UiObjectMember);
+ sym(1).UiObjectMemberList, sym(2).UiObjectMember);
sym(1).Node = node;
} break;
-case 34: {
+case 24: {
sym(1).Node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(), sym(1).UiObjectMember);
} break;
-case 35: {
- sym(2).UiObjectMember->attributes = sym(1).UiAttributeList->finish();
- sym(1).Node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(), sym(2).UiObjectMember);
-} break;
-
-case 36: {
- sym(4).UiObjectMember->attributes = sym(3).UiAttributeList;
+case 25: {
AST::UiArrayMemberList *node = makeAstNode<AST::UiArrayMemberList> (driver->nodePool(),
- sym(1).UiArrayMemberList, sym(4).UiObjectMember);
+ sym(1).UiArrayMemberList, sym(3).UiObjectMember);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 37: {
+case 26: {
AST::UiObjectInitializer *node = makeAstNode<AST::UiObjectInitializer> (driver->nodePool(), (AST::UiObjectMemberList*)0);
node->lbraceToken = loc(1);
node->rbraceToken = loc(2);
sym(1).Node = node;
} break;
-case 38: {
+case 27: {
AST::UiObjectInitializer *node = makeAstNode<AST::UiObjectInitializer> (driver->nodePool(), sym(2).UiObjectMemberList->finish());
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 39: {
+case 28: {
AST::UiObjectDefinition *node = makeAstNode<AST::UiObjectDefinition> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
sym(2).UiObjectInitializer);
sym(1).Node = node;
} break;
-case 41: {
- AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(4).UiArrayMemberList->finish());
+case 30: {
+ AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish());
node->colonToken = loc(2);
node->lbracketToken = loc(3);
node->rbracketToken = loc(5);
sym(1).Node = node;
} break;
-case 42: {
+case 31: {
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(3).Expression)) {
AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
sym(1).UiQualifiedId->finish(), qualifiedId, sym(4).UiObjectInitializer);
@@ -409,62 +360,87 @@ case 42: {
return false; // ### recover
}
} break;
-case 43:case 44:case 45:case 46:
+
+case 32: {
+ if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(4).Expression)) {
+ AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), qualifiedId, sym(5).UiObjectInitializer);
+ node->colonToken = loc(3);
+ sym(1).Node = node;
+ } else {
+ sym(1).Node = 0;
+
+ diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(2),
+ QLatin1String("Expected a type name after token `:'")));
+
+ return false; // ### recover
+ }
+} break;
+case 33:case 34:case 35:case 36:
+{
+ AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(4).Statement);
+ node->colonToken = loc(3);
+ sym(1).Node = node;
+} break;
+case 37:case 38:case 39:case 40:
{
- AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
- sym(3).Statement);
+ AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
+ sym(1).UiQualifiedId->finish(), sym(3).Statement);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 47:
+case 41:
-case 48: {
+case 42: {
sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount());
break;
}
-case 50: {
+case 44: {
sym(1).Node = 0;
} break;
-case 51: {
+case 45: {
sym(1).Node = sym(1).UiParameterList->finish ();
} break;
-case 52: {
+case 46: {
AST::UiParameterList *node = makeAstNode<AST::UiParameterList> (driver->nodePool(), sym(1).sval, sym(2).sval);
node->identifierToken = loc(2);
sym(1).Node = node;
} break;
-case 53: {
+case 47: {
AST::UiParameterList *node = makeAstNode<AST::UiParameterList> (driver->nodePool(), sym(1).UiParameterList, sym(3).sval, sym(4).sval);
node->commaToken = loc(2);
node->identifierToken = loc(4);
sym(1).Node = node;
} break;
-case 54: {
+case 55: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), (NameId *)0, sym(2).sval);
node->type = AST::UiPublicMember::Signal;
node->propertyToken = loc(1);
node->typeToken = loc(2);
- node->identifierToken = loc(3);
+ node->identifierToken = loc(2);
node->parameters = sym(4).UiParameterList;
+ node->semicolonToken = loc(6);
sym(1).Node = node;
} break;
-case 55: {
+case 57: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), (NameId *)0, sym(2).sval);
node->type = AST::UiPublicMember::Signal;
node->propertyToken = loc(1);
node->typeToken = loc(2);
- node->identifierToken = loc(3);
+ node->identifierToken = loc(2);
+ node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 57: {
+case 59: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval);
node->propertyToken = loc(1);
node->typeToken = loc(2);
@@ -473,7 +449,7 @@ case 57: {
sym(1).Node = node;
} break;
-case 59: {
+case 61: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(3).sval, sym(4).sval);
node->isDefaultMember = true;
node->defaultToken = loc(1);
@@ -484,7 +460,7 @@ case 59: {
sym(1).Node = node;
} break;
-case 61: {
+case 63: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval,
sym(5).Expression);
node->propertyToken = loc(1);
@@ -495,7 +471,7 @@ case 61: {
sym(1).Node = node;
} break;
-case 63: {
+case 65: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(3).sval, sym(4).sval,
sym(6).Expression);
node->isDefaultMember = true;
@@ -508,76 +484,76 @@ case 63: {
sym(1).Node = node;
} break;
-case 64: {
+case 66: {
sym(1).Node = makeAstNode<AST::UiSourceElement>(driver->nodePool(), sym(1).Node);
} break;
-case 65: {
+case 67: {
sym(1).Node = makeAstNode<AST::UiSourceElement>(driver->nodePool(), sym(1).Node);
} break;
-case 66:
-case 67:
+case 68:
+case 69:
{
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()));
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 69: {
+case 71: {
QString s = QLatin1String(QmlJSGrammar::spell[T_PROPERTY]);
sym(1).sval = driver->intern(s.constData(), s.length());
break;
}
-case 70: {
+case 72: {
QString s = QLatin1String(QmlJSGrammar::spell[T_SIGNAL]);
sym(1).sval = driver->intern(s.constData(), s.length());
break;
}
-case 71: {
+case 73: {
AST::ThisExpression *node = makeAstNode<AST::ThisExpression> (driver->nodePool());
node->thisToken = loc(1);
sym(1).Node = node;
} break;
-case 72: {
+case 74: {
AST::IdentifierExpression *node = makeAstNode<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 73: {
+case 75: {
AST::NullExpression *node = makeAstNode<AST::NullExpression> (driver->nodePool());
node->nullToken = loc(1);
sym(1).Node = node;
} break;
-case 74: {
+case 76: {
AST::TrueLiteral *node = makeAstNode<AST::TrueLiteral> (driver->nodePool());
node->trueToken = loc(1);
sym(1).Node = node;
} break;
-case 75: {
+case 77: {
AST::FalseLiteral *node = makeAstNode<AST::FalseLiteral> (driver->nodePool());
node->falseToken = loc(1);
sym(1).Node = node;
} break;
-case 76: {
- AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval, lexer->flags);
+case 78: {
+ AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 77:
-case 78: {
+case 79:
+case 80: {
AST::StringLiteral *node = makeAstNode<AST::StringLiteral> (driver->nodePool(), sym(1).sval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 79: {
+case 81: {
bool rx = lexer->scanRegExp(Lexer::NoPrefix);
if (!rx) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage()));
@@ -588,7 +564,7 @@ case 79: {
sym(1).Node = node;
} break;
-case 80: {
+case 82: {
bool rx = lexer->scanRegExp(Lexer::EqualPrefix);
if (!rx) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage()));
@@ -599,28 +575,28 @@ case 80: {
sym(1).Node = node;
} break;
-case 81: {
+case 83: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), (AST::Elision *) 0);
node->lbracketToken = loc(1);
node->rbracketToken = loc(2);
sym(1).Node = node;
} break;
-case 82: {
+case 84: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).Elision->finish());
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
sym(1).Node = node;
} break;
-case 83: {
+case 85: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish ());
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
sym(1).Node = node;
} break;
-case 84: {
+case 86: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish (),
(AST::Elision *) 0);
node->lbracketToken = loc(1);
@@ -629,7 +605,7 @@ case 84: {
sym(1).Node = node;
} break;
-case 85: {
+case 87: {
AST::ArrayLiteral *node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish (),
sym(4).Elision->finish());
node->lbracketToken = loc(1);
@@ -638,7 +614,7 @@ case 85: {
sym(1).Node = node;
} break;
-case 86: {
+case 88: {
AST::ObjectLiteral *node = 0;
if (sym(2).Node)
node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
@@ -650,7 +626,7 @@ case 86: {
sym(1).Node = node;
} break;
-case 87: {
+case 89: {
AST::ObjectLiteral *node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
sym(2).PropertyNameAndValueList->finish ());
node->lbraceToken = loc(1);
@@ -658,67 +634,67 @@ case 87: {
sym(1).Node = node;
} break;
-case 88: {
+case 90: {
AST::NestedExpression *node = makeAstNode<AST::NestedExpression>(driver->nodePool(), sym(2).Expression);
node->lparenToken = loc(1);
node->rparenToken = loc(3);
sym(1).Node = node;
} break;
-case 89: {
+case 91: {
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 90: {
+case 92: {
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 91: {
+case 93: {
sym(1).Node = makeAstNode<AST::ElementList> (driver->nodePool(), (AST::Elision *) 0, sym(1).Expression);
} break;
-case 92: {
+case 94: {
sym(1).Node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).Elision->finish(), sym(2).Expression);
} break;
-case 93: {
+case 95: {
AST::ElementList *node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).ElementList,
(AST::Elision *) 0, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 94: {
+case 96: {
AST::ElementList *node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).ElementList, sym(3).Elision->finish(),
sym(4).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 95: {
+case 97: {
AST::Elision *node = makeAstNode<AST::Elision> (driver->nodePool());
node->commaToken = loc(1);
sym(1).Node = node;
} break;
-case 96: {
+case 98: {
AST::Elision *node = makeAstNode<AST::Elision> (driver->nodePool(), sym(1).Elision);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 97: {
+case 99: {
AST::PropertyNameAndValueList *node = makeAstNode<AST::PropertyNameAndValueList> (driver->nodePool(),
sym(1).PropertyName, sym(3).Expression);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 98: {
+case 100: {
AST::PropertyNameAndValueList *node = makeAstNode<AST::PropertyNameAndValueList> (driver->nodePool(),
sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression);
node->commaToken = loc(2);
@@ -726,40 +702,36 @@ case 98: {
sym(1).Node = node;
} break;
-case 99: {
+case 101: {
AST::IdentifierPropertyName *node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 100:
-case 101: {
+case 102:
+case 103: {
AST::IdentifierPropertyName *node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()));
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 102: {
+case 104: {
AST::StringLiteralPropertyName *node = makeAstNode<AST::StringLiteralPropertyName> (driver->nodePool(), sym(1).sval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 103: {
+case 105: {
AST::NumericLiteralPropertyName *node = makeAstNode<AST::NumericLiteralPropertyName> (driver->nodePool(), sym(1).dval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 104: {
+case 106: {
AST::IdentifierPropertyName *node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval);
node->propertyNameToken = loc(1);
sym(1).Node = node;
} break;
-case 105:
-
-case 106:
-
case 107:
case 108:
@@ -817,25 +789,29 @@ case 133:
case 134:
case 135:
+
+case 136:
+
+case 137:
{
sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount());
} break;
-case 140: {
+case 142: {
AST::ArrayMemberExpression *node = makeAstNode<AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-case 141: {
+case 143: {
AST::FieldMemberExpression *node = makeAstNode<AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval);
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 142: {
+case 144: {
AST::NewMemberExpression *node = makeAstNode<AST::NewMemberExpression> (driver->nodePool(), sym(2).Expression, sym(4).ArgumentList);
node->newToken = loc(1);
node->lparenToken = loc(3);
@@ -843,316 +819,309 @@ case 142: {
sym(1).Node = node;
} break;
-case 144: {
+case 146: {
AST::NewExpression *node = makeAstNode<AST::NewExpression> (driver->nodePool(), sym(2).Expression);
node->newToken = loc(1);
sym(1).Node = node;
} break;
-case 145: {
+case 147: {
AST::CallExpression *node = makeAstNode<AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 146: {
+case 148: {
AST::CallExpression *node = makeAstNode<AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 147: {
+case 149: {
AST::ArrayMemberExpression *node = makeAstNode<AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-case 148: {
+case 150: {
AST::FieldMemberExpression *node = makeAstNode<AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval);
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 149: {
+case 151: {
sym(1).Node = 0;
} break;
-case 150: {
+case 152: {
sym(1).Node = sym(1).ArgumentList->finish();
} break;
-case 151: {
+case 153: {
sym(1).Node = makeAstNode<AST::ArgumentList> (driver->nodePool(), sym(1).Expression);
} break;
-case 152: {
+case 154: {
AST::ArgumentList *node = makeAstNode<AST::ArgumentList> (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 156: {
+case 158: {
AST::PostIncrementExpression *node = makeAstNode<AST::PostIncrementExpression> (driver->nodePool(), sym(1).Expression);
node->incrementToken = loc(2);
sym(1).Node = node;
} break;
-case 157: {
+case 159: {
AST::PostDecrementExpression *node = makeAstNode<AST::PostDecrementExpression> (driver->nodePool(), sym(1).Expression);
node->decrementToken = loc(2);
sym(1).Node = node;
} break;
-case 159: {
+case 161: {
AST::DeleteExpression *node = makeAstNode<AST::DeleteExpression> (driver->nodePool(), sym(2).Expression);
node->deleteToken = loc(1);
sym(1).Node = node;
} break;
-case 160: {
+case 162: {
AST::VoidExpression *node = makeAstNode<AST::VoidExpression> (driver->nodePool(), sym(2).Expression);
node->voidToken = loc(1);
sym(1).Node = node;
} break;
-case 161: {
+case 163: {
AST::TypeOfExpression *node = makeAstNode<AST::TypeOfExpression> (driver->nodePool(), sym(2).Expression);
node->typeofToken = loc(1);
sym(1).Node = node;
} break;
-case 162: {
+case 164: {
AST::PreIncrementExpression *node = makeAstNode<AST::PreIncrementExpression> (driver->nodePool(), sym(2).Expression);
node->incrementToken = loc(1);
sym(1).Node = node;
} break;
-case 163: {
+case 165: {
AST::PreDecrementExpression *node = makeAstNode<AST::PreDecrementExpression> (driver->nodePool(), sym(2).Expression);
node->decrementToken = loc(1);
sym(1).Node = node;
} break;
-case 164: {
+case 166: {
AST::UnaryPlusExpression *node = makeAstNode<AST::UnaryPlusExpression> (driver->nodePool(), sym(2).Expression);
node->plusToken = loc(1);
sym(1).Node = node;
} break;
-case 165: {
+case 167: {
AST::UnaryMinusExpression *node = makeAstNode<AST::UnaryMinusExpression> (driver->nodePool(), sym(2).Expression);
node->minusToken = loc(1);
sym(1).Node = node;
} break;
-case 166: {
+case 168: {
AST::TildeExpression *node = makeAstNode<AST::TildeExpression> (driver->nodePool(), sym(2).Expression);
node->tildeToken = loc(1);
sym(1).Node = node;
} break;
-case 167: {
+case 169: {
AST::NotExpression *node = makeAstNode<AST::NotExpression> (driver->nodePool(), sym(2).Expression);
node->notToken = loc(1);
sym(1).Node = node;
} break;
-case 169: {
+case 171: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Mul, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 170: {
+case 172: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Div, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 171: {
+case 173: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Mod, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 173: {
+case 175: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Add, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 174: {
+case 176: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Sub, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 176: {
+case 178: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::LShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 177: {
+case 179: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::RShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 178: {
+case 180: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::URShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 180: {
+case 182: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Lt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 181: {
+case 183: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Gt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 182: {
+case 184: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Le, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 183: {
+case 185: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Ge, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 184: {
+case 186: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::InstanceOf, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 185: {
+case 187: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::In, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 187: {
+case 189: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Lt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 188: {
+case 190: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Gt, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 189: {
+case 191: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Le, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 190: {
+case 192: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Ge, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 191: {
+case 193: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::InstanceOf, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 193: {
+case 195: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Equal, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 194: {
+case 196: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::NotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 195: {
+case 197: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::StrictEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 196: {
+case 198: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::StrictNotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 198: {
+case 200: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::Equal, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 199: {
+case 201: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::NotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 200: {
+case 202: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
QSOperator::StrictEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 201: {
- AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::StrictNotEqual, sym(3).Expression);
- node->operatorToken = loc(2);
- sym(1).Node = node;
-} break;
-
case 203: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::BitAnd, sym(3).Expression);
+ QSOperator::StrictNotEqual, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1166,7 +1135,7 @@ case 205: {
case 207: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::BitXor, sym(3).Expression);
+ QSOperator::BitAnd, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1180,7 +1149,7 @@ case 209: {
case 211: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::BitOr, sym(3).Expression);
+ QSOperator::BitXor, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1194,7 +1163,7 @@ case 213: {
case 215: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::And, sym(3).Expression);
+ QSOperator::BitOr, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1208,7 +1177,7 @@ case 217: {
case 219: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
- QSOperator::Or, sym(3).Expression);
+ QSOperator::And, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
@@ -1221,6 +1190,13 @@ case 221: {
} break;
case 223: {
+ AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
+ QSOperator::Or, sym(3).Expression);
+ node->operatorToken = loc(2);
+ sym(1).Node = node;
+} break;
+
+case 225: {
AST::ConditionalExpression *node = makeAstNode<AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression,
sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
@@ -1228,7 +1204,7 @@ case 223: {
sym(1).Node = node;
} break;
-case 225: {
+case 227: {
AST::ConditionalExpression *node = makeAstNode<AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression,
sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
@@ -1236,112 +1212,112 @@ case 225: {
sym(1).Node = node;
} break;
-case 227: {
+case 229: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 229: {
+case 231: {
AST::BinaryExpression *node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression,
sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-case 230: {
+case 232: {
sym(1).ival = QSOperator::Assign;
} break;
-case 231: {
+case 233: {
sym(1).ival = QSOperator::InplaceMul;
} break;
-case 232: {
+case 234: {
sym(1).ival = QSOperator::InplaceDiv;
} break;
-case 233: {
+case 235: {
sym(1).ival = QSOperator::InplaceMod;
} break;
-case 234: {
+case 236: {
sym(1).ival = QSOperator::InplaceAdd;
} break;
-case 235: {
+case 237: {
sym(1).ival = QSOperator::InplaceSub;
} break;
-case 236: {
+case 238: {
sym(1).ival = QSOperator::InplaceLeftShift;
} break;
-case 237: {
+case 239: {
sym(1).ival = QSOperator::InplaceRightShift;
} break;
-case 238: {
+case 240: {
sym(1).ival = QSOperator::InplaceURightShift;
} break;
-case 239: {
+case 241: {
sym(1).ival = QSOperator::InplaceAnd;
} break;
-case 240: {
+case 242: {
sym(1).ival = QSOperator::InplaceXor;
} break;
-case 241: {
+case 243: {
sym(1).ival = QSOperator::InplaceOr;
} break;
-case 243: {
+case 245: {
AST::Expression *node = makeAstNode<AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 244: {
+case 246: {
sym(1).Node = 0;
} break;
-case 247: {
+case 249: {
AST::Expression *node = makeAstNode<AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 248: {
+case 250: {
sym(1).Node = 0;
} break;
-case 265: {
+case 267: {
AST::Block *node = makeAstNode<AST::Block> (driver->nodePool(), sym(2).StatementList);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 266: {
+case 268: {
sym(1).Node = makeAstNode<AST::StatementList> (driver->nodePool(), sym(1).Statement);
} break;
-case 267: {
+case 269: {
sym(1).Node = makeAstNode<AST::StatementList> (driver->nodePool(), sym(1).StatementList, sym(2).Statement);
} break;
-case 268: {
+case 270: {
sym(1).Node = 0;
} break;
-case 269: {
+case 271: {
sym(1).Node = sym(1).StatementList->finish ();
} break;
-case 271: {
+case 273: {
AST::VariableStatement *node = makeAstNode<AST::VariableStatement> (driver->nodePool(),
sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST));
node->declarationKindToken = loc(1);
@@ -1349,76 +1325,76 @@ case 271: {
sym(1).Node = node;
} break;
-case 272: {
+case 274: {
sym(1).ival = T_CONST;
} break;
-case 273: {
+case 275: {
sym(1).ival = T_VAR;
} break;
-case 274: {
+case 276: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration);
} break;
-case 275: {
+case 277: {
AST::VariableDeclarationList *node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(),
sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 276: {
+case 278: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration);
} break;
-case 277: {
+case 279: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
} break;
-case 278: {
+case 280: {
AST::VariableDeclaration *node = makeAstNode<AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 279: {
+case 281: {
AST::VariableDeclaration *node = makeAstNode<AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 280: {
+case 282: {
// ### TODO: AST for initializer
sym(1) = sym(2);
} break;
-case 281: {
+case 283: {
sym(1).Node = 0;
} break;
-case 283: {
+case 285: {
// ### TODO: AST for initializer
sym(1) = sym(2);
} break;
-case 284: {
+case 286: {
sym(1).Node = 0;
} break;
-case 286: {
+case 288: {
AST::EmptyStatement *node = makeAstNode<AST::EmptyStatement> (driver->nodePool());
node->semicolonToken = loc(1);
sym(1).Node = node;
} break;
-case 288: {
+case 290: {
AST::ExpressionStatement *node = makeAstNode<AST::ExpressionStatement> (driver->nodePool(), sym(1).Expression);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 289: {
+case 291: {
AST::IfStatement *node = makeAstNode<AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -1427,7 +1403,7 @@ case 289: {
sym(1).Node = node;
} break;
-case 290: {
+case 292: {
AST::IfStatement *node = makeAstNode<AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -1435,7 +1411,7 @@ case 290: {
sym(1).Node = node;
} break;
-case 292: {
+case 294: {
AST::DoWhileStatement *node = makeAstNode<AST::DoWhileStatement> (driver->nodePool(), sym(2).Statement, sym(5).Expression);
node->doToken = loc(1);
node->whileToken = loc(3);
@@ -1445,7 +1421,7 @@ case 292: {
sym(1).Node = node;
} break;
-case 293: {
+case 295: {
AST::WhileStatement *node = makeAstNode<AST::WhileStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
node->whileToken = loc(1);
node->lparenToken = loc(2);
@@ -1453,7 +1429,7 @@ case 293: {
sym(1).Node = node;
} break;
-case 294: {
+case 296: {
AST::ForStatement *node = makeAstNode<AST::ForStatement> (driver->nodePool(), sym(3).Expression,
sym(5).Expression, sym(7).Expression, sym(9).Statement);
node->forToken = loc(1);
@@ -1464,7 +1440,7 @@ case 294: {
sym(1).Node = node;
} break;
-case 295: {
+case 297: {
AST::LocalForStatement *node = makeAstNode<AST::LocalForStatement> (driver->nodePool(),
sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression,
sym(8).Expression, sym(10).Statement);
@@ -1477,7 +1453,7 @@ case 295: {
sym(1).Node = node;
} break;
-case 296: {
+case 298: {
AST:: ForEachStatement *node = makeAstNode<AST::ForEachStatement> (driver->nodePool(), sym(3).Expression,
sym(5).Expression, sym(7).Statement);
node->forToken = loc(1);
@@ -1487,7 +1463,7 @@ case 296: {
sym(1).Node = node;
} break;
-case 297: {
+case 299: {
AST::LocalForEachStatement *node = makeAstNode<AST::LocalForEachStatement> (driver->nodePool(),
sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement);
node->forToken = loc(1);
@@ -1498,14 +1474,14 @@ case 297: {
sym(1).Node = node;
} break;
-case 299: {
+case 301: {
AST::ContinueStatement *node = makeAstNode<AST::ContinueStatement> (driver->nodePool());
node->continueToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 301: {
+case 303: {
AST::ContinueStatement *node = makeAstNode<AST::ContinueStatement> (driver->nodePool(), sym(2).sval);
node->continueToken = loc(1);
node->identifierToken = loc(2);
@@ -1513,14 +1489,14 @@ case 301: {
sym(1).Node = node;
} break;
-case 303: {
+case 305: {
AST::BreakStatement *node = makeAstNode<AST::BreakStatement> (driver->nodePool());
node->breakToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 305: {
+case 307: {
AST::BreakStatement *node = makeAstNode<AST::BreakStatement> (driver->nodePool(), sym(2).sval);
node->breakToken = loc(1);
node->identifierToken = loc(2);
@@ -1528,14 +1504,14 @@ case 305: {
sym(1).Node = node;
} break;
-case 307: {
+case 309: {
AST::ReturnStatement *node = makeAstNode<AST::ReturnStatement> (driver->nodePool(), sym(2).Expression);
node->returnToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 308: {
+case 310: {
AST::WithStatement *node = makeAstNode<AST::WithStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
node->withToken = loc(1);
node->lparenToken = loc(2);
@@ -1543,7 +1519,7 @@ case 308: {
sym(1).Node = node;
} break;
-case 309: {
+case 311: {
AST::SwitchStatement *node = makeAstNode<AST::SwitchStatement> (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock);
node->switchToken = loc(1);
node->lparenToken = loc(2);
@@ -1551,90 +1527,90 @@ case 309: {
sym(1).Node = node;
} break;
-case 310: {
+case 312: {
AST::CaseBlock *node = makeAstNode<AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 311: {
+case 313: {
AST::CaseBlock *node = makeAstNode<AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(5);
sym(1).Node = node;
} break;
-case 312: {
+case 314: {
sym(1).Node = makeAstNode<AST::CaseClauses> (driver->nodePool(), sym(1).CaseClause);
} break;
-case 313: {
+case 315: {
sym(1).Node = makeAstNode<AST::CaseClauses> (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause);
} break;
-case 314: {
+case 316: {
sym(1).Node = 0;
} break;
-case 315: {
+case 317: {
sym(1).Node = sym(1).CaseClauses->finish ();
} break;
-case 316: {
+case 318: {
AST::CaseClause *node = makeAstNode<AST::CaseClause> (driver->nodePool(), sym(2).Expression, sym(4).StatementList);
node->caseToken = loc(1);
node->colonToken = loc(3);
sym(1).Node = node;
} break;
-case 317: {
+case 319: {
AST::DefaultClause *node = makeAstNode<AST::DefaultClause> (driver->nodePool(), sym(3).StatementList);
node->defaultToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 318:
-case 319: {
+case 320:
+case 321: {
AST::LabelledStatement *node = makeAstNode<AST::LabelledStatement> (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()), sym(3).Statement);
node->identifierToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 320: {
+case 322: {
AST::LabelledStatement *node = makeAstNode<AST::LabelledStatement> (driver->nodePool(), sym(1).sval, sym(3).Statement);
node->identifierToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 322: {
+case 324: {
AST::ThrowStatement *node = makeAstNode<AST::ThrowStatement> (driver->nodePool(), sym(2).Expression);
node->throwToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 323: {
+case 325: {
AST::TryStatement *node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 324: {
+case 326: {
AST::TryStatement *node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 325: {
+case 327: {
AST::TryStatement *node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-case 326: {
+case 328: {
AST::Catch *node = makeAstNode<AST::Catch> (driver->nodePool(), sym(3).sval, sym(5).Block);
node->catchToken = loc(1);
node->lparenToken = loc(2);
@@ -1643,20 +1619,20 @@ case 326: {
sym(1).Node = node;
} break;
-case 327: {
+case 329: {
AST::Finally *node = makeAstNode<AST::Finally> (driver->nodePool(), sym(2).Block);
node->finallyToken = loc(1);
sym(1).Node = node;
} break;
-case 329: {
+case 331: {
AST::DebuggerStatement *node = makeAstNode<AST::DebuggerStatement> (driver->nodePool());
node->debuggerToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 330: {
+case 332: {
AST::FunctionDeclaration *node = makeAstNode<AST::FunctionDeclaration> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
node->identifierToken = loc(2);
@@ -1667,7 +1643,7 @@ case 330: {
sym(1).Node = node;
} break;
-case 331: {
+case 333: {
AST::FunctionExpression *node = makeAstNode<AST::FunctionExpression> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
if (sym(2).sval)
@@ -1679,56 +1655,56 @@ case 331: {
sym(1).Node = node;
} break;
-case 332: {
+case 334: {
AST::FormalParameterList *node = makeAstNode<AST::FormalParameterList> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 333: {
+case 335: {
AST::FormalParameterList *node = makeAstNode<AST::FormalParameterList> (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval);
node->commaToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 334: {
+case 336: {
sym(1).Node = 0;
} break;
-case 335: {
+case 337: {
sym(1).Node = sym(1).FormalParameterList->finish ();
} break;
-case 336: {
+case 338: {
sym(1).Node = 0;
} break;
-case 338: {
+case 340: {
sym(1).Node = makeAstNode<AST::FunctionBody> (driver->nodePool(), sym(1).SourceElements->finish ());
} break;
-case 339: {
+case 341: {
sym(1).Node = makeAstNode<AST::SourceElements> (driver->nodePool(), sym(1).SourceElement);
} break;
-case 340: {
+case 342: {
sym(1).Node = makeAstNode<AST::SourceElements> (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement);
} break;
-case 341: {
+case 343: {
sym(1).Node = makeAstNode<AST::StatementSourceElement> (driver->nodePool(), sym(1).Statement);
} break;
-case 342: {
+case 344: {
sym(1).Node = makeAstNode<AST::FunctionSourceElement> (driver->nodePool(), sym(1).FunctionDeclaration);
} break;
-case 343: {
+case 345: {
sym(1).sval = 0;
} break;
-case 345: {
+case 347: {
sym(1).Node = 0;
} break;
diff --git a/src/declarative/qml/parser/qmljsparser_p.h b/src/declarative/qml/parser/qmljsparser_p.h
index 74d3c84..be5317b 100644
--- a/src/declarative/qml/parser/qmljsparser_p.h
+++ b/src/declarative/qml/parser/qmljsparser_p.h
@@ -120,8 +120,6 @@ public:
AST::UiObjectMemberList *UiObjectMemberList;
AST::UiArrayMemberList *UiArrayMemberList;
AST::UiQualifiedId *UiQualifiedId;
- AST::UiAttributeList *UiAttributeList;
- AST::UiAttribute *UiAttribute;
};
public:
@@ -221,9 +219,9 @@ protected:
-#define J_SCRIPT_REGEXPLITERAL_RULE1 79
+#define J_SCRIPT_REGEXPLITERAL_RULE1 81
-#define J_SCRIPT_REGEXPLITERAL_RULE2 80
+#define J_SCRIPT_REGEXPLITERAL_RULE2 82
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri
index d8b69df..6ee670e 100644
--- a/src/declarative/qml/qml.pri
+++ b/src/declarative/qml/qml.pri
@@ -5,7 +5,7 @@ SOURCES += qml/qmlparser.cpp \
qml/qmlexpression.cpp \
qml/qmlbinding.cpp \
qml/qmlmetaproperty.cpp \
- qml/qmlbindablecomponent.cpp \
+ qml/qmlcomponentjs.cpp \
qml/qmlcomponent.cpp \
qml/qmlcontext.cpp \
qml/qmlcustomparser.cpp \
@@ -38,8 +38,8 @@ HEADERS += qml/qmlparser_p.h \
qml/qmlbinding.h \
qml/qmlbinding_p.h \
qml/qmlmetaproperty.h \
- qml/qmlbindablecomponent.h \
- qml/qmlbindablecomponent_p.h \
+ qml/qmlcomponentjs.h \
+ qml/qmlcomponentjs_p.h \
qml/qmlcomponent.h \
qml/qmlcomponent_p.h \
qml/qmlcustomparser_p.h \
diff --git a/src/declarative/qml/qmlbasicscript.cpp b/src/declarative/qml/qmlbasicscript.cpp
index 073642f..8fcb0e1 100644
--- a/src/declarative/qml/qmlbasicscript.cpp
+++ b/src/declarative/qml/qmlbasicscript.cpp
@@ -89,7 +89,7 @@ class QmlBasicScriptPrivate
{
public:
enum Flags { OwnData = 0x00000001 };
-
+
int size;
int stateSize;
int instructionCount;
@@ -102,14 +102,14 @@ public:
return (const char *)(instructions() + instructionCount);
}
- const char *data() const
+ const char *data() const
{
return (const char *)(instructions() + instructionCount) + exprLen + 1;
}
static unsigned int alignRound(int s)
{
- if (s % 4)
+ if (s % 4)
s += 4 - (s % 4);
return s;
}
@@ -177,10 +177,10 @@ static QVariant fetch_value(QObject *o, int idx, int type)
return QVariant(val);
}
break;
- default:
+ default:
{
if (QmlMetaType::isObject(type)) {
- // NOTE: This assumes a cast to QObject does not alter the
+ // NOTE: This assumes a cast to QObject does not alter the
// object pointer
QObject *val = 0;
void *args[] = { &val, 0 };
@@ -241,14 +241,14 @@ struct QmlBasicScriptCompiler
evaluated using the QmlBasicScript engine.
To see if the QmlBasicScript engine can handle a binding, call compile()
- and check the return value, or isValid() afterwards.
+ and check the return value, or isValid() afterwards.
To evaluate the binding, the QmlBasicScript instance needs some memory in
which to cache state. This may be allocated by calling newScriptState()
and destroyed by calling deleteScriptState(). The state data is then passed
to the run() method when evaluating the binding.
- To further accelerate binding, QmlBasicScript can return a precompiled
+ To further accelerate binding, QmlBasicScript can return a precompiled
version of itself that can be saved for future use. Call compileData() to
get an opaque pointer to the compiled state, and compileDataSize() for the
size of this data in bytes. This data can be saved and passed to future
@@ -271,10 +271,10 @@ QmlBasicScript::QmlBasicScript()
previously created QmlBasicScript instance. Any other data will almost
certainly cause the QmlBasicScript engine to crash.
- \a data must continue to be valid throughout the QmlBasicScript instance
+ \a data must continue to be valid throughout the QmlBasicScript instance
life. It does not assume ownership of the memory.
- If \a owner is set, it is referenced on creation and dereferenced on
+ If \a owner is set, it is referenced on creation and dereferenced on
destruction of this instance.
*/
@@ -407,8 +407,8 @@ bool QmlBasicScript::compile(const Expression &expression)
if (bsc.compile(expression.expression.asAST())) {
int len = ::strlen(src);
flags = QmlBasicScriptPrivate::OwnData;
- int size = sizeof(QmlBasicScriptPrivate) +
- bsc.bytecode.count() * sizeof(ScriptInstruction) +
+ int size = sizeof(QmlBasicScriptPrivate) +
+ bsc.bytecode.count() * sizeof(ScriptInstruction) +
QmlBasicScriptPrivate::alignRound(bsc.data.count() + len + 1);
d = (QmlBasicScriptPrivate *) malloc(size);
d->size = size;
@@ -416,10 +416,10 @@ bool QmlBasicScript::compile(const Expression &expression)
d->instructionCount = bsc.bytecode.count();
d->exprLen = len;
::memcpy((char *)d->expr(), src, len + 1);
- for (int ii = 0; ii < d->instructionCount; ++ii)
+ for (int ii = 0; ii < d->instructionCount; ++ii)
d->instructions()[ii] = bsc.bytecode.at(ii);
::memcpy((char *)d->data(), bsc.data.constData(), bsc.data.count());
- }
+ }
return d != 0;
}
@@ -431,15 +431,14 @@ bool QmlBasicScriptCompiler::compile(QmlJS::AST::Node *node)
bool QmlBasicScriptCompiler::tryConstant(QmlJS::AST::Node *node)
{
- if (node->kind == AST::Node::Kind_TrueLiteral ||
+ if (node->kind == AST::Node::Kind_TrueLiteral ||
node->kind == AST::Node::Kind_FalseLiteral)
return true;
if (node->kind == AST::Node::Kind_NumericLiteral) {
AST::NumericLiteral *lit = static_cast<AST::NumericLiteral *>(node);
- return lit->suffix == AST::NumericLiteral::noSuffix &&
- double(int(lit->value)) == lit->value;
+ return double(int(lit->value)) == lit->value;
}
return false;
@@ -469,13 +468,13 @@ bool QmlBasicScriptCompiler::tryName(QmlJS::AST::Node *node)
node->kind == AST::Node::Kind_FieldMemberExpression;
}
-bool QmlBasicScriptCompiler::buildName(QStringList &name,
+bool QmlBasicScriptCompiler::buildName(QStringList &name,
QmlJS::AST::Node *node)
{
if (node->kind == AST::Node::Kind_IdentifierExpression) {
name << static_cast<AST::IdentifierExpression*>(node)->name->asString();
} else if (node->kind == AST::Node::Kind_FieldMemberExpression) {
- AST::FieldMemberExpression *expr =
+ AST::FieldMemberExpression *expr =
static_cast<AST::FieldMemberExpression *>(node);
if (!buildName(name, expr->base))
@@ -499,7 +498,7 @@ QmlBasicScriptCompiler::fetch(int type, const QMetaObject *mo, int idx)
if (prop.isConstant())
instr.constant.notify = 0;
else
- instr.constant.notify = prop.notifySignalIndex();
+ instr.constant.notify = prop.notifySignalIndex();
instr.constant.type = prop.userType();
bytecode << instr;
return QmlMetaType::metaObjectForType(prop.userType());
@@ -518,7 +517,7 @@ bool QmlBasicScriptCompiler::parseName(AST::Node *node)
const QString &name = nameParts.at(ii);
// We don't handle signal properties
- if (name.length() > 2 && name.startsWith(QLatin1String("on")) &&
+ if (name.length() > 2 && name.startsWith(QLatin1String("on")) &&
name.at(2).isUpper())
return false;
@@ -543,10 +542,10 @@ bool QmlBasicScriptCompiler::parseName(AST::Node *node)
d1Idx = component->metaObject()->indexOfProperty(cname);
if (d0Idx != -1) {
- metaType = fetch(ScriptInstruction::FetchContextConstant,
+ metaType = fetch(ScriptInstruction::FetchContextConstant,
context->metaObject(), d0Idx);
} else if(d1Idx != -1) {
- metaType = fetch(ScriptInstruction::FetchRootConstant,
+ metaType = fetch(ScriptInstruction::FetchRootConstant,
component->metaObject(), d1Idx);
} else {
return false;
@@ -602,7 +601,7 @@ bool QmlBasicScriptCompiler::compileExpression(QmlJS::AST::Node *node)
bool QmlBasicScriptCompiler::tryBinaryExpression(AST::Node *node)
{
if (node->kind == AST::Node::Kind_BinaryExpression) {
- AST::BinaryExpression *expr =
+ AST::BinaryExpression *expr =
static_cast<AST::BinaryExpression *>(node);
if (expr->op == QSOperator::Equal)
@@ -614,7 +613,7 @@ bool QmlBasicScriptCompiler::tryBinaryExpression(AST::Node *node)
bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node)
{
if (node->kind == AST::Node::Kind_BinaryExpression) {
- AST::BinaryExpression *expr =
+ AST::BinaryExpression *expr =
static_cast<AST::BinaryExpression *>(node);
if (!compileExpression(expr->left)) return false;
@@ -631,7 +630,7 @@ bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node)
bytecode.append(instr);
return true;
- }
+ }
return false;
}
@@ -639,7 +638,7 @@ bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node)
\enum QmlBasicScript::CacheState
\value NoChange The query has not change. Any previous monitoring is still
valid.
- \value Incremental The query has been incrementally changed. Any previous
+ \value Incremental The query has been incrementally changed. Any previous
monitoring is still valid, but needs to have the fresh properties added to
it.
\value Reset The entire query has been reset from the beginning. Any previous
@@ -647,60 +646,60 @@ bool QmlBasicScriptCompiler::compileBinaryExpression(AST::Node *node)
*/
/*!
- Run the script in \a context and return the result. \a voidCache should
- contain state memory previously acquired from newScript.
+ Run the script in \a context and return the result. \a voidCache should
+ contain state memory previously acquired from newScript.
*/
QVariant QmlBasicScript::run(QmlContext *context, void *voidCache, CacheState *cached)
{
Q_UNUSED(voidCache);
if (!isValid())
return QVariant();
-
+
QmlContextPrivate *contextPrivate = context->d_func();
QmlEnginePrivate *enginePrivate = context->engine()->d_func();
QStack<QVariant> stack;
-
+
CacheState state = NoChange;
for (int idx = 0; idx < d->instructionCount; ++idx) {
const ScriptInstruction &instr = d->instructions()[idx];
switch(instr.type) {
- case ScriptInstruction::LoadIdObject:
+ case ScriptInstruction::LoadIdObject:
{
stack.push(contextPrivate->propertyValues.at(instr.fetch.idx));
enginePrivate->capturedProperties <<
- QmlEnginePrivate::CapturedProperty(context, -1, contextPrivate->notifyIndex + instr.fetch.idx);
+ QmlEnginePrivate::CapturedProperty(context, -1, contextPrivate->notifyIndex + instr.fetch.idx);
state = Reset;
}
break;
- case ScriptInstruction::FetchContextConstant:
+ case ScriptInstruction::FetchContextConstant:
{
QObject *obj = contextPrivate->defaultObjects.at(0);
stack.push(fetch_value(obj, instr.constant.idx, instr.constant.type));
if (obj && instr.constant.notify != 0)
enginePrivate->capturedProperties <<
- QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify);
+ QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify);
state = Reset;
}
break;
- case ScriptInstruction::FetchRootConstant:
+ case ScriptInstruction::FetchRootConstant:
{
QObject *obj = contextPrivate->defaultObjects.at(1);
stack.push(fetch_value(obj, instr.constant.idx, instr.constant.type));
if (obj && instr.constant.notify != 0)
enginePrivate->capturedProperties <<
- QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify);
+ QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify);
state = Reset;
}
break;
- case ScriptInstruction::FetchConstant:
+ case ScriptInstruction::FetchConstant:
{
QVariant o = stack.pop();
QObject *obj = qvariant_cast<QObject *>(o);
@@ -708,7 +707,7 @@ QVariant QmlBasicScript::run(QmlContext *context, void *voidCache, CacheState *c
stack.push(fetch_value(obj, instr.constant.idx, instr.constant.type));
if (obj && instr.constant.notify != 0)
enginePrivate->capturedProperties <<
- QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify);
+ QmlEnginePrivate::CapturedProperty(obj, instr.constant.idx, instr.constant.notify);
state = Reset;
}
break;
diff --git a/src/declarative/qml/qmlbinding.cpp b/src/declarative/qml/qmlbinding.cpp
index 431dd66..41cef49 100644
--- a/src/declarative/qml/qmlbinding.cpp
+++ b/src/declarative/qml/qmlbinding.cpp
@@ -139,8 +139,7 @@ void QmlBinding::update()
} else {
QVariant value = this->value();
- if ((uint)d->property.propertyType() >= QVariant::UserType &&
- value.type() == QVariant::String) {
+ if (value.type() == QVariant::String) {
QmlMetaType::StringConverter con = QmlMetaType::customStringConverter(d->property.propertyType());
if (con)
value = con(value.toString());
diff --git a/src/declarative/qml/qmlbindablecomponent.cpp b/src/declarative/qml/qmlcomponentjs.cpp
index 6938592..32c2249 100644
--- a/src/declarative/qml/qmlbindablecomponent.cpp
+++ b/src/declarative/qml/qmlcomponentjs.cpp
@@ -39,48 +39,48 @@
**
****************************************************************************/
-#include "qmlbindablecomponent.h"
-#include "qmlbindablecomponent_p.h"
+#include "qmlcomponentjs.h"
+#include "qmlcomponentjs_p.h"
#include "qmlcomponent.h"
QT_BEGIN_NAMESPACE
-QmlBindableComponent::QmlBindableComponent(QmlEngine *engine, QObject *parent)
- : QmlComponent(*(new QmlBindableComponentPrivate), parent)
+QmlComponentJS::QmlComponentJS(QmlEngine *engine, QObject *parent)
+ : QmlComponent(*(new QmlComponentJSPrivate), parent)
{
- Q_D(QmlBindableComponent);
+ Q_D(QmlComponentJS);
d->engine = engine;
connect(this, SIGNAL(statusChanged(QmlComponent::Status)),
this, SLOT(statusChange(QmlComponent::Status)));
}
-QmlBindableComponent::QmlBindableComponent(QmlEngine *engine, const QUrl &url, QObject *parent)
- : QmlComponent(*(new QmlBindableComponentPrivate), parent)
+QmlComponentJS::QmlComponentJS(QmlEngine *engine, const QUrl &url, QObject *parent)
+ : QmlComponent(*(new QmlComponentJSPrivate), parent)
{
- Q_D(QmlBindableComponent);
+ Q_D(QmlComponentJS);
d->engine = engine;
loadUrl(url);
connect(this, SIGNAL(statusChanged(QmlComponent::Status)),
this, SLOT(statusChange(QmlComponent::Status)));
}
-void QmlBindableComponent::setContext(QmlContext* c)
+void QmlComponentJS::setContext(QmlContext* c)
{
- Q_D(QmlBindableComponent);
+ Q_D(QmlComponentJS);
d->ctxt =c;
}
/*!
Create a script object instance from this component. Returns a null
script object if creation failed. It will create the instance in the
- same context that it was created it. QmlBindableComponent is only
+ same context that it was created it. QmlComponentJS is only
meant to be created from with script - C++ developers should just use
QmlComponent directly.
Similar to QmlComponent::create(), but creates an object suitable
for usage within scripts.
*/
-QScriptValue QmlBindableComponent::createObject()
+QScriptValue QmlComponentJS::createObject()
{
- Q_D(QmlBindableComponent);
+ Q_D(QmlComponentJS);
QObject* ret = create(d->ctxt);
return QmlEngine::qmlScriptObject(ret, d->engine);
}
@@ -95,9 +95,9 @@ QScriptValue QmlBindableComponent::createObject()
\sa errors()
*/
-QString QmlBindableComponent::errorsString() const
+QString QmlComponentJS::errorsString() const
{
- Q_D(const QmlBindableComponent);
+ Q_D(const QmlComponentJS);
QString ret;
if(!isError())
return ret;
@@ -110,9 +110,9 @@ QString QmlBindableComponent::errorsString() const
}
-void QmlBindableComponent::statusChange(QmlComponent::Status newStatus)
+void QmlComponentJS::statusChange(QmlComponent::Status newStatus)
{
- Q_D(QmlBindableComponent);
+ Q_D(QmlComponentJS);
if(newStatus == d->prevStatus)
return;
if(newStatus == QmlComponent::Null || d->prevStatus == QmlComponent::Null)
diff --git a/src/declarative/qml/qmlbindablecomponent.h b/src/declarative/qml/qmlcomponentjs.h
index 43e3537..5ad1635 100644
--- a/src/declarative/qml/qmlbindablecomponent.h
+++ b/src/declarative/qml/qmlcomponentjs.h
@@ -55,17 +55,17 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-class QmlBindableComponentPrivate;
+class QmlComponentJSPrivate;
class QmlEngine;
class QmlContext;
-class Q_DECLARATIVE_EXPORT QmlBindableComponent : public QmlComponent
+class Q_DECLARATIVE_EXPORT QmlComponentJS : public QmlComponent
{
Q_OBJECT
- Q_DECLARE_PRIVATE(QmlBindableComponent)
+ Q_DECLARE_PRIVATE(QmlComponentJS)
friend class QmlEngine;
public:
- QmlBindableComponent(QmlEngine *, const QUrl &url, QObject *parent = 0);
- QmlBindableComponent(QmlEngine *, QObject *parent=0);
+ QmlComponentJS(QmlEngine *, const QUrl &url, QObject *parent = 0);
+ QmlComponentJS(QmlEngine *, QObject *parent=0);
Q_PROPERTY(bool isNull READ isNull NOTIFY isNullChanged);
Q_PROPERTY(bool isReady READ isReady NOTIFY isReadyChanged);
Q_PROPERTY(bool isError READ isError NOTIFY isErrorChanged);
@@ -86,7 +86,7 @@ private slots:
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QmlBindableComponent)
+QML_DECLARE_TYPE(QmlComponentJS)
QT_END_HEADER
#endif
diff --git a/src/declarative/qml/qmlbindablecomponent_p.h b/src/declarative/qml/qmlcomponentjs_p.h
index 79335df..75d5517 100644
--- a/src/declarative/qml/qmlbindablecomponent_p.h
+++ b/src/declarative/qml/qmlcomponentjs_p.h
@@ -54,18 +54,18 @@
//
#include "qmlcomponent.h"
-#include "qmlbindablecomponent.h"
+#include "qmlcomponentjs.h"
#include "qmlcomponent_p.h"
QT_BEGIN_NAMESPACE
class QmlContext;
-class QmlBindableComponentPrivate : public QmlComponentPrivate
+class QmlComponentJSPrivate : public QmlComponentPrivate
{
- Q_DECLARE_PUBLIC(QmlBindableComponent)
+ Q_DECLARE_PUBLIC(QmlComponentJS)
public:
- QmlBindableComponentPrivate() : QmlComponentPrivate(),
- prevStatus(QmlBindableComponent::Null), ctxt(0)
+ QmlComponentJSPrivate() : QmlComponentPrivate(),
+ prevStatus(QmlComponentJS::Null), ctxt(0)
{ }
QmlComponent::Status prevStatus;
diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp
index 33c6710..69cc542 100644
--- a/src/declarative/qml/qmlengine.cpp
+++ b/src/declarative/qml/qmlengine.cpp
@@ -71,7 +71,7 @@
#include <QtCore/qcoreapplication.h>
#include <QtCore/qdir.h>
#include <qmlcomponent.h>
-#include <qmlbindablecomponent.h>
+#include <qmlcomponentjs.h>
#include "private/qmlmetaproperty_p.h"
#include <private/qmlbinding_p.h>
#include <private/qmlvme_p.h>
@@ -602,18 +602,18 @@ QScriptValue QmlEngine::qmlScriptObject(QObject* object, QmlEngine* engine)
*/
QScriptValue QmlEngine::createComponent(QScriptContext *ctxt, QScriptEngine *engine)
{
- QmlBindableComponent* c;
+ QmlComponentJS* c;
QmlEngine* activeEngine = qobject_cast<QmlEngine*>(
engine->globalObject().property(QLatin1String("qmlEngine")).toQObject());
QmlContext* context =activeEngine->d_func()->currentExpression->context();
if(ctxt->argumentCount() != 1 || !activeEngine){
- c = new QmlBindableComponent(activeEngine);
+ c = new QmlComponentJS(activeEngine);
}else{
QUrl url = QUrl(context->resolvedUrl(ctxt->argument(0).toString()));
if(!url.isValid()){
url = QUrl(ctxt->argument(0).toString());
}
- c = new QmlBindableComponent(activeEngine, url, activeEngine);
+ c = new QmlComponentJS(activeEngine, url, activeEngine);
}
c->setContext(context);
return engine->newQObject(c);
diff --git a/src/declarative/qml/qmlrewrite.cpp b/src/declarative/qml/qmlrewrite.cpp
index 02bf8fa..c708418 100644
--- a/src/declarative/qml/qmlrewrite.cpp
+++ b/src/declarative/qml/qmlrewrite.cpp
@@ -61,7 +61,7 @@ void RewriteBinding::accept(AST::Node *node)
AST::Node::acceptChild(node, this);
}
-QString RewriteBinding::rewrite(QString code, unsigned position,
+QString RewriteBinding::rewrite(QString code, unsigned position,
AST::Statement *node)
{
TextWriter w;
@@ -101,57 +101,6 @@ bool RewriteBinding::visit(AST::ExpressionStatement *ast)
return false;
}
-bool RewriteBinding::visit(AST::NumericLiteral *node)
-{
- if (node->suffix != AST::NumericLiteral::noSuffix) {
- const int suffixLength = AST::NumericLiteral::suffixLength[node->suffix];
- const char *suffixSpell = AST::NumericLiteral::suffixSpell[node->suffix];
- QString pre;
- pre += QLatin1String("qmlNumberFrom");
- pre += QChar(QLatin1Char(suffixSpell[0])).toUpper();
- pre += QLatin1String(&suffixSpell[1]);
- pre += QLatin1Char('(');
- _writer->replace(node->literalToken.begin() - _position, 0, pre);
- _writer->replace(node->literalToken.end() - _position - suffixLength,
- suffixLength,
- QLatin1String(")"));
- }
-
- return false;
-}
-
-QString RewriteNumericLiterals::operator()(QString code, unsigned position, AST::Node *node)
-{
- TextWriter w;
- _writer = &w;
- _position = position;
-
- AST::Node::acceptChild(node, this);
-
- w.write(&code);
-
- return code;
-}
-
-bool RewriteNumericLiterals::visit(AST::NumericLiteral *node)
-{
- if (node->suffix != AST::NumericLiteral::noSuffix) {
- const int suffixLength = AST::NumericLiteral::suffixLength[node->suffix];
- const char *suffixSpell = AST::NumericLiteral::suffixSpell[node->suffix];
- QString pre;
- pre += QLatin1String("qmlNumberFrom");
- pre += QChar(QLatin1Char(suffixSpell[0])).toUpper();
- pre += QLatin1String(&suffixSpell[1]);
- pre += QLatin1Char('(');
- _writer->replace(node->literalToken.begin() - _position, 0, pre);
- _writer->replace(node->literalToken.end() - _position - suffixLength,
- suffixLength,
- QLatin1String(")"));
- }
-
- return false;
-}
-
} // namespace QmlRewrite
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qmlrewrite_p.h b/src/declarative/qml/qmlrewrite_p.h
index 51a8015..b6fe017 100644
--- a/src/declarative/qml/qmlrewrite_p.h
+++ b/src/declarative/qml/qmlrewrite_p.h
@@ -78,21 +78,6 @@ protected:
QString rewrite(QString code, unsigned position, AST::Statement *node);
virtual bool visit(AST::Block *ast);
virtual bool visit(AST::ExpressionStatement *ast);
- virtual bool visit(AST::NumericLiteral *node);
-};
-
-class RewriteNumericLiterals: protected AST::Visitor
-{
- unsigned _position;
- TextWriter *_writer;
-
-public:
- QString operator()(QString code, unsigned position, AST::Node *node);
-
-protected:
- using AST::Visitor::visit;
-
- virtual bool visit(AST::NumericLiteral *node);
};
} // namespace QmlRewrite
diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp
index c1c11c7..2f82f0d 100644
--- a/src/declarative/qml/qmlscriptparser.cpp
+++ b/src/declarative/qml/qmlscriptparser.cpp
@@ -154,15 +154,12 @@ protected:
const AST::SourceLocation &last) const
{ return _contents.mid(first.offset, last.offset + last.length - first.offset); }
- QmlRewrite::RewriteNumericLiterals rewriteNumericLiterals;
-
QString asString(AST::ExpressionNode *expr)
{
if (! expr)
return QString();
- return rewriteNumericLiterals(textAt(expr->firstSourceLocation(), expr->lastSourceLocation()),
- expr->firstSourceLocation().offset, expr);
+ return textAt(expr->firstSourceLocation(), expr->lastSourceLocation());
}
QString asString(AST::Statement *stmt)
@@ -170,9 +167,7 @@ protected:
if (! stmt)
return QString();
- QString s = rewriteNumericLiterals(textAt(stmt->firstSourceLocation(), stmt->lastSourceLocation()),
- stmt->firstSourceLocation().offset, stmt);
-
+ QString s = textAt(stmt->firstSourceLocation(), stmt->lastSourceLocation());
s += QLatin1Char('\n');
return s;
}
@@ -479,7 +474,7 @@ bool ProcessAST::visit(AST::UiPublicMember *node)
const QString memberType = p->type->asString();
const char *qtType = 0;
for(int ii = 0; !qtType && ii < propTypeNameToTypesCount; ++ii) {
- if(QLatin1String(propTypeNameToTypes[ii].name) == memberType)
+ if(QLatin1String(propTypeNameToTypes[ii].name) == memberType)
qtType = propTypeNameToTypes[ii].qtName;
}
@@ -530,7 +525,7 @@ bool ProcessAST::visit(AST::UiPublicMember *node)
property.isDefaultProperty = node->isDefaultMember;
property.type = type;
property.name = name.toUtf8();
- property.location = location(node->firstSourceLocation(),
+ property.location = location(node->firstSourceLocation(),
node->lastSourceLocation());
if (node->expression) { // default value
@@ -588,11 +583,7 @@ QmlParser::Variant ProcessAST::getVariant(AST::ExpressionNode *expr)
} else if (expr->kind == AST::Node::Kind_FalseLiteral) {
return QmlParser::Variant(false);
} else if (AST::NumericLiteral *lit = AST::cast<AST::NumericLiteral *>(expr)) {
- if (lit->suffix == AST::NumericLiteral::noSuffix)
- return QmlParser::Variant(lit->value, asString(expr));
- else
- return QmlParser::Variant(asString(expr), expr);
-
+ return QmlParser::Variant(lit->value, asString(expr));
} else {
if (AST::UnaryMinusExpression *unaryMinus = AST::cast<AST::UnaryMinusExpression *>(expr)) {
@@ -624,7 +615,7 @@ bool ProcessAST::visit(AST::UiScriptBinding *node)
if (AST::ExpressionStatement *stmt = AST::cast<AST::ExpressionStatement *>(node->statement)) {
primitive = getVariant(stmt->expression);
} else { // do binding
- primitive = QmlParser::Variant(asString(node->statement),
+ primitive = QmlParser::Variant(asString(node->statement),
node->statement);
}
diff --git a/src/declarative/util/qmlfontfamily.cpp b/src/declarative/util/qmlfontfamily.cpp
index 407d2ab..e539085 100644
--- a/src/declarative/util/qmlfontfamily.cpp
+++ b/src/declarative/util/qmlfontfamily.cpp
@@ -57,13 +57,14 @@ class QmlFontFamilyPrivate : public QObjectPrivate
Q_DECLARE_PUBLIC(QmlFontFamily);
public:
- QmlFontFamilyPrivate() : reply(0) {}
+ QmlFontFamilyPrivate() : reply(0), loading(false) {}
void addFontToDatabase(const QByteArray &);
QUrl url;
QString name;
QNetworkReply *reply;
+ bool loading;
};
QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FontFamily,QmlFontFamily)
@@ -94,6 +95,8 @@ void QmlFontFamily::setSource(const QUrl &url)
return;
d->url = qmlContext(this)->resolvedUrl(url);
+ d->loading = true;
+ emit loadingChanged();
#ifndef QT_NO_LOCALFILE_OPTIMIZED_QML
if (d->url.scheme() == QLatin1String("file")) {
QFile file(d->url.toLocalFile());
@@ -125,6 +128,12 @@ void QmlFontFamily::setName(const QString &name)
emit nameChanged();
}
+bool QmlFontFamily::isLoading() const
+{
+ Q_D(const QmlFontFamily);
+ return d->loading;
+}
+
void QmlFontFamily::replyFinished()
{
Q_D(QmlFontFamily);
@@ -144,6 +153,8 @@ void QmlFontFamilyPrivate::addFontToDatabase(const QByteArray &ba)
if (id != -1) {
name = QFontDatabase::applicationFontFamilies(id).at(0);
emit q->nameChanged();
+ loading = false;
+ emit q->loadingChanged();
} else {
qWarning() << "Cannot load font: " << name << url;
}
diff --git a/src/declarative/util/qmlfontfamily.h b/src/declarative/util/qmlfontfamily.h
index 739a553..c647f67 100644
--- a/src/declarative/util/qmlfontfamily.h
+++ b/src/declarative/util/qmlfontfamily.h
@@ -59,6 +59,7 @@ class Q_DECLARATIVE_EXPORT QmlFontFamily : public QObject
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(bool loading READ isLoading NOTIFY loadingChanged)
public:
QmlFontFamily(QObject *parent = 0);
@@ -70,11 +71,14 @@ public:
QString name() const;
void setName(const QString &name);
+ bool isLoading() const;
+
private Q_SLOTS:
void replyFinished();
Q_SIGNALS:
void nameChanged();
+ void loadingChanged();
};
QT_END_NAMESPACE