aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@qt.io>2021-07-06 23:50:30 +0200
committerFawzi Mohamed <fawzi.mohamed@qt.io>2021-07-20 09:02:15 +0000
commitaf88a7876b50ed9dd71e3fc7614eef5998908d03 (patch)
tree8d8345ea2962a11579b3802ce68df6732c290674 /src/libs
parentdc654cfcba7f1c446ea1bd32e326d3f8c747cf4f (diff)
qmljs: update Qml parser to parser of Qt 6.2
this is needed (among other things) for * null coalescing * shebang support Change-Id: I1b37fd86593f143de8b39c0daf433831a8785568 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/qmljs/CMakeLists.txt1
-rw-r--r--src/libs/qmljs/parser/parser.pri2
-rw-r--r--src/libs/qmljs/parser/qmldirparser.cpp96
-rw-r--r--src/libs/qmljs/parser/qmldirparser_p.h41
-rw-r--r--src/libs/qmljs/parser/qmlimportresolver.cpp108
-rw-r--r--src/libs/qmljs/parser/qmlimportresolver_p.h50
-rw-r--r--src/libs/qmljs/parser/qmljs.g128
-rw-r--r--src/libs/qmljs/parser/qmljsast.cpp63
-rw-r--r--src/libs/qmljs/parser/qmljsast_p.h271
-rw-r--r--src/libs/qmljs/parser/qmljsastfwd_p.h3
-rw-r--r--src/libs/qmljs/parser/qmljsastvisitor.cpp2
-rw-r--r--src/libs/qmljs/parser/qmljsastvisitor_p.h8
-rw-r--r--src/libs/qmljs/parser/qmljsdiagnosticmessage_p.h2
-rw-r--r--src/libs/qmljs/parser/qmljsengine_p.cpp12
-rw-r--r--src/libs/qmljs/parser/qmljsengine_p.h13
-rw-r--r--src/libs/qmljs/parser/qmljsglobal_p.h2
-rw-r--r--src/libs/qmljs/parser/qmljsgrammar.cpp4038
-rw-r--r--src/libs/qmljs/parser/qmljsgrammar_p.h92
-rw-r--r--src/libs/qmljs/parser/qmljskeywords_p.h2
-rw-r--r--src/libs/qmljs/parser/qmljslexer.cpp539
-rw-r--r--src/libs/qmljs/parser/qmljslexer_p.h3
-rw-r--r--src/libs/qmljs/parser/qmljsmemorypool_p.h5
-rw-r--r--src/libs/qmljs/parser/qmljsparser.cpp1568
-rw-r--r--src/libs/qmljs/parser/qmljsparser_p.h22
-rw-r--r--src/libs/qmljs/parser/qmljssourcelocation_p.h46
-rw-r--r--src/libs/qmljs/qmljs.qbs1
-rw-r--r--src/libs/qmljs/qmljs_global.h2
-rw-r--r--src/libs/qmljs/qmljsdocument.cpp8
-rw-r--r--src/libs/qmljs/qmljsdocument.h6
-rw-r--r--src/libs/qmljs/qmljsmodelmanagerinterface.cpp2
-rw-r--r--src/libs/qmljs/qmljsplugindumper.cpp4
-rw-r--r--src/libs/qmljs/qmljsutils.cpp2
32 files changed, 3748 insertions, 3394 deletions
diff --git a/src/libs/qmljs/CMakeLists.txt b/src/libs/qmljs/CMakeLists.txt
index ebb985daf8..bf06a2a88d 100644
--- a/src/libs/qmljs/CMakeLists.txt
+++ b/src/libs/qmljs/CMakeLists.txt
@@ -4,6 +4,7 @@ add_qtc_library(QmlJS
SOURCES
jsoncheck.cpp jsoncheck.h
parser/qmldirparser.cpp parser/qmldirparser_p.h
+ parser/qmlimportresolver.cpp parser/qmlimportresolver_p.h
parser/qmljsast.cpp parser/qmljsast_p.h
parser/qmljsastfwd_p.h
parser/qmljsastvisitor.cpp parser/qmljsastvisitor_p.h
diff --git a/src/libs/qmljs/parser/parser.pri b/src/libs/qmljs/parser/parser.pri
index 0694a5188b..d27091628c 100644
--- a/src/libs/qmljs/parser/parser.pri
+++ b/src/libs/qmljs/parser/parser.pri
@@ -3,6 +3,7 @@ HEADERS += \
$$PWD/qmljsastfwd_p.h \
$$PWD/qmljsastvisitor_p.h \
$$PWD/qmljsengine_p.h \
+ $$PWD/qmlimportresolver_p.h \
$$PWD/qmljslexer_p.h \
$$PWD/qmljsglobal_p.h \
$$PWD/qmljssourcelocation_p.h \
@@ -16,6 +17,7 @@ SOURCES += \
$$PWD/qmljsast.cpp \
$$PWD/qmljsastvisitor.cpp \
$$PWD/qmljsengine_p.cpp \
+ $$PWD/qmlimportresolver.cpp \
$$PWD/qmljslexer.cpp \
$$PWD/qmldirparser.cpp \
$$PWD/qmljsgrammar.cpp \
diff --git a/src/libs/qmljs/parser/qmldirparser.cpp b/src/libs/qmljs/parser/qmldirparser.cpp
index 88a5b5f6ab..f8bce96962 100644
--- a/src/libs/qmljs/parser/qmldirparser.cpp
+++ b/src/libs/qmljs/parser/qmldirparser.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -102,7 +102,7 @@ void QmlDirParser::clear()
_plugins.clear();
_designerSupported = false;
_typeInfos.clear();
- _className.clear();
+ _classNames.clear();
}
inline static void scanSpace(const QChar *&ch) {
@@ -258,7 +258,6 @@ bool QmlDirParser::parse(const QString &source)
"not %1.").arg(sections[1]));
continue;
}
-
} else if (sections[0] == QLatin1String("classname")) {
if (sectionCount < 2) {
reportError(lineNumber, 0,
@@ -267,7 +266,7 @@ bool QmlDirParser::parse(const QString &source)
continue;
}
- _className = sections[1];
+ _classNames.append(sections[1]);
} else if (sections[0] == QLatin1String("internal")) {
if (sectionCount != 3) {
@@ -308,19 +307,38 @@ bool QmlDirParser::parse(const QString &source)
QStringLiteral("typeinfo requires 1 argument, but %1 were provided").arg(sectionCount - 1));
continue;
}
-#ifdef QT_CREATOR
- TypeInfo typeInfo(sections[1]);
- _typeInfos.append(typeInfo);
-#endif
-
+ _typeInfos.append(sections[1]);
} else if (sections[0] == QLatin1String("designersupported")) {
if (sectionCount != 1)
reportError(lineNumber, 0, QStringLiteral("designersupported does not expect any argument"));
else
_designerSupported = true;
- } else if (sections[0] == QLatin1String("depends") || sections[0] == QLatin1String("import")) {
+ } else if (sections[0] == QLatin1String("import")
+ || sections[0] == QLatin1String("depends")) {
if (!readImport(sections, sectionCount, Import::Default))
continue;
+ } else if (sections[0] == QLatin1String("prefer")) {
+ if (sectionCount < 2) {
+ reportError(lineNumber, 0,
+ QStringLiteral("prefer directive requires one argument, "
+ "but %1 were provided").arg(sectionCount - 1));
+ continue;
+ }
+
+ if (!_preferredPath.isEmpty()) {
+ reportError(lineNumber, 0, QStringLiteral(
+ "only one prefer directive may be defined in a qmldir file"));
+ continue;
+ }
+
+ if (!sections[1].endsWith(u'/')) {
+ // Yes. People should realize it's a directory.
+ reportError(lineNumber, 0, QStringLiteral(
+ "the preferred directory has to end with a '/'"));
+ continue;
+ }
+
+ _preferredPath = sections[1];
} else if (sectionCount == 2) {
// No version specified (should only be used for relative qmldir files)
const Component entry(sections[0], sections[1], -1, -1);
@@ -361,14 +379,6 @@ void QmlDirParser::reportError(quint16 line, quint16 column, const QString &desc
_errors.append(error);
}
-bool QmlDirParser::hasError() const
-{
- if (! _errors.isEmpty())
- return true;
-
- return false;
-}
-
void QmlDirParser::setError(const QmlJS::DiagnosticMessage &e)
{
_errors.clear();
@@ -388,56 +398,6 @@ QList<QmlJS::DiagnosticMessage> QmlDirParser::errors(const QString &uri) const
return errors;
}
-QString QmlDirParser::typeNamespace() const
-{
- return _typeNamespace;
-}
-
-void QmlDirParser::setTypeNamespace(const QString &s)
-{
- _typeNamespace = s;
-}
-
-QList<QmlDirParser::Plugin> QmlDirParser::plugins() const
-{
- return _plugins;
-}
-
-QMultiHash<QString, QmlDirParser::Component> QmlDirParser::components() const
-{
- return _components;
-}
-
-QList<QmlDirParser::Import> QmlDirParser::dependencies() const
-{
- return _dependencies;
-}
-
-QList<QmlDirParser::Import> QmlDirParser::imports() const
-{
- return _imports;
-}
-
-QList<QmlDirParser::Script> QmlDirParser::scripts() const
-{
- return _scripts;
-}
-
-QList<QmlDirParser::TypeInfo> QmlDirParser::typeInfos() const
-{
- return _typeInfos;
-}
-
-bool QmlDirParser::designerSupported() const
-{
- return _designerSupported;
-}
-
-QString QmlDirParser::className() const
-{
- return _className;
-}
-
QDebug &operator<< (QDebug &debug, const QmlDirParser::Component &component)
{
const QString output = QStringLiteral("{%1 %2.%3}").
diff --git a/src/libs/qmljs/parser/qmldirparser_p.h b/src/libs/qmljs/parser/qmldirparser_p.h
index 5576cfa515..21315fd71c 100644
--- a/src/libs/qmljs/parser/qmldirparser_p.h
+++ b/src/libs/qmljs/parser/qmldirparser_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -55,12 +55,12 @@ public:
void clear();
bool parse(const QString &source);
- bool hasError() const;
+ bool hasError() const { return !_errors.isEmpty(); }
void setError(const QmlJS::DiagnosticMessage &);
QList<QmlJS::DiagnosticMessage> errors(const QString &uri) const;
- QString typeNamespace() const;
- void setTypeNamespace(const QString &s);
+ QString typeNamespace() const { return _typeNamespace; }
+ void setTypeNamespace(const QString &s) { _typeNamespace = s; }
static void checkNonRelative(const char *item, const QString &typeName, const QString &fileName)
{
@@ -141,25 +141,16 @@ public:
Flags flags;
};
- QMultiHash<QString,Component> components() const;
- QList<Import> dependencies() const;
- QList<Import> imports() const;
- QList<Script> scripts() const;
- QList<Plugin> plugins() const;
- bool designerSupported() const;
+ QMultiHash<QString,Component> components() const { return _components; }
+ QList<Import> dependencies() const { return _dependencies; }
+ QList<Import> imports() const { return _imports; }
+ QList<Script> scripts() const { return _scripts; }
+ QList<Plugin> plugins() const { return _plugins; }
+ bool designerSupported() const { return _designerSupported; }
- struct TypeInfo
- {
- TypeInfo() = default;
- TypeInfo(const QString &fileName)
- : fileName(fileName) {}
-
- QString fileName;
- };
-
- QList<TypeInfo> typeInfos() const;
-
- QString className() const;
+ QStringList typeInfos() const { return _typeInfos; }
+ QStringList classNames() const { return _classNames; }
+ QString preferredPath() const { return _preferredPath; }
private:
bool maybeAddComponent(const QString &typeName, const QString &fileName, const QString &version, QHash<QString,Component> &hash, int lineNumber = -1, bool multi = true);
@@ -168,19 +159,21 @@ private:
private:
QList<QmlJS::DiagnosticMessage> _errors;
QString _typeNamespace;
+ QString _preferredPath;
QMultiHash<QString,Component> _components;
QList<Import> _dependencies;
QList<Import> _imports;
QList<Script> _scripts;
QList<Plugin> _plugins;
bool _designerSupported = false;
- QList<TypeInfo> _typeInfos;
- QString _className;
+ QStringList _typeInfos;
+ QStringList _classNames;
};
using QmlDirComponents = QMultiHash<QString,QmlDirParser::Component>;
using QmlDirScripts = QList<QmlDirParser::Script>;
using QmlDirPlugins = QList<QmlDirParser::Plugin>;
+using QmlDirImports = QList<QmlDirParser::Import>;
QDebug &operator<< (QDebug &, const QmlDirParser::Component &);
QDebug &operator<< (QDebug &, const QmlDirParser::Script &);
diff --git a/src/libs/qmljs/parser/qmlimportresolver.cpp b/src/libs/qmljs/parser/qmlimportresolver.cpp
new file mode 100644
index 0000000000..e74c5840c1
--- /dev/null
+++ b/src/libs/qmljs/parser/qmlimportresolver.cpp
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#include "qmlimportresolver_p.h"
+
+QT_QML_BEGIN_NAMESPACE
+
+enum ImportVersion { FullyVersioned, PartiallyVersioned, Unversioned };
+
+/*!
+ Forms complete paths to a module, from a list of base paths,
+ a module URI and version specification.
+
+ For example, QtQml.Models 2.0:
+ - base/QtQml/Models.2.0
+ - base/QtQml.2.0/Models
+ - base/QtQml/Models.2
+ - base/QtQml.2/Models
+ - base/QtQml/Models
+*/
+QStringList qQmlResolveImportPaths(QStringView uri, const QStringList &basePaths,
+ LanguageUtils::ComponentVersion version)
+{
+ static const QLatin1Char Slash('/');
+ static const QLatin1Char Backslash('\\');
+
+ const QList<QStringView> parts = uri.split(u'.', Qt::SkipEmptyParts);
+
+ QStringList importPaths;
+ // fully & partially versioned parts + 1 unversioned for each base path
+ importPaths.reserve(2 * parts.count() + 1);
+
+ auto versionString = [](LanguageUtils::ComponentVersion version, ImportVersion mode)
+ {
+ if (mode == FullyVersioned) {
+ // extension with fully encoded version number (eg. MyModule.3.2)
+ return QString::fromLatin1(".%1.%2").arg(version.majorVersion())
+ .arg(version.minorVersion());
+ }
+ if (mode == PartiallyVersioned) {
+ // extension with encoded version major (eg. MyModule.3)
+ return QString::fromLatin1(".%1").arg(version.majorVersion());
+ }
+ // else extension without version number (eg. MyModule)
+ return QString();
+ };
+
+ auto joinStringRefs = [](const QList<QStringView> &refs, const QChar &sep) {
+ QString str;
+ for (auto it = refs.cbegin(); it != refs.cend(); ++it) {
+ if (it != refs.cbegin())
+ str += sep;
+ str += *it;
+ }
+ return str;
+ };
+
+ const ImportVersion initial = ((version.minorVersion() >= 0)
+ ? FullyVersioned
+ : ((version.majorVersion() >= 0) ? PartiallyVersioned : Unversioned));
+ for (int mode = initial; mode <= Unversioned; ++mode) {
+ const QString ver = versionString(version, ImportVersion(mode));
+
+ for (const QString &path : basePaths) {
+ QString dir = path;
+ if (!dir.endsWith(Slash) && !dir.endsWith(Backslash))
+ dir += Slash;
+
+ // append to the end
+ importPaths += dir + joinStringRefs(parts, Slash) + ver;
+
+ if (mode != Unversioned) {
+ // insert in the middle
+ for (int index = parts.count() - 2; index >= 0; --index) {
+ importPaths += dir + joinStringRefs(parts.mid(0, index + 1), Slash)
+ + ver + Slash
+ + joinStringRefs(parts.mid(index + 1), Slash);
+ }
+ }
+ }
+ }
+
+ return importPaths;
+}
+
+QT_QML_END_NAMESPACE
diff --git a/src/libs/qmljs/parser/qmlimportresolver_p.h b/src/libs/qmljs/parser/qmlimportresolver_p.h
new file mode 100644
index 0000000000..68c052d408
--- /dev/null
+++ b/src/libs/qmljs/parser/qmlimportresolver_p.h
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#pragma once
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmljs/parser/qmljsglobal_p.h"
+
+#include "qmljsglobal_p.h"
+#include <QtCore/qstring.h>
+#include <languageutils/componentversion.h>
+
+QT_QML_BEGIN_NAMESPACE
+
+QML_PARSER_EXPORT QStringList qQmlResolveImportPaths(QStringView uri, const QStringList &basePaths,
+ LanguageUtils::ComponentVersion version);
+
+QT_QML_END_NAMESPACE
diff --git a/src/libs/qmljs/parser/qmljs.g b/src/libs/qmljs/parser/qmljs.g
index 262a489060..ae79830d2e 100644
--- a/src/libs/qmljs/parser/qmljs.g
+++ b/src/libs/qmljs/parser/qmljs.g
@@ -81,6 +81,7 @@
%token T_COMPATIBILITY_SEMICOLON
%token T_ARROW "=>"
%token T_QUESTION_QUESTION "??"
+%token T_QUESTION_DOT "?."
%token T_ENUM "enum"
%token T_ELLIPSIS "..."
%token T_YIELD "yield"
@@ -835,18 +836,32 @@ UiImport: UiImportHead Semicolon;
UiVersionSpecifier: T_VERSION_NUMBER T_DOT T_VERSION_NUMBER;
/.
case $rule_number: {
- auto version = new (pool) AST::UiVersionSpecifier(sym(1).dval, sym(3).dval);
+ const int major = sym(1).dval;
+ const int minor = sym(3).dval;
+ if (major < 0 || major >= 255 || minor < 0 || minor >= 255) {
+ diagnostic_messages.append(
+ compileError(loc(1),
+ QLatin1String("Invalid version. Version numbers must be >= 0 and < 255.")));
+ return false;
+ }
+ auto version = new (pool) AST::UiVersionSpecifier(major, minor);
version->majorToken = loc(1);
version->minorToken = loc(3);
sym(1).UiVersionSpecifier = version;
} break;
./
-
UiVersionSpecifier: T_VERSION_NUMBER;
/.
case $rule_number: {
- auto version = new (pool) AST::UiVersionSpecifier(sym(1).dval, 0);
+ const int major = sym(1).dval;
+ if (major < 0 || major >= 255) {
+ diagnostic_messages.append(
+ compileError(loc(1),
+ QLatin1String("Invalid major version. Version numbers must be >= 0 and < 255.")));
+ return false;
+ }
+ auto version = new (pool) AST::UiVersionSpecifier(sym(1).dval);
version->majorToken = loc(1);
sym(1).UiVersionSpecifier = version;
} break;
@@ -1320,6 +1335,7 @@ UiObjectMember: T_DEFAULT UiObjectMemberPropertyNoInitialiser;
} break;
./
+
UiObjectMember: T_REQUIRED UiObjectMemberListPropertyNoInitialiser;
/.
case $rule_number: {
@@ -2277,7 +2293,16 @@ MemberExpression: MemberExpression T_LBRACKET Expression_In T_RBRACKET;
sym(1).Node = node;
} break;
./
-
+MemberExpression: MemberExpression T_QUESTION_DOT T_LBRACKET Expression_In T_RBRACKET;
+/.
+ case $rule_number: {
+ AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(4).Expression);
+ node->lbracketToken = loc(3);
+ node->rbracketToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+./
-- the identifier has to be "target", catched at codegen time
NewTarget: T_NEW T_DOT T_IDENTIFIER;
@@ -2300,6 +2325,17 @@ MemberExpression: MemberExpression T_DOT IdentifierName;
} break;
./
+MemberExpression: MemberExpression T_QUESTION_DOT IdentifierName;
+/.
+ case $rule_number: {
+ AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
+ node->dotToken = loc(2);
+ node->identifierToken = loc(3);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+./
+
MemberExpression: MetaProperty;
MemberExpression: T_NEW MemberExpression T_LPAREN Arguments T_RPAREN;
@@ -2348,6 +2384,17 @@ CallExpression: MemberExpression T_LPAREN Arguments T_RPAREN;
} break;
./
+CallExpression: MemberExpression T_QUESTION_DOT T_LPAREN Arguments T_RPAREN;
+/.
+ case $rule_number: {
+ AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(4).ArgumentList);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+./
+
CallExpression: Super T_LPAREN Arguments T_RPAREN;
/. case $rule_number: Q_FALLTHROUGH(); ./
CallExpression: CallExpression T_LPAREN Arguments T_RPAREN;
@@ -2360,6 +2407,18 @@ CallExpression: CallExpression T_LPAREN Arguments T_RPAREN;
} break;
./
+CallExpression: CallExpression T_QUESTION_DOT T_LPAREN Arguments T_RPAREN;
+/.
+ case $rule_number: {
+ AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(4).ArgumentList);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+./
+
+
CallExpression: CallExpression T_LBRACKET Expression_In T_RBRACKET;
/.
case $rule_number: {
@@ -2370,6 +2429,17 @@ CallExpression: CallExpression T_LBRACKET Expression_In T_RBRACKET;
} break;
./
+CallExpression: CallExpression T_QUESTION_DOT T_LBRACKET Expression_In T_RBRACKET;
+/.
+ case $rule_number: {
+ AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(4).Expression);
+ node->lbracketToken = loc(3);
+ node->rbracketToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+./
+
CallExpression: CallExpression T_DOT IdentifierName;
/.
case $rule_number: {
@@ -2380,6 +2450,17 @@ CallExpression: CallExpression T_DOT IdentifierName;
} break;
./
+CallExpression: CallExpression T_QUESTION_DOT IdentifierName;
+/.
+ case $rule_number: {
+ AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
+ node->dotToken = loc(2);
+ node->identifierToken = loc(3);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+./
+
Arguments: ;
/.
case $rule_number: {
@@ -2673,30 +2754,22 @@ RelationalOperator: T_INSTANCEOF;
sym(1).ival = QSOperator::InstanceOf;
} break;
./
-
-RelationalExpression_In: RelationalExpression_In T_IN ShiftExpression;
+RelationalOperator: T_AS;
/.
case $rule_number: {
- AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::In, sym(3).Expression);
- node->operatorToken = loc(2);
- sym(1).Node = node;
+ sym(1).ival = QSOperator::As;
} break;
./
-TypeAssertExpression_In: RelationalExpression_In T_AS Type;
-/. case $rule_number: Q_FALLTHROUGH(); ./
-TypeAssertExpression: RelationalExpression T_AS Type;
+RelationalExpression_In: RelationalExpression_In T_IN ShiftExpression;
/.
case $rule_number: {
- AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::As, sym(3).Expression);
+ AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::In, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
./
-RelationalExpression_In: TypeAssertExpression_In;
-RelationalExpression: TypeAssertExpression;
-
EqualityExpression_In: RelationalExpression_In;
EqualityExpression: RelationalExpression;
@@ -2873,6 +2946,9 @@ AssignmentExpression: LeftHandSideExpression T_EQ AssignmentExpression;
AssignmentExpression_In: LeftHandSideExpression T_EQ AssignmentExpression_In;
/.
case $rule_number: {
+ if (sym(1).Expression->containsOptionalChain()) {
+ syntaxError(loc(1), QStringLiteral("Optional chains are not permitted on the left-hand-side in assignments"));
+ }
// need to convert the LHS to an AssignmentPattern if it was an Array/ObjectLiteral
if (AST::Pattern *p = sym(1).Expression->patternCast()) {
SourceLocation errorLoc;
@@ -2903,6 +2979,9 @@ AssignmentExpression: LeftHandSideExpression AssignmentOperator AssignmentExpres
AssignmentExpression_In: LeftHandSideExpression AssignmentOperator AssignmentExpression_In;
/.
case $rule_number: {
+ if (sym(1).Expression->containsOptionalChain()) {
+ syntaxError(loc(1), QStringLiteral("Optional chains are not permitted on the left-hand-side in assignments"));
+ }
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
@@ -4019,15 +4098,14 @@ ArrowFunction_In: ArrowParameters T_ARROW ConciseBodyLookahead AssignmentExpress
/.
case $rule_number: {
AST::ReturnStatement *ret = new (pool) AST::ReturnStatement(sym(4).Expression);
- ret->returnToken = sym(4).Node->firstSourceLocation().zeroLength();
- ret->semicolonToken = sym(4).Node->lastSourceLocation().zeroLengthEnd(driver->code());
+ ret->returnToken = sym(4).Node->firstSourceLocation().startZeroLengthLocation();
+ ret->semicolonToken = sym(4).Node->lastSourceLocation().endZeroLengthLocation(driver->code());
AST::StatementList *statements = (new (pool) AST::StatementList(ret))->finish();
- AST::FunctionExpression *f = new (pool)
- AST::FunctionExpression(QStringView(), sym(1).FormalParameterList, statements);
+ AST::FunctionExpression *f = new (pool) AST::FunctionExpression(QStringView(), sym(1).FormalParameterList, statements);
f->isArrowFunction = true;
- f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().zeroLength() : loc(1).zeroLength();
- f->lbraceToken = sym(4).Node->firstSourceLocation().zeroLength();
- f->rbraceToken = sym(4).Node->lastSourceLocation().zeroLengthEnd(driver->code());
+ f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().startZeroLengthLocation() : loc(1).startZeroLengthLocation();
+ f->lbraceToken = sym(4).Node->firstSourceLocation().startZeroLengthLocation();
+ f->rbraceToken = sym(4).Node->lastSourceLocation().endZeroLengthLocation(driver->code());
sym(1).Node = f;
} break;
./
@@ -4039,8 +4117,8 @@ ArrowFunction_In: ArrowParameters T_ARROW ConciseBodyLookahead T_FORCE_BLOCK Fun
case $rule_number: {
AST::FunctionExpression *f = new (pool) AST::FunctionExpression(QStringView(), sym(1).FormalParameterList, sym(6).StatementList);
f->isArrowFunction = true;
- f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().zeroLength() : loc(1).zeroLength();
- f->lbraceToken = loc(5);
+ f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().startZeroLengthLocation() : loc(1).startZeroLengthLocation();
+ f->lbraceToken = loc(6);
f->rbraceToken = loc(7);
sym(1).Node = f;
} break;
diff --git a/src/libs/qmljs/parser/qmljsast.cpp b/src/libs/qmljs/parser/qmljsast.cpp
index af12c480d3..fd99d9e4d5 100644
--- a/src/libs/qmljs/parser/qmljsast.cpp
+++ b/src/libs/qmljs/parser/qmljsast.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -23,11 +23,11 @@
**
****************************************************************************/
+#include <QLocale>
#include "qmljsast_p.h"
#include "qmljsastvisitor_p.h"
-
-#include <QLocale>
+#include <qlocale.h>
QT_QML_BEGIN_NAMESPACE
@@ -104,6 +104,44 @@ ExpressionNode *ExpressionNode::expressionCast()
return this;
}
+bool ExpressionNode::containsOptionalChain() const
+{
+ for (const Node *node = this;;) {
+ switch (node->kind) {
+ case Kind_FieldMemberExpression: {
+ const auto *fme = AST::cast<const FieldMemberExpression*>(node);
+ if (fme->isOptional)
+ return true;
+ node = fme->base;
+ break;
+ }
+ case Kind_ArrayMemberExpression: {
+ const auto *ame = AST::cast<const ArrayMemberExpression*>(node);
+ if (ame->isOptional)
+ return true;
+ node = ame->base;
+ break;
+ }
+ case Kind_CallExpression: {
+ const auto *ce = AST::cast<const CallExpression*>(node);
+ if (ce->isOptional)
+ return true;
+ node = ce->base;
+ break;
+ }
+ case Kind_NestedExpression: {
+ const auto *ne = AST::cast<const NestedExpression*>(node);
+ node = ne->expression;
+ break;
+ }
+ default:
+ // These unhandled nodes lead to invalid lvalues anyway, so they do not need to be handled here.
+ return false;
+ }
+ }
+ return false;
+}
+
FormalParameterList *ExpressionNode::reparseAsFormalParameterList(MemoryPool *pool)
{
AST::ExpressionNode *expr = this;
@@ -145,6 +183,12 @@ BinaryExpression *BinaryExpression::binaryExpressionCast()
return this;
}
+void TypeExpression::accept0(BaseVisitor *visitor)
+{
+ visitor->visit(this);
+ visitor->endVisit(this);
+}
+
Statement *Statement::statementCast()
{
return this;
@@ -989,7 +1033,13 @@ BoundNames FormalParameterList::formals() const
// change the name of the earlier argument to enforce the lookup semantics from the spec
formals[duplicateIndex].id += QLatin1String("#") + QString::number(i);
}
- formals += {name, it->element->typeAnnotation};
+ formals += {
+ name,
+ it->element->typeAnnotation,
+ it->element->isInjectedSignalParameter
+ ? BoundName::Injected
+ : BoundName::Declared
+ };
}
++i;
}
@@ -1392,7 +1442,8 @@ void PatternElement::boundNames(BoundNames *names)
else if (PatternPropertyList *p = propertyList())
p->boundNames(names);
} else {
- names->append({bindingIdentifier.toString(), typeAnnotation});
+ names->append({bindingIdentifier.toString(), typeAnnotation,
+ isInjectedSignalParameter ? BoundName::Injected : BoundName::Declared});
}
}
@@ -1531,7 +1582,7 @@ QString Type::toString() const
void Type::toString(QString *out) const
{
for (QmlJS::AST::UiQualifiedId *it = typeId; it; it = it->next) {
- out->append(it->name.toString());
+ out->append(it->name);
if (it->next)
out->append(QLatin1Char('.'));
diff --git a/src/libs/qmljs/parser/qmljsast_p.h b/src/libs/qmljs/parser/qmljsast_p.h
index 9086b981fa..a2ddcea594 100644
--- a/src/libs/qmljs/parser/qmljsast_p.h
+++ b/src/libs/qmljs/parser/qmljsast_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -42,6 +42,7 @@
#include "qmljs/parser/qmljsmemorypool_p.h"
#include <QtCore/qstring.h>
+#include <QtCore/qversionnumber.h>
QT_QML_BEGIN_NAMESPACE
@@ -201,6 +202,7 @@ public:
Kind_SwitchStatement,
Kind_TemplateLiteral,
Kind_TaggedTemplate,
+ Kind_TypeExpression,
Kind_ThisExpression,
Kind_ThrowStatement,
Kind_TildeExpression,
@@ -319,8 +321,7 @@ public:
QMLJS_DECLARE_AST_NODE(UiQualifiedId)
UiQualifiedId(QStringView name)
- : next(this)
- , name(name)
+ : next(this), name(name)
{ kind = K; }
UiQualifiedId(UiQualifiedId *previous, QStringView name)
@@ -444,6 +445,7 @@ public:
ExpressionNode() {}
ExpressionNode *expressionCast() override;
+ bool containsOptionalChain() const;
AST::FormalParameterList *reparseAsFormalParameterList(MemoryPool *pool);
@@ -489,6 +491,26 @@ public:
SourceLocation rparenToken;
};
+
+class QML_PARSER_EXPORT TypeExpression : public ExpressionNode
+{
+public:
+ QMLJS_DECLARE_AST_NODE(TypeExpression)
+ TypeExpression(Type *t) : m_type(t) { kind = K; }
+
+ void accept0(BaseVisitor *visitor) override;
+
+ SourceLocation firstSourceLocation() const override {
+ return m_type->firstSourceLocation();
+ }
+
+ SourceLocation lastSourceLocation() const override {
+ return m_type->lastSourceLocation();
+ }
+
+ Type *m_type;
+};
+
class QML_PARSER_EXPORT ThisExpression: public LeftHandSideExpression
{
public:
@@ -513,11 +535,8 @@ class QML_PARSER_EXPORT IdentifierExpression: public LeftHandSideExpression
public:
QMLJS_DECLARE_AST_NODE(IdentifierExpression)
- IdentifierExpression(QStringView n)
- : name(n)
- {
- kind = K;
- }
+ IdentifierExpression(QStringView n):
+ name (n) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -635,7 +654,15 @@ class QML_PARSER_EXPORT UiVersionSpecifier : public Node
public:
QMLJS_DECLARE_AST_NODE(UiVersionSpecifier)
- UiVersionSpecifier(int majorum, int minorum) : majorVersion(majorum), minorVersion(minorum) { kind = K; }
+ UiVersionSpecifier(int majorum) : majorVersion(majorum)
+ {
+ kind = K;
+ }
+
+ UiVersionSpecifier(int majorum, int minorum) : majorVersion(majorum), minorVersion(minorum)
+ {
+ kind = K;
+ }
void accept0(BaseVisitor *visitor) override;
@@ -647,8 +674,8 @@ public:
}
// attributes:
- int majorVersion;
- int minorVersion;
+ int majorVersion = -1;
+ int minorVersion = -1;
SourceLocation majorToken;
SourceLocation minorToken;
};
@@ -658,11 +685,8 @@ class QML_PARSER_EXPORT StringLiteral : public LeftHandSideExpression
public:
QMLJS_DECLARE_AST_NODE(StringLiteral)
- StringLiteral(QStringView v)
- : value(v)
- {
- kind = K;
- }
+ StringLiteral(QStringView v):
+ value (v) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -683,10 +707,7 @@ public:
QMLJS_DECLARE_AST_NODE(TemplateLiteral)
TemplateLiteral(QStringView str, QStringView raw, ExpressionNode *e)
- : value(str)
- , rawValue(raw)
- , expression(e)
- , next(nullptr)
+ : value(str), rawValue(raw), expression(e), next(nullptr)
{ kind = K; }
SourceLocation firstSourceLocation() const override
@@ -712,12 +733,8 @@ class QML_PARSER_EXPORT RegExpLiteral: public LeftHandSideExpression
public:
QMLJS_DECLARE_AST_NODE(RegExpLiteral)
- RegExpLiteral(QStringView p, int f)
- : pattern(p)
- , flags(f)
- {
- kind = K;
- }
+ RegExpLiteral(QStringView p, int f):
+ pattern (p), flags (f) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -857,13 +874,20 @@ public:
struct QML_PARSER_EXPORT BoundName
{
+ enum Type {
+ Declared,
+ Injected,
+ };
+
QString id;
- TypeAnnotation *typeAnnotation = nullptr;
- BoundName(const QString &id, TypeAnnotation *typeAnnotation)
- : id(id), typeAnnotation(typeAnnotation)
+ Type typeAnnotationType;
+ TypeAnnotation *typeAnnotation;
+ BoundName(const QString &id, TypeAnnotation *typeAnnotation, Type type = Declared)
+ : id(id), typeAnnotation(typeAnnotation), typeAnnotationType(type)
{}
BoundName() = default;
QString typeName() const { return typeAnnotation ? typeAnnotation->type->toString() : QString(); }
+ bool isInjected() const { return typeAnnotation && typeAnnotationType == Injected; }
};
struct BoundNames : public QVector<BoundName>
@@ -907,13 +931,8 @@ public:
: initializer(i), type(t)
{ kind = K; }
- PatternElement(QStringView n,
- TypeAnnotation *typeAnnotation = nullptr,
- ExpressionNode *i = nullptr,
- Type t = Binding)
- : bindingIdentifier(n)
- , initializer(i)
- , type(t)
+ PatternElement(QStringView n, TypeAnnotation *typeAnnotation = nullptr, ExpressionNode *i = nullptr, Type t = Binding)
+ : bindingIdentifier(n), initializer(i), type(t)
, typeAnnotation(typeAnnotation)
{
Q_ASSERT(t >= RestElement);
@@ -956,6 +975,7 @@ public:
// when used in a VariableDeclarationList
VariableScope scope = VariableScope::NoScope;
bool isForDeclaration = false;
+ bool isInjectedSignalParameter = false;
};
class QML_PARSER_EXPORT PatternElementList : public Node
@@ -1008,8 +1028,7 @@ public:
{ kind = K; }
PatternProperty(PropertyName *name, QStringView n, ExpressionNode *i = nullptr)
- : PatternElement(n, /*type annotation*/ nullptr, i)
- , name(name)
+ : PatternElement(n, /*type annotation*/nullptr, i), name(name)
{ kind = K; }
PatternProperty(PropertyName *name, Pattern *pattern, ExpressionNode *i = nullptr)
@@ -1078,11 +1097,8 @@ class QML_PARSER_EXPORT IdentifierPropertyName: public PropertyName
public:
QMLJS_DECLARE_AST_NODE(IdentifierPropertyName)
- IdentifierPropertyName(QStringView n)
- : id(n)
- {
- kind = K;
- }
+ IdentifierPropertyName(QStringView n):
+ id (n) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -1097,11 +1113,8 @@ class QML_PARSER_EXPORT StringLiteralPropertyName: public PropertyName
public:
QMLJS_DECLARE_AST_NODE(StringLiteralPropertyName)
- StringLiteralPropertyName(QStringView n)
- : id(n)
- {
- kind = K;
- }
+ StringLiteralPropertyName(QStringView n):
+ id (n) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -1173,6 +1186,7 @@ public:
ExpressionNode *expression;
SourceLocation lbracketToken;
SourceLocation rbracketToken;
+ bool isOptional = false;
};
class QML_PARSER_EXPORT FieldMemberExpression: public LeftHandSideExpression
@@ -1180,11 +1194,9 @@ class QML_PARSER_EXPORT FieldMemberExpression: public LeftHandSideExpression
public:
QMLJS_DECLARE_AST_NODE(FieldMemberExpression)
- FieldMemberExpression(ExpressionNode *b, QStringView n)
- : base(b)
- , name(n)
- {
- kind = K; }
+ FieldMemberExpression(ExpressionNode *b, QStringView n):
+ base (b), name (n)
+ { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -1199,6 +1211,7 @@ public:
QStringView name;
SourceLocation dotToken;
SourceLocation identifierToken;
+ bool isOptional = false;
};
class QML_PARSER_EXPORT TaggedTemplate : public LeftHandSideExpression
@@ -1291,6 +1304,7 @@ public:
ArgumentList *arguments;
SourceLocation lparenToken;
SourceLocation rparenToken;
+ bool isOptional = false;
};
class QML_PARSER_EXPORT ArgumentList: public Node
@@ -1972,11 +1986,8 @@ class QML_PARSER_EXPORT ContinueStatement: public Statement
public:
QMLJS_DECLARE_AST_NODE(ContinueStatement)
- ContinueStatement(QStringView l = QStringView())
- : label(l)
- {
- kind = K;
- }
+ ContinueStatement(QStringView l = QStringView()):
+ label (l) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -1998,11 +2009,8 @@ class QML_PARSER_EXPORT BreakStatement: public Statement
public:
QMLJS_DECLARE_AST_NODE(BreakStatement)
- BreakStatement(QStringView l)
- : label(l)
- {
- kind = K;
- }
+ BreakStatement(QStringView l):
+ label (l) { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -2229,11 +2237,9 @@ class QML_PARSER_EXPORT LabelledStatement: public Statement
public:
QMLJS_DECLARE_AST_NODE(LabelledStatement)
- LabelledStatement(QStringView l, Statement *stmt)
- : label(l)
- , statement(stmt)
- {
- kind = K; }
+ LabelledStatement(QStringView l, Statement *stmt):
+ label (l), statement (stmt)
+ { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -2364,16 +2370,10 @@ class QML_PARSER_EXPORT FunctionExpression: public ExpressionNode
public:
QMLJS_DECLARE_AST_NODE(FunctionExpression)
- FunctionExpression(QStringView n,
- FormalParameterList *f,
- StatementList *b,
- TypeAnnotation *typeAnnotation = nullptr)
- : name(n)
- , formals(f)
- , body(b)
- , typeAnnotation(typeAnnotation)
- {
- kind = K; }
+ FunctionExpression(QStringView n, FormalParameterList *f, StatementList *b, TypeAnnotation *typeAnnotation = nullptr):
+ name (n), formals (f), body (b),
+ typeAnnotation(typeAnnotation)
+ { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -2405,13 +2405,9 @@ class QML_PARSER_EXPORT FunctionDeclaration: public FunctionExpression
public:
QMLJS_DECLARE_AST_NODE(FunctionDeclaration)
- FunctionDeclaration(QStringView n,
- FormalParameterList *f,
- StatementList *b,
- TypeAnnotation *typeAnnotation = nullptr)
- : FunctionExpression(n, f, b, typeAnnotation)
- {
- kind = K; }
+ FunctionDeclaration(QStringView n, FormalParameterList *f, StatementList *b, TypeAnnotation *typeAnnotation = nullptr):
+ FunctionExpression(n, f, b, typeAnnotation)
+ { kind = K; }
void accept0(BaseVisitor *visitor) override;
};
@@ -2507,11 +2503,8 @@ public:
QMLJS_DECLARE_AST_NODE(ClassExpression)
ClassExpression(QStringView n, ExpressionNode *heritage, ClassElementList *elements)
- : name(n)
- , heritage(heritage)
- , elements(elements)
- {
- kind = K; }
+ : name(n), heritage(heritage), elements(elements)
+ { kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -2540,8 +2533,7 @@ public:
ClassDeclaration(QStringView n, ExpressionNode *heritage, ClassElementList *elements)
: ClassExpression(n, heritage, elements)
- {
- kind = K; }
+ { kind = K; }
void accept0(BaseVisitor *visitor) override;
};
@@ -2617,8 +2609,7 @@ public:
}
ImportSpecifier(QStringView identifier, QStringView importedBinding)
- : identifier(identifier)
- , importedBinding(importedBinding)
+ : identifier(identifier), importedBinding(importedBinding)
{
kind = K;
}
@@ -2852,15 +2843,13 @@ public:
QMLJS_DECLARE_AST_NODE(ExportSpecifier)
ExportSpecifier(QStringView identifier)
- : identifier(identifier)
- , exportedIdentifier(identifier)
+ : identifier(identifier), exportedIdentifier(identifier)
{
kind = K;
}
ExportSpecifier(QStringView identifier, QStringView exportedIdentifier)
- : identifier(identifier)
- , exportedIdentifier(exportedIdentifier)
+ : identifier(identifier), exportedIdentifier(exportedIdentifier)
{
kind = K;
}
@@ -2959,7 +2948,6 @@ public:
ExportDeclaration(FromClause *fromClause)
: fromClause(fromClause)
{
- exportAll = true;
kind = K;
}
@@ -2982,6 +2970,11 @@ public:
kind = K;
}
+ bool exportsAll() const
+ {
+ return fromClause && !exportClause;
+ }
+
void accept0(BaseVisitor *visitor) override;
SourceLocation firstSourceLocation() const override
@@ -2991,7 +2984,6 @@ public:
// attributes
SourceLocation exportToken;
- bool exportAll = false;
ExportClause *exportClause = nullptr;
FromClause *fromClause = nullptr;
Node *variableStatementOrDeclaration = nullptr;
@@ -3048,8 +3040,7 @@ public:
QMLJS_DECLARE_AST_NODE(UiImport)
UiImport(QStringView fileName)
- : fileName(fileName)
- , importUri(nullptr)
+ : fileName(fileName), importUri(nullptr)
{ kind = K; }
UiImport(UiQualifiedId *uri)
@@ -3154,7 +3145,7 @@ public:
QMLJS_DECLARE_AST_NODE(UiRequired)
UiRequired(QStringView name)
- : name(name)
+ :name(name)
{ kind = K; }
void accept0(BaseVisitor *visitor) override;
@@ -3319,16 +3310,12 @@ class QML_PARSER_EXPORT UiParameterList: public Node
public:
QMLJS_DECLARE_AST_NODE(UiParameterList)
- UiParameterList(UiQualifiedId *t, QStringView n)
- : type(t)
- , name(n)
- , next(this)
- {
- kind = K; }
+ UiParameterList(UiQualifiedId *t, QStringView n):
+ type (t), name (n), next (this)
+ { kind = K; }
- UiParameterList(UiParameterList *previous, UiQualifiedId *t, QStringView n)
- : type(t)
- , name(n)
+ UiParameterList(UiParameterList *previous, UiQualifiedId *t, QStringView n):
+ type (t), name (n)
{
kind = K;
next = previous->next;
@@ -3368,43 +3355,29 @@ class QML_PARSER_EXPORT UiPublicMember: public UiObjectMember
public:
QMLJS_DECLARE_AST_NODE(UiPublicMember)
- UiPublicMember(UiQualifiedId *memberType, QStringView name)
- : type(Property)
- , memberType(memberType)
- , name(name)
- , statement(nullptr)
- , binding(nullptr)
- , isDefaultMember(false)
- , isReadonlyMember(false)
- , parameters(nullptr)
+ UiPublicMember(UiQualifiedId *memberType,
+ QStringView name)
+ : type(Property), memberType(memberType), name(name), statement(nullptr), binding(nullptr), isDefaultMember(false), isReadonlyMember(false), parameters(nullptr)
{ kind = K; }
- UiPublicMember(UiQualifiedId *memberType, QStringView name, Statement *statement)
- : type(Property)
- , memberType(memberType)
- , name(name)
- , statement(statement)
- , binding(nullptr)
- , isDefaultMember(false)
- , isReadonlyMember(false)
- , parameters(nullptr)
+ UiPublicMember(UiQualifiedId *memberType,
+ QStringView name,
+ Statement *statement)
+ : type(Property), memberType(memberType), name(name), statement(statement), binding(nullptr), isDefaultMember(false), isReadonlyMember(false), parameters(nullptr)
{ kind = K; }
void accept0(BaseVisitor *visitor) override;
SourceLocation firstSourceLocation() const override
{
- if (requiredToken.isValid()) {
- if (defaultToken.isValid() && defaultToken.offset < requiredToken.offset)
- return defaultToken;
- return requiredToken;
- }
- if (defaultToken.isValid())
- return defaultToken;
- if (readonlyToken.isValid())
- return readonlyToken;
+ if (defaultToken.isValid())
+ return defaultToken;
+ else if (readonlyToken.isValid())
+ return readonlyToken;
+ else if (requiredToken.isValid())
+ return requiredToken;
- return propertyToken;
+ return propertyToken;
}
SourceLocation lastSourceLocation() const override
@@ -3468,9 +3441,8 @@ class QML_PARSER_EXPORT UiInlineComponent: public UiObjectMember
public:
QMLJS_DECLARE_AST_NODE(UiInlineComponent)
- UiInlineComponent(QStringView inlineComponentName, UiObjectDefinition *inlineComponent)
- : name(inlineComponentName)
- , component(inlineComponent)
+ UiInlineComponent(QStringView inlineComponentName, UiObjectDefinition* inlineComponent)
+ : name(inlineComponentName), component(inlineComponent)
{ kind = K; }
SourceLocation lastSourceLocation() const override
@@ -3596,7 +3568,7 @@ public:
{ kind = K; }
SourceLocation firstSourceLocation() const override
- { return qualifiedId->identifierToken; }
+ { Q_ASSERT(qualifiedId); return qualifiedId->identifierToken; }
SourceLocation lastSourceLocation() const override
{ return rbracketToken; }
@@ -3616,9 +3588,7 @@ class QML_PARSER_EXPORT UiEnumMemberList: public Node
QMLJS_DECLARE_AST_NODE(UiEnumMemberList)
public:
UiEnumMemberList(QStringView member, double v = 0.0)
- : next(this)
- , member(member)
- , value(v)
+ : next(this), member(member), value(v)
{ kind = K; }
UiEnumMemberList(UiEnumMemberList *previous, QStringView member)
@@ -3631,8 +3601,7 @@ public:
}
UiEnumMemberList(UiEnumMemberList *previous, QStringView member, double v)
- : member(member)
- , value(v)
+ : member(member), value(v)
{
kind = K;
next = previous->next;
@@ -3670,7 +3639,8 @@ class QML_PARSER_EXPORT UiEnumDeclaration: public UiObjectMember
public:
QMLJS_DECLARE_AST_NODE(UiEnumDeclaration)
- UiEnumDeclaration(QStringView name, UiEnumMemberList *members)
+ UiEnumDeclaration(QStringView name,
+ UiEnumMemberList *members)
: name(name)
, members(members)
{ kind = K; }
@@ -3754,4 +3724,3 @@ public:
QT_QML_END_NAMESPACE
-
diff --git a/src/libs/qmljs/parser/qmljsastfwd_p.h b/src/libs/qmljs/parser/qmljsastfwd_p.h
index dd0a402ec7..088ef716d8 100644
--- a/src/libs/qmljs/parser/qmljsastfwd_p.h
+++ b/src/libs/qmljs/parser/qmljsastfwd_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -50,6 +50,7 @@ class Visitor;
class Node;
class ExpressionNode;
class Statement;
+class TypeExpression;
class ThisExpression;
class IdentifierExpression;
class NullExpression;
diff --git a/src/libs/qmljs/parser/qmljsastvisitor.cpp b/src/libs/qmljs/parser/qmljsastvisitor.cpp
index b42a0c7022..c046c75d8b 100644
--- a/src/libs/qmljs/parser/qmljsastvisitor.cpp
+++ b/src/libs/qmljs/parser/qmljsastvisitor.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
diff --git a/src/libs/qmljs/parser/qmljsastvisitor_p.h b/src/libs/qmljs/parser/qmljsastvisitor_p.h
index ae2b323a59..05e6875e37 100644
--- a/src/libs/qmljs/parser/qmljsastvisitor_p.h
+++ b/src/libs/qmljs/parser/qmljsastvisitor_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -126,6 +126,9 @@ public:
virtual void endVisit(UiRequired *) = 0;
// QmlJS
+ virtual bool visit(TypeExpression *) = 0;
+ virtual void endVisit(TypeExpression *) = 0;
+
virtual bool visit(ThisExpression *) = 0;
virtual void endVisit(ThisExpression *) = 0;
@@ -467,6 +470,9 @@ public:
void endVisit(UiRequired *) override {}
// QmlJS
+ bool visit(TypeExpression *) override { return true; }
+ void endVisit(TypeExpression *) override {}
+
bool visit(ThisExpression *) override { return true; }
void endVisit(ThisExpression *) override {}
diff --git a/src/libs/qmljs/parser/qmljsdiagnosticmessage_p.h b/src/libs/qmljs/parser/qmljsdiagnosticmessage_p.h
index e3c2cf56e8..5e2c445b36 100644
--- a/src/libs/qmljs/parser/qmljsdiagnosticmessage_p.h
+++ b/src/libs/qmljs/parser/qmljsdiagnosticmessage_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
diff --git a/src/libs/qmljs/parser/qmljsengine_p.cpp b/src/libs/qmljs/parser/qmljsengine_p.cpp
index 44f03a1a74..2a0482c5ea 100644
--- a/src/libs/qmljs/parser/qmljsengine_p.cpp
+++ b/src/libs/qmljs/parser/qmljsengine_p.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -26,11 +26,9 @@
#include "qmljsengine_p.h"
#include "qmljsglobal_p.h"
-#include <utils/porting.h>
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qhash.h>
#include <QtCore/qnumeric.h>
+#include <QtCore/qhash.h>
+#include <QtCore/qdebug.h>
QT_QML_BEGIN_NAMESPACE
@@ -138,9 +136,7 @@ QStringView Engine::newStringRef(const QString &text)
}
QStringView Engine::newStringRef(const QChar *chars, int size)
-{
- return newStringRef(QString(chars, size));
-}
+{ return newStringRef(QString(chars, size)); }
} // end of namespace QmlJS
diff --git a/src/libs/qmljs/parser/qmljsengine_p.h b/src/libs/qmljs/parser/qmljsengine_p.h
index a6e8ad272f..928257ee37 100644
--- a/src/libs/qmljs/parser/qmljsengine_p.h
+++ b/src/libs/qmljs/parser/qmljsengine_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -37,16 +37,14 @@
//
#include "qmljsglobal_p.h"
-
-#include "qmljs/parser/qmljsmemorypool_p.h"
#include "qmljs/parser/qmljssourcelocation_p.h"
-#include <qmljs/qmljsconstants.h>
-#include <utils/porting.h>
+#include "qmljs/parser/qmljsmemorypool_p.h"
#include <QString>
#include <QSet>
+#include <qmljs/qmljsconstants.h>
QT_QML_BEGIN_NAMESPACE
namespace QmlJS {
@@ -107,10 +105,7 @@ public:
MemoryPool *pool();
- inline QStringView midRef(int position, int size)
- {
- return Utils::midView(_code, position, size);
- }
+ inline QStringView midRef(int position, int size) { return QStringView{_code}.mid(position, size); }
QStringView newStringRef(const QString &s);
QStringView newStringRef(const QChar *chars, int size);
diff --git a/src/libs/qmljs/parser/qmljsglobal_p.h b/src/libs/qmljs/parser/qmljsglobal_p.h
index e9ea5ed351..f2b0da9d74 100644
--- a/src/libs/qmljs/parser/qmljsglobal_p.h
+++ b/src/libs/qmljs/parser/qmljsglobal_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
diff --git a/src/libs/qmljs/parser/qmljsgrammar.cpp b/src/libs/qmljs/parser/qmljsgrammar.cpp
index e4387c77b4..04d1e6b295 100644
--- a/src/libs/qmljs/parser/qmljsgrammar.cpp
+++ b/src/libs/qmljs/parser/qmljsgrammar.cpp
@@ -1,11 +1,10 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Qt Toolkit.
+** This file is part of Qt Creator.
**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
@@ -36,104 +35,105 @@ const char *const QmlJSGrammar::spell [] = {
"%=", "return", ")", ";", 0, "*", "**", "**=", "*=", "string literal",
"property", "signal", "readonly", "switch", "this", "throw", "~", "try", "typeof", "var",
"void", "while", "with", "^", "^=", "null", "true", "false", "const", "let",
- "@", "debugger", "reserved word", "multiline string literal", "comment", 0, "=>", "??", "enum", "...",
- "yield", "super", "class", "extends", "static", "export", "from", "required", "component", "(no subst template)",
- "(template head)", "(template middle)", "(template tail)", "public", "import", "pragma", "as", "of", "get", "set",
- 0, 0, 0, 0, 0, 0, 0, "(force decl)", "(force block)", "(for lookahead ok)",
- 0, 0, 0, 0,
+ "@", "debugger", "reserved word", "multiline string literal", "comment", 0, "=>", "??", "?.", "enum",
+ "...", "yield", "super", "class", "extends", "static", "export", "from", "required", "component",
+ "(no subst template)", "(template head)", "(template middle)", "(template tail)", "public", "import", "pragma", "as", "of", "get",
+ "set", 0, 0, 0, 0, 0, 0, 0, "(force decl)", "(force block)",
+ "(for lookahead ok)", 0, 0, 0, 0,
#ifndef QLALR_NO_QMLJSGRAMMAR_DEBUG_INFO
-"TopLevel", "UiProgram", "Statement", "Expression", "UiAnnotatedObjectMember", "Script",
- "Module", "UiHeaderItemListOpt", "UiRootMember", "Empty", "UiHeaderItemList", "UiPragma", "UiImport", "PragmaId", "JsIdentifier", "Semicolon",
- "ImportId", "MemberExpression", "UiImportHead", "UiVersionSpecifier", "QmlIdentifier", "UiAnnotatedObject", "UiSimpleQualifiedId", "UiAnnotationObjectDefinition", "UiObjectInitializer", "UiAnnotation",
- "UiAnnotationList", "UiObjectDefinition", "UiObjectMemberList", "UiArrayMemberList", "UiQualifiedId", "UiObjectMember", "ExpressionStatementLookahead", "UiObjectLiteral", "UiPropertyDefinitionList", "UiScriptStatement",
- "ExpressionStatement", "Block", "EmptyStatement", "IfStatement", "WithStatement", "SwitchStatement", "TryStatement", "UiPropertyType", "UiParameterListOpt", "UiParameterList",
- "UiObjectMemberListPropertyNoInitialiser", "UiObjectMemberPropertyNoInitialiser", "OptionalSemicolon", "UiRequired", "UiObjectMemberWithScriptStatement", "UiObjectMemberWithArray", "UiObjectMemberExpressionStatementLookahead", "GeneratorDeclaration", "FunctionDeclarationWithTypes", "VariableStatement",
- "EnumMemberList", "IdentifierReference", "BindingIdentifier", "TypeArguments", "Type", "TypeAnnotation", "TypeAnnotationOpt", "PrimaryExpression", "Literal", "ArrayLiteral",
- "ObjectLiteral", "FunctionExpression", "ClassExpression", "GeneratorExpression", "RegularExpressionLiteral", "TemplateLiteral", "CoverParenthesizedExpressionAndArrowParameterList", "Expression_In", "BindingRestElement", "BindingRestElementOpt",
- "ElisionOpt", "ElementList", "AssignmentExpression_In", "Elision", "SpreadElement", "AssignmentExpression", "PropertyDefinitionList", "UiPropertyDefinition", "PropertyDefinition", "CoverInitializedName",
- "Initializer_In", "UiPropertyName", "PropertyName", "MethodDefinition", "LiteralPropertyName", "ComputedPropertyName", "IdentifierName", "ReservedIdentifier", "Initializer", "InitializerOpt",
- "InitializerOpt_In", "TemplateSpans", "Super", "NewTarget", "MetaProperty", "Arguments", "NewExpression", "CallExpression", "ArgumentList", "LeftHandSideExpression",
- "UpdateExpression", "UnaryExpression", "ExponentiationExpression", "MultiplicativeExpression", "MultiplicativeOperator", "AdditiveExpression", "ShiftExpression", "RelationalExpression_In", "RelationalExpression", "RelationalOperator",
- "TypeAssertExpression_In", "TypeAssertExpression", "EqualityExpression_In", "EqualityExpression", "EqualityOperator", "BitwiseANDExpression", "BitwiseANDExpression_In", "BitwiseXORExpression", "BitwiseXORExpression_In", "BitwiseORExpression",
- "BitwiseORExpression_In", "LogicalANDExpression", "LogicalANDExpression_In", "LogicalORExpression", "LogicalORExpression_In", "CoalesceExpression", "CoalesceExpression_In", "ConditionalExpression", "ConditionalExpression_In", "YieldExpression",
- "YieldExpression_In", "ArrowFunction", "ArrowFunction_In", "AssignmentOperator", "ExpressionOpt", "ExpressionOpt_In", "BlockStatement", "BreakableStatement", "ContinueStatement", "BreakStatement",
- "ReturnStatement", "LabelledStatement", "ThrowStatement", "DebuggerStatement", "Declaration", "HoistableDeclaration", "ClassDeclaration", "LexicalDeclaration_In", "FunctionDeclaration", "HoistableDeclaration_Default",
- "FunctionDeclaration_Default", "GeneratorDeclaration_Default", "IterationStatement", "StatementListOpt", "StatementList", "StatementListItem", "LetOrConst", "Var", "LexicalDeclaration", "BindingList",
- "BindingList_In", "VarDeclaration", "VariableDeclarationList", "VarDeclaration_In", "VariableDeclarationList_In", "LexicalBinding_In", "VariableDeclaration", "VariableDeclaration_In", "LexicalBinding", "BindingPattern",
- "ObjectBindingPattern", "ArrayBindingPattern", "BindingPropertyList", "BindingElementList", "BindingProperty", "BindingElisionElement", "BindingElement", "InOrOf", "ForDeclaration", "CaseBlock",
- "CaseClausesOpt", "DefaultClause", "CaseClauses", "CaseClause", "LabelledItem", "Catch", "Finally", "CatchParameter", "Function", "FormalParameters",
- "FunctionLBrace", "FunctionBody", "FunctionRBrace", "StrictFormalParameters", "FormalParameterList", "FormalParameter", "ArrowParameters", "ConciseBodyLookahead", "GeneratorLParen", "GeneratorBody",
- "GeneratorRBrace", "PropertySetParameterList", "FunctionStar", "ClassHeritageOpt", "ClassLBrace", "ClassBodyOpt", "ClassRBrace", "ClassDeclaration_Default", "ClassStaticQualifier", "ClassElementList",
- "ClassElement", "ScriptBody", "ModuleBodyOpt", "ModuleBody", "ModuleItemList", "ModuleItem", "ImportDeclaration", "ExportDeclaration", "ImportClause", "FromClause",
- "ModuleSpecifier", "ImportedDefaultBinding", "NameSpaceImport", "NamedImports", "ImportedBinding", "ImportsList", "ImportSpecifier", "ExportDeclarationLookahead", "ExportClause", "ExportsList",
- "ExportSpecifier", "$accept"
+"TopLevel", "UiProgram", "Statement", "Expression", "UiAnnotatedObjectMember",
+ "Script", "Module", "UiHeaderItemListOpt", "UiRootMember", "Empty", "UiHeaderItemList", "UiPragma", "UiImport", "PragmaId", "JsIdentifier",
+ "Semicolon", "ImportId", "MemberExpression", "UiImportHead", "UiVersionSpecifier", "QmlIdentifier", "UiAnnotatedObject", "UiSimpleQualifiedId", "UiAnnotationObjectDefinition", "UiObjectInitializer",
+ "UiAnnotation", "UiAnnotationList", "UiObjectDefinition", "UiObjectMemberList", "UiArrayMemberList", "UiQualifiedId", "UiObjectMember", "ExpressionStatementLookahead", "UiObjectLiteral", "UiPropertyDefinitionList",
+ "UiScriptStatement", "ExpressionStatement", "Block", "EmptyStatement", "IfStatement", "WithStatement", "SwitchStatement", "TryStatement", "UiPropertyType", "UiParameterListOpt",
+ "UiParameterList", "UiObjectMemberListPropertyNoInitialiser", "UiObjectMemberPropertyNoInitialiser", "OptionalSemicolon", "UiRequired", "UiObjectMemberWithScriptStatement", "UiObjectMemberWithArray", "UiObjectMemberExpressionStatementLookahead", "GeneratorDeclaration", "FunctionDeclarationWithTypes",
+ "VariableStatement", "EnumMemberList", "IdentifierReference", "BindingIdentifier", "TypeArguments", "Type", "TypeAnnotation", "TypeAnnotationOpt", "PrimaryExpression", "Literal",
+ "ArrayLiteral", "ObjectLiteral", "FunctionExpression", "ClassExpression", "GeneratorExpression", "RegularExpressionLiteral", "TemplateLiteral", "CoverParenthesizedExpressionAndArrowParameterList", "Expression_In", "BindingRestElement",
+ "BindingRestElementOpt", "ElisionOpt", "ElementList", "AssignmentExpression_In", "Elision", "SpreadElement", "AssignmentExpression", "PropertyDefinitionList", "UiPropertyDefinition", "PropertyDefinition",
+ "CoverInitializedName", "Initializer_In", "UiPropertyName", "PropertyName", "MethodDefinition", "LiteralPropertyName", "ComputedPropertyName", "IdentifierName", "ReservedIdentifier", "Initializer",
+ "InitializerOpt", "InitializerOpt_In", "TemplateSpans", "Super", "NewTarget", "MetaProperty", "Arguments", "NewExpression", "CallExpression", "ArgumentList",
+ "LeftHandSideExpression", "UpdateExpression", "UnaryExpression", "ExponentiationExpression", "MultiplicativeExpression", "MultiplicativeOperator", "AdditiveExpression", "ShiftExpression", "RelationalExpression_In", "RelationalExpression",
+ "RelationalOperator", "EqualityExpression_In", "EqualityExpression", "EqualityOperator", "BitwiseANDExpression", "BitwiseANDExpression_In", "BitwiseXORExpression", "BitwiseXORExpression_In", "BitwiseORExpression", "BitwiseORExpression_In",
+ "LogicalANDExpression", "LogicalANDExpression_In", "LogicalORExpression", "LogicalORExpression_In", "CoalesceExpression", "CoalesceExpression_In", "ConditionalExpression", "ConditionalExpression_In", "YieldExpression", "YieldExpression_In",
+ "ArrowFunction", "ArrowFunction_In", "AssignmentOperator", "ExpressionOpt", "ExpressionOpt_In", "BlockStatement", "BreakableStatement", "ContinueStatement", "BreakStatement", "ReturnStatement",
+ "LabelledStatement", "ThrowStatement", "DebuggerStatement", "Declaration", "HoistableDeclaration", "ClassDeclaration", "LexicalDeclaration_In", "FunctionDeclaration", "HoistableDeclaration_Default", "FunctionDeclaration_Default",
+ "GeneratorDeclaration_Default", "IterationStatement", "StatementListOpt", "StatementList", "StatementListItem", "LetOrConst", "Var", "LexicalDeclaration", "BindingList", "BindingList_In",
+ "VarDeclaration", "VariableDeclarationList", "VarDeclaration_In", "VariableDeclarationList_In", "LexicalBinding_In", "VariableDeclaration", "VariableDeclaration_In", "LexicalBinding", "BindingPattern", "ObjectBindingPattern",
+ "ArrayBindingPattern", "BindingPropertyList", "BindingElementList", "BindingProperty", "BindingElisionElement", "BindingElement", "InOrOf", "ForDeclaration", "CaseBlock", "CaseClausesOpt",
+ "DefaultClause", "CaseClauses", "CaseClause", "LabelledItem", "Catch", "Finally", "CatchParameter", "Function", "FormalParameters", "FunctionLBrace",
+ "FunctionBody", "FunctionRBrace", "StrictFormalParameters", "FormalParameterList", "FormalParameter", "ArrowParameters", "ConciseBodyLookahead", "GeneratorLParen", "GeneratorBody", "GeneratorRBrace",
+ "PropertySetParameterList", "FunctionStar", "ClassHeritageOpt", "ClassLBrace", "ClassBodyOpt", "ClassRBrace", "ClassDeclaration_Default", "ClassStaticQualifier", "ClassElementList", "ClassElement",
+ "ScriptBody", "ModuleBodyOpt", "ModuleBody", "ModuleItemList", "ModuleItem", "ImportDeclaration", "ExportDeclaration", "ImportClause", "FromClause", "ModuleSpecifier",
+ "ImportedDefaultBinding", "NameSpaceImport", "NamedImports", "ImportedBinding", "ImportsList", "ImportSpecifier", "ExportDeclarationLookahead", "ExportClause", "ExportsList", "ExportSpecifier",
+ "$accept"
#endif // QLALR_NO_QMLJSGRAMMAR_DEBUG_INFO
};
const short QmlJSGrammar::lhs [] = {
- 134, 134, 134, 134, 134, 134, 135, 141, 141, 144,
- 144, 144, 144, 147, 149, 149, 145, 150, 146, 153,
- 153, 146, 146, 146, 152, 143, 142, 156, 156, 157,
- 159, 160, 160, 155, 155, 162, 162, 163, 163, 158,
- 158, 161, 138, 138, 165, 165, 165, 165, 167, 167,
- 169, 169, 169, 169, 169, 169, 169, 169, 169, 165,
- 177, 177, 177, 177, 178, 178, 179, 179, 179, 179,
- 165, 165, 180, 165, 165, 181, 165, 165, 165, 165,
- 165, 165, 165, 165, 182, 182, 183, 165, 165, 184,
- 165, 165, 165, 185, 165, 165, 186, 165, 165, 165,
- 165, 165, 164, 165, 165, 190, 190, 190, 190, 154,
- 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 148, 148, 191, 192, 193, 193, 194, 194, 194,
- 195, 196, 196, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 206, 206, 206, 206, 198, 198,
- 198, 198, 198, 198, 204, 204, 199, 199, 199, 211,
- 211, 211, 211, 211, 213, 213, 210, 210, 214, 200,
- 200, 200, 168, 216, 168, 216, 218, 218, 219, 217,
- 218, 218, 222, 222, 224, 221, 224, 221, 224, 226,
- 226, 227, 227, 227, 227, 227, 227, 227, 227, 227,
- 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
- 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
- 227, 227, 227, 227, 227, 227, 227, 227, 227, 225,
- 228, 220, 229, 230, 229, 230, 205, 231, 231, 205,
- 151, 232, 151, 151, 233, 151, 151, 151, 151, 234,
- 236, 236, 237, 151, 237, 237, 237, 237, 237, 235,
- 235, 235, 238, 238, 238, 238, 239, 239, 240, 240,
- 240, 240, 240, 241, 241, 241, 241, 241, 241, 241,
- 241, 242, 242, 243, 243, 244, 244, 244, 245, 245,
- 245, 246, 246, 246, 246, 247, 248, 247, 248, 249,
- 249, 249, 249, 249, 247, 250, 251, 247, 248, 252,
- 253, 252, 253, 254, 254, 254, 254, 255, 256, 255,
- 256, 257, 258, 257, 258, 259, 260, 259, 260, 261,
- 262, 261, 262, 263, 264, 263, 264, 265, 266, 265,
- 266, 267, 268, 267, 268, 215, 212, 215, 212, 215,
- 212, 215, 212, 215, 212, 273, 273, 273, 273, 273,
- 273, 273, 273, 273, 273, 273, 273, 137, 207, 137,
- 207, 274, 275, 274, 275, 136, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 136, 136, 136, 136, 284,
- 284, 284, 285, 285, 289, 289, 277, 277, 276, 171,
- 294, 294, 295, 295, 293, 293, 296, 296, 297, 298,
- 287, 301, 303, 189, 299, 300, 302, 304, 299, 300,
- 302, 304, 308, 305, 306, 307, 308, 305, 306, 307,
- 309, 309, 310, 310, 310, 311, 311, 311, 312, 312,
- 313, 313, 315, 314, 314, 314, 316, 316, 208, 208,
- 209, 209, 172, 166, 170, 173, 173, 292, 292, 292,
- 292, 292, 292, 317, 317, 292, 292, 318, 318, 318,
- 318, 278, 278, 279, 279, 280, 174, 175, 319, 319,
- 322, 322, 320, 320, 323, 321, 281, 324, 324, 282,
- 176, 176, 176, 325, 326, 327, 327, 283, 328, 288,
- 188, 290, 290, 201, 201, 333, 329, 329, 329, 329,
- 329, 334, 334, 335, 330, 332, 331, 271, 272, 271,
- 272, 336, 336, 337, 223, 223, 223, 223, 341, 338,
- 340, 342, 187, 291, 291, 203, 203, 339, 269, 270,
- 269, 270, 269, 270, 286, 202, 347, 202, 347, 344,
- 346, 348, 343, 343, 345, 345, 349, 349, 350, 350,
- 350, 139, 139, 351, 140, 353, 352, 352, 354, 354,
- 355, 355, 355, 356, 356, 358, 358, 358, 358, 358,
- 361, 362, 363, 363, 363, 359, 365, 365, 366, 366,
- 360, 364, 367, 357, 357, 357, 357, 357, 357, 357,
- 357, 368, 368, 368, 369, 369, 370, 370, 371
+ 135, 135, 135, 135, 135, 135, 136, 142, 142, 145,
+ 145, 145, 145, 148, 150, 150, 146, 151, 147, 154,
+ 154, 147, 147, 147, 153, 144, 143, 157, 157, 158,
+ 160, 161, 161, 156, 156, 163, 163, 164, 164, 159,
+ 159, 162, 139, 139, 166, 166, 166, 166, 168, 168,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 166,
+ 178, 178, 178, 178, 179, 179, 180, 180, 180, 180,
+ 166, 166, 181, 166, 166, 182, 166, 166, 166, 166,
+ 166, 166, 166, 166, 183, 183, 184, 166, 166, 185,
+ 166, 166, 166, 186, 166, 166, 187, 166, 166, 166,
+ 166, 166, 165, 166, 166, 191, 191, 191, 191, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
+ 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
+ 149, 149, 149, 192, 193, 194, 194, 195, 195, 195,
+ 196, 197, 197, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 207, 207, 207, 207, 199, 199,
+ 199, 199, 199, 199, 205, 205, 200, 200, 200, 212,
+ 212, 212, 212, 212, 214, 214, 211, 211, 215, 201,
+ 201, 201, 169, 217, 169, 217, 219, 219, 220, 218,
+ 219, 219, 223, 223, 225, 222, 225, 222, 225, 227,
+ 227, 228, 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
+ 228, 228, 228, 228, 228, 228, 228, 228, 228, 226,
+ 229, 221, 230, 231, 230, 231, 206, 232, 232, 206,
+ 152, 233, 152, 152, 152, 234, 152, 152, 152, 152,
+ 152, 235, 237, 237, 238, 152, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 236, 236, 236, 239, 239,
+ 239, 239, 240, 240, 241, 241, 241, 241, 241, 242,
+ 242, 242, 242, 242, 242, 242, 242, 243, 243, 244,
+ 244, 245, 245, 245, 246, 246, 246, 247, 247, 247,
+ 247, 248, 249, 248, 249, 250, 250, 250, 250, 250,
+ 250, 248, 251, 252, 251, 252, 253, 253, 253, 253,
+ 254, 255, 254, 255, 256, 257, 256, 257, 258, 259,
+ 258, 259, 260, 261, 260, 261, 262, 263, 262, 263,
+ 264, 265, 264, 265, 266, 267, 266, 267, 216, 213,
+ 216, 213, 216, 213, 216, 213, 216, 213, 272, 272,
+ 272, 272, 272, 272, 272, 272, 272, 272, 272, 272,
+ 138, 208, 138, 208, 273, 274, 273, 274, 137, 137,
+ 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
+ 137, 137, 283, 283, 283, 284, 284, 288, 288, 276,
+ 276, 275, 172, 293, 293, 294, 294, 292, 292, 295,
+ 295, 296, 297, 286, 300, 302, 190, 298, 299, 301,
+ 303, 298, 299, 301, 303, 307, 304, 305, 306, 307,
+ 304, 305, 306, 308, 308, 309, 309, 309, 310, 310,
+ 310, 311, 311, 312, 312, 314, 313, 313, 313, 315,
+ 315, 209, 209, 210, 210, 173, 167, 171, 174, 174,
+ 291, 291, 291, 291, 291, 291, 316, 316, 291, 291,
+ 317, 317, 317, 317, 277, 277, 278, 278, 279, 175,
+ 176, 318, 318, 321, 321, 319, 319, 322, 320, 280,
+ 323, 323, 281, 177, 177, 177, 324, 325, 326, 326,
+ 282, 327, 287, 189, 289, 289, 202, 202, 332, 328,
+ 328, 328, 328, 328, 333, 333, 334, 329, 331, 330,
+ 270, 271, 270, 271, 335, 335, 336, 224, 224, 224,
+ 224, 340, 337, 339, 341, 188, 290, 290, 204, 204,
+ 338, 268, 269, 268, 269, 268, 269, 285, 203, 346,
+ 203, 346, 343, 345, 347, 342, 342, 344, 344, 348,
+ 348, 349, 349, 349, 140, 140, 350, 141, 352, 351,
+ 351, 353, 353, 354, 354, 354, 355, 355, 357, 357,
+ 357, 357, 357, 360, 361, 362, 362, 362, 358, 364,
+ 364, 365, 365, 359, 363, 366, 356, 356, 356, 356,
+ 356, 356, 356, 356, 367, 367, 367, 368, 368, 369,
+ 369, 370
};
const short QmlJSGrammar::rhs [] = {
@@ -162,110 +162,112 @@ const short QmlJSGrammar::rhs [] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
2, 2, 0, 0, 1, 1, 1, 1, 3, 3,
- 1, 1, 4, 4, 3, 3, 3, 1, 5, 1,
- 1, 2, 2, 2, 4, 4, 4, 4, 3, 0,
- 1, 2, 1, 2, 3, 4, 1, 1, 1, 2,
- 2, 2, 2, 1, 2, 2, 2, 2, 2, 2,
- 2, 1, 3, 1, 3, 1, 1, 1, 1, 3,
- 3, 1, 3, 3, 3, 1, 1, 3, 3, 1,
- 1, 1, 1, 1, 3, 3, 3, 1, 1, 1,
- 1, 3, 3, 1, 1, 1, 1, 1, 1, 3,
- 3, 1, 1, 3, 3, 1, 1, 3, 3, 1,
- 1, 3, 3, 1, 1, 3, 3, 1, 1, 3,
- 3, 1, 1, 5, 5, 1, 1, 1, 1, 1,
- 1, 3, 3, 3, 3, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 3, 0, 0, 1, 1, 3, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
- 1, 2, 1, 4, 1, 1, 1, 1, 1, 2,
- 2, 2, 2, 2, 1, 1, 1, 1, 3, 3,
- 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
- 3, 3, 0, 1, 2, 2, 1, 4, 1, 3,
- 1, 3, 2, 2, 4, 4, 3, 2, 2, 2,
- 0, 1, 1, 0, 2, 7, 5, 7, 7, 5,
- 9, 9, 9, 1, 1, 7, 7, 3, 3, 2,
- 2, 2, 3, 2, 3, 3, 5, 5, 3, 5,
- 1, 2, 0, 1, 4, 3, 3, 1, 3, 3,
- 3, 3, 4, 5, 2, 1, 1, 2, 1, 9,
- 9, 1, 8, 9, 8, 1, 0, 1, 1, 2,
- 3, 1, 3, 1, 1, 1, 1, 4, 4, 7,
- 7, 1, 1, 0, 8, 9, 8, 9, 1, 1,
- 1, 1, 8, 1, 7, 8, 7, 1, 1, 1,
- 3, 3, 2, 2, 6, 6, 5, 5, 1, 1,
- 1, 1, 0, 2, 0, 1, 1, 2, 1, 2,
- 1, 0, 1, 1, 1, 1, 0, 1, 1, 2,
- 2, 2, 1, 3, 2, 1, 1, 1, 3, 3,
- 1, 3, 2, 3, 4, 2, 1, 3, 1, 3,
- 1, 1, 0, 3, 3, 2, 2, 2, 5, 5,
- 4, 2, 3, 4, 1, 3, 1, 3, 2
+ 1, 1, 4, 4, 5, 3, 3, 3, 3, 1,
+ 5, 1, 1, 2, 2, 2, 4, 5, 4, 4,
+ 5, 4, 5, 3, 3, 0, 1, 2, 1, 2,
+ 3, 4, 1, 1, 1, 2, 2, 2, 2, 1,
+ 2, 2, 2, 2, 2, 2, 2, 1, 3, 1,
+ 3, 1, 1, 1, 1, 3, 3, 1, 3, 3,
+ 3, 1, 1, 3, 3, 1, 1, 1, 1, 1,
+ 1, 3, 1, 1, 3, 3, 1, 1, 1, 1,
+ 1, 1, 3, 3, 1, 1, 3, 3, 1, 1,
+ 3, 3, 1, 1, 3, 3, 1, 1, 3, 3,
+ 1, 1, 3, 3, 1, 1, 5, 5, 1, 1,
+ 1, 1, 1, 1, 3, 3, 3, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 3, 3, 0, 0, 1, 1, 3, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 3, 1, 2, 1, 4, 1, 1, 1,
+ 1, 1, 2, 2, 2, 2, 2, 1, 1, 1,
+ 1, 3, 3, 3, 3, 3, 3, 3, 3, 2,
+ 2, 2, 2, 3, 3, 0, 1, 2, 2, 1,
+ 4, 1, 3, 1, 3, 2, 2, 4, 4, 3,
+ 2, 2, 2, 0, 1, 1, 0, 2, 7, 5,
+ 7, 7, 5, 9, 9, 9, 1, 1, 7, 7,
+ 3, 3, 2, 2, 2, 3, 2, 3, 3, 5,
+ 5, 3, 5, 1, 2, 0, 1, 4, 3, 3,
+ 1, 3, 3, 3, 3, 4, 5, 2, 1, 1,
+ 2, 1, 9, 9, 1, 8, 9, 8, 1, 0,
+ 1, 1, 2, 3, 1, 3, 1, 1, 1, 1,
+ 4, 4, 7, 7, 1, 1, 0, 8, 9, 8,
+ 9, 1, 1, 1, 1, 8, 1, 7, 8, 7,
+ 1, 1, 1, 3, 3, 2, 2, 6, 6, 5,
+ 5, 1, 1, 1, 1, 0, 2, 0, 1, 1,
+ 2, 1, 2, 1, 0, 1, 1, 1, 1, 0,
+ 1, 1, 2, 2, 2, 1, 3, 2, 1, 1,
+ 1, 3, 3, 1, 3, 2, 3, 4, 2, 1,
+ 3, 1, 3, 1, 1, 0, 3, 3, 2, 2,
+ 2, 5, 5, 4, 2, 3, 4, 1, 3, 1,
+ 3, 2
};
#ifndef QLALR_NO_QMLJSGRAMMAR_DEBUG_INFO
const int QmlJSGrammar::rule_info [] = {
- 134, 121, 135, 134, 123, 136, 134, 124, 137, 134, 122, 138, 134, 125, 139, 134, 126, 140, 135, 141, 142, 141, 143, 141, 144, 144, 145,
- 144, 146, 144, 144, 145, 144, 144, 146, 147, 148, 149, 64, 149, 63, 145, 115, 147, 149, 150, 151, 146, 152, 149, 153, 50, 15, 50,
- 153, 50, 146, 152, 153, 149, 146, 152, 153, 116, 154, 149, 146, 152, 116, 154, 149, 152, 114, 150, 143, 142, 155, 156, 30, 156, 156, 15, 30, 157, 156, 158,
- 159, 90, 157, 160, 159, 160, 160, 159, 155, 160, 161, 155, 161, 162, 138, 162, 162, 138, 163, 161, 163, 163, 8, 161, 158, 34, 57,
- 158, 34, 162, 57, 161, 164, 158, 138, 160, 165, 138, 165, 165, 161, 165, 164, 7, 166, 35, 163, 58, 165, 164, 7, 166, 164, 158, 165, 164, 130, 164, 158, 167, 34, 166, 168, 57, 149, 167, 34, 166, 168, 8, 57, 149,
- 169, 166, 127, 170, 169, 166, 128, 171, 169, 166, 128, 167, 169, 166, 172, 169, 166, 170, 169, 166, 173, 169, 166, 174, 169, 166, 175, 169, 166, 176, 165, 164, 7, 169,
- 177, 79, 177, 92, 177, 30, 177, 177, 15, 30, 178, 178, 179, 179, 154, 7, 177, 179, 177, 154, 179, 179, 8, 154, 7, 177, 179, 179, 8, 177, 154,
- 165, 71, 30, 37, 178, 62, 149, 165, 71, 30, 149, 180, 70, 30, 38, 177, 25, 154, 149, 165, 180, 165, 72, 180, 181, 70, 177, 154, 149, 165, 181, 165, 10, 181, 165, 107, 180, 165, 10, 107, 180,
- 165, 107, 10, 180, 165, 10, 180, 165, 10, 107, 181, 165, 107, 10, 181, 182, 182, 149, 183, 107, 154, 149, 165, 183, 165, 107, 181, 184, 70, 177, 154, 7, 169, 182,
- 165, 184, 165, 72, 184, 165, 10, 184, 185, 70, 30, 38, 177, 25, 154, 7, 35, 163, 58, 149, 165, 185, 165, 72, 185, 186, 70, 177, 154, 7, 166, 164, 158, 149, 165, 186, 165, 72, 186, 165, 187,
- 165, 188, 165, 189, 164, 151, 165, 98, 30, 34, 190, 57, 165, 108, 30, 7, 161, 190, 30, 190, 30, 17, 48, 190, 190, 8, 30, 190, 190, 8, 30, 17, 48, 154, 30,
- 154, 70, 154, 71, 154, 72, 154, 130, 154, 118, 154, 119, 154, 106, 154, 117, 154, 107, 154, 108,
- 148, 30, 148, 70, 148, 71, 148, 72, 148, 130, 148, 118, 148, 119, 148, 106, 148, 104, 148, 117,
- 148, 116, 148, 107, 148, 108, 191, 148, 192, 191, 193, 194, 193, 193, 8, 194, 194, 164, 38, 193, 25, 194, 92, 194, 164,
- 195, 7, 194, 196, 195, 196, 197, 74, 197, 191, 197, 198, 197, 199, 197, 200, 197, 201, 197, 202,
- 197, 203, 197, 204, 197, 205, 197, 206, 206, 37, 207, 62, 206, 37, 62, 206, 37, 208, 62, 206, 37, 207, 8, 209, 62, 198, 85, 198, 86,
- 198, 87, 198, 48, 198, 93, 198, 69, 204, 12, 204, 13, 199, 35, 210, 58, 199, 35, 211, 58, 199, 35, 211, 8, 210, 58, 211, 212,
- 211, 213, 212, 211, 210, 214, 211, 211, 8, 210, 212, 211, 211, 8, 210, 214, 213, 8, 213, 213, 8, 210, 210, 213, 214, 99, 215, 200, 34, 57,
- 200, 34, 216, 57, 200, 34, 216, 8, 57, 168, 217, 216, 218, 168, 168, 8, 217, 216, 216, 8, 218, 218, 191, 218, 219, 219, 191, 220, 217, 221, 7, 212,
- 218, 222, 7, 212, 218, 223, 222, 224, 222, 225, 224, 226, 221, 69, 224, 69, 221, 48, 224, 48, 226, 191,
- 226, 227, 227, 4, 227, 5, 227, 6, 227, 9, 227, 10, 227, 11, 227, 14, 227, 16, 227, 98,
- 227, 87, 227, 20, 227, 21, 227, 23, 227, 31, 227, 32, 227, 33, 227, 44, 227, 85, 227, 61,
- 227, 73, 227, 74, 227, 75, 227, 86, 227, 77, 227, 78, 227, 79, 227, 80, 227, 81, 227, 88,
- 227, 89, 227, 91, 227, 92, 227, 101, 227, 82, 227, 102, 227, 103, 227, 105, 227, 114, 225, 35, 212, 58,
- 228, 17, 215, 220, 17, 212, 229, 230, 229, 228, 230, 220, 205, 109, 231, 112, 231, 111, 137, 231, 205, 110, 137, 231,
- 151, 197, 232, 101, 151, 232, 35, 207, 58, 151, 151, 35, 207, 58, 233, 44, 15, 30, 151, 232, 15, 226, 151, 151, 15, 226, 151, 234, 151, 44, 151, 37, 235, 62, 234, 233,
- 236, 151, 236, 44, 236, 237, 237, 205, 151, 151, 205, 237, 151, 37, 235, 62, 237, 232, 37, 235, 62, 237, 237, 37, 235, 62, 237, 237, 35, 207, 58, 237, 237, 15, 226, 235,
- 235, 238, 235, 238, 8, 238, 212, 238, 99, 212, 238, 238, 8, 212, 238, 238, 8, 99, 212, 239, 236, 239, 237, 240, 239, 240, 239, 55,
- 240, 239, 43, 240, 55, 241, 240, 43, 241, 241, 240, 241, 11, 241, 241, 80, 241, 241, 78, 241, 241, 53, 241, 241, 41, 241, 241, 76, 241,
- 241, 45, 241, 242, 241, 242, 240, 66, 242, 243, 242, 243, 243, 244, 242, 244, 65, 244, 12, 244, 59, 245, 243, 245, 245, 53, 243,
- 245, 245, 41, 243, 246, 245, 246, 246, 39, 245, 246, 246, 26, 245, 246, 246, 28, 245, 247, 246, 248, 246, 247, 247, 249, 246, 248, 248, 249, 246, 249, 38,
- 249, 25, 249, 36, 249, 24, 249, 33, 247, 247, 32, 246, 250, 247, 116, 194, 251, 248, 116, 194, 247, 250, 248, 251, 252, 247,
- 253, 248, 252, 252, 254, 247, 253, 253, 254, 248, 254, 18, 254, 46, 254, 19, 254, 47, 255, 253, 256, 252, 255, 255, 1, 253,
- 256, 256, 1, 252, 257, 255, 258, 256, 257, 257, 83, 255, 258, 258, 83, 256, 259, 257, 260, 258, 259, 259, 49, 257, 260, 260, 49, 258, 261, 259,
- 262, 260, 261, 261, 2, 259, 262, 262, 2, 260, 263, 261, 264, 262, 263, 263, 52, 261, 264, 264, 52, 262, 265, 263, 266, 264, 265, 265, 97, 263,
- 266, 266, 97, 264, 267, 265, 268, 266, 267, 265, 56, 212, 7, 215, 268, 266, 56, 212, 7, 212, 215, 267, 212, 268, 215, 269, 212, 270, 215, 271,
- 212, 272, 215, 239, 17, 215, 212, 239, 17, 212, 215, 239, 273, 215, 212, 239, 273, 212, 273, 68, 273, 67, 273, 13, 273, 60, 273, 54,
- 273, 42, 273, 40, 273, 27, 273, 29, 273, 3, 273, 84, 273, 51, 137, 215, 207, 212, 137, 137, 8, 215,
- 207, 207, 8, 212, 274, 275, 274, 137, 275, 207, 136, 166, 128, 276, 136, 166, 189, 136, 166, 172, 136, 166, 170, 136, 166, 173,
- 136, 166, 277, 136, 166, 278, 136, 166, 279, 136, 166, 280, 136, 166, 174, 136, 166, 281, 136, 166, 282, 136, 166, 176, 136, 166, 283, 284, 285,
- 284, 286, 284, 287, 285, 288, 285, 187, 289, 290, 289, 291, 277, 292, 277, 175, 276, 171, 171, 34, 293, 57,
- 294, 295, 294, 294, 295, 295, 136, 295, 166, 127, 284, 149, 293, 166, 293, 294, 296, 89, 296, 88, 297, 79, 298, 296, 299,
- 287, 296, 300, 301, 297, 302, 303, 297, 304, 189, 303, 149, 299, 305, 300, 305, 302, 306, 304, 307, 299, 299, 8, 308, 300, 300, 8, 305,
- 302, 302, 8, 306, 304, 304, 8, 307, 308, 192, 196, 229, 305, 192, 196, 230, 306, 192, 196, 229, 307, 192, 196, 230, 308, 309, 228, 305, 309, 220, 306, 309, 228, 307, 309, 220,
- 309, 34, 310, 57, 309, 35, 311, 58, 310, 310, 312, 310, 312, 8, 311, 210, 209, 311, 313, 311, 313, 8, 210, 209, 312, 314, 312, 312, 8, 314,
- 313, 315, 313, 313, 8, 315, 315, 210, 316, 314, 192, 230, 314, 222, 7, 192, 230, 314, 222, 7, 309, 230, 316, 192, 196, 230, 316, 309, 230, 208, 99, 192, 208, 99, 309,
- 209, 209, 208, 172, 63, 166, 170, 207, 149, 173, 31, 37, 207, 62, 136, 16, 136, 173, 31, 37, 207, 62, 136, 292, 14, 136, 81, 37, 207, 62, 95, 292, 14, 136, 81, 37, 207, 62, 149, 292, 81, 37, 207, 62, 136,
- 292, 21, 37, 274, 63, 275, 63, 275, 62, 136, 292, 21, 37, 301, 63, 275, 63, 275, 62, 136, 292, 21, 37, 298, 63, 275, 63, 275, 62, 136, 317, 32, 317, 117, 292, 21, 37, 239, 317, 207, 62, 136, 292, 21, 37, 318, 317, 207, 62, 136, 318, 296, 192, 196, 318, 297, 192, 196, 318, 296, 309,
- 318, 297, 309, 278, 9, 149, 278, 9, 191, 149, 279, 4, 149, 279, 4, 191, 149, 280, 61, 275, 149, 174, 82, 37, 207, 62, 136, 175, 73, 37, 207, 62, 319, 319, 34, 320, 57, 319, 34, 320, 321, 320, 57,
- 322, 323, 322, 322, 323, 320, 320, 322, 323, 5, 207, 7, 293, 321, 10, 7, 293, 281, 191, 7, 324, 324, 136, 324, 166, 127, 288, 282, 75, 207, 149,
- 176, 77, 171, 325, 176, 77, 171, 326, 176, 77, 171, 325, 326, 325, 6, 37, 327, 62, 171, 326, 20, 171, 327, 192, 327, 309, 283, 91, 149, 328, 23, 288, 328, 192, 37, 329, 62, 196, 330, 331, 332,
- 188, 328, 192, 37, 329, 62, 196, 330, 331, 332, 290, 288, 290, 328, 37, 329, 62, 196, 330, 331, 332, 201, 23, 192, 37, 329, 62, 196, 330, 331, 332, 201, 23, 37, 329, 62, 196, 330, 331, 332, 333, 329, 329, 329, 208, 329, 334, 329, 334, 8,
- 329, 334, 8, 208, 334, 316, 334, 334, 8, 316, 335, 316, 330, 34, 332, 57, 331, 293, 271, 336, 96, 337, 215, 272, 336, 96, 337, 212, 271, 336, 96, 337, 128, 330, 331, 332,
- 272, 336, 96, 337, 128, 330, 331, 332, 336, 192, 336, 206, 337, 223, 222, 37, 333, 62, 196, 330, 331, 332, 223, 65, 222, 338, 333, 62, 196, 330, 339, 340, 223, 118, 222, 37, 62, 196, 330, 331, 332, 223, 119, 222, 37, 341, 62, 196, 330, 331, 332, 341, 335, 338, 37,
- 340, 57, 342, 22, 187, 342, 192, 338, 329, 62, 330, 339, 340, 291, 187, 291, 342, 338, 329, 62, 330, 339, 340, 203, 22, 192, 338, 329, 62, 330, 339, 340, 203, 22, 338, 329, 62, 330, 339, 340, 339, 331, 269, 100, 270, 100,
- 269, 100, 65, 215, 270, 100, 65, 212, 269, 100, 215, 270, 100, 212, 286, 102, 192, 343, 344, 345, 346, 202, 102, 192, 343, 344, 345, 346, 347, 102, 343, 344, 345, 346, 202, 102, 343, 344, 345, 346, 347, 286, 344, 34,
- 346, 57, 348, 104, 343, 343, 103, 239, 345, 345, 349, 349, 350, 349, 349, 350, 350, 223, 350, 348, 223,
- 350, 63, 139, 139, 351, 351, 294, 140, 352, 353, 354, 352, 352, 353, 354, 355, 354, 354, 355,
- 355, 356, 149, 355, 357, 149, 355, 295, 356, 114, 358, 359, 356, 114, 360, 358, 361, 358, 362, 358, 363, 358, 361, 8, 362, 358, 361, 8, 363,
- 361, 364, 362, 65, 116, 364, 363, 34, 57, 363, 34, 365, 57, 363, 34, 365, 8, 57, 359, 106, 360, 365, 366, 365, 365, 8, 366, 366, 364, 366, 226, 116, 364,
- 360, 69, 364, 192, 367, 357, 105, 65, 359, 357, 105, 368, 359, 357, 105, 368, 357, 105, 189, 357, 105, 284, 357, 105, 10, 367, 127, 289, 357, 105, 10, 367, 127, 347,
- 357, 105, 10, 367, 212, 368, 34, 57, 368, 34, 369, 57, 368, 34, 369, 8, 57, 369, 370, 369, 369, 8, 370, 370, 226, 370, 226, 116, 226, 371, 134, 0
+ 135, 122, 136, 135, 124, 137, 135, 125, 138, 135, 123, 139, 135, 126, 140, 135, 127, 141, 136, 142, 143, 142, 144, 142, 145, 145, 146,
+ 145, 147, 145, 145, 146, 145, 145, 147, 148, 149, 150, 64, 150, 63, 146, 116, 148, 150, 151, 152, 147, 153, 150, 154, 50, 15, 50,
+ 154, 50, 147, 153, 154, 150, 147, 153, 154, 117, 155, 150, 147, 153, 117, 155, 150, 153, 115, 151, 144, 143, 156, 157, 30, 157, 157, 15, 30, 158, 157, 159,
+ 160, 90, 158, 161, 160, 161, 161, 160, 156, 161, 162, 156, 162, 163, 139, 163, 163, 139, 164, 162, 164, 164, 8, 162, 159, 34, 57,
+ 159, 34, 163, 57, 162, 165, 159, 139, 161, 166, 139, 166, 166, 162, 166, 165, 7, 167, 35, 164, 58, 166, 165, 7, 167, 165, 159, 166, 165, 131, 165, 159, 168, 34, 167, 169, 57, 150, 168, 34, 167, 169, 8, 57, 150,
+ 170, 167, 128, 171, 170, 167, 129, 172, 170, 167, 129, 168, 170, 167, 173, 170, 167, 171, 170, 167, 174, 170, 167, 175, 170, 167, 176, 170, 167, 177, 166, 165, 7, 170,
+ 178, 79, 178, 92, 178, 30, 178, 178, 15, 30, 179, 179, 180, 180, 155, 7, 178, 180, 178, 155, 180, 180, 8, 155, 7, 178, 180, 180, 8, 178, 155,
+ 166, 71, 30, 37, 179, 62, 150, 166, 71, 30, 150, 181, 70, 30, 38, 178, 25, 155, 150, 166, 181, 166, 72, 181, 182, 70, 178, 155, 150, 166, 182, 166, 10, 182, 166, 108, 181, 166, 10, 108, 181,
+ 166, 108, 10, 181, 166, 10, 181, 166, 10, 108, 182, 166, 108, 10, 182, 183, 183, 150, 184, 108, 155, 150, 166, 184, 166, 108, 182, 185, 70, 178, 155, 7, 170, 183,
+ 166, 185, 166, 72, 185, 166, 10, 185, 186, 70, 30, 38, 178, 25, 155, 7, 35, 164, 58, 150, 166, 186, 166, 72, 186, 187, 70, 178, 155, 7, 167, 165, 159, 150, 166, 187, 166, 72, 187, 166, 188,
+ 166, 189, 166, 190, 165, 152, 166, 99, 30, 34, 191, 57, 166, 109, 30, 7, 162, 191, 30, 191, 30, 17, 48, 191, 191, 8, 30, 191, 191, 8, 30, 17, 48, 155, 30,
+ 155, 70, 155, 71, 155, 72, 155, 131, 155, 119, 155, 120, 155, 107, 155, 118, 155, 108, 155, 109,
+ 149, 30, 149, 70, 149, 71, 149, 72, 149, 131, 149, 119, 149, 120, 149, 107, 149, 105, 149, 118,
+ 149, 117, 149, 108, 149, 109, 192, 149, 193, 192, 194, 195, 194, 194, 8, 195, 195, 165, 38, 194, 25, 195, 92, 195, 165,
+ 196, 7, 195, 197, 196, 197, 198, 74, 198, 192, 198, 199, 198, 200, 198, 201, 198, 202, 198, 203,
+ 198, 204, 198, 205, 198, 206, 198, 207, 207, 37, 208, 62, 207, 37, 62, 207, 37, 209, 62, 207, 37, 208, 8, 210, 62, 199, 85, 199, 86,
+ 199, 87, 199, 48, 199, 93, 199, 69, 205, 12, 205, 13, 200, 35, 211, 58, 200, 35, 212, 58, 200, 35, 212, 8, 211, 58, 212, 213,
+ 212, 214, 213, 212, 211, 215, 212, 212, 8, 211, 213, 212, 212, 8, 211, 215, 214, 8, 214, 214, 8, 211, 211, 214, 215, 100, 216, 201, 34, 57,
+ 201, 34, 217, 57, 201, 34, 217, 8, 57, 169, 218, 217, 219, 169, 169, 8, 218, 217, 217, 8, 219, 219, 192, 219, 220, 220, 192, 221, 218, 222, 7, 213,
+ 219, 223, 7, 213, 219, 224, 223, 225, 223, 226, 225, 227, 222, 69, 225, 69, 222, 48, 225, 48, 227, 192,
+ 227, 228, 228, 4, 228, 5, 228, 6, 228, 9, 228, 10, 228, 11, 228, 14, 228, 16, 228, 99,
+ 228, 87, 228, 20, 228, 21, 228, 23, 228, 31, 228, 32, 228, 33, 228, 44, 228, 85, 228, 61,
+ 228, 73, 228, 74, 228, 75, 228, 86, 228, 77, 228, 78, 228, 79, 228, 80, 228, 81, 228, 88,
+ 228, 89, 228, 91, 228, 92, 228, 102, 228, 82, 228, 103, 228, 104, 228, 106, 228, 115, 226, 35, 213, 58,
+ 229, 17, 216, 221, 17, 213, 230, 231, 230, 229, 231, 221, 206, 110, 232, 113, 232, 112, 138, 232, 206, 111, 138, 232,
+ 152, 198, 233, 102, 152, 233, 35, 208, 58, 152, 152, 35, 208, 58, 152, 152, 98, 35, 208, 58, 234, 44, 15, 30, 152, 233, 15, 227, 152, 152, 15, 227, 152, 152, 98, 227, 152, 235,
+ 152, 44, 152, 37, 236, 62, 235, 234, 237, 152, 237, 44, 237, 238, 238, 206, 152, 152, 206, 238, 152, 37, 236, 62, 238, 152, 98, 37, 236, 62, 238, 233, 37, 236, 62, 238, 238, 37, 236, 62,
+ 238, 238, 98, 37, 236, 62, 238, 238, 35, 208, 58, 238, 238, 98, 35, 208, 58, 238, 238, 15, 227, 238, 238, 98, 227, 236, 236, 239, 236, 239, 8, 239, 213, 239, 100, 213,
+ 239, 239, 8, 213, 239, 239, 8, 100, 213, 240, 237, 240, 238, 241, 240, 241, 240, 55, 241, 240, 43, 241, 55, 242, 241, 43, 242, 242, 241,
+ 242, 11, 242, 242, 80, 242, 242, 78, 242, 242, 53, 242, 242, 41, 242, 242, 76, 242, 242, 45, 242, 243, 242, 243, 241, 66, 243, 244, 243,
+ 244, 244, 245, 243, 245, 65, 245, 12, 245, 59, 246, 244, 246, 246, 53, 244, 246, 246, 41, 244, 247, 246, 247, 247, 39, 246, 247, 247, 26, 246,
+ 247, 247, 28, 246, 248, 247, 249, 247, 248, 248, 250, 247, 249, 249, 250, 247, 250, 38, 250, 25, 250, 36, 250, 24, 250, 33,
+ 250, 117, 248, 248, 32, 247, 251, 248, 252, 249, 251, 251, 253, 248, 252, 252, 253, 249, 253, 18, 253, 46, 253, 19, 253, 47,
+ 254, 252, 255, 251, 254, 254, 1, 252, 255, 255, 1, 251, 256, 254, 257, 255, 256, 256, 83, 254, 257, 257, 83, 255, 258, 256, 259, 257,
+ 258, 258, 49, 256, 259, 259, 49, 257, 260, 258, 261, 259, 260, 260, 2, 258, 261, 261, 2, 259, 262, 260, 263, 261, 262, 262, 52, 260, 263, 263, 52, 261,
+ 264, 262, 265, 263, 264, 264, 97, 262, 265, 265, 97, 263, 266, 264, 267, 265, 266, 264, 56, 213, 7, 216, 267, 265, 56, 213, 7, 213, 216, 266, 213, 267,
+ 216, 268, 213, 269, 216, 270, 213, 271, 216, 240, 17, 216, 213, 240, 17, 213, 216, 240, 272, 216, 213, 240, 272, 213, 272, 68, 272, 67,
+ 272, 13, 272, 60, 272, 54, 272, 42, 272, 40, 272, 27, 272, 29, 272, 3, 272, 84, 272, 51,
+ 138, 216, 208, 213, 138, 138, 8, 216, 208, 208, 8, 213, 273, 274, 273, 138, 274, 208, 137, 167, 129, 275, 137, 167, 190,
+ 137, 167, 173, 137, 167, 171, 137, 167, 174, 137, 167, 276, 137, 167, 277, 137, 167, 278, 137, 167, 279, 137, 167, 175, 137, 167, 280, 137, 167, 281,
+ 137, 167, 177, 137, 167, 282, 283, 284, 283, 285, 283, 286, 284, 287, 284, 188, 288, 289, 288, 290, 276, 291,
+ 276, 176, 275, 172, 172, 34, 292, 57, 293, 294, 293, 293, 294, 294, 137, 294, 167, 128, 283, 150, 292, 167, 292, 293, 295, 89,
+ 295, 88, 296, 79, 297, 295, 298, 286, 295, 299, 300, 296, 301, 302, 296, 303, 190, 302, 150, 298, 304, 299, 304, 301, 305,
+ 303, 306, 298, 298, 8, 307, 299, 299, 8, 304, 301, 301, 8, 305, 303, 303, 8, 306, 307, 193, 197, 230, 304, 193, 197, 231, 305, 193, 197, 230, 306, 193, 197, 231, 307, 308, 229,
+ 304, 308, 221, 305, 308, 229, 306, 308, 221, 308, 34, 309, 57, 308, 35, 310, 58, 309, 309, 311, 309, 311, 8, 310, 211, 210, 310, 312,
+ 310, 312, 8, 211, 210, 311, 313, 311, 311, 8, 313, 312, 314, 312, 312, 8, 314, 314, 211, 315, 313, 193, 231, 313, 223, 7, 193, 231, 313, 223, 7, 308, 231, 315, 193, 197, 231,
+ 315, 308, 231, 209, 100, 193, 209, 100, 308, 210, 210, 209, 173, 63, 167, 171, 208, 150, 174, 31, 37, 208, 62, 137, 16, 137, 174, 31, 37, 208, 62, 137,
+ 291, 14, 137, 81, 37, 208, 62, 95, 291, 14, 137, 81, 37, 208, 62, 150, 291, 81, 37, 208, 62, 137, 291, 21, 37, 273, 63, 274, 63, 274, 62, 137, 291, 21, 37, 300, 63, 274, 63, 274, 62, 137, 291, 21, 37, 297, 63, 274, 63, 274, 62, 137, 316, 32, 316, 118, 291, 21, 37, 240, 316, 208, 62, 137, 291, 21, 37, 317, 316, 208, 62, 137,
+ 317, 295, 193, 197, 317, 296, 193, 197, 317, 295, 308, 317, 296, 308, 277, 9, 150, 277, 9, 192, 150, 278, 4, 150, 278, 4, 192, 150, 279, 61, 274, 150, 175, 82, 37, 208, 62, 137,
+ 176, 73, 37, 208, 62, 318, 318, 34, 319, 57, 318, 34, 319, 320, 319, 57, 321, 322, 321, 321, 322, 319, 319, 321, 322, 5, 208, 7, 292, 320, 10, 7, 292, 280, 192, 7, 323,
+ 323, 137, 323, 167, 128, 287, 281, 75, 208, 150, 177, 77, 172, 324, 177, 77, 172, 325, 177, 77, 172, 324, 325, 324, 6, 37, 326, 62, 172, 325, 20, 172, 326, 193, 326, 308,
+ 282, 91, 150, 327, 23, 287, 327, 193, 37, 328, 62, 197, 329, 330, 331, 189, 327, 193, 37, 328, 62, 197, 329, 330, 331, 289, 287, 289, 327, 37, 328, 62, 197, 329, 330, 331, 202, 23, 193, 37, 328, 62, 197, 329, 330, 331, 202, 23, 37, 328, 62, 197, 329, 330, 331, 332, 328, 328,
+ 328, 209, 328, 333, 328, 333, 8, 328, 333, 8, 209, 333, 315, 333, 333, 8, 315, 334, 315, 329, 34, 331, 57, 330, 292,
+ 270, 335, 96, 336, 216, 271, 335, 96, 336, 213, 270, 335, 96, 336, 129, 329, 330, 331, 271, 335, 96, 336, 129, 329, 330, 331, 335, 193, 335, 207, 336, 224, 223, 37, 332, 62, 197, 329, 330, 331, 224, 65, 223, 337, 332, 62, 197, 329, 338, 339, 224, 119, 223, 37, 62, 197, 329, 330, 331,
+ 224, 120, 223, 37, 340, 62, 197, 329, 330, 331, 340, 334, 337, 37, 339, 57, 341, 22, 188, 341, 193, 337, 328, 62, 329, 338, 339, 290, 188, 290, 341, 337, 328, 62, 329, 338, 339, 204, 22, 193, 337, 328, 62, 329, 338, 339, 204, 22, 337, 328, 62, 329, 338, 339,
+ 338, 330, 268, 101, 269, 101, 268, 101, 65, 216, 269, 101, 65, 213, 268, 101, 216, 269, 101, 213, 285, 103, 193, 342, 343, 344, 345, 203, 103, 193, 342, 343, 344, 345, 346, 103, 342, 343, 344, 345,
+ 203, 103, 342, 343, 344, 345, 346, 285, 343, 34, 345, 57, 347, 105, 342, 342, 104, 240, 344, 344, 348, 348, 349,
+ 348, 348, 349, 349, 224, 349, 347, 224, 349, 63, 140, 140, 350, 350, 293, 141, 351, 352, 353, 351,
+ 351, 352, 353, 354, 353, 353, 354, 354, 355, 150, 354, 356, 150, 354, 294, 355, 115, 357, 358, 355, 115, 359, 357, 360, 357, 361,
+ 357, 362, 357, 360, 8, 361, 357, 360, 8, 362, 360, 363, 361, 65, 117, 363, 362, 34, 57, 362, 34, 364, 57, 362, 34, 364, 8, 57, 358, 107, 359, 364, 365,
+ 364, 364, 8, 365, 365, 363, 365, 227, 117, 363, 359, 69, 363, 193, 366, 356, 106, 65, 358, 356, 106, 367, 358, 356, 106, 367, 356, 106, 190,
+ 356, 106, 283, 356, 106, 10, 366, 128, 288, 356, 106, 10, 366, 128, 346, 356, 106, 10, 366, 213, 367, 34, 57, 367, 34, 368, 57, 367, 34, 368, 8, 57, 368, 369, 368, 368, 8, 369, 369, 227,
+ 369, 227, 117, 227, 370, 135, 0
};
const int QmlJSGrammar::rule_index [] = {
@@ -294,618 +296,593 @@ const int QmlJSGrammar::rule_index [] = {
640, 642, 644, 646, 648, 650, 652, 654, 656, 658,
660, 662, 664, 666, 668, 670, 672, 674, 676, 678,
682, 685, 688, 689, 690, 692, 694, 696, 698, 702,
- 706, 708, 710, 715, 720, 724, 728, 732, 734, 740,
- 742, 744, 747, 750, 753, 758, 763, 768, 773, 777,
- 778, 780, 783, 785, 788, 792, 797, 799, 801, 803,
- 806, 809, 812, 815, 817, 820, 823, 826, 829, 832,
- 835, 838, 840, 844, 846, 850, 852, 854, 856, 858,
- 862, 866, 868, 872, 876, 880, 882, 884, 888, 892,
- 894, 896, 898, 900, 902, 906, 910, 914, 916, 918,
- 920, 922, 926, 930, 932, 934, 936, 938, 940, 942,
- 946, 950, 952, 954, 958, 962, 964, 966, 970, 974,
- 976, 978, 982, 986, 988, 990, 994, 998, 1000, 1002,
- 1006, 1010, 1012, 1014, 1020, 1026, 1028, 1030, 1032, 1034,
- 1036, 1038, 1042, 1046, 1050, 1054, 1056, 1058, 1060, 1062,
- 1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082,
- 1086, 1090, 1091, 1092, 1094, 1096, 1100, 1103, 1106, 1109,
- 1112, 1115, 1118, 1121, 1124, 1127, 1130, 1133, 1136, 1139,
- 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159,
- 1163, 1165, 1168, 1170, 1175, 1177, 1179, 1181, 1183, 1185,
- 1188, 1191, 1194, 1197, 1200, 1202, 1204, 1206, 1208, 1212,
- 1216, 1220, 1224, 1228, 1232, 1236, 1240, 1243, 1246, 1249,
- 1252, 1256, 1260, 1261, 1263, 1266, 1269, 1271, 1276, 1278,
- 1282, 1284, 1288, 1291, 1294, 1299, 1304, 1308, 1311, 1314,
- 1317, 1318, 1320, 1322, 1323, 1326, 1334, 1340, 1348, 1356,
- 1362, 1372, 1382, 1392, 1394, 1396, 1404, 1412, 1416, 1420,
- 1423, 1426, 1429, 1433, 1436, 1440, 1444, 1450, 1456, 1460,
- 1466, 1468, 1471, 1472, 1474, 1479, 1483, 1487, 1489, 1493,
- 1497, 1501, 1505, 1510, 1516, 1519, 1521, 1523, 1526, 1528,
- 1538, 1548, 1550, 1559, 1569, 1578, 1580, 1581, 1583, 1585,
- 1588, 1592, 1594, 1598, 1600, 1602, 1604, 1606, 1611, 1616,
- 1624, 1632, 1634, 1636, 1637, 1646, 1656, 1665, 1675, 1677,
- 1679, 1681, 1683, 1692, 1694, 1702, 1711, 1719, 1721, 1723,
- 1725, 1729, 1733, 1736, 1739, 1746, 1753, 1759, 1765, 1767,
- 1769, 1771, 1773, 1774, 1777, 1778, 1780, 1782, 1785, 1787,
- 1790, 1792, 1793, 1795, 1797, 1799, 1801, 1802, 1804, 1806,
- 1809, 1812, 1815, 1817, 1821, 1824, 1826, 1828, 1830, 1834,
- 1838, 1840, 1844, 1847, 1851, 1856, 1859, 1861, 1865, 1867,
- 1871, 1873, 1875, 1876, 1880, 1884, 1887, 1890, 1893, 1899,
- 1905, 1910, 1913, 1917, 1922, 1924, 1928, 1930, 1934
+ 706, 708, 710, 715, 720, 726, 730, 734, 738, 742,
+ 744, 750, 752, 754, 757, 760, 763, 768, 774, 779,
+ 784, 790, 795, 801, 805, 809, 810, 812, 815, 817,
+ 820, 824, 829, 831, 833, 835, 838, 841, 844, 847,
+ 849, 852, 855, 858, 861, 864, 867, 870, 872, 876,
+ 878, 882, 884, 886, 888, 890, 894, 898, 900, 904,
+ 908, 912, 914, 916, 920, 924, 926, 928, 930, 932,
+ 934, 936, 940, 942, 944, 948, 952, 954, 956, 958,
+ 960, 962, 964, 968, 972, 974, 976, 980, 984, 986,
+ 988, 992, 996, 998, 1000, 1004, 1008, 1010, 1012, 1016,
+ 1020, 1022, 1024, 1028, 1032, 1034, 1036, 1042, 1048, 1050,
+ 1052, 1054, 1056, 1058, 1060, 1064, 1068, 1072, 1076, 1078,
+ 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098,
+ 1100, 1102, 1104, 1108, 1112, 1113, 1114, 1116, 1118, 1122,
+ 1125, 1128, 1131, 1134, 1137, 1140, 1143, 1146, 1149, 1152,
+ 1155, 1158, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175,
+ 1177, 1179, 1181, 1185, 1187, 1190, 1192, 1197, 1199, 1201,
+ 1203, 1205, 1207, 1210, 1213, 1216, 1219, 1222, 1224, 1226,
+ 1228, 1230, 1234, 1238, 1242, 1246, 1250, 1254, 1258, 1262,
+ 1265, 1268, 1271, 1274, 1278, 1282, 1283, 1285, 1288, 1291,
+ 1293, 1298, 1300, 1304, 1306, 1310, 1313, 1316, 1321, 1326,
+ 1330, 1333, 1336, 1339, 1340, 1342, 1344, 1345, 1348, 1356,
+ 1362, 1370, 1378, 1384, 1394, 1404, 1414, 1416, 1418, 1426,
+ 1434, 1438, 1442, 1445, 1448, 1451, 1455, 1458, 1462, 1466,
+ 1472, 1478, 1482, 1488, 1490, 1493, 1494, 1496, 1501, 1505,
+ 1509, 1511, 1515, 1519, 1523, 1527, 1532, 1538, 1541, 1543,
+ 1545, 1548, 1550, 1560, 1570, 1572, 1581, 1591, 1600, 1602,
+ 1603, 1605, 1607, 1610, 1614, 1616, 1620, 1622, 1624, 1626,
+ 1628, 1633, 1638, 1646, 1654, 1656, 1658, 1659, 1668, 1678,
+ 1687, 1697, 1699, 1701, 1703, 1705, 1714, 1716, 1724, 1733,
+ 1741, 1743, 1745, 1747, 1751, 1755, 1758, 1761, 1768, 1775,
+ 1781, 1787, 1789, 1791, 1793, 1795, 1796, 1799, 1800, 1802,
+ 1804, 1807, 1809, 1812, 1814, 1815, 1817, 1819, 1821, 1823,
+ 1824, 1826, 1828, 1831, 1834, 1837, 1839, 1843, 1846, 1848,
+ 1850, 1852, 1856, 1860, 1862, 1866, 1869, 1873, 1878, 1881,
+ 1883, 1887, 1889, 1893, 1895, 1897, 1898, 1902, 1906, 1909,
+ 1912, 1915, 1921, 1927, 1932, 1935, 1939, 1944, 1946, 1950,
+ 1952, 1956
};
#endif // QLALR_NO_QMLJSGRAMMAR_DEBUG_INFO
const short QmlJSGrammar::action_default [] = {
- 0, 0, 464, 464, 464, 0, 26, 0, 302, 147,
- 360, 0, 378, 532, 332, 340, 336, 278, 150, 352,
- 356, 154, 328, 294, 3, 149, 151, 145, 134, 279,
- 146, 344, 348, 261, 258, 299, 277, 260, 148, 251,
- 152, 321, 307, 0, 131, 563, 133, 0, 165, 166,
+ 0, 0, 467, 467, 467, 0, 26, 0, 308, 147,
+ 363, 0, 381, 535, 335, 343, 339, 284, 150, 355,
+ 359, 154, 331, 300, 3, 149, 151, 145, 134, 285,
+ 146, 347, 351, 263, 260, 305, 283, 262, 148, 251,
+ 152, 324, 313, 0, 131, 566, 133, 0, 165, 166,
161, 128, 0, 0, 126, 121, 0, 177, 0, 0,
0, 163, 0, 0, 247, 159, 162, 130, 125, 0,
0, 122, 124, 132, 127, 123, 129, 164, 252, 0,
- 144, 0, 160, 0, 0, 549, 153, 319, 292, 284,
- 358, 0, 0, 154, 145, 279, 301, 281, 280, 0,
- 297, 298, 296, 295, 300, 534, 0, 528, 0, 464,
- 525, 415, 0, 413, 464, 411, 527, 361, 0, 379,
- 333, 341, 337, 393, 391, 353, 357, 392, 399, 388,
- 329, 389, 0, 145, 390, 407, 396, 279, 345, 349,
- 320, 394, 306, 408, 0, 0, 0, 464, 0, 0,
- 0, 0, 383, 463, 0, 0, 0, 419, 0, 0,
- 550, 397, 398, 318, 0, 0, 387, 395, 359, 534,
- 0, 529, 0, 464, 0, 531, 526, 0, 331, 0,
- 324, 326, 325, 327, 322, 0, 0, 313, 311, 0,
- 314, 312, 310, 308, 0, 0, 0, 304, 305, 303,
- 103, 0, 0, 139, 316, 140, 0, 0, 264, 257,
- 200, 201, 202, 203, 204, 236, 230, 205, 232, 206,
- 207, 208, 209, 210, 238, 237, 211, 212, 213, 214,
- 215, 239, 216, 217, 231, 218, 219, 233, 220, 234,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 235,
- 0, 0, 254, 381, 0, 0, 256, 0, 253, 0,
- 0, 270, 271, 0, 273, 0, 272, 275, 0, 276,
- 259, 274, 255, 0, 136, 0, 0, 138, 137, 315,
- 0, 339, 0, 335, 0, 0, 0, 0, 355, 351,
- 0, 347, 0, 343, 465, 15, 16, 464, 0, 497,
- 498, 0, 0, 499, 509, 0, 135, 517, 522, 143,
- 244, 518, 519, 0, 0, 443, 177, 0, 142, 244,
- 141, 457, 246, 0, 242, 458, 520, 523, 521, 143,
- 0, 464, 0, 510, 459, 460, 244, 449, 444, 194,
- 195, 135, 193, 0, 0, 0, 199, 197, 454, 445,
- 450, 441, 0, 244, 244, 455, 456, 0, 240, 0,
- 447, 451, 178, 461, 175, 442, 177, 452, 461, 453,
- 462, 448, 176, 446, 0, 375, 368, 0, 373, 374,
- 372, 371, 377, 370, 369, 366, 367, 376, 365, 363,
- 0, 484, 485, 0, 482, 483, 508, 0, 0, 0,
- 0, 0, 0, 469, 468, 382, 384, 0, 0, 279,
- 0, 0, 418, 417, 0, 0, 0, 380, 383, 0,
- 385, 383, 0, 464, 471, 0, 474, 475, 0, 464,
- 477, 0, 0, 0, 364, 0, 464, 476, 362, 143,
- 420, 480, 425, 478, 434, 0, 143, 0, 429, 243,
- 245, 433, 0, 241, 437, 438, 383, 0, 383, 0,
- 464, 473, 143, 481, 427, 422, 479, 435, 439, 0,
- 143, 0, 431, 243, 383, 0, 383, 0, 464, 472,
- 409, 386, 464, 0, 410, 401, 0, 403, 0, 404,
- 400, 0, 402, 0, 542, 414, 0, 517, 540, 0,
- 0, 464, 548, 0, 543, 541, 143, 421, 0, 426,
- 244, 0, 430, 563, 0, 0, 565, 560, 0, 567,
- 566, 0, 569, 0, 126, 571, 127, 0, 562, 555,
- 561, 568, 570, 517, 516, 0, 143, 0, 464, 0,
- 535, 0, 0, 143, 0, 464, 0, 537, 0, 0,
- 524, 539, 0, 143, 0, 464, 0, 538, 0, 517,
- 0, 143, 0, 464, 0, 536, 564, 0, 0, 464,
- 467, 464, 466, 0, 486, 0, 0, 0, 488, 493,
- 491, 494, 0, 0, 492, 493, 0, 489, 0, 490,
- 464, 496, 0, 464, 495, 0, 500, 0, 501, 502,
- 0, 0, 503, 0, 506, 507, 0, 0, 504, 505,
- 0, 0, 464, 470, 0, 0, 464, 487, 554, 0,
- 552, 143, 0, 423, 428, 244, 436, 440, 0, 432,
- 424, 530, 0, 412, 0, 330, 0, 323, 0, 0,
- 309, 317, 0, 338, 0, 334, 0, 0, 270, 263,
- 269, 0, 268, 0, 267, 0, 0, 0, 0, 354,
- 350, 0, 346, 0, 342, 270, 0, 265, 270, 0,
- 266, 563, 0, 0, 565, 0, 556, 565, 0, 558,
- 285, 284, 0, 517, 517, 0, 143, 0, 464, 0,
- 514, 0, 143, 0, 464, 0, 515, 0, 517, 517,
- 0, 0, 464, 0, 546, 0, 0, 464, 0, 547,
- 188, 187, 192, 184, 0, 0, 180, 189, 0, 181,
- 186, 182, 0, 191, 170, 0, 178, 0, 177, 168,
- 0, 173, 174, 0, 169, 179, 171, 172, 167, 0,
- 0, 156, 157, 461, 155, 0, 158, 289, 283, 261,
- 262, 291, 288, 282, 0, 0, 248, 250, 0, 249,
- 290, 287, 286, 553, 0, 551, 0, 293, 0, 0,
- 6, 578, 575, 579, 464, 583, 0, 0, 582, 581,
- 580, 608, 606, 603, 0, 0, 607, 605, 0, 596,
- 601, 0, 611, 0, 559, 610, 0, 512, 405, 0,
- 544, 406, 609, 563, 517, 0, 143, 0, 464, 0,
- 513, 517, 0, 0, 464, 0, 545, 0, 565, 0,
- 557, 615, 0, 617, 612, 0, 613, 616, 614, 0,
- 618, 604, 602, 0, 591, 586, 585, 587, 588, 0,
- 0, 584, 0, 589, 590, 0, 597, 599, 0, 593,
- 0, 600, 0, 594, 598, 595, 0, 592, 5, 573,
- 464, 2, 0, 101, 100, 0, 133, 0, 0, 509,
- 542, 122, 124, 132, 123, 4, 32, 0, 45, 44,
- 98, 74, 77, 95, 91, 0, 88, 102, 0, 517,
- 0, 143, 0, 464, 0, 511, 28, 31, 0, 0,
- 0, 30, 29, 40, 36, 0, 41, 37, 0, 0,
- 105, 0, 42, 0, 0, 82, 78, 93, 63, 62,
- 61, 0, 0, 63, 0, 0, 0, 64, 0, 120,
- 117, 115, 110, 118, 114, 111, 113, 119, 116, 112,
- 73, 0, 76, 464, 0, 85, 54, 55, 56, 58,
- 0, 0, 59, 57, 52, 464, 53, 415, 162, 164,
- 183, 0, 0, 0, 0, 198, 0, 196, 185, 50,
- 49, 0, 190, 51, 90, 86, 0, 80, 83, 0,
- 0, 0, 0, 0, 106, 0, 104, 108, 0, 109,
- 0, 107, 63, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 0, 0, 39, 94, 0, 464, 0, 261,
- 0, 0, 97, 0, 99, 75, 96, 92, 63, 0,
- 0, 0, 0, 0, 0, 464, 0, 261, 0, 0,
- 111, 79, 89, 87, 81, 84, 63, 0, 72, 65,
- 0, 63, 66, 0, 0, 0, 67, 0, 0, 0,
- 0, 69, 70, 0, 71, 68, 33, 43, 464, 0,
- 0, 60, 177, 0, 0, 46, 47, 0, 48, 8,
- 0, 0, 9, 0, 11, 0, 10, 1, 25, 18,
- 14, 0, 17, 13, 12, 27, 0, 35, 7, 34,
- 19, 0, 21, 0, 0, 24, 0, 20, 22, 0,
- 0, 23, 619
+ 144, 0, 160, 0, 0, 552, 153, 298, 290, 361,
+ 0, 0, 154, 145, 285, 307, 287, 286, 0, 303,
+ 304, 302, 301, 306, 537, 0, 531, 0, 467, 528,
+ 418, 0, 416, 467, 414, 530, 364, 0, 382, 336,
+ 344, 340, 396, 394, 356, 360, 395, 402, 391, 332,
+ 392, 0, 145, 393, 410, 399, 285, 348, 352, 323,
+ 397, 312, 411, 0, 0, 0, 467, 0, 0, 0,
+ 0, 386, 466, 0, 0, 0, 422, 0, 0, 553,
+ 400, 401, 0, 0, 390, 398, 362, 537, 0, 532,
+ 0, 467, 0, 534, 529, 0, 334, 0, 327, 329,
+ 328, 330, 325, 0, 321, 319, 317, 0, 320, 318,
+ 316, 314, 0, 0, 0, 310, 311, 309, 322, 0,
+ 342, 0, 338, 0, 0, 0, 0, 358, 354, 0,
+ 350, 0, 346, 468, 15, 0, 16, 384, 467, 0,
+ 500, 501, 0, 0, 502, 512, 0, 135, 520, 525,
+ 143, 244, 521, 522, 0, 0, 446, 177, 0, 142,
+ 244, 103, 0, 0, 139, 141, 140, 0, 0, 0,
+ 266, 258, 200, 201, 202, 203, 204, 236, 230, 205,
+ 232, 206, 207, 208, 209, 210, 238, 237, 211, 212,
+ 213, 214, 215, 239, 216, 217, 231, 218, 219, 233,
+ 220, 234, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 235, 0, 254, 259, 0, 0, 255, 0, 0,
+ 257, 0, 253, 0, 0, 276, 277, 0, 279, 0,
+ 278, 281, 0, 282, 261, 280, 256, 0, 136, 0,
+ 0, 138, 137, 460, 246, 0, 242, 461, 523, 526,
+ 524, 143, 0, 467, 0, 513, 462, 463, 244, 452,
+ 447, 194, 195, 135, 193, 0, 0, 0, 199, 197,
+ 457, 448, 453, 444, 0, 244, 244, 458, 459, 0,
+ 240, 0, 450, 454, 178, 464, 175, 445, 177, 455,
+ 464, 456, 465, 451, 176, 449, 0, 378, 371, 0,
+ 376, 377, 375, 374, 380, 373, 372, 369, 370, 379,
+ 368, 366, 0, 487, 488, 0, 485, 486, 511, 0,
+ 0, 0, 0, 0, 0, 472, 471, 385, 387, 0,
+ 0, 285, 0, 0, 421, 420, 0, 0, 0, 383,
+ 386, 0, 388, 386, 0, 467, 474, 0, 477, 478,
+ 0, 467, 480, 0, 0, 0, 367, 0, 467, 479,
+ 365, 143, 423, 483, 428, 481, 437, 0, 143, 0,
+ 432, 243, 245, 436, 0, 241, 440, 441, 386, 0,
+ 386, 0, 467, 476, 143, 484, 430, 425, 482, 438,
+ 442, 0, 143, 0, 434, 243, 386, 0, 386, 0,
+ 467, 475, 412, 389, 467, 0, 413, 404, 0, 406,
+ 0, 407, 403, 0, 405, 0, 545, 417, 0, 520,
+ 543, 0, 0, 467, 551, 0, 546, 544, 143, 424,
+ 0, 429, 244, 0, 433, 566, 0, 0, 568, 563,
+ 0, 570, 569, 0, 572, 0, 126, 574, 127, 0,
+ 565, 558, 564, 571, 573, 520, 519, 0, 143, 0,
+ 467, 0, 538, 0, 0, 143, 0, 467, 0, 540,
+ 0, 0, 527, 542, 0, 143, 0, 467, 0, 541,
+ 0, 520, 0, 143, 0, 467, 0, 539, 567, 0,
+ 0, 467, 470, 467, 469, 0, 489, 0, 0, 0,
+ 491, 496, 494, 497, 0, 0, 495, 496, 0, 492,
+ 0, 493, 467, 499, 0, 467, 498, 0, 503, 0,
+ 504, 505, 0, 0, 506, 0, 509, 510, 0, 0,
+ 507, 508, 0, 0, 467, 473, 0, 0, 467, 490,
+ 557, 0, 555, 143, 0, 426, 431, 244, 439, 443,
+ 0, 435, 427, 533, 0, 415, 0, 333, 0, 326,
+ 0, 315, 0, 341, 0, 337, 0, 0, 276, 0,
+ 265, 274, 0, 272, 0, 270, 275, 0, 276, 0,
+ 273, 0, 271, 0, 0, 0, 0, 357, 353, 0,
+ 349, 0, 345, 276, 0, 0, 267, 276, 0, 268,
+ 276, 0, 269, 566, 0, 0, 568, 0, 559, 568,
+ 0, 561, 291, 290, 0, 520, 520, 0, 143, 0,
+ 467, 0, 517, 0, 143, 0, 467, 0, 518, 0,
+ 520, 520, 0, 0, 467, 0, 549, 0, 0, 467,
+ 0, 550, 188, 187, 192, 184, 0, 0, 180, 189,
+ 0, 181, 186, 182, 0, 191, 170, 0, 178, 0,
+ 177, 168, 0, 173, 174, 0, 169, 179, 171, 172,
+ 167, 0, 0, 156, 157, 464, 155, 0, 158, 295,
+ 289, 263, 264, 297, 294, 288, 0, 0, 248, 250,
+ 0, 249, 296, 293, 292, 556, 0, 554, 0, 299,
+ 0, 0, 6, 581, 578, 582, 467, 586, 0, 0,
+ 585, 584, 583, 611, 609, 606, 0, 0, 610, 608,
+ 0, 599, 604, 0, 614, 0, 562, 613, 0, 515,
+ 408, 0, 547, 409, 612, 566, 520, 0, 143, 0,
+ 467, 0, 516, 520, 0, 0, 467, 0, 548, 0,
+ 568, 0, 560, 618, 0, 620, 615, 0, 616, 619,
+ 617, 0, 621, 607, 605, 0, 594, 589, 588, 590,
+ 591, 0, 0, 587, 0, 592, 593, 0, 600, 602,
+ 0, 596, 0, 603, 0, 597, 601, 598, 0, 595,
+ 5, 576, 467, 2, 0, 101, 100, 0, 133, 0,
+ 0, 512, 545, 122, 124, 132, 123, 4, 32, 0,
+ 45, 44, 98, 74, 77, 95, 91, 0, 88, 102,
+ 0, 520, 0, 143, 0, 467, 0, 514, 28, 31,
+ 0, 0, 0, 30, 29, 40, 36, 0, 41, 37,
+ 0, 0, 105, 0, 42, 0, 0, 82, 78, 93,
+ 63, 62, 61, 0, 0, 63, 0, 0, 0, 64,
+ 0, 120, 117, 115, 110, 118, 114, 111, 113, 119,
+ 116, 112, 73, 0, 76, 467, 0, 85, 54, 55,
+ 56, 58, 0, 0, 59, 57, 52, 467, 53, 418,
+ 162, 164, 183, 0, 0, 0, 0, 198, 0, 196,
+ 185, 50, 49, 0, 190, 51, 90, 86, 0, 80,
+ 83, 0, 0, 0, 0, 0, 106, 0, 104, 108,
+ 0, 109, 0, 107, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 38, 0, 0, 39, 94, 0, 467,
+ 0, 263, 0, 0, 97, 0, 99, 75, 96, 92,
+ 63, 0, 0, 0, 0, 0, 0, 467, 0, 263,
+ 0, 0, 111, 79, 89, 87, 81, 84, 63, 0,
+ 72, 65, 0, 63, 66, 0, 0, 0, 67, 0,
+ 0, 0, 0, 69, 70, 0, 71, 68, 33, 43,
+ 467, 0, 0, 60, 177, 0, 0, 46, 47, 0,
+ 48, 8, 0, 0, 9, 0, 11, 0, 10, 1,
+ 25, 18, 14, 0, 17, 13, 12, 27, 0, 35,
+ 7, 34, 19, 0, 21, 0, 0, 24, 0, 20,
+ 22, 0, 0, 23, 622
};
const short QmlJSGrammar::goto_default [] = {
- 7, 1077, 113, 24, 875, 858, 770, 1073, 1088, 1069,
- 1072, 1076, 1074, 1081, 28, 942, 1078, 33, 1075, 1093,
- 1028, 1085, 898, 897, 912, 876, 877, 878, 905, 1000,
- 911, 879, 111, 956, 961, 945, 131, 480, 129, 134,
- 167, 143, 162, 979, 1043, 1042, 881, 882, 974, 886,
- 884, 883, 880, 864, 863, 166, 983, 27, 13, 275,
- 204, 318, 319, 39, 30, 9, 38, 25, 18, 26,
- 40, 86, 21, 132, 311, 373, 727, 725, 119, 362,
- 737, 12, 714, 960, 713, 710, 322, 962, 523, 522,
- 342, 339, 340, 211, 450, 467, 444, 757, 43, 37,
- 34, 263, 36, 17, 262, 137, 89, 88, 23, 35,
- 99, 8, 142, 140, 41, 185, 163, 87, 130, 22,
- 179, 14, 120, 16, 122, 15, 121, 31, 138, 32,
- 139, 19, 125, 20, 126, 90, 168, 10, 117, 431,
- 407, 573, 481, 124, 127, 123, 141, 136, 161, 128,
- 486, 490, 485, 492, 487, 802, 798, 801, 135, 116,
- 114, 115, 491, 164, 411, 440, 507, 415, 465, 165,
- 623, 442, 464, 624, 448, 310, 343, 359, 338, 360,
- 337, 361, 308, 425, 408, 578, 582, 585, 581, 580,
- 299, 598, 599, 606, 862, 534, 109, 502, 631, 535,
- 312, 551, 118, 106, 698, 503, 504, 552, 488, 672,
- 516, 518, 529, 795, 521, 520, 519, 859, 772, 771,
- 774, 773, 769, 768, 833, 787, 836, 835, 837, 838,
- 847, 848, 846, 791, 782, 822, 821, 0
+ 7, 1089, 112, 24, 887, 870, 782, 1085, 1100, 1081,
+ 1084, 1088, 1086, 1093, 28, 954, 1090, 33, 1087, 1105,
+ 1040, 1097, 910, 909, 924, 888, 889, 890, 917, 1012,
+ 923, 891, 110, 968, 973, 957, 130, 482, 128, 133,
+ 165, 142, 161, 991, 1055, 1054, 893, 894, 986, 898,
+ 896, 895, 892, 876, 875, 164, 995, 27, 13, 319,
+ 245, 239, 240, 39, 30, 9, 38, 25, 18, 26,
+ 40, 86, 21, 131, 232, 375, 739, 737, 118, 364,
+ 749, 12, 726, 972, 725, 722, 324, 974, 525, 524,
+ 344, 341, 342, 253, 452, 469, 446, 769, 43, 37,
+ 34, 307, 36, 17, 306, 136, 88, 87, 23, 35,
+ 98, 8, 141, 139, 41, 183, 129, 22, 177, 14,
+ 119, 16, 121, 15, 120, 31, 137, 32, 138, 19,
+ 124, 20, 125, 89, 166, 10, 116, 433, 409, 575,
+ 483, 123, 126, 122, 140, 135, 160, 127, 488, 492,
+ 487, 494, 489, 814, 810, 813, 134, 115, 113, 114,
+ 493, 162, 413, 442, 509, 417, 467, 163, 625, 444,
+ 466, 626, 450, 231, 345, 361, 340, 362, 339, 363,
+ 229, 427, 410, 580, 584, 587, 583, 582, 220, 600,
+ 601, 608, 874, 536, 108, 504, 633, 537, 233, 553,
+ 117, 105, 710, 505, 506, 554, 490, 684, 518, 520,
+ 531, 807, 523, 522, 521, 871, 784, 783, 786, 785,
+ 781, 780, 845, 799, 848, 847, 849, 850, 859, 860,
+ 858, 803, 794, 834, 833, 0
};
const short QmlJSGrammar::action_index [] = {
- 413, 2929, 356, 2, -134, 2435, 195, 17, 211, -134,
- -134, -77, -134, -134, 21, -26, -59, 479, -134, 198,
- -134, -71, 446, -134, 18, -134, -134, -68, -134, 1114,
- -134, 30, -18, 601, -134, 392, -134, -134, -134, -134,
- -134, 538, 482, 409, -134, 1032, -134, 2806, -134, -134,
- -134, -134, 903, 874, -134, -134, 6073, 3796, 4534, 2806,
- 2806, -134, 2189, 2806, -134, -134, -134, -134, -134, 2806,
- 2806, -134, -134, -134, -134, -134, -134, -134, -134, 2929,
- -134, 2806, -134, 2806, 2806, 3919, -134, -134, -134, 0,
- -134, 2806, 2806, -134, -134, 303, 338, -134, -134, 2806,
- -134, -134, -134, -134, 348, -134, 3298, -134, 51, -134,
- -134, 6463, 42, -134, 360, -134, -134, -134, -12, -134,
- 85, 46, 13, -134, -134, 232, -134, -134, -134, -134,
- 457, -134, 364, 243, -134, -134, -134, 1371, 91, 54,
- 545, -134, 482, -134, 1259, 1186, 192, -134, 60, 66,
- 444, 65, 3052, -134, 67, 3052, 73, -134, 72, 74,
- 3670, -134, -134, -134, 1136, 217, -134, -134, -134, -134,
- 4288, -134, 81, -134, 78, -134, -134, 2806, 440, 2806,
- -134, -134, -134, -134, 560, 2806, 1945, -134, -134, 2806,
- -134, -134, -134, 482, 2806, 2806, 2806, 193, 188, 299,
- 456, 207, 2311, -134, -134, 129, 1554, 3052, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- 215, 3052, -134, -134, 5033, 3052, -134, 225, -134, 492,
- 138, 3421, 134, 131, -134, 3052, 3175, -134, 3052, -134,
- -134, -134, -134, 1945, -134, 305, 1945, -134, -134, 345,
- 2806, 136, 2806, 142, 3052, 2806, 146, 3052, -134, 144,
- 2806, 148, 2806, 151, -134, -134, -134, -134, 6723, -134,
- -134, 150, 749, -134, -134, 153, -134, 1579, -134, 165,
- 167, -134, 172, 174, 1136, 5683, 177, 1945, -134, 175,
- -134, -134, -134, 3052, -134, -134, 1579, -134, -134, 179,
- 183, -134, 247, -134, -134, -134, 184, -134, 194, -134,
- -134, 202, -134, 191, 201, 3052, -134, -134, -134, 5683,
- -134, -134, 1240, 190, 189, -134, -134, 185, -134, 182,
- 187, -134, 181, 1579, -134, -134, 180, -134, 1579, -134,
- -134, -134, -134, -134, 3052, -134, -134, 3052, -134, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- 227, -134, -134, 233, -134, -134, -134, 6333, 168, 166,
- 3052, 249, 346, -134, -134, 4657, 163, 155, 273, 1483,
- 1136, 149, -134, -134, 1136, 147, 2929, -134, 3052, 141,
- 140, 3052, 137, -134, -134, 3052, -134, -134, 257, -134,
- -134, 2929, 3052, 2929, -134, 216, -134, -134, -134, 130,
- 125, 123, -134, 439, -134, 1357, 116, 108, -134, 105,
- -134, -134, 2929, -134, -134, -134, 3052, 92, 3052, 70,
- -134, -134, 103, 88, -134, 93, 435, -134, -134, 1240,
- 87, 71, -134, 64, 3052, 19, 3052, 11, -134, -134,
- -134, -134, -134, 7, -134, -134, 281, -134, 928, -134,
- -134, 1136, -134, 818, -134, -134, 38, 1373, -134, -3,
- 43, -134, -134, 1, -134, -134, 47, 45, 35, -134,
- 34, 1136, -134, -55, 9, 1823, 5943, -134, -19, -134,
- 5943, 5813, -134, -6, 5683, -134, 5683, 5683, -16, -134,
- -134, -134, -134, 1579, -134, -46, 8, 43, -134, -48,
- -134, -30, -58, -4, 43, -134, -57, -134, -36, 1240,
- -134, -134, -56, -2, 43, -134, -49, -134, -27, 1579,
- -50, 6, 43, -134, -43, -134, -134, 3052, 212, -134,
- 4, -134, -134, 208, -134, 3052, 220, -7, -134, 24,
- -134, 25, 228, 3052, -134, 31, 28, -134, -20, -134,
- -134, -134, 224, -134, -134, 370, -134, 287, 29, -134,
- 10, 16, -134, 1007, -134, -134, -5, 22, -134, -134,
- 3052, 300, -134, -134, 3052, 320, -134, -134, -134, 3052,
- -134, 56, 48, 59, -134, 52, -134, -134, 1129, -134,
- -134, -134, 6463, -134, 2806, 459, 2806, 523, 2806, 1945,
- 482, -134, 2806, 15, 2806, 89, 5033, 3052, 3421, -134,
- -134, 236, -134, 57, -134, 3052, 2806, 96, 2929, -134,
- 61, 2806, 106, 2806, 63, 3421, 68, -134, 3421, 69,
- -134, 75, 83, 90, 5943, 77, -134, 5943, 94, -134,
- -134, -134, 99, 1579, 1579, 98, 113, 104, -134, 101,
- -134, 102, 114, 107, -134, 109, -134, 115, 1412, 1579,
- 117, 120, -134, 118, -134, 121, 127, -134, 124, -134,
- -134, 425, -134, -134, 245, 374, -134, -134, 6203, -134,
- -134, -134, 3052, -134, -134, 335, 3547, 284, 161, -134,
- 4411, -134, -134, 2929, -134, -134, -134, -134, -134, 154,
- 295, -134, -134, 4042, -134, 159, -134, -134, -134, 485,
- -134, -134, -134, -134, 384, 2929, -134, -134, 406, -134,
- -134, -134, -134, -134, 2929, -134, 2806, -134, 206, 203,
- -134, -134, -134, -134, 375, -134, 577, 1475, -134, -134,
- -134, -134, 186, -134, 5423, 178, -134, -134, 176, -134,
- -134, 4165, -134, 377, -134, -134, 978, -134, -134, 957,
- -134, -134, -134, 1032, 1579, 173, 169, 171, -134, 247,
- -134, 1579, 164, 160, -134, 158, -134, 157, 5943, 156,
- -134, -134, 304, 152, -134, 5163, -134, -134, -134, 5033,
- -134, -134, -134, 145, -134, 162, -134, -134, -134, 5553,
- 143, -134, 314, -134, -134, 12, -134, -134, 312, -134,
- 928, -134, 5293, -134, -134, -134, 928, -134, -134, -134,
- 139, -134, 698, -134, -134, 135, 133, 209, 132, 238,
- 221, 389, 128, 599, 126, -134, -134, 2435, -134, -134,
- -134, -134, -134, -134, -134, 411, -134, -134, 122, 1579,
- 112, 119, 110, -134, 100, -134, -134, -134, 196, 97,
- 2559, -134, -134, -134, -134, 2683, -134, -134, 111, 1701,
- -134, 95, -134, 390, 79, -134, -134, -134, 76, -134,
- -134, 824, 405, -134, 222, 86, 705, -134, 223, -134,
- -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
- -134, 391, -134, -134, 4780, 237, -134, -134, -134, -134,
- 58, 3052, -134, -134, -134, -134, -134, 6593, 84, 82,
- -134, 298, 80, 332, 260, -134, 262, -134, -134, -134,
- -134, 3052, -134, -134, -134, -134, 329, -134, -134, 625,
- 270, 49, 50, 339, 62, 44, -134, 55, 20, -134,
- 14, -134, 40, 642, 323, 326, 705, 359, 41, 1701,
- 330, -134, 1701, 272, -134, -134, 342, -134, 4780, 515,
- 37, 268, -134, 333, -134, -134, -134, -134, 32, 824,
- 337, 302, 705, 367, 53, -134, 4780, 508, 258, -15,
- 347, -134, -134, -134, -134, -134, 23, 331, -134, 755,
- 170, 39, 36, -17, 824, 357, 27, 799, 33, 824,
- 361, 26, -134, 235, -134, -134, -134, -134, -134, 1701,
- 4903, -134, 3796, 5, 231, -134, -134, -1, -134, -134,
- 1701, 928, 200, 2067, -134, 410, -134, -134, -134, 448,
- -134, 213, -134, -134, -134, -134, 2067, -134, -134, -134,
- -134, 574, 3, 322, 199, -134, -39, -134, -134, 556,
- 197, -134, -134,
+ 416, 2893, 346, 19, -135, 2271, 250, 35, 291, -135,
+ -135, -54, -135, -135, 40, -3, -34, 510, -135, 260,
+ -135, -31, 477, -135, 58, -135, -135, -21, -135, 1303,
+ -135, 75, 39, 539, -135, 443, -135, -135, -135, -135,
+ -135, 631, 461, 438, -135, 863, -135, 2645, -135, -135,
+ -135, -135, 1037, 986, -135, -135, 6331, 3643, 4387, 2645,
+ 2645, -135, 2023, 2645, -135, -135, -135, -135, -135, 2645,
+ 2645, -135, -135, -135, -135, -135, -135, -135, -135, 2893,
+ -135, 2645, -135, 2645, 2645, 3268, -135, -135, 119, -135,
+ 2645, 2645, -135, -135, 200, 391, -135, -135, 2645, -135,
+ -135, -135, -135, 369, -135, 3516, -135, 176, -135, -135,
+ 6724, 174, -135, 390, -135, -135, -135, 175, -135, 201,
+ 179, 180, -135, -135, 208, -135, -135, -135, -135, 485,
+ -135, 359, 233, -135, -135, -135, 1059, 162, 127, 577,
+ -135, 351, -135, 1095, 1146, 231, -135, 108, 104, 497,
+ 61, 2769, -135, 42, 2769, 29, -135, 20, 16, 4139,
+ -135, -135, 1171, 278, -135, -135, -135, -135, 3891, -135,
+ -1, -135, -23, -135, -135, 2645, 487, 2645, -135, -135,
+ -135, -135, 592, 2645, -135, -135, -135, 2645, -135, -135,
+ -135, 365, 2645, 2645, 2645, 227, 240, 244, 418, 2645,
+ -56, 2645, 8, 2769, 2645, 55, 2769, -135, 22, 2645,
+ 84, 2645, 97, -135, -135, 2769, -135, -135, -135, 6855,
+ -135, -135, 142, 961, -135, -135, 169, -135, 1408, -135,
+ 185, 186, -135, 209, 136, 1164, 5938, 141, 1777, -135,
+ -16, 483, 338, 2146, -135, -135, -10, 4890, 2769, 5152,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, 325, -135, -135, 2769, 318, -135, 4890, 2769,
+ -135, 296, -135, 521, 65, 3144, 139, 118, -135, 2769,
+ 3767, -135, 2769, -135, -135, -135, -135, 1777, -135, 236,
+ 1777, -135, -135, -135, -135, 2769, -135, -135, 1408, -135,
+ -135, 163, 154, -135, 151, -135, -135, -135, 167, -135,
+ 166, -135, -135, 217, -135, 170, 197, 2769, -135, -135,
+ -135, 5938, -135, -135, 1171, 204, 202, -135, -135, 181,
+ -135, 177, 207, -135, 205, 1277, -135, -135, 199, -135,
+ 1408, -135, -135, -135, -135, -135, 2769, -135, -135, 2769,
+ -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, 196, -135, -135, 206, -135, -135, -135, 6593,
+ 173, 172, 2769, 214, 347, -135, -135, 4511, 165, 157,
+ 193, 1404, 1171, 153, -135, -135, 1171, 148, 2893, -135,
+ 2769, 138, 158, 2769, 137, -135, -135, 2769, -135, -135,
+ 234, -135, -135, 2893, 2769, 2893, -135, 257, -135, -135,
+ -135, 147, 144, 131, -135, 388, -135, 1171, 133, 113,
+ -135, 111, -135, -135, 2893, -135, -135, -135, 2769, 74,
+ 2769, 69, -135, -135, 107, 87, -135, 95, 423, -135,
+ -135, 1171, 89, 82, -135, 80, 2769, 37, 2769, 21,
+ -135, -135, -135, -135, -135, 25, -135, -135, 251, -135,
+ 961, -135, -135, 1171, -135, 756, -135, -135, 36, 1408,
+ -135, 7, 30, -135, -135, 3, -135, -135, 52, 168,
+ 38, -135, 33, 1171, -135, -59, 13, 1654, 6200, -135,
+ -13, -135, 6200, 6069, -135, 0, 5938, -135, 5938, 5938,
+ -14, -135, -135, -135, -135, 1408, -135, -40, 11, -17,
+ -135, -42, -135, -27, -55, -4, -32, -135, -57, -135,
+ 41, 1171, -135, -135, -58, -2, -28, -135, -49, -135,
+ -26, 1408, -50, 6, -20, -135, -41, -135, -135, 2769,
+ 335, -135, 5, -135, -135, 288, -135, 2769, 330, -5,
+ -135, 26, -135, 27, 317, 2769, -135, 31, 32, -135,
+ -19, -135, -135, -135, 314, -135, -135, 520, -135, 319,
+ 28, -135, 17, 18, -135, 1171, -135, -135, -6, 24,
+ -135, -135, 2769, 299, -135, -135, 2769, 298, -135, -135,
+ -135, 2769, -135, 60, 53, 64, -135, 59, -135, -135,
+ 1171, -135, -135, -135, 6724, -135, 2645, 464, 2645, 631,
+ 2645, 441, 2645, 44, 2645, 88, 4890, 2769, 3144, 5807,
+ -135, -135, 282, -135, 46, -135, -135, 2769, 3144, 270,
+ -135, 62, -135, 2769, 2645, 105, 2893, -135, 66, 2645,
+ 114, 2645, 68, 3144, 5676, 67, -135, 3144, 70, -135,
+ 3144, 73, -135, 51, 91, 92, 6200, 96, -135, 6200,
+ 99, -135, -135, -135, 106, 1408, 1408, 100, 132, 116,
+ -135, 101, -135, 109, 134, 117, -135, 120, -135, 122,
+ 1408, 1408, 121, 123, -135, 124, -135, 125, 126, -135,
+ 129, -135, -135, 361, -135, -135, 230, 229, -135, -135,
+ 6462, -135, -135, -135, 2769, -135, -135, 224, 3020, 191,
+ 160, -135, 4263, -135, -135, 2893, -135, -135, -135, -135,
+ -135, 164, 221, -135, -135, 4015, -135, 171, -135, -135,
+ -135, 536, -135, -135, -135, -135, 380, 2893, -135, -135,
+ 378, -135, -135, -135, -135, -135, 2893, -135, 2645, -135,
+ 184, 182, -135, -135, -135, -135, 370, -135, 617, 1295,
+ -135, -135, -135, -135, 149, -135, 5283, 149, -135, -135,
+ 145, -135, -135, 3392, -135, 340, -135, -135, 881, -135,
+ -135, 932, -135, -135, -135, 1066, 1408, 72, 112, 81,
+ -135, 48, -135, 1408, 45, 50, -135, 23, -135, 34,
+ 6200, 4, -135, -135, 312, -74, -135, 5021, -135, -135,
+ -135, 4890, -135, -135, -135, -83, -135, 12, -135, -135,
+ -135, 5545, -11, -135, 243, -135, -135, 76, -135, -135,
+ 215, -135, 761, -135, 5414, -135, -135, -135, 961, -135,
+ -135, -135, 161, -135, 961, -135, -135, 93, 90, 216,
+ 71, 247, 255, 415, 43, 660, 57, -135, -135, 2271,
+ -135, -135, -135, -135, -135, -135, -135, 348, -135, -135,
+ 14, 1408, 9, 78, 56, -135, 85, -135, -135, -135,
+ 219, 273, 2521, -135, -135, -135, -135, 2396, -135, -135,
+ 190, 1531, -135, 178, -135, 341, 130, -135, -135, -135,
+ -12, -135, -135, 856, 315, -135, 322, 10, 663, -135,
+ 267, -135, -135, -135, -135, -135, -135, -135, -135, -135,
+ -135, -135, -135, 349, -135, -135, 4635, 225, -135, -135,
+ -135, -135, 135, 2769, -135, -135, -135, -135, -135, 6986,
+ 188, 189, -135, 210, 198, 332, 187, -135, 194, -135,
+ -135, -135, -135, 2769, -135, -135, -135, -135, 345, -135,
+ -135, 856, 211, 156, 159, 222, 155, 152, -135, 150,
+ 146, -135, 143, -135, 140, 731, 357, 237, 605, 395,
+ 128, 1531, 265, -135, 1531, 235, -135, -135, 399, -135,
+ 4635, 555, 110, 238, -135, 385, -135, -135, -135, -135,
+ 98, 856, 386, 393, 736, 407, 115, -135, 4635, 562,
+ 246, 63, 389, -135, -135, -135, -135, -135, 83, 362,
+ -135, 830, 103, 102, 94, 49, 856, 405, 79, 812,
+ 86, 856, 409, 77, -135, 249, -135, -135, -135, -135,
+ -135, 1531, 4759, -135, 3643, 54, 292, -135, -135, 47,
+ -135, -135, 1531, 961, 220, 1900, -135, 449, -135, -135,
+ -135, 439, -135, 254, -135, -135, -135, -135, 1900, -135,
+ -135, -135, -135, 680, 15, 321, 285, -135, -25, -135,
+ -135, 608, 295, -135, -135,
- -238, 224, 247, 241, 286, 805, -238, -238, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -46, -238, -238,
- -238, -238, -82, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, -30, -238, -238, -238, -238, -238, -238,
- -238, -70, -238, -238, -238, 250, -238, 699, -238, -238,
- -238, -238, 248, 240, -238, -238, 267, 222, 220, 660,
- 641, -238, 659, 601, -238, -238, -238, -238, -238, 598,
- 584, -238, -238, -238, -238, -238, -238, -238, -238, 509,
- -238, 556, -238, 538, 574, 500, -238, -238, -238, -238,
- -238, 520, 688, -238, -238, -238, -238, -238, -238, 499,
- -238, -238, -238, -238, -238, -238, 470, -238, -238, -113,
- -238, 48, -238, -238, 221, -238, -238, -238, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, 115, -238, -238, -238, -238, -1, -238, -238,
- -238, -238, -238, -238, 219, 213, 133, 217, -238, -238,
- 167, -238, 93, -238, -238, 96, 139, -238, -238, -238,
- 102, -238, -238, -238, 335, 175, -238, -238, -238, -4,
- 82, -238, -32, -39, -45, -238, -238, 416, -238, 452,
- -238, -238, -238, -238, -238, 468, 909, -238, -238, 486,
- -238, -238, -238, -238, 498, 515, 497, -238, -238, -238,
- -23, -238, 392, -238, -238, -238, 238, -42, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, 56, -238, -238, 255, -63, -238, -238, -238, -60,
- -238, -55, -238, -238, -238, -54, -51, -238, -49, -238,
- -238, -238, -238, 812, -238, -238, 759, -238, -238, -238,
- 350, -238, 356, -238, -31, 362, -238, -27, -238, -238,
- 363, -238, 463, -238, -238, -238, -238, 270, 8, -238,
- -238, 120, 210, -238, -238, -238, -238, 300, -238, -238,
- 4, -238, -238, -238, 314, 316, 41, 723, -238, 25,
- -238, -238, -238, 54, -238, -238, 442, -238, -238, 71,
- -57, -56, -53, -238, -238, -238, 46, -238, -238, -238,
- -238, -238, -238, -238, -238, 76, -238, -238, -238, 413,
- -238, -238, 331, 65, 66, -238, -238, -238, -238, -238,
- -238, -238, -238, 385, -238, -238, 145, -238, 591, -238,
- -238, -238, -238, -238, 85, -238, -238, 90, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- 159, -238, -238, 160, -238, -238, -238, 126, -238, -238,
- 114, -238, 179, -238, -238, 718, -238, -238, -238, 13,
- 340, -238, -238, -238, 342, -238, 324, -238, 130, -238,
- -238, 134, -238, 195, -238, 122, -238, -238, -238, 204,
- -238, 325, -73, 336, -238, -238, 206, -238, -238, 124,
- -238, 98, -238, -238, -238, 338, 119, 88, -238, 84,
- -238, -238, 346, -238, -238, -238, 141, -238, 142, -238,
- 211, -238, 109, 73, -238, -238, -238, -238, -238, 374,
- 95, 73, -238, -238, 143, -238, 144, -238, 216, -238,
- -238, -238, 0, -238, -238, -238, 140, -238, 166, -238,
- -238, 366, -238, 168, -238, -238, -48, 328, -238, -238,
- -50, -238, -238, -238, -238, -238, 78, -238, 57, -238,
- -238, 425, -238, -65, -238, 297, 79, -238, -238, -238,
- 187, 197, -238, -238, 256, -238, 193, 199, -238, -238,
- -238, -238, -238, 194, -238, -238, 63, -68, -66, -69,
- -238, -238, -238, 61, -72, -75, -79, -238, -238, 302,
- -238, -238, -238, 52, -81, -84, -86, -238, -94, 263,
- -238, 49, -87, -98, -100, -238, -238, 30, -238, 257,
- -238, 259, -238, 86, -238, 26, -238, -238, -238, -238,
- -238, -93, -238, 21, -238, -95, -238, -238, -238, -238,
- -71, -238, -238, -76, -238, 67, -238, -238, -111, -238,
- -238, 43, -238, 291, -238, -238, -238, 39, -238, -238,
- 2, -238, 260, -238, -2, -238, 264, -238, -238, -11,
- -238, 6, -22, -238, -238, -33, -238, -238, 526, -238,
- -238, -238, 5, -238, 581, -59, 638, -61, 473, 784,
- -238, -238, 667, -238, 679, -238, 223, -29, 231, -238,
- -238, -238, -238, -238, -238, -36, 669, -238, 364, -238,
- -238, 665, -238, 657, -238, 232, -238, -238, 233, -238,
- -238, -172, -174, -175, 242, -184, -238, 246, -186, -238,
- -238, -238, -238, 284, 282, -238, -40, -177, -176, -178,
- -238, -238, -44, -179, -181, -183, -238, -190, 280, 265,
- -238, -188, -198, -200, -238, -238, -191, -202, -204, -238,
- -238, -85, -238, -238, -238, -238, -238, -238, 475, -238,
- -238, -238, -74, -238, -238, -238, 87, -238, -67, -238,
- 239, -238, -238, 334, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, 253, -238, -238, -238, -238, -238, -41,
- -238, -238, -238, -238, -238, 360, -238, -238, -58, -238,
- -238, -238, -238, -238, 417, -238, 439, -238, 34, 35,
- -238, -238, -238, -238, 507, -238, 521, 288, -238, -238,
- -238, -238, -238, -238, 212, -159, -238, -238, -157, -238,
- -238, -6, -238, 480, -238, -238, 207, -238, -238, 293,
- -238, -238, -238, 295, 308, -238, 24, -107, -112, -108,
- -238, 310, -238, -103, -110, -109, -238, -106, 200, -114,
- -238, -238, -238, -238, -238, 278, -238, -238, -238, 198,
- -238, -238, -238, -105, -238, -238, -238, -238, -238, 318,
- -238, -238, 11, -238, -238, -238, -238, -238, -238, -238,
- 320, -238, 450, -238, -238, -238, 322, -238, -238, -238,
- 201, -238, 189, -238, -238, -238, -238, 337, -238, 184,
- 174, 108, 435, 183, -238, -238, -238, 862, -238, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, 333,
- -238, 110, -26, -24, -21, -238, -238, -238, 154, -238,
- 833, -238, -238, -238, -238, 834, -238, -238, -238, 620,
- -238, -238, -238, 150, 163, -238, -238, -238, -238, -238,
- -238, 182, 161, -238, -238, -238, 178, -238, 177, -238,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, 117, 771, 132, -238, -238, -238, -238,
- 100, 99, -238, -238, -238, 205, -238, 59, -238, -238,
- -238, -238, -238, -5, 62, -238, 55, -238, -238, -238,
- -238, -20, -238, -238, -238, -238, -238, -238, -238, 12,
- -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
- -238, -238, -238, 23, 3, -238, 32, 40, -238, 637,
- -238, -238, 670, 58, -238, -238, -238, 70, 912, 37,
- 301, 112, -238, 107, -238, -238, -238, -238, -238, 180,
- 162, -238, 181, 176, -238, 156, 905, 118, 170, 165,
- -238, -238, -238, -238, -238, -238, -238, 137, -238, 202,
- -238, -238, -238, -238, 106, 75, -238, 215, -238, 72,
- 44, -238, -238, 64, -238, -238, -238, -238, 228, 666,
- 1130, -238, 606, 50, -238, -238, -238, 36, -238, -238,
- 544, 45, 266, 798, -238, 42, -238, -238, -238, -15,
- -238, 38, -238, -238, -238, -238, 761, -238, -238, -238,
- -238, 20, -238, 19, 18, -238, -238, -238, -238, -7,
- -3, -238, -238
+ -236, 270, 185, 187, 214, 797, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -52, -236, -236,
+ -236, -236, -94, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -46, -236, -236, -236, -236, -236, -236,
+ -236, -87, -236, -236, -236, 192, -236, 700, -236, -236,
+ -236, -236, 194, 196, -236, -236, 315, 183, 198, 624,
+ 620, -236, 589, 599, -236, -236, -236, -236, -236, 592,
+ 547, -236, -236, -236, -236, -236, -236, -236, -236, 511,
+ -236, 608, -236, 602, 645, 495, -236, -236, -236, -236,
+ 526, 508, -236, -236, -236, -236, -236, -236, 503, -236,
+ -236, -236, -236, -236, -236, 444, -236, -236, -153, -236,
+ -12, -236, -236, 250, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, 35, -236, -236, -236, -236, -85, -236, -236, -236,
+ -236, -236, -236, 266, 232, 38, 241, -236, -236, 178,
+ -236, -17, -236, -236, -16, 24, -236, -236, -236, -19,
+ -236, -236, 369, 57, -236, -236, -236, -120, 6, -236,
+ -109, -108, -106, -236, -236, 379, -236, 385, -236, -236,
+ -236, -236, -236, 405, -236, -236, -236, 419, -236, -236,
+ -236, -236, 436, 450, 466, -236, -236, -236, -236, 448,
+ -236, 461, -236, 55, 482, -236, 56, -236, -236, 529,
+ -236, 542, -236, -236, -236, 60, -236, -236, 286, 78,
+ -236, -236, 139, 252, -236, -236, -236, -236, 293, -236,
+ -236, 44, -236, -236, -236, 298, 305, 61, 612, -236,
+ 46, 70, -236, 552, -236, -236, -236, 237, 72, 236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, 74, -236, -236, 228, 80,
+ -236, -236, -236, 84, -236, 76, -236, -236, -236, 85,
+ 88, -236, 90, -236, -236, -236, -236, 813, -236, -236,
+ 781, -236, -236, -236, -236, 91, -236, -236, 411, -236,
+ -236, 100, -30, -25, -21, -236, -236, -236, 92, -236,
+ -236, -236, -236, -236, -236, -236, -236, 104, -236, -236,
+ -236, 395, -236, -236, 343, 95, 96, -236, -236, -236,
+ -236, -236, -236, -236, -236, 387, -236, -236, 146, -236,
+ 679, -236, -236, -236, -236, -236, 107, -236, -236, 112,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, 179, -236, -236, 180, -236, -236, -236, 140,
+ -236, -236, 127, -236, 186, -236, -236, 732, -236, -236,
+ -236, 26, 309, -236, -236, -236, 367, -236, 351, -236,
+ 137, -236, -236, 138, -236, 212, -236, 125, -236, -236,
+ -236, 213, -236, 326, 113, 362, -236, -236, 216, -236,
+ -236, 122, -236, 97, -236, -236, -236, 348, 118, 93,
+ -236, 94, -236, -236, 384, -236, -236, -236, 157, -236,
+ 164, -236, 231, -236, 110, 79, -236, -236, -236, -236,
+ -236, 445, 109, 79, -236, -236, 168, -236, 169, -236,
+ 234, -236, -236, -236, 10, -236, -236, -236, 143, -236,
+ 202, -236, -236, 506, -236, 222, -236, -236, -50, 311,
+ -236, -236, -43, -236, -236, -236, -236, -236, 87, -236,
+ 62, -236, -236, 521, -236, -61, -236, 269, 82, -236,
+ -236, -236, 233, 244, -236, -236, 248, -236, 254, 264,
+ -236, -236, -236, -236, -236, 281, -236, -236, 67, -64,
+ -63, -65, -236, -236, -236, 64, -67, -72, -75, -236,
+ -236, 301, -236, -236, -236, 58, -76, -2, -79, -236,
+ -83, 303, -236, 49, -84, -88, -92, -236, -236, 41,
+ -236, 225, -236, 224, -236, 89, -236, 29, -236, -236,
+ -236, -236, -236, -90, -236, 25, -236, -93, -236, -236,
+ -236, -236, -68, -236, -236, -69, -236, 71, -236, -236,
+ -107, -236, -236, 45, -236, 363, -236, -236, -236, 43,
+ -236, -236, 5, -236, 207, -236, 2, -236, 206, -236,
+ -236, -5, -236, 7, -18, -236, -236, -29, -236, -236,
+ 372, -236, -236, -236, 8, -236, 531, -58, 683, -57,
+ 382, -236, 688, -236, 691, -236, 240, -24, 205, 243,
+ -236, -236, -236, -236, -236, -236, -236, -27, 239, -236,
+ -236, -236, -236, -35, 675, -236, 432, -236, -236, 661,
+ -236, 555, -236, 256, 245, -236, -236, 128, -236, -236,
+ 177, -236, -236, -174, -176, -177, 175, -183, -236, 171,
+ -184, -236, -236, -236, -236, 337, 341, -236, -40, -173,
+ -175, -178, -236, -236, -45, -179, -182, -185, -236, -192,
+ 359, 365, -236, -188, -198, -200, -236, -236, -191, -201,
+ -203, -236, -236, -86, -236, -236, -236, -236, -236, -236,
+ 371, -236, -236, -236, -70, -236, -236, -236, -66, -236,
+ -62, -236, 145, -236, -236, 368, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, 312, -236, -236, -236, -236,
+ -236, -36, -236, -236, -236, -236, -236, 485, -236, -236,
+ -53, -236, -236, -236, -236, -236, 394, -236, 407, -236,
+ 39, 40, -236, -236, -236, -236, 282, -236, 380, 361,
+ -236, -236, -236, -236, -236, -236, 148, -152, -236, -236,
+ -150, -236, -236, -1, -236, 572, -236, -236, 163, -236,
+ -236, 357, -236, -236, -236, 535, 355, -236, 30, -101,
+ -100, -102, -236, 353, -236, -95, -103, -99, -236, -105,
+ 167, -104, -236, -236, -236, -236, -236, 316, -236, -236,
+ -236, 227, -236, -236, -236, -98, -236, -236, -236, -236,
+ -236, 296, -236, -236, 120, -236, -236, -236, -236, -236,
+ -236, -236, 291, -236, 538, -236, -236, -236, 307, -236,
+ -236, -236, 238, -236, 229, -236, -236, -236, -236, 331,
+ -236, 217, 210, 114, 725, 218, -236, -236, -236, 869,
+ -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, 334, -236, 115, -15, -14, -20, -236, -236, -236,
+ 154, -236, 809, -236, -236, -236, -236, 825, -236, -236,
+ -236, 717, -236, -236, -236, 156, 166, -236, -236, -236,
+ -236, -236, -236, 184, 160, -236, -236, -236, 182, -236,
+ 181, -236, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, 142, 783, 150, -236, -236,
+ -236, -236, 124, 123, -236, -236, -236, 226, -236, 103,
+ -236, -236, -236, -236, -236, 73, 356, -236, 129, -236,
+ -236, -236, -236, 65, -236, -236, -236, -236, -236, -236,
+ -236, 116, -236, -236, -236, -236, -236, -236, -236, -236,
+ -236, -236, -236, -236, -236, 108, 81, -236, 102, 101,
+ -236, 722, -236, -236, 944, 98, -236, -236, -236, 77,
+ 874, 37, 83, 86, -236, 53, -236, -236, -236, -236,
+ -236, 59, 33, -236, 50, 51, -236, 32, 904, -8,
+ 47, 188, -236, -236, -236, -236, -236, -236, -236, 36,
+ -236, 249, -236, -236, -236, -236, 28, 4, -236, 284,
+ -236, 21, -3, -236, -236, 23, -236, -236, -236, -236,
+ 280, 671, 889, -236, 641, 15, -236, -236, -236, 13,
+ -236, -236, 565, 22, 287, 791, -236, 19, -236, -236,
+ -236, -41, -236, 14, -236, -236, -236, -236, 774, -236,
+ -236, -236, -236, 3, -236, 1, -6, -236, -236, -236,
+ -236, -13, 135, -236, -236
};
const short QmlJSGrammar::action_info [] = {
- 176, 549, -572, 317, 543, 317, 553, 542, 176, 176,
- 498, 1097, 561, 317, 505, 317, 536, 1102, 1096, 105,
- 571, -129, 634, 642, 644, -533, 416, 579, -135, 583,
- 583, 533, 663, 900, 661, 590, 583, 589, 530, 900,
- 1050, 925, 925, 517, 1047, 1053, -110, 603, 515, 601,
- 482, 323, 323, 511, 317, 976, 482, 607, 505, 500,
- 1025, 922, 991, 317, 484, 323, 766, 628, 989, 323,
- 1020, 900, 988, 478, 987, 498, 999, 110, 994, 990,
- 984, 452, 476, 982, 169, 110, 177, 971, 452, -196,
- 634, -198, 955, 292, 317, 280, 282, 405, 644, 176,
- 482, 469, 567, 658, 575, 452, 290, 482, 663, 610,
- 317, 614, 642, 661, 922, 110, 927, 517, 909, 654,
- 317, 317, 452, 317, 517, 452, 317, 902, 850, 900,
- 667, 670, 460, 445, 530, 176, 684, 317, 110, -574,
- 323, 110, 266, 177, 110, 0, 0, 0, 251, 976,
- 292, 530, 498, 287, 110, 458, 1037, 176, 176, 889,
- 686, 110, 981, 908, 692, 896, 176, 273, 272, 364,
- 842, 416, 317, 304, 891, 505, 317, 1045, 515, 701,
- 326, 505, 0, 706, 323, 364, 317, 0, 364, 372,
- 307, 517, 323, 270, 110, 366, 290, 0, 1013, 423,
- 280, 323, 349, 400, 421, 110, 323, 323, 352, -200,
- 474, 899, 456, 530, 0, 505, 742, 110, 418, 282,
- 251, 746, 254, 251, 251, 0, 813, 0, 251, 91,
- 900, 593, 251, 251, 91, 806, 329, 925, 586, 1002,
- 365, 92, 255, 358, 251, 790, 92, 926, 351, 399,
- 297, 788, 91, 718, 655, 296, 295, 251, 498, 856,
- 296, 295, 296, 295, 92, 251, 296, 295, 829, 296,
- 295, 296, 295, 252, 569, 683, 296, 295, 436, 913,
- 296, 295, 577, 258, 788, 587, 296, 295, 284, 1065,
- 296, 295, 788, 600, 652, 656, 296, 295, 296, 295,
- 296, 295, 719, 743, 176, 426, 963, 601, 251, 1070,
- 1071, 402, 825, 276, 1070, 1071, 914, 925, -200, 429,
- 852, 296, 295, 296, 295, 296, 295, 1022, 251, 285,
- 277, 296, 295, 296, 295, 296, 295, 44, 1002, -135,
- 91, 925, 738, 728, 296, 295, 97, 985, 839, 1007,
- 100, 996, 92, 923, 44, 964, -577, 744, 98, 918,
- 100, 826, 612, 1018, 0, -416, 998, 923, 1039, 853,
- -416, 194, 251, 195, 998, -576, 0, 1036, 251, 840,
- 965, 722, 616, 733, 196, 296, 295, 923, 1003, 966,
- 427, 923, 416, 729, 296, 295, 986, 101, 943, 494,
- 304, 967, 920, 102, 100, 296, 295, 101, 920, 296,
- 295, 533, 920, 102, 416, 919, 920, -416, 1058, 992,
- 918, 919, 296, 295, 254, 919, 920, 296, 295, 919,
- 296, 295, -200, 296, 295, 923, 920, 0, 1099, 919,
- 920, 404, 323, -243, 255, 900, 668, -244, 0, 919,
- 0, 101, 452, 919, 296, 295, 323, 102, 180, 181,
- 1092, 776, -200, 206, 180, 181, 494, 304, 920, 920,
- 777, 206, 0, 296, 295, 180, 181, 180, 181, 803,
- 776, 919, 919, 207, 920, 0, 182, 183, 0, 777,
- 0, 207, 182, 183, 646, 755, 756, 919, -243, 0,
- 206, 0, -244, 182, 183, 182, 183, 206, 194, 0,
- 195, 0, 0, 0, 647, 0, 648, 755, 756, 0,
- 207, 196, 261, 206, 0, 0, 1091, 207, 0, 261,
- 206, 0, 412, 413, 6, 5, 4, 1, 3, 2,
- 0, 1059, -103, 207, 0, 665, 493, 187, 188, -103,
- 207, 0, 665, 0, 0, 0, 190, 64, 79, 191,
- 0, 192, 187, 188, 0, 64, 79, 0, 0, 187,
- 188, 190, 0, 0, 191, 0, 192, 189, 190, 0,
- 0, 191, 0, 192, 187, 188, 932, 783, 64, 79,
- 0, 0, 189, 190, 64, 79, 191, 0, 192, 494,
- 304, 64, 79, 0, 932, 0, 0, 0, 0, 1029,
- 0, 784, 0, 0, 0, 0, 206, 64, 79, 0,
- 0, 0, 0, 0, 64, 79, 935, 939, 936, 932,
- 0, 0, 0, 0, 0, 0, 207, 0, 665, 639,
- 925, 0, 785, 0, 935, 939, 936, 0, 0, 0,
- 0, 0, 0, 0, 639, 932, 157, 925, 0, 0,
- 0, 186, 930, 937, 929, 412, 413, 0, 0, 1030,
- 939, 936, 932, 933, 931, 938, 186, 0, 0, 493,
- 930, 937, 929, 0, 0, 0, 934, 0, 0, 0,
- 0, 933, 931, 938, 0, 935, 939, 936, 0, 0,
- 0, 0, 0, 0, 934, 930, 937, 929, 0, 0,
- 64, 79, 935, 939, 936, 0, 933, 931, 938, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 55, 0,
- 0, 930, 937, 929, 0, 932, 0, 0, 0, 0,
- 0, 0, 933, 931, 938, 0, 0, 0, 930, 937,
- 929, 0, 0, 0, 0, 934, 0, 0, 0, 933,
- 931, 938, 0, 0, 0, 0, 0, 0, 71, 75,
- 72, 0, 934, 0, 0, 935, 939, 936, 0, 55,
- 0, 0, 0, 0, 0, 1041, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 76, 0, 51, 73, 46, 0, 0, 0,
- 0, 930, 937, 929, 44, 67, 54, 74, 0, 71,
- 75, 72, 933, 931, 938, 935, 939, 936, 68, 1041,
- 0, 0, 0, 0, 920, 934, 0, 0, 0, 925,
- 0, 0, 0, 0, 0, 0, 0, 919, 55, 0,
- 0, 0, 0, 76, 932, 51, 73, 46, 0, 0,
- 0, 930, 937, 929, 0, 44, 67, 54, 74, 935,
- 939, 936, 933, 931, 938, 0, 0, 0, 920, 68,
- 0, 0, 0, 0, 0, 934, 0, 0, 71, 75,
- 72, 919, 0, 0, 935, 939, 936, 0, 0, 0,
- 0, 0, 0, 0, 55, 930, 937, 929, 0, 0,
- 0, 498, 0, 0, 0, 0, 933, 931, 938, 0,
- 0, 0, 76, 0, 51, 73, 46, 0, 0, 934,
- 930, 937, 929, 55, 44, 67, 54, 74, 0, 0,
- 683, 933, 931, 938, 71, 75, 72, 0, 68, 0,
- 0, 0, 0, 0, 934, 0, 0, 0, 55, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 71, 75, 72, 0, 0, 76, 0,
- 51, 73, 46, 0, 0, 0, 0, 55, 0, 0,
- 44, 67, 54, 74, 498, 0, 0, 0, 71, 75,
- 72, 0, 0, 0, 68, 0, 0, 76, 55, 51,
- 73, 46, 0, 0, 0, 804, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 71, 75, 72,
- 0, 0, 76, 68, 51, 73, 46, 55, 0, 0,
- 0, 315, 316, 0, 44, 67, 54, 74, 71, 75,
- 72, 0, 0, 0, 0, 0, 0, 0, 68, 0,
- 0, 76, 55, 51, 73, 46, 0, 0, 0, 0,
- 0, 0, 0, 44, 67, 54, 74, 71, 75, 72,
- 0, 0, 76, 0, 51, 73, 46, 68, 0, 0,
+ 174, 325, 109, 238, 555, 238, 109, 545, 174, 175,
+ 544, 500, 563, 238, 109, 174, 507, 109, 238, -575,
+ 854, 573, 538, -129, 800, 1109, 934, 201, 317, 581,
+ 1108, 585, 585, 109, 174, 1114, 585, 535, 591, 592,
+ 939, 636, 104, 841, 532, 517, 642, 519, 603, 644,
+ 325, 901, 484, 616, 605, 325, 609, 612, 484, 238,
+ 507, 532, 206, 484, 109, -536, 418, 238, 519, 502,
+ 325, 903, 630, 500, 209, -135, 325, 671, 551, 577,
+ 507, 912, 486, 480, 109, 238, 211, 1049, 912, 636,
+ 109, 669, 937, 1062, 937, 316, 238, 454, 569, 454,
+ 478, 993, 1059, 471, 454, 174, 868, 825, 655, -110,
+ 1057, 1065, 666, 1025, 238, 109, 671, 642, 669, 238,
+ 920, 934, 1037, 908, 662, 519, 519, 644, 454, 676,
+ 454, 462, 679, 988, 818, 682, 1032, 460, 484, 238,
+ 238, 238, 174, 696, 912, 407, 199, 310, 325, 366,
+ 109, 109, 447, 532, 238, 517, 532, 109, 174, 500,
+ 109, -577, 698, 1011, 211, 225, 215, 1000, 366, 967,
+ 238, 704, 1002, 418, 351, 0, 513, 174, 1006, 209,
+ 314, 507, 999, 713, 325, 778, 507, 718, 109, 996,
+ 994, 1003, 238, 862, 1001, -198, -196, 921, 331, 425,
+ 988, 423, 175, 325, 354, 983, 228, 366, 174, 402,
+ 109, 476, 912, 374, 802, 368, 458, 328, 975, 325,
+ 420, 325, 215, 864, -200, 428, 754, 353, 199, 755,
+ 997, 174, 740, 758, 911, 367, 734, 0, 730, 360,
+ 218, 0, 215, 96, 320, 216, 214, 216, 214, 750,
+ 216, 214, 937, 912, 401, 97, 800, 216, 214, 216,
+ 214, 321, 1008, 201, 203, 215, 535, 976, 90, 216,
+ 214, 167, 865, 1014, 216, 214, 404, 851, 215, 998,
+ 91, 90, 741, 756, 695, 90, 925, 731, 216, 214,
+ 215, 745, 500, 91, 216, 214, 431, 91, 216, 214,
+ 1014, 216, 214, 914, 215, 204, 215, 215, 852, 216,
+ 214, 429, 216, 214, 216, 214, 663, 216, 214, 438,
+ 837, 595, 215, 1015, 926, 602, 215, 588, 660, -135,
+ 216, 214, 90, 215, -200, 1082, 1083, 937, 215, 603,
+ 653, 216, 214, 215, 91, 935, -580, 938, 216, 214,
+ 1077, 216, 214, 298, 302, 1070, 955, 664, 216, 214,
+ 618, 614, 496, 225, 44, 1082, 1083, 215, -200, 838,
+ -579, 930, 44, 299, 589, 930, 297, 192, 325, 193,
+ 977, 99, 912, 293, 216, 214, 418, 935, 418, 978,
+ 194, 192, 579, 193, 932, -419, -244, 571, -200, 1051,
+ -419, 979, 1010, 99, 194, 325, 1019, 931, 937, 0,
+ 216, 214, 216, 214, 1010, 1030, 935, 0, 1034, 1048,
+ 932, 0, 216, 214, 932, 216, 214, 0, 100, 0,
+ 0, -243, 0, 931, 101, 935, 932, 931, 1111, 935,
+ 454, 0, 406, 815, 192, 1004, 193, -419, 0, 931,
+ 100, -244, 788, 298, 247, 99, 101, 194, 216, 214,
+ 0, 789, 216, 214, 932, 932, 0, 192, 932, 193,
+ 216, 214, 0, 299, 248, 680, 788, 931, 931, 1071,
+ 194, 931, 178, 179, 932, 789, -243, 192, 932, 193,
+ 767, 768, 767, 768, 932, 178, 179, 931, 247, 1104,
+ 194, 931, 100, 178, 179, 178, 179, 931, 101, 0,
+ 180, 181, 216, 214, 0, 0, 0, 0, 248, 496,
+ 225, 0, 0, 180, 181, 646, 0, 0, 215, 0,
+ 0, 180, 181, 180, 181, 0, 247, 249, 6, 5,
+ 4, 1, 3, 2, 0, 647, 0, 648, 0, 64,
+ 79, 247, 0, 0, 247, 0, 248, 0, 305, 0,
+ 0, 0, 0, 0, 0, 0, 1103, 0, 0, 0,
+ 247, 248, 0, 305, 248, 0, 673, 247, 0, 0,
+ 0, 249, 0, 216, 214, 414, 415, 0, 0, -103,
+ 248, 0, 673, 64, 79, 0, -103, 248, 0, 673,
+ 495, 185, 186, 0, 0, 0, 0, 0, 649, 187,
+ 188, 0, 0, 189, 0, 190, 185, 186, 0, 249,
+ 64, 79, 0, 0, 187, 188, 0, 795, 189, 0,
+ 190, 64, 79, 0, 249, 944, 0, 674, 944, 496,
+ 225, 0, 0, 0, 0, 0, 64, 79, 0, 64,
+ 79, 796, 0, 674, 0, 185, 186, 0, 0, 0,
+ 674, 0, 0, 0, 188, 64, 79, 189, 0, 190,
+ 1041, 0, 64, 79, 0, 947, 951, 948, 947, 951,
+ 948, 0, 797, 0, 0, 0, 0, 0, 0, 0,
+ 944, 0, 0, 944, 184, 0, 156, 0, 0, 0,
+ 0, 0, 0, 0, 0, 414, 415, 0, 0, 184,
+ 944, 0, 942, 949, 941, 942, 949, 941, 0, 0,
+ 495, 0, 0, 945, 943, 950, 945, 943, 950, 0,
+ 1042, 951, 948, 947, 951, 948, 946, 0, 0, 946,
+ 0, 0, 0, 0, 0, 0, 937, 0, 184, 0,
+ 947, 951, 948, 0, 0, 0, 0, 0, 0, 0,
+ 0, 944, 0, 0, 0, 0, 944, 942, 949, 941,
+ 942, 949, 941, 0, 0, 0, 0, 0, 945, 943,
+ 950, 945, 943, 950, 0, 0, 55, 942, 949, 941,
+ 0, 55, 0, 0, 946, 0, 0, 0, 945, 943,
+ 950, 947, 951, 948, 0, 0, 947, 951, 948, 0,
+ 0, 946, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 75, 72, 0,
+ 0, 71, 75, 72, 0, 0, 0, 0, 942, 949,
+ 941, 0, 1053, 942, 949, 941, 0, 0, 0, 945,
+ 943, 950, 0, 0, 945, 943, 950, 0, 0, 0,
+ 1053, 76, 946, 51, 73, 46, 76, 946, 51, 73,
+ 46, 937, 0, 44, 67, 54, 74, 0, 44, 67,
+ 54, 74, 947, 951, 948, 0, 944, 68, 0, 0,
+ 0, 932, 68, 55, 0, 0, 0, 0, 0, 0,
+ 947, 951, 948, 0, 931, 0, 0, 0, 0, 932,
+ 0, 55, 0, 0, 0, 0, 0, 0, 816, 942,
+ 949, 941, 931, 0, 0, 0, 947, 951, 948, 0,
+ 945, 943, 950, 71, 75, 72, 0, 942, 949, 941,
+ 0, 0, 0, 946, 0, 0, 0, 0, 945, 943,
+ 950, 71, 75, 72, 0, 0, 0, 0, 0, 0,
+ 0, 946, 55, 942, 949, 941, 0, 517, 76, 500,
+ 51, 73, 46, 0, 945, 943, 950, 0, 0, 0,
+ 44, 67, 54, 74, 0, 0, 76, 946, 51, 73,
+ 46, 55, 0, 0, 68, 0, 0, 0, 44, 67,
+ 54, 74, 71, 75, 72, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 55, 0, 0, 0,
+ 0, 0, 0, 500, 0, 0, 0, 0, 0, 0,
+ 0, 71, 75, 72, 0, 0, 0, 76, 0, 51,
+ 73, 46, 0, 0, 0, 0, 0, 0, 0, 44,
+ 67, 54, 74, 0, 0, 0, 71, 75, 72, 0,
+ 0, 0, 377, 68, 0, 0, 76, 55, 51, 73,
+ 46, 0, 378, 0, 695, 0, 379, 0, 44, 67,
+ 54, 74, 0, 0, 0, 0, 380, 0, 381, 0,
+ 0, 76, 68, 51, 73, 46, 55, 0, 0, 382,
+ 0, 383, 96, 44, 67, 54, 74, 71, 75, 72,
+ 384, 0, 0, 385, 97, 0, 0, 68, 0, 386,
+ 0, 0, 0, 0, 0, 55, 388, 387, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 75, 72, 0,
+ 0, 0, 76, 389, 51, 73, 46, 0, 0, 0,
+ 0, 0, 0, 0, 44, 67, 54, 74, 216, 214,
+ 0, 0, 0, 0, 0, 71, 75, 72, 68, 0,
+ 517, 76, 0, 51, 73, 46, 55, 0, 0, 0,
+ 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
+ 0, 0, 0, 0, 55, 0, 0, 68, 236, 237,
+ 76, 55, 51, 73, 46, 236, 237, 0, 0, 216,
+ 214, 0, 44, 67, 54, 74, 71, 75, 72, 0,
+ 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
+ 0, 0, 0, 0, 71, 75, 72, 0, 0, 0,
+ 0, 71, 75, 72, 0, 0, 0, 0, 0, 0,
+ 0, 76, 0, 51, 73, 46, 0, 0, 0, 0,
+ 0, 0, 0, 44, 67, 54, 74, 0, 0, 76,
+ 0, 51, 73, 46, 0, 0, 76, 68, 51, 73,
+ 46, 44, 67, 54, 74, 0, 0, 0, 44, 67,
+ 54, 74, 0, 0, 0, 68, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 377, 55, 0, 0,
+ 0, 236, 237, 0, 0, 0, 378, 0, 0, 0,
+ 435, 0, 0, 0, 0, 55, 0, 0, 0, 851,
+ 380, 0, 381, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 382, 0, 383, 96, 71, 75, 72,
+ 0, 0, 0, 0, 384, 0, 0, 385, 97, 0,
+ 852, 0, 0, 386, 802, 71, 75, 72, 0, 0,
+ 388, 387, 0, 0, 0, 0, 0, 235, 0, 0,
+ 0, 0, 76, 0, 51, 73, 46, 389, 0, 0,
0, 0, 0, 0, 44, 67, 54, 74, 0, 0,
- 0, 0, 71, 75, 72, 0, 0, 0, 68, 0,
- 0, 76, 0, 51, 73, 46, 0, 375, 0, 0,
- 0, 0, 0, 44, 67, 54, 74, 376, 0, 0,
- 0, 433, 0, 0, 0, 515, 76, 68, 51, 73,
- 46, 378, 0, 379, 0, 0, 0, 0, 44, 67,
- 54, 74, 0, 0, 380, 0, 381, 97, 0, 55,
- 0, 0, 68, 315, 316, 382, 55, 0, 383, 98,
- 315, 316, 0, 0, 384, 0, 0, 0, 0, 0,
- 0, 386, 385, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 387, 71,
- 75, 72, 0, 0, 0, 0, 71, 75, 72, 0,
- 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
+ 76, 0, 51, 73, 46, 0, 0, 377, 68, 0,
+ 0, 0, 44, 67, 54, 74, 0, 378, 0, 0,
+ 0, 435, 0, 0, 0, 0, 68, 0, 0, 0,
+ 0, 380, 0, 381, 0, 0, 428, 0, 55, 0,
+ 0, 0, 236, 237, 382, 0, 383, 96, 0, 0,
+ 0, 0, 0, 0, 0, 384, 0, 0, 385, 97,
+ 0, 0, 0, 0, 386, 0, 0, 0, 0, 0,
+ 0, 388, 387, 0, 0, 0, 0, 0, 71, 75,
+ 72, 0, 0, 0, 0, 0, 0, 0, 389, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 235, 0,
0, 0, 0, 76, 0, 51, 73, 46, 0, 0,
- 76, 0, 51, 73, 46, 44, 67, 54, 74, 296,
- 295, 0, 44, 67, 54, 74, 71, 75, 72, 68,
- 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
- 55, 0, 0, 0, 315, 316, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
- 76, 0, 51, 73, 46, 0, 0, 0, 0, 0,
- 0, 0, 44, 67, 54, 74, 0, 0, 0, 0,
- 71, 75, 72, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 296, 295, 0, 0, 0, 0, 0, 71,
- 75, 72, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 0, 51, 73, 46, 0,
- 0, 0, 0, 0, 0, 0, 44, 67, 54, 74,
- 0, 0, 0, 76, 0, 51, 73, 46, 0, 0,
- 68, 0, 0, 0, 375, 44, 67, 54, 74, 0,
- 0, 0, 0, 0, 376, 0, 0, 55, 377, 68,
- 0, 315, 316, 0, 0, 0, 0, 0, 378, 0,
- 379, 0, 0, 55, 0, 0, 0, 315, 316, 0,
- 0, 380, 0, 381, 97, 0, 0, 0, 0, 0,
- 0, 0, 382, 0, 0, 383, 98, 71, 75, 72,
- 0, 384, 0, 0, 0, 0, 0, 0, 386, 385,
- 0, 0, 55, 71, 75, 72, 315, 316, 0, 0,
- 0, 0, 0, 0, 0, 387, 0, 0, 0, 0,
- 0, 76, 0, 51, 73, 46, 0, 0, 0, 0,
- 0, 0, 314, 44, 67, 54, 74, 76, 0, 51,
- 73, 46, 71, 75, 72, 0, 375, 68, 0, 44,
- 67, 54, 74, 0, 0, 0, 376, 0, 0, 0,
- 433, 0, 0, 68, 0, 55, 0, 0, 0, 839,
- 378, 314, 379, 0, 0, 426, 76, 0, 51, 73,
- 46, 0, 0, 380, 0, 381, 97, 0, 44, 67,
- 54, 74, 0, 0, 382, 0, 0, 383, 98, 0,
- 840, 0, 68, 384, 790, 71, 75, 72, 0, 0,
- 386, 385, 0, 0, 0, 0, 0, 0, 212, 213,
- 214, 0, 0, 217, 219, 220, 0, 387, 221, 0,
- 222, 0, 0, 0, 227, 228, 0, 229, 0, 76,
- 0, 51, 73, 46, 55, 230, 232, 233, 0, 0,
- 0, 44, 67, 54, 74, 0, 0, 0, 235, 0,
- 427, 0, 0, 0, 0, 68, 0, 0, 0, 55,
- 0, 0, 0, 315, 316, 238, 0, 0, 0, 0,
- 0, 0, 0, 0, 71, 75, 72, 240, 241, 242,
- 0, 244, 245, 246, 247, 248, 249, 0, 0, 236,
- 243, 226, 216, 234, 0, 218, 237, 0, 0, 71,
- 75, 72, 223, 0, 0, 239, 215, 225, 76, 224,
- 51, 73, 46, 0, 0, 0, 0, 0, 231, 0,
- 44, 67, 54, 74, 0, 0, 0, 0, 314, 0,
- 0, 0, 0, 76, 68, 51, 73, 46, 0, 0,
- 0, 0, 0, 0, 0, 44, 67, 54, 74, 0,
+ 0, 0, 429, 0, 0, 44, 67, 54, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
0, 0, 0, 48, 49, 0, 0, 0, 0, 0,
0, 0, 0, 53, 52, 0, 0, 0, 0, 0,
0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
- 0, 0, 0, 0, 0, 202, 0, 0, 0, 66,
+ 0, 0, 0, 0, 0, 243, 0, 0, 0, 66,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
77, 71, 75, 72, 0, 80, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 65, 82, 50, 0,
0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
- 0, 0, 78, 45, 0, 76, 0, 51, 73, 46,
- 64, 79, 0, 0, 0, 0, 0, 44, 67, 54,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 0, 0, 0, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 53, 52, 0, 0, 0,
- 0, 0, 0, 55, 0, 0, 0, 56, 57, 0,
- 58, 0, 0, 0, 0, 0, 0, 62, 0, 0,
- 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 77, 71, 75, 72, 0, 80, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 65, 82,
- 50, 0, 0, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 0, 0, 78, 45, 0, 76, 0, 51,
- 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 53, 52, 0,
- 0, 0, 0, 0, 0, 55, 0, 0, 0, 56,
- 57, 0, 58, 0, 0, 0, 0, 0, 0, 202,
- 0, 0, 0, 66, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 71, 75, 72, 0, 80,
+ 0, 0, 0, 78, 45, 0, 76, 0, 51, 73,
+ 46, 64, 79, 0, 0, 0, 0, 0, 44, 67,
+ 54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 48, 49, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 52, 0, 0,
+ 0, 0, 0, 0, 55, 0, 0, 0, 56, 57,
+ 0, 58, 0, 0, 0, 0, 0, 0, 62, 0,
+ 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 82, 50, 0, 0, 0, 0, 203, 61, 0,
+ 0, 0, 0, 77, 71, 75, 72, 0, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
+ 82, 50, 0, 0, 0, 0, 0, 61, 0, 0,
0, 0, 0, 0, 0, 0, 78, 45, 0, 76,
0, 51, 73, 46, 64, 79, 0, 0, 0, 0,
0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
@@ -913,85 +890,98 @@ const short QmlJSGrammar::action_info [] = {
49, 0, 0, 0, 0, 0, 0, 0, 0, 53,
52, 0, 0, 0, 0, 0, 0, 55, 0, 0,
0, 56, 57, 0, 58, 0, 0, 0, 0, 0,
- 0, 202, 0, 0, 0, 66, 0, 0, 0, 0,
+ 0, 243, 0, 0, 0, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 77, 71, 75, 72,
0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 65, 82, 50, 0, 0, 865, 0, 0,
- 61, 0, 0, 0, 0, 0, 0, 0, 78, 45,
- 0, 76, 0, 51, 73, 46, 64, 79, 0, 0,
- 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
- 0, 48, 49, 0, 260, 0, 0, 0, 0, 0,
- 0, 53, 52, 0, 0, 0, 0, 0, 0, 55,
- 0, 0, 0, 56, 57, 0, 58, 0, 0, 0,
- 0, 0, 0, 62, 0, 0, 0, 66, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 71,
- 75, 72, 0, 80, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 65, 82, 50, 0, 0, 0,
- 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
- 78, 45, 0, 76, 0, 51, 73, 46, 64, 79,
- 0, 0, 0, 0, 0, 44, 67, 54, 74, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
- 0, 0, 0, 48, 49, 0, 260, 0, 0, 0,
- 0, 0, 0, 53, 52, 0, 0, 0, 0, 0,
- 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
- 0, 0, 0, 0, 0, 202, 0, 0, 0, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 65, 82, 50, 0, 0, 0, 0, 244,
+ 61, 0, 0, 0, 0, 0, 0, 0, 0, 78,
+ 45, 0, 76, 0, 51, 73, 46, 64, 79, 0,
+ 0, 0, 0, 0, 44, 67, 54, 74, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
+ 0, 0, 48, 49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 53, 52, 0, 0, 0, 0, 0, 0,
+ 55, 0, 0, 0, 56, 57, 0, 58, 0, 0,
+ 0, 0, 0, 0, 243, 0, 0, 0, 66, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 71, 75, 72, 0, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 65, 82, 50, 0,
- 0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
+ 71, 75, 72, 0, 80, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 65, 82, 50, 0, 0,
+ 877, 0, 0, 61, 0, 0, 0, 0, 0, 0,
0, 0, 78, 45, 0, 76, 0, 51, 73, 46,
64, 79, 0, 0, 0, 0, 0, 44, 67, 54,
74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 0, 0, 0, 867, 0, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 870, 869, 0,
- 0, 0, 0, 0, 0, 55, 0, 0, 0, 56,
- 57, 0, 58, 0, 0, 0, 0, 0, 0, 202,
- 0, 0, 0, 66, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 871, 874, 872, 0, 80,
- 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
- 65, 82, 50, 0, 0, 865, 0, 0, 61, 0,
- 0, 0, 0, 868, 0, 0, 78, 45, 0, 76,
- 0, 51, 873, 866, 64, 79, 0, 0, 0, 0,
- 0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 68, 0, 0, 0, 867,
- 0, 48, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 870, 869, 0, 0, 0, 0, 0, 0, 55,
- 0, 0, 0, 56, 57, 0, 58, 0, 0, 0,
- 0, 0, 0, 202, 0, 0, 0, 66, 0, 0,
- 0, 0, 0, 0, 0, 0, 903, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 871,
- 874, 872, 0, 80, 0, 0, 0, 0, 157, 0,
- 0, 0, 0, 0, 65, 82, 50, 0, 0, 865,
- 0, 0, 61, 0, 0, 0, 0, 868, 0, 0,
- 78, 45, 0, 76, 0, 51, 873, 866, 64, 79,
- 0, 0, 0, 0, 0, 44, 67, 54, 74, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
- 0, 0, 0, 867, 0, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 870, 869, 0, 0, 0,
+ 0, 68, 0, 0, 0, 48, 49, 0, 304, 0,
+ 0, 0, 0, 0, 0, 53, 52, 0, 0, 0,
0, 0, 0, 55, 0, 0, 0, 56, 57, 0,
- 58, 0, 0, 0, 0, 0, 0, 202, 0, 0,
+ 58, 0, 0, 0, 0, 0, 0, 62, 0, 0,
0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 906, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 77, 871, 874, 872, 0, 80, 0, 0,
- 0, 0, 157, 0, 0, 0, 0, 0, 65, 82,
- 50, 0, 0, 865, 0, 0, 61, 0, 0, 0,
- 0, 868, 0, 0, 78, 45, 0, 76, 0, 51,
- 873, 866, 64, 79, 0, 0, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 47, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 0, 53, 52,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 77, 71, 75, 72, 0, 80, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 65, 82,
+ 50, 0, 0, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 0, 0, 0, 78, 45, 0, 76, 0,
+ 51, 73, 46, 64, 79, 0, 0, 0, 0, 0,
+ 44, 67, 54, 74, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 0, 0, 0, 48, 49,
+ 0, 304, 0, 0, 0, 0, 0, 0, 53, 52,
0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
- 56, 57, 0, 58, 0, 0, 0, 59, 0, 60,
- 62, 63, 0, 0, 66, 0, 0, 0, 0, 69,
- 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 57, 0, 58, 0, 0, 0, 0, 0, 0,
+ 243, 0, 0, 0, 66, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 77, 71, 75, 72, 0,
- 80, 0, 81, 0, 83, 0, 84, 0, 0, 0,
+ 80, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 65, 82, 50, 0, 0, 0, 0, 0, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78, 45,
+ 0, 76, 0, 51, 73, 46, 64, 79, 0, 0,
+ 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
+ 0, 879, 0, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 882, 881, 0, 0, 0, 0, 0,
+ 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
+ 0, 0, 0, 0, 0, 243, 0, 0, 0, 66,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 883, 886, 884, 0, 80, 0, 0, 0, 0,
+ 156, 0, 0, 0, 0, 0, 65, 82, 50, 0,
+ 0, 877, 0, 0, 61, 0, 0, 0, 0, 0,
+ 880, 0, 0, 78, 45, 0, 76, 0, 51, 885,
+ 878, 64, 79, 0, 0, 0, 0, 0, 44, 67,
+ 54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 879, 0, 48, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0, 882, 881,
+ 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
+ 56, 57, 0, 58, 0, 0, 0, 0, 0, 0,
+ 243, 0, 0, 0, 66, 0, 0, 0, 0, 0,
+ 0, 0, 0, 918, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 77, 883, 886, 884, 0,
+ 80, 0, 0, 0, 0, 156, 0, 0, 0, 0,
+ 0, 65, 82, 50, 0, 0, 877, 0, 0, 61,
+ 0, 0, 0, 0, 0, 880, 0, 0, 78, 45,
+ 0, 76, 0, 51, 885, 878, 64, 79, 0, 0,
+ 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
+ 0, 879, 0, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 882, 881, 0, 0, 0, 0, 0,
+ 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
+ 0, 0, 0, 0, 0, 243, 0, 0, 0, 66,
+ 0, 0, 0, 0, 0, 0, 0, 0, 915, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 883, 886, 884, 0, 80, 0, 0, 0, 0,
+ 156, 0, 0, 0, 0, 0, 65, 82, 50, 0,
+ 0, 877, 0, 0, 61, 0, 0, 0, 0, 0,
+ 880, 0, 0, 78, 45, 0, 76, 0, 51, 885,
+ 878, 64, 79, 0, 0, 0, 0, 0, 44, 67,
+ 54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 47, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 53, 52, 0,
+ 0, 0, 0, 0, 0, 55, 0, 0, 0, 56,
+ 57, 0, 58, 0, 0, 0, 59, 0, 60, 62,
+ 63, 0, 0, 66, 0, 0, 0, 0, 69, 0,
+ 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 71, 75, 72, 0, 80,
+ 0, 81, 0, 83, 0, 84, 0, 0, 0, 0,
+ 65, 82, 50, 0, 0, 0, 0, 0, 61, 0,
0, 0, 0, 0, 0, 0, 0, 78, 45, 0,
76, 0, 51, 73, 46, 64, 79, 0, 0, 0,
0, 0, 44, 67, 54, 74, 0, 0, 0, 0,
@@ -1004,106 +994,57 @@ const short QmlJSGrammar::action_info [] = {
0, 0, 0, 0, 0, 0, 0, 0, 77, 71,
75, 72, 0, 80, 0, 81, 0, 83, 0, 84,
0, 0, 0, 0, 65, 82, 50, 0, 0, 0,
- 0, 0, 61, 0, 0, 0, 0, 0, 0, 85,
- 78, 45, 0, 76, 0, 51, 73, 46, 64, 79,
- 0, 0, 0, 0, 0, 44, 67, 54, 74, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
- 0, 0, 0, 47, 48, 49, 0, 0, 0, 0,
- 0, 0, 0, 0, 53, 52, 0, 0, 0, 0,
- 0, 0, 55, 0, 0, 0, 56, 57, 0, 58,
- 0, 0, 0, 59, 0, 60, 62, 63, 0, 0,
- 66, 0, 0, 0, 0, 69, 0, 70, 0, 0,
+ 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
+ 159, 78, 45, 0, 76, 0, 51, 73, 46, 64,
+ 79, 0, 0, 0, 0, 0, 44, 67, 54, 74,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 77, 71, 75, 72, 0, 80, 0, 81, 0,
- 83, 0, 84, 0, 0, 0, 0, 65, 82, 50,
- 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
- 0, 0, 160, 78, 45, 0, 76, 0, 51, 73,
- 46, 64, 79, 0, 0, 0, 0, 0, 44, 67,
- 54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 0, 0, 0, 47, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 53, 52, 0,
- 0, 0, 0, 0, 0, 55, 0, 0, 0, 56,
- 57, 0, 58, 0, 0, 0, 59, 0, 60, 62,
- 63, 0, 0, 66, 0, 0, 0, 0, 69, 0,
- 70, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 71, 75, 72, 0, 80,
- 0, 81, 0, 83, 0, 84, 0, 0, 0, 0,
- 65, 82, 50, 0, 0, 0, 0, 0, 61, 0,
- 0, 0, 0, 0, 268, 160, 78, 45, 0, 76,
- 0, 51, 73, 46, 64, 79, 0, 0, 0, 0,
- 0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 68, 0, 0, 0, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 52, 0, 0, 0, 0, 0, 0, 55, 0,
- 0, 0, 56, 57, 0, 58, 0, 0, 0, 59,
- 0, 60, 62, 63, 0, 0, 66, 0, 0, 0,
- 0, 69, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 77, 71, 75,
- 72, 0, 80, 0, 81, 0, 83, 0, 84, 0,
- 0, 0, 0, 65, 82, 50, 0, 0, 0, 0,
- 0, 61, 0, 0, 0, 0, 0, 0, 85, 78,
- 45, 0, 76, 0, 51, 73, 46, 64, 79, 0,
- 0, 0, 0, 0, 44, 67, 54, 74, 0, 0,
- 0, 0, 0, 0, 0, 0, 108, 0, 68, 0,
- 0, 0, 47, 48, 49, 0, 0, 0, 0, 0,
- 0, 0, 0, 53, 52, 0, 0, 0, 0, 0,
- 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
- 0, 0, 59, 0, 60, 62, 63, 0, 0, 66,
- 0, 0, 0, 0, 69, 0, 70, 0, 0, 0,
+ 68, 0, 0, 0, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 52, 0, 0, 0,
+ 0, 0, 0, 55, 0, 0, 0, 56, 57, 0,
+ 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
+ 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 71, 75, 72, 0, 80, 0, 81, 0, 83,
- 0, 84, 0, 0, 0, 0, 65, 82, 50, 0,
- 0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
- 265, 160, 78, 45, 0, 76, 0, 51, 73, 46,
- 64, 79, 0, 0, 0, 0, 0, 44, 67, 54,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 0, 0, 0, 372, 0, 0, 47, 48,
- 49, 0, 0, 0, 0, 0, 0, 0, 0, 53,
- 52, 0, 0, 0, 0, 0, 0, 55, 0, 0,
- 0, 56, 57, 0, 58, 0, 0, 0, 59, 0,
- 60, 62, 63, 0, 0, 66, 0, 0, 0, 0,
- 69, 0, 70, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 77, 71, 75, 72,
- 0, 80, 0, 81, 0, 83, 0, 84, 0, 0,
- 0, 0, 65, 82, 50, 0, 0, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 0, 160, 78, 45,
- 0, 76, 0, 51, 73, 46, 64, 79, 0, 0,
- 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
+ 0, 0, 77, 71, 75, 72, 0, 80, 0, 81,
+ 0, 83, 0, 84, 0, 0, 0, 0, 65, 82,
+ 50, 0, 0, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 0, 0, 85, 78, 45, 0, 76, 0,
+ 51, 73, 46, 64, 79, 0, 0, 0, 0, 0,
+ 44, 67, 54, 74, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 0, 0, 0, 374, 0,
0, 47, 48, 49, 0, 0, 0, 0, 0, 0,
0, 0, 53, 52, 0, 0, 0, 0, 0, 0,
55, 0, 0, 0, 56, 57, 0, 58, 0, 0,
0, 59, 0, 60, 62, 63, 0, 0, 66, 0,
0, 0, 0, 69, 0, 70, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 619, 0, 0, 0, 77,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
71, 75, 72, 0, 80, 0, 81, 0, 83, 0,
84, 0, 0, 0, 0, 65, 82, 50, 0, 0,
0, 0, 0, 61, 0, 0, 0, 0, 0, 0,
- 160, 78, 45, 0, 76, 0, 51, 73, 46, 64,
- 79, 0, 0, 0, 0, 0, 44, 67, 54, 74,
+ 0, 159, 78, 45, 0, 76, 0, 51, 73, 46,
+ 64, 79, 0, 0, 0, 0, 0, 44, 67, 54,
+ 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 68, 0, 0, 0, 47, 48, 49, 0, 0,
+ 0, 0, 0, 0, 0, 0, 53, 52, 0, 0,
+ 0, 0, 0, 0, 55, 0, 0, 0, 56, 57,
+ 0, 58, 0, 0, 0, 59, 0, 60, 62, 63,
+ 0, 0, 66, 0, 0, 0, 0, 69, 0, 70,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 0, 0, 0, 364, 0, 0, 47, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 0, 53, 52,
- 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
- 56, 57, 0, 58, 0, 0, 0, 59, 0, 60,
- 62, 63, 0, 0, 66, 0, 0, 0, 0, 69,
- 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 77, 71, 75, 72, 0,
- 80, 0, 81, 0, 83, 0, 84, 0, 0, 0,
- 0, 65, 82, 50, 0, 0, 0, 0, 0, 61,
- 0, 0, 0, 0, 0, 0, 160, 78, 45, 0,
- 76, 0, 51, 73, 46, 64, 79, 0, 0, 0,
- 0, 0, 44, 67, 54, 74, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
- 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 53, 52, 0, 0, 0, 0, 0, 0, 55,
- 0, 0, 0, 56, 57, 0, 58, 0, 0, 0,
- 59, 0, 60, 62, 63, 0, 0, 66, 0, 0,
- 0, 0, 69, 0, 70, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 764, 0, 0, 0, 77, 71,
- 75, 72, 0, 80, 0, 81, 0, 83, 0, 84,
- 0, 0, 0, 0, 65, 82, 50, 0, 0, 0,
- 0, 0, 61, 0, 0, 0, 0, 0, 0, 85,
+ 0, 0, 0, 77, 71, 75, 72, 0, 80, 0,
+ 81, 0, 83, 0, 84, 0, 0, 0, 0, 65,
+ 82, 50, 0, 0, 0, 0, 0, 61, 0, 0,
+ 0, 0, 0, 0, 309, 159, 78, 45, 0, 76,
+ 0, 51, 73, 46, 64, 79, 0, 0, 0, 0,
+ 0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 68, 0, 0, 0, 47,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
+ 53, 52, 0, 0, 0, 0, 0, 0, 55, 0,
+ 0, 0, 56, 57, 0, 58, 0, 0, 0, 59,
+ 0, 60, 62, 63, 0, 0, 66, 0, 0, 0,
+ 0, 69, 0, 70, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 776, 0, 0, 0, 77, 71, 75,
+ 72, 0, 80, 0, 81, 0, 83, 0, 84, 0,
+ 0, 0, 0, 65, 82, 50, 0, 0, 0, 0,
+ 0, 61, 0, 0, 0, 0, 0, 0, 0, 85,
78, 45, 0, 76, 0, 51, 73, 46, 64, 79,
0, 0, 0, 0, 0, 44, 67, 54, 74, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
@@ -1116,10 +1057,60 @@ const short QmlJSGrammar::action_info [] = {
0, 77, 71, 75, 72, 0, 80, 0, 81, 0,
83, 0, 84, 0, 0, 0, 0, 65, 82, 50,
0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
- 0, 314, 160, 78, 45, 0, 76, 0, 51, 73,
+ 0, 0, 0, 159, 78, 45, 0, 76, 0, 51,
+ 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
+ 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
+ 805, 0, 0, 68, 0, 0, 0, 47, 48, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0, 53, 52,
+ 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
+ 56, 57, 0, 58, 0, 0, 0, 59, 0, 60,
+ 62, 63, 0, 0, 66, 0, 0, 0, 0, 69,
+ 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 77, 71, 75, 72, 0,
+ 80, 0, 81, 0, 83, 0, 84, 0, 0, 0,
+ 0, 65, 82, 50, 0, 0, 0, 0, 0, 61,
+ 0, 0, 0, 0, 0, 0, 0, 85, 78, 45,
+ 0, 76, 0, 51, 73, 46, 64, 79, 0, 0,
+ 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
+ 0, 0, 0, 0, 0, 107, 0, 68, 0, 0,
+ 0, 366, 0, 0, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 52, 0, 0, 0,
+ 0, 0, 0, 55, 0, 0, 0, 56, 57, 0,
+ 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
+ 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 77, 71, 75, 72, 0, 80, 0, 81,
+ 0, 83, 0, 84, 0, 0, 0, 0, 65, 82,
+ 50, 0, 0, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 0, 0, 159, 78, 45, 0, 76, 0,
+ 51, 73, 46, 64, 79, 0, 0, 0, 0, 0,
+ 44, 67, 54, 74, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 0, 0, 0, 47, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 0, 53,
+ 52, 0, 0, 0, 0, 0, 0, 55, 0, 0,
+ 0, 56, 57, 0, 58, 0, 0, 0, 59, 0,
+ 60, 62, 63, 0, 0, 66, 0, 0, 0, 0,
+ 69, 0, 70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 77, 71, 75, 72,
+ 0, 80, 0, 81, 0, 83, 0, 84, 0, 0,
+ 0, 0, 65, 82, 50, 0, 0, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 312, 159, 78,
+ 45, 0, 76, 0, 51, 73, 46, 64, 79, 0,
+ 0, 0, 0, 0, 44, 67, 54, 74, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
+ 0, 0, 47, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 53, 52, 0, 0, 0, 0, 0,
+ 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
+ 0, 0, 59, 0, 60, 62, 63, 0, 0, 66,
+ 0, 0, 0, 0, 69, 0, 70, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 71, 75, 72, 0, 80, 0, 81, 0, 83,
+ 0, 84, 0, 0, 0, 0, 65, 82, 50, 0,
+ 0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
+ 0, 0, 159, 78, 45, 0, 76, 0, 51, 73,
46, 64, 79, 0, 0, 0, 0, 0, 44, 67,
54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 0, 0, 0, 47, 48, 49, 0,
+ 170, 0, 68, 0, 0, 0, 47, 48, 49, 0,
0, 0, 0, 0, 0, 0, 0, 53, 52, 0,
0, 0, 0, 0, 0, 55, 0, 0, 0, 56,
57, 0, 58, 0, 0, 0, 59, 0, 60, 62,
@@ -1128,44 +1119,32 @@ const short QmlJSGrammar::action_info [] = {
0, 0, 0, 0, 77, 71, 75, 72, 0, 80,
0, 81, 0, 83, 0, 84, 0, 0, 0, 0,
65, 82, 50, 0, 0, 0, 0, 0, 61, 0,
- 0, 0, 0, 0, 0, 160, 78, 45, 0, 76,
- 0, 51, 73, 46, 64, 79, 0, 0, 0, 0,
- 0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
- 0, 0, 793, 0, 0, 68, 0, 0, 0, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 52, 0, 0, 0, 0, 0, 0, 55, 0,
- 0, 0, 56, 57, 0, 58, 0, 0, 0, 59,
- 0, 60, 62, 63, 0, 0, 66, 0, 0, 0,
- 0, 69, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 77, 71, 75,
- 72, 0, 80, 0, 81, 0, 83, 0, 84, 0,
- 0, 0, 0, 65, 82, 50, 0, 0, 0, 0,
- 0, 61, 0, 0, 0, 0, 0, 0, 160, 78,
- 45, 0, 76, 0, 51, 73, 46, 64, 79, 0,
- 0, 0, 0, 0, 44, 67, 54, 74, 0, 0,
- 0, 0, 0, 0, 0, 0, 172, 0, 68, 0,
- 0, 0, 47, 48, 49, 0, 0, 0, 0, 0,
- 0, 0, 0, 53, 52, 0, 0, 0, 0, 0,
- 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
- 0, 0, 59, 0, 60, 62, 63, 0, 0, 66,
- 0, 0, 0, 0, 69, 0, 70, 0, 0, 734,
+ 0, 0, 0, 0, 0, 235, 159, 78, 45, 0,
+ 76, 0, 51, 73, 46, 64, 79, 0, 0, 0,
+ 0, 0, 44, 67, 54, 74, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
+ 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 0, 53, 52, 0, 0, 0, 0, 0, 0, 55,
+ 0, 0, 0, 56, 57, 0, 58, 0, 0, 0,
+ 59, 0, 60, 62, 63, 0, 0, 66, 0, 0,
+ 0, 0, 69, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 621, 0, 0, 0, 77, 71,
+ 75, 72, 0, 80, 0, 81, 0, 83, 0, 84,
+ 0, 0, 0, 0, 65, 82, 50, 0, 0, 0,
+ 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
+ 159, 78, 45, 0, 76, 0, 51, 73, 46, 64,
+ 79, 0, 0, 0, 0, 0, 44, 67, 54, 74,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 71, 75, 72, 0, 80, 0, 81, 0, 83,
- 0, 84, 0, 0, 0, 0, 65, 82, 50, 0,
- 0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
- 733, 160, 78, 45, 0, 76, 0, 51, 73, 46,
- 64, 79, 0, 0, 0, 0, 0, 44, 67, 54,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 0, 0, 0, 47, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 53, 52, 0, 0,
- 0, 0, 0, 0, 55, 0, 0, 0, 56, 57,
- 0, 58, 0, 0, 0, 59, 0, 60, 62, 63,
- 0, 0, 66, 0, 0, 0, 0, 69, 0, 70,
- 0, 0, 0, 0, 0, 0, 741, 0, 0, 0,
- 0, 0, 0, 77, 71, 75, 72, 0, 80, 0,
- 81, 0, 83, 0, 84, 0, 0, 0, 0, 65,
- 82, 50, 0, 0, 0, 0, 0, 61, 0, 0,
- 0, 0, 0, 314, 160, 78, 45, 0, 76, 0,
+ 68, 0, 0, 0, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 0, 53, 52, 0, 0, 0,
+ 0, 0, 0, 55, 0, 0, 0, 56, 57, 0,
+ 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
+ 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
+ 0, 746, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 77, 71, 75, 72, 0, 80, 0, 81,
+ 0, 83, 0, 84, 0, 0, 0, 0, 65, 82,
+ 50, 0, 0, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 0, 745, 159, 78, 45, 0, 76, 0,
51, 73, 46, 64, 79, 0, 0, 0, 0, 0,
44, 67, 54, 74, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 68, 0, 0, 0, 47, 48,
@@ -1173,346 +1152,381 @@ const short QmlJSGrammar::action_info [] = {
52, 0, 0, 0, 0, 0, 0, 55, 0, 0,
0, 56, 57, 0, 58, 0, 0, 0, 59, 0,
60, 62, 63, 0, 0, 66, 0, 0, 0, 0,
- 69, 0, 70, 0, 0, 0, 0, 0, 0, 0,
+ 69, 0, 70, 0, 0, 0, 0, 0, 0, 753,
0, 0, 0, 0, 0, 0, 77, 71, 75, 72,
- 0, 80, 0, 81, 0, 83, 157, 84, 0, 0,
- 0, 0, 65, 82, 50, 412, 413, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 0, 85, 78, 45,
- 0, 76, 0, 51, 73, 46, 64, 79, 0, 0,
- 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
- 0, 47, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 0, 53, 52, 0, 0, 0, 0, 0, 0,
- 55, 151, 0, 0, 56, 57, 0, 58, 0, 0,
- 0, 59, 0, 60, 62, 63, 0, 0, 66, 0,
- 0, 0, 0, 69, 0, 70, 0, 0, 0, 0,
- 0, 0, 0, 153, 0, 0, 0, 0, 0, 77,
- 71, 75, 72, 154, 80, 0, 81, 156, 83, 0,
- 84, 0, 159, 0, 0, 65, 82, 50, 0, 0,
- 0, 0, 0, 61, 0, 0, 0, 0, 0, 0,
- 160, 78, 45, 0, 76, 0, 51, 73, 46, 64,
- 79, 0, 0, 0, 0, 0, 44, 67, 54, 74,
- 0, 0, 0, 0, 0, 0, 0, 951, 950, 0,
- 68, 0, 0, 0, 47, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 53, 52, 0, 0, 0,
- 0, 0, 0, 55, 151, 0, 0, 56, 1062, 0,
- 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
- 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
- 0, 0, 0, 0, 0, 0, 153, 0, 0, 0,
- 0, 0, 77, 71, 75, 72, 154, 80, 0, 81,
- 156, 83, 0, 84, 0, 159, 0, 0, 65, 82,
- 50, 0, 0, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 0, 160, 78, 45, 0, 76, 0, 51,
- 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 951, 950, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 0, 0, 0,
- 0, 0, 0, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 828, 0, 0, 0, 238, 0, 0, 0, 0, 0,
- 0, 0, 0, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
+ 0, 80, 0, 81, 0, 83, 0, 84, 0, 0,
+ 0, 0, 65, 82, 50, 0, 0, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 235, 159, 78,
+ 45, 0, 76, 0, 51, 73, 46, 64, 79, 0,
+ 0, 0, 0, 0, 44, 67, 54, 74, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
+ 0, 0, 47, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 53, 52, 0, 0, 0, 0, 0,
+ 0, 55, 0, 0, 0, 56, 57, 0, 58, 0,
+ 0, 0, 59, 0, 60, 62, 63, 0, 0, 66,
+ 0, 0, 0, 0, 69, 0, 70, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 855, 0, 0, 0, 238, 0, 0, 0, 0, 0,
- 0, 0, 0, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
+ 77, 71, 75, 72, 0, 80, 0, 81, 0, 83,
+ 156, 84, 0, 0, 0, 0, 65, 82, 50, 414,
+ 415, 0, 0, 0, 61, 0, 0, 0, 0, 0,
+ 0, 0, 85, 78, 45, 0, 76, 0, 51, 73,
+ 46, 64, 79, 0, 0, 0, 0, 0, 44, 67,
+ 54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 47, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 53, 52, 0,
+ 0, 0, 0, 0, 0, 55, 150, 0, 0, 56,
+ 57, 0, 58, 0, 0, 0, 59, 0, 60, 62,
+ 63, 0, 0, 66, 0, 0, 0, 0, 69, 0,
+ 70, 0, 0, 0, 0, 0, 0, 0, 152, 0,
+ 0, 0, 0, 0, 77, 71, 75, 72, 153, 80,
+ 0, 81, 155, 83, 0, 84, 0, 158, 0, 0,
+ 65, 82, 50, 0, 0, 0, 0, 0, 61, 0,
+ 0, 0, 0, 0, 0, 0, 159, 78, 45, 0,
+ 76, 0, 51, 73, 46, 64, 79, 0, 0, 0,
+ 0, 0, 44, 67, 54, 74, 0, 0, 0, 0,
+ 0, 0, 0, 963, 962, 0, 68, 0, 0, 0,
+ 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 0, 53, 52, 0, 0, 0, 0, 0, 0, 55,
+ 150, 0, 0, 56, 1074, 0, 58, 0, 0, 0,
+ 59, 0, 60, 62, 63, 0, 0, 66, 0, 0,
+ 0, 0, 69, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 152, 0, 0, 0, 0, 0, 77, 71,
+ 75, 72, 153, 80, 0, 81, 155, 83, 0, 84,
+ 0, 158, 0, 0, 65, 82, 50, 0, 0, 0,
+ 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
+ 159, 78, 45, 0, 76, 0, 51, 73, 46, 64,
+ 79, 0, 0, 0, 0, 0, 44, 67, 54, 74,
+ 0, 0, 0, 0, 0, 0, 0, 963, 962, 0,
+ 68, 0, 0, 0, 254, 255, 256, 0, 0, 259,
+ 261, 262, 0, 0, 263, 0, 264, 0, 0, 0,
+ 269, 270, 0, 271, 0, 0, 0, 0, 0, 0,
+ 55, 272, 274, 275, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 277, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 824, 0, 0, 0, 238, 0, 0, 0, 0, 0,
- 0, 0, 0, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
+ 0, 280, 0, 0, 0, 0, 0, 0, 0, 0,
+ 71, 75, 72, 282, 283, 284, 0, 286, 287, 288,
+ 289, 290, 291, 0, 0, 278, 285, 268, 258, 276,
+ 0, 260, 279, 0, 0, 0, 0, 0, 0, 265,
+ 0, 0, 281, 257, 267, 76, 266, 51, 73, 46,
+ 0, 0, 0, 0, 0, 273, 0, 44, 67, 54,
+ 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 68, 0, 0, 0, 254, 255, 256, 0, 0,
+ 259, 261, 262, 0, 0, 263, 0, 264, 0, 0,
+ 0, 269, 270, 0, 271, 0, 0, 0, 0, 0,
+ 0, 55, 272, 274, 275, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 277, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 840, 0,
+ 0, 0, 280, 0, 0, 0, 0, 0, 0, 0,
+ 0, 71, 75, 72, 282, 283, 284, 0, 286, 287,
+ 288, 289, 290, 291, 0, 0, 278, 285, 268, 258,
+ 276, 0, 260, 279, 0, 0, 0, 0, 0, 0,
+ 265, 0, 0, 281, 257, 267, 76, 266, 51, 73,
+ 46, 0, 0, 0, 0, 0, 273, 0, 44, 67,
+ 54, 74, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 254, 255, 256, 0,
+ 0, 259, 261, 262, 0, 0, 263, 0, 264, 0,
+ 0, 0, 269, 270, 0, 271, 0, 0, 0, 0,
+ 0, 0, 55, 272, 274, 275, 0, 295, 0, 0,
+ 0, 0, 0, 0, 0, 0, 277, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 849, 0, 0, 0, 238, 0, 0, 0, 0, 0,
- 0, 0, 0, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 345, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 346, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 0, 0, 0,
- 0, 0, 347, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 345, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 346, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 0, 0, 527, 0,
- 0, 0, 347, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 524, 526, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 345, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 346, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 238, 0, 525, 0, 527, 0,
- 0, 0, 347, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 528, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 524, 526, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 345, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 346, 0, 0, 0, 0, 0, 0, 0, 0,
- 716, 0, 0, 0, 238, 0, 0, 0, 527, 0,
- 0, 0, 347, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 524, 526, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 212, 213, 214,
- 0, 0, 217, 219, 220, 0, 0, 221, 0, 222,
- 0, 0, 0, 227, 228, 0, 229, 0, 0, 0,
- 0, 0, 0, 55, 230, 232, 233, 0, 345, 0,
- 0, 0, 0, 0, 0, 0, 0, 235, 0, 0,
- 0, 346, 0, 0, 0, 0, 0, 0, 0, 0,
- 721, 0, 0, 0, 238, 0, 0, 0, 527, 0,
- 0, 0, 347, 71, 75, 72, 240, 241, 242, 0,
- 244, 245, 246, 247, 248, 249, 0, 0, 236, 243,
- 226, 216, 234, 0, 218, 237, 0, 0, 0, 0,
- 0, 223, 0, 0, 239, 215, 225, 76, 224, 51,
- 73, 46, 0, 0, 0, 0, 0, 231, 0, 44,
- 67, 524, 526, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 0, 0, 0, 144, 0, 0,
- 0, 0, 145, 0, 47, 48, 49, 147, 0, 0,
- 0, 0, 0, 0, 148, 53, 52, 0, 0, 0,
- 0, 0, 0, 55, 151, 0, 0, 56, 57, 0,
- 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
- 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
- 0, 0, 0, 0, 152, 0, 153, 0, 0, 0,
- 0, 0, 77, 71, 75, 72, 154, 80, 155, 81,
- 156, 83, 157, 84, 158, 159, 0, 0, 65, 82,
- 50, 0, 0, 0, 146, 0, 61, 0, 0, 0,
- 0, 0, 0, 160, 78, 45, 0, 76, 0, 51,
- 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 149, 0, 68, 0, 0, 0, 144, 0, 0,
- 0, 0, 145, 0, 47, 48, 49, 147, 0, 0,
- 0, 0, 0, 0, 148, 53, 52, 0, 0, 0,
- 0, 0, 0, 55, 151, 0, 0, 56, 57, 0,
- 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
- 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
- 0, 0, 0, 0, 152, 0, 153, 0, 0, 0,
- 0, 0, 77, 71, 75, 72, 154, 80, 155, 81,
- 156, 83, 157, 84, 158, 159, 0, 0, 65, 82,
- 50, 0, 0, 0, 146, 0, 61, 0, 0, 0,
- 0, 0, 0, 160, 78, 45, 0, 76, 0, 51,
- 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 150, 149, 0, 68, 0, 0, 0, 144, 0, 0,
- 0, 0, 145, 0, 47, 48, 49, 147, 0, 0,
- 0, 0, 0, 0, 148, 53, 52, 0, 0, 0,
- 0, 0, 0, 55, 151, 0, 0, 56, 57, 0,
- 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
- 0, 958, 0, 0, 0, 0, 69, 0, 70, 0,
- 0, 0, 0, 0, 152, 0, 153, 0, 0, 0,
- 0, 0, 959, 71, 75, 72, 154, 80, 155, 81,
- 156, 83, 157, 84, 158, 159, 0, 0, 65, 82,
- 50, 0, 0, 0, 146, 0, 61, 0, 0, 0,
- 0, 0, 0, 160, 78, 45, 0, 76, 0, 51,
- 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
+ 0, 0, 0, 280, 0, 0, 0, 0, 0, 0,
+ 0, 0, 71, 75, 72, 282, 283, 284, 0, 286,
+ 287, 288, 289, 290, 291, 0, 0, 278, 285, 268,
+ 258, 276, 0, 260, 279, 0, 0, 0, 0, 0,
+ 0, 265, 0, 0, 281, 257, 267, 76, 266, 51,
+ 73, 46, 0, 0, 0, 0, 0, 273, 0, 44,
67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 150, 149, 0, 68, 0, 0, 0, 144, 0, 0,
- 0, 0, 145, 0, 47, 48, 49, 147, 0, 0,
- 0, 0, 0, 0, 148, 53, 52, 0, 0, 0,
- 0, 0, 0, 55, 151, 0, 0, 56, 57, 0,
- 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
- 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
- 0, 0, 0, 0, 152, 0, 153, 0, 0, 0,
- 0, 0, 77, 71, 75, 72, 154, 80, 155, 81,
- 156, 83, 157, 84, 158, 159, 0, 0, 65, 82,
- 50, 0, 0, 0, 146, 0, 61, 0, 0, 0,
- 0, 0, 0, 160, 78, 45, 0, 76, 0, 51,
- 73, 46, 64, 79, 0, 0, 0, 0, 0, 44,
- 67, 54, 74, 0, 0, 0, 0, 0, 0, 0,
- 301, 149, 0, 68, 0, 0, 0,
-
- 435, 717, 709, 708, 723, 707, 704, 703, 702, 730,
- 257, 208, 1101, 1100, 699, 696, 695, 694, 693, 688,
- 690, 689, 687, 264, 271, 649, 679, 267, 676, 269,
- 208, 250, 980, 1095, 1098, 674, 677, 673, 636, 759,
- 1094, 208, 657, 1006, 651, 638, 995, 286, 208, 778,
- 779, 288, 997, 1082, 638, 940, 208, 1090, 972, 1080,
- 1068, 636, 133, 626, 627, 133, 831, 620, 625, 789,
- 969, 615, 792, 1005, 1066, 611, 608, 970, 968, 1054,
- 609, 602, 596, 594, 112, 809, 807, 1051, 591, 808,
- 810, 588, 1052, 814, 592, 815, 584, 816, 820, 576,
- 325, 574, 1008, 568, 818, 133, 565, 564, 208, 563,
- 559, 562, 557, 556, 554, 555, 133, 363, 1046, 547,
- 841, 321, 546, 544, 545, 537, 1055, 1012, 538, 540,
- 294, 539, 324, 330, 253, 973, 210, 954, 374, 331,
- 510, 332, 348, 455, 514, 333, 501, 975, 396, 944,
- 1019, 993, 1038, 175, 357, 495, 497, 473, 174, 483,
- 171, 355, 356, 388, 173, 736, 420, 468, 389, 595,
- 893, 466, 892, 894, 392, 395, 597, 895, 901, 451,
- 618, 449, 454, 133, 455, 1033, 443, 401, 1026, 208,
- 630, 940, 940, 921, 403, 428, 432, 424, 928, 170,
- 1024, 1023, 941, 420, 924, 1021, 430, 420, 437, 977,
- 978, 1034, 1035, 461, 420, 420, 420, 420, 479, 398,
- 489, 368, 1040, 306, 496, 306, 513, 397, 394, 1031,
- 1032, 306, 697, 632, 391, 1048, 397, 957, 397, 843,
- 844, 306, 682, 397, 210, 1044, 306, 888, 397, 397,
- 210, 306, 309, 632, 210, 210, 210, 210, 1049, 570,
- 1060, 572, 613, 1061, 306, 305, 617, 306, 305, 210,
- 393, 419, 300, 632, 303, 422, 390, 1084, 1083, 632,
- 210, 548, 457, 459, 475, 477, 532, 558, 861, 397,
- 830, 397, 397, 740, 739, 210, 397, 306, 697, 210,
- 724, 726, 298, 210, 823, 306, 682, 306, 671, 264,
- 264, 264, 210, 210, 302, 650, 0, 731, 397, 732,
- 306, 309, 306, 309, 711, 1011, 367, 370, 745, 29,
- 209, 253, 653, 666, 669, 210, 42, 306, 309, 306,
- 309, 306, 309, 0, 541, 306, 832, 256, 306, 604,
- 306, 496, 306, 513, 94, 715, 712, 306, 309, 306,
- 309, 302, 633, 758, 483, 306, 309, 306, 309, 93,
- 823, 306, 334, 341, 336, 341, 832, 306, 832, 306,
- 832, 0, 633, 915, 916, 306, 309, 917, 306, 353,
- 306, 309, 306, 621, 0, 306, 446, 306, 439, 306,
- 462, 860, 566, 531, 344, 417, 434, 94, 775, 259,
- 845, 819, 0, 94, 0, 735, 0, 438, 0, 94,
- 94, 0, 93, 306, 506, 0, 11, 453, 93, 29,
- 29, 306, 470, 0, 93, 93, 42, 42, 0, 29,
- 0, 29, 306, 309, 0, 659, 42, 0, 42, 94,
- 0, 29, 0, 675, 0, 95, 0, 678, 42, 370,
- 700, 95, 560, 0, 93, 29, 605, 95, 95, 29,
- 341, 336, 42, 94, 281, 705, 42, 685, 283, 691,
- 0, 1015, 306, 506, 550, 1017, 1016, 1014, 93, 335,
- 201, 291, 289, 0, 0, 313, 94, 811, 765, 306,
- 309, 344, 0, 805, 817, 812, 354, 341, 832, 94,
- 622, 93, 754, 447, 827, 441, 328, 463, 834, 0,
- 94, 95, 29, 499, 93, 94, 11, 11, 890, 42,
- 94, 0, 711, 800, 178, 93, 11, 509, 11, 632,
- 93, 508, 845, 94, 95, 93, 472, 767, 11, 471,
- 851, 107, 857, 0, 94, 94, 94, 95, 93, 720,
- 0, 1079, 11, 715, 712, 184, 11, 369, 95, 93,
- 93, 93, 94, 95, 489, 29, 786, 94, 95, 0,
- 193, 763, 42, 306, 621, 640, 0, 93, 0, 293,
- 0, 95, 93, 350, 0, 94, 512, 0, 279, 0,
- 508, 94, 95, 95, 95, 29, 0, 103, 199, 197,
- 93, 0, 42, 94, 29, 0, 93, 0, 0, 11,
- 95, 42, 0, 1009, 327, 95, 198, 0, 93, 96,
- 0, 94, 794, 1001, 797, 1064, 0, 200, 94, 0,
- 0, 94, 201, 95, 681, 761, 93, 910, 306, 309,
- 0, 0, 0, 93, 200, 94, 93, 0, 94, 0,
- 0, 95, 681, 760, 1001, 370, 371, 0, 775, 0,
- 93, 781, 11, 93, 796, 0, 749, 94, 0, 95,
- 681, 762, 854, 200, 724, 726, 95, 200, 799, 95,
- 681, 753, 93, 42, 94, 94, 1067, 1004, 94, 629,
- 635, 622, 11, 95, 681, 752, 95, 681, 751, 93,
- 93, 11, 0, 93, 94, 302, 94, 94, 201, 0,
- 0, 406, 94, 94, 94, 0, 94, 94, 780, 93,
- 0, 93, 93, 0, 0, 201, 94, 93, 93, 93,
- 200, 93, 93, 95, 0, 94, 95, 681, 748, 0,
- 42, 93, 637, 205, 0, 0, 94, 201, 0, 0,
- 93, 750, 95, 0, 201, 95, 681, 747, 201, 42,
- 95, 93, 95, 369, 95, 0, 200, 42, 200, 42,
- 94, 42, 664, 320, 95, 0, 1056, 0, 1089, 205,
- 643, 42, 662, 95, 0, 93, 0, 104, 660, 0,
- 645, 200, 0, 0, 95, 681, 680, 947, 0, 946,
- 948, 953, 949, 952, 205, 200, 94, 0, 94, 278,
- 0, 201, 200, 409, 1086, 1087, 0, 0, 0, 200,
- 42, 93, 0, 93, 0, 885, 0, 904, 907, 0,
- 0, 94, 205, 0, 641, 0, 0, 0, 0, 0,
- 200, 200, 0, 0, 0, 94, 93, 201, 0, 201,
- 887, 0, 94, 885, 885, 0, 0, 0, 0, 94,
- 93, 0, 274, 0, 0, 0, 0, 93, 0, 200,
- 410, 414, 201, 0, 93, 0, 0, 1056, 887, 887,
- 94, 94, 885, 1057, 0, 0, 201, 0, 0, 0,
- 0, 0, 0, 201, 0, 93, 93, 0, 0, 0,
- 201, 0, 0, 0, 0, 0, 0, 887, 0, 94,
- 11, 0, 1027, 0, 0, 0, 200, 0, 0, 1009,
- 0, 201, 201, 0, 93, 1010, 0, 0, 0, 205,
- 0, 947, 1010, 946, 948, 953, 949, 952, 947, 0,
- 946, 948, 953, 949, 952, 0, 0, 0, 0, 0,
- 201, 0, 0, 0, 0, 0, 94, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 201, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 68, 0, 0, 0, 254, 255, 256,
+ 0, 0, 259, 261, 262, 0, 0, 263, 0, 264,
+ 0, 0, 0, 269, 270, 0, 271, 0, 0, 0,
+ 0, 0, 0, 55, 272, 274, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 277, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 836, 0, 0, 0, 280, 0, 0, 0, 0, 0,
+ 0, 0, 0, 71, 75, 72, 282, 283, 284, 0,
+ 286, 287, 288, 289, 290, 291, 0, 0, 278, 285,
+ 268, 258, 276, 0, 260, 279, 0, 0, 0, 0,
+ 0, 0, 265, 0, 0, 281, 257, 267, 76, 266,
+ 51, 73, 46, 0, 0, 0, 0, 0, 273, 0,
+ 44, 67, 54, 74, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 0, 0, 0, 254, 255,
+ 256, 0, 0, 259, 261, 262, 0, 0, 263, 0,
+ 264, 0, 0, 0, 269, 270, 0, 271, 0, 0,
+ 0, 0, 0, 0, 55, 272, 274, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 277, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 867, 0, 0, 0, 280, 0, 0, 0, 0,
+ 0, 0, 0, 0, 71, 75, 72, 282, 283, 284,
+ 0, 286, 287, 288, 289, 290, 291, 0, 0, 278,
+ 285, 268, 258, 276, 0, 260, 279, 0, 0, 0,
+ 0, 0, 0, 265, 0, 0, 281, 257, 267, 76,
+ 266, 51, 73, 46, 0, 0, 0, 0, 0, 273,
+ 0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 68, 0, 0, 0, 254,
+ 255, 256, 0, 0, 259, 261, 262, 0, 0, 263,
+ 0, 264, 0, 0, 0, 269, 270, 0, 271, 0,
+ 0, 0, 0, 0, 0, 55, 272, 274, 275, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 861, 0, 0, 0, 280, 0, 0, 0,
+ 0, 0, 0, 0, 0, 71, 75, 72, 282, 283,
+ 284, 0, 286, 287, 288, 289, 290, 291, 0, 0,
+ 278, 285, 268, 258, 276, 0, 260, 279, 0, 0,
+ 0, 0, 0, 0, 265, 0, 0, 281, 257, 267,
+ 76, 266, 51, 73, 46, 0, 0, 0, 0, 0,
+ 273, 0, 44, 67, 54, 74, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
+ 254, 255, 256, 0, 0, 259, 261, 262, 0, 0,
+ 263, 0, 264, 0, 0, 0, 269, 270, 0, 271,
+ 0, 0, 0, 0, 0, 0, 55, 272, 274, 275,
+ 0, 295, 0, 677, 0, 0, 0, 0, 0, 0,
+ 277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 280, 0, 0,
+ 0, 0, 0, 0, 0, 0, 71, 75, 72, 282,
+ 283, 284, 0, 286, 287, 288, 289, 290, 291, 0,
+ 0, 278, 285, 268, 258, 276, 0, 260, 279, 0,
+ 0, 0, 0, 0, 0, 265, 0, 0, 281, 257,
+ 267, 76, 266, 51, 73, 46, 0, 0, 0, 0,
+ 0, 273, 0, 44, 67, 54, 74, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
+ 0, 254, 255, 256, 0, 0, 259, 261, 262, 0,
+ 0, 263, 0, 264, 0, 0, 0, 269, 270, 0,
+ 271, 0, 0, 0, 0, 0, 0, 55, 272, 274,
+ 275, 0, 657, 0, 658, 0, 0, 0, 0, 0,
+ 0, 277, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 280, 0,
+ 0, 0, 0, 0, 0, 0, 0, 71, 75, 72,
+ 282, 283, 284, 0, 286, 287, 288, 289, 290, 291,
+ 0, 0, 278, 285, 268, 258, 276, 0, 260, 279,
+ 0, 0, 0, 0, 0, 0, 265, 0, 0, 281,
+ 257, 267, 76, 266, 51, 73, 46, 0, 0, 0,
+ 0, 0, 273, 0, 44, 67, 54, 74, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
+ 0, 0, 254, 255, 256, 0, 0, 259, 261, 262,
+ 0, 0, 263, 0, 264, 0, 0, 0, 269, 270,
+ 0, 271, 0, 0, 0, 0, 0, 0, 55, 272,
+ 274, 275, 0, 347, 0, 0, 0, 0, 0, 0,
+ 0, 0, 277, 0, 0, 0, 348, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 280,
+ 0, 0, 0, 0, 0, 0, 0, 349, 71, 75,
+ 72, 282, 283, 284, 0, 286, 287, 288, 289, 290,
+ 291, 0, 0, 278, 285, 268, 258, 276, 0, 260,
+ 279, 0, 0, 0, 0, 0, 0, 265, 0, 0,
+ 281, 257, 267, 76, 266, 51, 73, 46, 0, 0,
+ 0, 0, 0, 273, 0, 44, 67, 54, 74, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
+ 0, 0, 0, 254, 255, 256, 0, 0, 259, 261,
+ 262, 0, 0, 263, 0, 264, 0, 0, 0, 269,
+ 270, 0, 271, 0, 0, 0, 0, 0, 0, 55,
+ 272, 274, 275, 0, 347, 0, 0, 0, 0, 0,
+ 0, 0, 0, 277, 0, 0, 0, 348, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1027, 0, 0,
+ 280, 0, 0, 0, 529, 0, 0, 0, 349, 71,
+ 75, 72, 282, 283, 284, 0, 286, 287, 288, 289,
+ 290, 291, 0, 0, 278, 285, 268, 258, 276, 0,
+ 260, 279, 0, 0, 0, 0, 0, 0, 265, 0,
+ 0, 281, 257, 267, 76, 266, 51, 73, 46, 0,
+ 0, 0, 0, 0, 273, 0, 44, 67, 526, 528,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1063, 0, 0, 0, 0, 0, 947, 0, 946, 948,
- 953, 949, 952, 0, 0, 0, 0, 0, 0, 0,
+ 68, 0, 0, 0, 254, 255, 256, 0, 0, 259,
+ 261, 262, 0, 0, 263, 0, 264, 0, 0, 0,
+ 269, 270, 0, 271, 0, 0, 0, 0, 0, 0,
+ 55, 272, 274, 275, 0, 347, 0, 0, 0, 0,
+ 0, 0, 0, 0, 277, 0, 0, 0, 348, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 280, 0, 527, 0, 529, 0, 0, 0, 349,
+ 71, 75, 72, 282, 283, 284, 0, 286, 287, 288,
+ 289, 290, 291, 0, 0, 278, 285, 268, 258, 276,
+ 0, 260, 279, 0, 0, 0, 0, 0, 0, 265,
+ 0, 0, 281, 257, 267, 530, 266, 51, 73, 46,
+ 0, 0, 0, 0, 0, 273, 0, 44, 67, 526,
+ 528, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 68, 0, 0, 0, 254, 255, 256, 0, 0,
+ 259, 261, 262, 0, 0, 263, 0, 264, 0, 0,
+ 0, 269, 270, 0, 271, 0, 0, 0, 0, 0,
+ 0, 55, 272, 274, 275, 0, 347, 0, 0, 0,
+ 0, 0, 0, 0, 0, 277, 0, 0, 0, 348,
+ 0, 0, 0, 0, 0, 0, 0, 0, 728, 0,
+ 0, 0, 280, 0, 0, 0, 529, 0, 0, 0,
+ 349, 71, 75, 72, 282, 283, 284, 0, 286, 287,
+ 288, 289, 290, 291, 0, 0, 278, 285, 268, 258,
+ 276, 0, 260, 279, 0, 0, 0, 0, 0, 0,
+ 265, 0, 0, 281, 257, 267, 76, 266, 51, 73,
+ 46, 0, 0, 0, 0, 0, 273, 0, 44, 67,
+ 526, 528, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 254, 255, 256, 0,
+ 0, 259, 261, 262, 0, 0, 263, 0, 264, 0,
+ 0, 0, 269, 270, 0, 271, 0, 0, 0, 0,
+ 0, 0, 55, 272, 274, 275, 0, 347, 0, 0,
+ 0, 0, 0, 0, 0, 0, 277, 0, 0, 0,
+ 348, 0, 0, 0, 0, 0, 0, 0, 0, 733,
+ 0, 0, 0, 280, 0, 0, 0, 529, 0, 0,
+ 0, 349, 71, 75, 72, 282, 283, 284, 0, 286,
+ 287, 288, 289, 290, 291, 0, 0, 278, 285, 268,
+ 258, 276, 0, 260, 279, 0, 0, 0, 0, 0,
+ 0, 265, 0, 0, 281, 257, 267, 76, 266, 51,
+ 73, 46, 0, 0, 0, 0, 0, 273, 0, 44,
+ 67, 526, 528, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 68, 0, 0, 0, 143, 0, 0,
+ 0, 0, 144, 0, 47, 48, 49, 146, 0, 0,
+ 0, 0, 0, 0, 147, 53, 52, 0, 0, 0,
+ 0, 0, 0, 55, 150, 0, 0, 56, 57, 0,
+ 58, 0, 0, 0, 59, 0, 60, 62, 63, 0,
+ 0, 66, 0, 0, 0, 0, 69, 0, 70, 0,
+ 0, 0, 0, 0, 151, 0, 152, 0, 0, 0,
+ 0, 0, 77, 71, 75, 72, 153, 80, 154, 81,
+ 155, 83, 156, 84, 157, 158, 0, 0, 65, 82,
+ 50, 0, 0, 0, 145, 0, 61, 0, 0, 0,
+ 0, 0, 0, 0, 159, 78, 45, 0, 76, 0,
+ 51, 73, 46, 64, 79, 0, 0, 0, 0, 0,
+ 44, 67, 54, 74, 0, 0, 0, 0, 0, 0,
+ 0, 0, 148, 0, 68, 0, 0, 0, 143, 0,
+ 0, 0, 0, 144, 0, 47, 48, 49, 146, 0,
+ 0, 0, 0, 0, 0, 147, 53, 52, 0, 0,
+ 0, 0, 0, 0, 55, 150, 0, 0, 56, 57,
+ 0, 58, 0, 0, 0, 59, 0, 60, 62, 63,
+ 0, 0, 66, 0, 0, 0, 0, 69, 0, 70,
+ 0, 0, 0, 0, 0, 151, 0, 152, 0, 0,
+ 0, 0, 0, 77, 71, 75, 72, 153, 80, 154,
+ 81, 155, 83, 156, 84, 157, 158, 0, 0, 65,
+ 82, 50, 0, 0, 0, 145, 0, 61, 0, 0,
+ 0, 0, 0, 0, 0, 159, 78, 45, 0, 76,
+ 0, 51, 73, 46, 64, 79, 0, 0, 0, 0,
+ 0, 44, 67, 54, 74, 0, 0, 0, 0, 0,
+ 0, 0, 149, 148, 0, 68, 0, 0, 0, 143,
+ 0, 0, 0, 0, 144, 0, 47, 48, 49, 146,
+ 0, 0, 0, 0, 0, 0, 147, 53, 52, 0,
+ 0, 0, 0, 0, 0, 55, 150, 0, 0, 56,
+ 57, 0, 58, 0, 0, 0, 59, 0, 60, 62,
+ 63, 0, 0, 66, 0, 0, 0, 0, 69, 0,
+ 70, 0, 0, 0, 0, 0, 151, 0, 152, 0,
+ 0, 0, 0, 0, 77, 71, 75, 72, 153, 80,
+ 154, 81, 155, 83, 156, 84, 157, 158, 0, 0,
+ 65, 82, 50, 0, 0, 0, 145, 0, 61, 0,
+ 0, 0, 0, 0, 0, 0, 159, 78, 45, 0,
+ 76, 0, 51, 73, 46, 64, 79, 0, 0, 0,
+ 0, 0, 44, 67, 54, 74, 0, 0, 0, 0,
+ 0, 0, 0, 222, 148, 0, 68, 0, 0, 0,
+ 143, 0, 0, 0, 0, 144, 0, 47, 48, 49,
+ 146, 0, 0, 0, 0, 0, 0, 147, 53, 52,
+ 0, 0, 0, 0, 0, 0, 55, 150, 0, 0,
+ 56, 57, 0, 58, 0, 0, 0, 59, 0, 60,
+ 62, 63, 0, 0, 970, 0, 0, 0, 0, 69,
+ 0, 70, 0, 0, 0, 0, 0, 151, 0, 152,
+ 0, 0, 0, 0, 0, 971, 71, 75, 72, 153,
+ 80, 154, 81, 155, 83, 156, 84, 157, 158, 0,
+ 0, 65, 82, 50, 0, 0, 0, 145, 0, 61,
+ 0, 0, 0, 0, 0, 0, 0, 159, 78, 45,
+ 0, 76, 0, 51, 73, 46, 64, 79, 0, 0,
+ 0, 0, 0, 44, 67, 54, 74, 0, 0, 0,
+ 0, 0, 0, 0, 149, 148, 0, 68, 0, 0,
+ 0,
+
+ 729, 721, 720, 719, 716, 715, 714, 1112, 735, 1107,
+ 711, 708, 748, 707, 742, 706, 1110, 705, 702, 650,
+ 701, 700, 699, 1106, 638, 250, 691, 688, 640, 1094,
+ 250, 686, 689, 685, 1102, 250, 1092, 1080, 1066, 1078,
+ 1063, 1064, 111, 665, 771, 132, 659, 1058, 1067, 652,
+ 213, 1050, 376, 398, 790, 791, 422, 597, 640, 620,
+ 638, 599, 1045, 250, 1038, 132, 952, 628, 629, 627,
+ 1035, 843, 632, 622, 801, 617, 1033, 804, 613, 1036,
+ 610, 168, 611, 604, 169, 171, 598, 172, 596, 593,
+ 173, 590, 819, 820, 822, 821, 1031, 586, 594, 826,
+ 827, 1024, 578, 830, 576, 828, 832, 1023, 250, 1020,
+ 565, 564, 567, 1017, 570, 566, 952, 559, 557, 561,
+ 556, 549, 1009, 548, 1007, 853, 546, 547, 1018, 539,
+ 540, 542, 541, 205, 207, 132, 992, 365, 217, 252,
+ 327, 250, 323, 984, 981, 292, 516, 296, 457, 512,
+ 1113, 503, 499, 301, 308, 250, 980, 1005, 497, 985,
+ 132, 966, 332, 315, 333, 987, 311, 485, 313, 326,
+ 334, 475, 468, 470, 956, 335, 907, 904, 913, 905,
+ 451, 906, 359, 457, 445, 390, 437, 456, 350, 453,
+ 391, 357, 358, 558, 394, 397, 952, 132, 430, 933,
+ 403, 405, 940, 936, 953, 252, 308, 434, 619, 615,
+ 422, 422, 989, 990, 426, 432, 873, 634, 439, 634,
+ 227, 226, 370, 743, 252, 744, 574, 572, 252, 678,
+ 422, 491, 252, 463, 1046, 1047, 481, 422, 399, 399,
+ 835, 422, 422, 400, 399, 399, 399, 396, 399, 227,
+ 683, 227, 694, 227, 709, 308, 399, 399, 969, 227,
+ 498, 736, 738, 399, 1043, 1044, 399, 227, 709, 1052,
+ 634, 752, 751, 399, 227, 694, 421, 424, 681, 227,
+ 515, 393, 634, 308, 252, 252, 227, 900, 221, 395,
+ 252, 224, 1056, 252, 252, 0, 459, 252, 1096, 1095,
+ 252, 252, 252, 461, 1060, 252, 654, 477, 479, 227,
+ 226, 252, 1072, 0, 634, 1073, 0, 308, 219, 842,
+ 300, 252, 0, 392, 0, 369, 93, 1061, 294, 251,
+ 0, 223, 651, 534, 308, 656, 543, 294, 227, 230,
+ 661, 92, 550, 0, 787, 872, 855, 856, 227, 844,
+ 227, 230, 560, 343, 844, 227, 336, 675, 227, 230,
+ 227, 230, 343, 338, 227, 844, 227, 441, 227, 230,
+ 223, 982, 723, 252, 568, 29, 831, 927, 928, 0,
+ 690, 929, 42, 485, 687, 0, 372, 757, 857, 0,
+ 217, 227, 230, 346, 227, 230, 0, 635, 227, 230,
+ 227, 355, 0, 727, 724, 227, 448, 436, 835, 635,
+ 227, 230, 227, 230, 227, 498, 227, 230, 227, 844,
+ 227, 606, 227, 230, 227, 464, 227, 623, 723, 227,
+ 623, 29, 419, 491, 0, 798, 93, 0, 42, 93,
+ 0, 787, 93, 440, 227, 230, 0, 533, 0, 747,
+ 0, 92, 343, 338, 92, 732, 29, 92, 0, 727,
+ 724, 372, 93, 42, 93, 455, 0, 29, 227, 230,
+ 11, 337, 0, 29, 42, 777, 93, 92, 0, 92,
+ 42, 552, 443, 346, 94, 330, 234, 94, 770, 29,
+ 94, 92, 0, 93, 641, 176, 42, 0, 182, 29,
+ 562, 792, 227, 472, 501, 93, 42, 93, 92, 0,
+ 94, 0, 94, 667, 766, 779, 356, 191, 93, 863,
+ 92, 449, 92, 93, 94, 106, 11, 902, 793, 0,
+ 703, 198, 0, 92, 697, 869, 607, 29, 92, 93,
+ 465, 94, 624, 631, 42, 624, 824, 195, 817, 29,
+ 839, 11, 717, 94, 92, 94, 42, 0, 712, 823,
+ 93, 196, 11, 227, 508, 93, 94, 371, 11, 303,
+ 200, 94, 223, 352, 0, 92, 775, 197, 227, 508,
+ 92, 202, 1091, 93, 11, 0, 93, 94, 93, 846,
+ 29, 329, 227, 515, 11, 343, 844, 42, 92, 93,
+ 29, 92, 0, 92, 93, 0, 761, 42, 94, 93,
+ 208, 102, 93, 94, 92, 474, 29, 103, 473, 92,
+ 0, 0, 93, 42, 92, 812, 0, 92, 0, 241,
+ 857, 94, 11, 0, 94, 95, 94, 92, 0, 0,
+ 0, 0, 246, 42, 11, 0, 93, 94, 637, 93,
+ 242, 0, 94, 693, 765, 210, 93, 0, 1021, 93,
+ 94, 92, 0, 242, 92, 93, 212, 42, 1013, 93,
+ 1076, 92, 0, 0, 92, 511, 0, 93, 672, 510,
+ 92, 93, 0, 0, 92, 11, 0, 242, 241, 0,
+ 514, 762, 92, 0, 510, 11, 92, 94, 693, 764,
+ 0, 1079, 93, 0, 94, 693, 763, 94, 693, 773,
+ 242, 11, 0, 94, 693, 772, 0, 92, 93, 736,
+ 738, 0, 806, 0, 809, 94, 693, 760, 93, 94,
+ 693, 759, 93, 92, 241, 408, 227, 230, 0, 241,
+ 93, 0, 829, 92, 922, 93, 0, 92, 93, 1013,
+ 94, 693, 774, 372, 373, 92, 0, 93, 0, 0,
+ 92, 0, 0, 92, 808, 0, 94, 0, 866, 242,
+ 0, 1027, 92, 42, 93, 1029, 1028, 1026, 811, 93,
+ 94, 0, 0, 0, 0, 0, 670, 42, 94, 92,
+ 0, 241, 0, 94, 92, 42, 94, 639, 241, 1068,
+ 42, 1101, 668, 42, 0, 94, 693, 692, 241, 643,
+ 645, 246, 0, 916, 241, 242, 0, 1098, 1099, 959,
+ 242, 958, 960, 965, 961, 964, 241, 897, 0, 919,
+ 241, 93, 0, 0, 0, 0, 0, 411, 93, 897,
+ 0, 322, 241, 246, 42, 0, 92, 0, 93, 0,
+ 0, 0, 899, 92, 93, 897, 0, 0, 0, 371,
+ 0, 0, 0, 92, 899, 0, 93, 0, 0, 92,
+ 93, 0, 242, 318, 0, 0, 0, 0, 0, 242,
+ 899, 92, 93, 0, 0, 92, 241, 0, 0, 242,
+ 0, 1021, 412, 416, 1068, 242, 0, 92, 0, 897,
+ 1069, 0, 0, 0, 1022, 0, 1039, 242, 0, 0,
+ 959, 242, 958, 960, 965, 961, 964, 0, 0, 1075,
+ 0, 1039, 0, 242, 899, 959, 93, 958, 960, 965,
+ 961, 964, 11, 0, 1022, 0, 0, 0, 0, 0,
+ 959, 92, 958, 960, 965, 961, 964, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 241, 0, 0, 0, 0, 0, 242, 0, 0,
+ 0, 1016, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 92, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 242, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1525,181 +1539,164 @@ const short QmlJSGrammar::action_info [] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
const short QmlJSGrammar::action_check [] = {
- 57, 37, 0, 7, 62, 7, 62, 37, 57, 57,
- 37, 50, 62, 7, 57, 7, 62, 0, 15, 96,
- 16, 37, 1, 49, 83, 96, 8, 34, 96, 5,
- 5, 37, 2, 34, 52, 7, 5, 57, 57, 34,
- 7, 15, 15, 34, 8, 62, 7, 37, 103, 20,
- 34, 17, 17, 8, 7, 70, 34, 62, 57, 62,
- 7, 38, 48, 7, 57, 17, 66, 8, 48, 17,
- 38, 34, 17, 62, 30, 37, 35, 34, 38, 17,
- 30, 17, 63, 34, 96, 34, 1, 7, 17, 7,
- 1, 7, 34, 2, 7, 49, 83, 37, 83, 57,
- 34, 8, 37, 7, 37, 17, 52, 34, 2, 37,
- 7, 37, 49, 52, 38, 34, 30, 34, 7, 62,
- 7, 7, 17, 7, 34, 17, 7, 30, 116, 34,
- 62, 62, 62, 8, 57, 57, 37, 7, 34, 0,
- 17, 34, 8, 1, 34, -1, -1, -1, 8, 70,
- 2, 57, 37, 7, 34, 63, 30, 57, 57, 37,
- 62, 34, 30, 30, 62, 30, 57, 38, 30, 8,
- 8, 8, 7, 23, 62, 57, 7, 7, 103, 62,
- 8, 57, -1, 62, 17, 8, 7, -1, 8, 8,
- 37, 34, 17, 62, 34, 8, 52, -1, 70, 62,
- 49, 17, 8, 37, 63, 34, 17, 17, 7, 7,
- 63, 15, 63, 57, -1, 57, 62, 34, 63, 83,
- 8, 62, 15, 8, 8, -1, 62, -1, 8, 41,
- 34, 7, 8, 8, 41, 62, 62, 15, 10, 8,
- 58, 53, 35, 58, 8, 69, 53, 25, 57, 81,
- 7, 106, 41, 8, 56, 63, 64, 8, 37, 116,
- 63, 64, 63, 64, 53, 8, 63, 64, 116, 63,
- 64, 63, 64, 58, 62, 37, 63, 64, 62, 70,
- 63, 64, 62, 58, 106, 57, 63, 64, 56, 58,
- 63, 64, 106, 6, 58, 97, 63, 64, 63, 64,
- 63, 64, 57, 8, 57, 32, 8, 20, 8, 114,
- 115, 62, 8, 8, 114, 115, 107, 15, 116, 62,
- 8, 63, 64, 63, 64, 63, 64, 25, 8, 97,
- 25, 63, 64, 63, 64, 63, 64, 116, 8, 96,
- 41, 15, 58, 8, 63, 64, 43, 8, 34, 7,
- 12, 25, 53, 30, 116, 57, 0, 62, 55, 30,
- 12, 57, 62, 30, -1, 5, 7, 30, 37, 57,
- 10, 26, 8, 28, 7, 0, -1, 30, 8, 65,
- 48, 7, 62, 99, 39, 63, 64, 30, 58, 57,
- 117, 30, 8, 58, 63, 64, 57, 59, 7, 22,
- 23, 69, 79, 65, 12, 63, 64, 59, 79, 63,
- 64, 37, 79, 65, 8, 92, 79, 57, 7, 30,
- 30, 92, 63, 64, 15, 92, 79, 63, 64, 92,
- 63, 64, 7, 63, 64, 30, 79, -1, 116, 92,
- 79, 95, 17, 8, 35, 34, 37, 8, -1, 92,
- -1, 59, 17, 92, 63, 64, 17, 65, 18, 19,
- 50, 105, 37, 15, 18, 19, 22, 23, 79, 79,
- 114, 15, -1, 63, 64, 18, 19, 18, 19, 102,
- 105, 92, 92, 35, 79, -1, 46, 47, -1, 114,
- -1, 35, 46, 47, 15, 111, 112, 92, 63, -1,
- 15, -1, 63, 46, 47, 46, 47, 15, 26, -1,
- 28, -1, -1, -1, 35, -1, 37, 111, 112, -1,
- 35, 39, 37, 15, -1, -1, 116, 35, -1, 37,
- 15, -1, 88, 89, 121, 122, 123, 124, 125, 126,
- -1, 130, 34, 35, -1, 37, 102, 24, 25, 34,
- 35, -1, 37, -1, -1, -1, 33, 109, 110, 36,
- -1, 38, 24, 25, -1, 109, 110, -1, -1, 24,
- 25, 33, -1, -1, 36, -1, 38, 32, 33, -1,
- -1, 36, -1, 38, 24, 25, 30, 10, 109, 110,
- -1, -1, 32, 33, 109, 110, 36, -1, 38, 22,
- 23, 109, 110, -1, 30, -1, -1, -1, -1, 10,
- -1, 34, -1, -1, -1, -1, 15, 109, 110, -1,
- -1, -1, -1, -1, 109, 110, 70, 71, 72, 30,
- -1, -1, -1, -1, -1, -1, 35, -1, 37, 116,
- 15, -1, 65, -1, 70, 71, 72, -1, -1, -1,
- -1, -1, -1, -1, 116, 30, 79, 15, -1, -1,
- -1, 116, 106, 107, 108, 88, 89, -1, -1, 70,
- 71, 72, 30, 117, 118, 119, 116, -1, -1, 102,
- 106, 107, 108, -1, -1, -1, 130, -1, -1, -1,
- -1, 117, 118, 119, -1, 70, 71, 72, -1, -1,
- -1, -1, -1, -1, 130, 106, 107, 108, -1, -1,
- 109, 110, 70, 71, 72, -1, 117, 118, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
- -1, 106, 107, 108, -1, 30, -1, -1, -1, -1,
- -1, -1, 117, 118, 119, -1, -1, -1, 106, 107,
- 108, -1, -1, -1, -1, 130, -1, -1, -1, 117,
- 118, 119, -1, -1, -1, -1, -1, -1, 70, 71,
- 72, -1, 130, -1, -1, 70, 71, 72, -1, 30,
- -1, -1, -1, -1, -1, 30, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 104, -1, 106, 107, 108, -1, -1, -1,
- -1, 106, 107, 108, 116, 117, 118, 119, -1, 70,
- 71, 72, 117, 118, 119, 70, 71, 72, 130, 30,
- -1, -1, -1, -1, 79, 130, -1, -1, -1, 15,
- -1, -1, -1, -1, -1, -1, -1, 92, 30, -1,
- -1, -1, -1, 104, 30, 106, 107, 108, -1, -1,
- -1, 106, 107, 108, -1, 116, 117, 118, 119, 70,
- 71, 72, 117, 118, 119, -1, -1, -1, 79, 130,
- -1, -1, -1, -1, -1, 130, -1, -1, 70, 71,
- 72, 92, -1, -1, 70, 71, 72, -1, -1, -1,
- -1, -1, -1, -1, 30, 106, 107, 108, -1, -1,
- -1, 37, -1, -1, -1, -1, 117, 118, 119, -1,
- -1, -1, 104, -1, 106, 107, 108, -1, -1, 130,
- 106, 107, 108, 30, 116, 117, 118, 119, -1, -1,
- 37, 117, 118, 119, 70, 71, 72, -1, 130, -1,
- -1, -1, -1, -1, 130, -1, -1, -1, 30, -1,
+ 57, 17, 34, 7, 62, 7, 34, 62, 57, 1,
+ 37, 37, 62, 7, 34, 57, 57, 34, 7, 0,
+ 8, 16, 62, 37, 107, 50, 38, 83, 38, 34,
+ 15, 5, 5, 34, 57, 0, 5, 37, 57, 7,
+ 30, 1, 96, 117, 57, 104, 49, 34, 20, 83,
+ 17, 37, 34, 37, 37, 17, 62, 37, 34, 7,
+ 57, 57, 7, 34, 34, 96, 8, 7, 34, 62,
+ 17, 62, 8, 37, 52, 96, 17, 2, 37, 37,
+ 57, 34, 57, 62, 34, 7, 2, 30, 34, 1,
+ 34, 52, 15, 7, 15, 30, 7, 17, 37, 17,
+ 63, 30, 8, 8, 17, 57, 117, 62, 62, 7,
+ 7, 62, 7, 70, 7, 34, 2, 49, 52, 7,
+ 30, 38, 7, 30, 62, 34, 34, 83, 17, 62,
+ 17, 62, 62, 70, 62, 62, 38, 63, 34, 7,
+ 7, 7, 57, 37, 34, 37, 49, 8, 17, 8,
+ 34, 34, 8, 57, 7, 104, 57, 34, 57, 37,
+ 34, 0, 62, 35, 2, 23, 8, 17, 8, 34,
+ 7, 62, 17, 8, 8, -1, 8, 57, 38, 52,
+ 62, 57, 30, 62, 17, 66, 57, 62, 34, 30,
+ 34, 48, 7, 117, 48, 7, 7, 7, 62, 62,
+ 70, 63, 1, 17, 7, 7, 37, 8, 57, 37,
+ 34, 63, 34, 8, 69, 8, 63, 8, 8, 17,
+ 63, 17, 8, 8, 7, 32, 62, 57, 49, 8,
+ 8, 57, 8, 62, 15, 58, 7, -1, 8, 58,
+ 7, -1, 8, 43, 8, 63, 64, 63, 64, 58,
+ 63, 64, 15, 34, 81, 55, 107, 63, 64, 63,
+ 64, 25, 25, 83, 56, 8, 37, 57, 41, 63,
+ 64, 96, 57, 8, 63, 64, 62, 34, 8, 57,
+ 53, 41, 58, 62, 37, 41, 70, 57, 63, 64,
+ 8, 100, 37, 53, 63, 64, 62, 53, 63, 64,
+ 8, 63, 64, 30, 8, 97, 8, 8, 65, 63,
+ 64, 118, 63, 64, 63, 64, 56, 63, 64, 62,
+ 8, 7, 8, 58, 108, 6, 8, 10, 58, 96,
+ 63, 64, 41, 8, 117, 115, 116, 15, 8, 20,
+ 58, 63, 64, 8, 53, 30, 0, 25, 63, 64,
+ 58, 63, 64, 15, 58, 7, 7, 97, 63, 64,
+ 62, 62, 22, 23, 117, 115, 116, 8, 7, 57,
+ 0, 30, 117, 35, 57, 30, 58, 26, 17, 28,
+ 48, 12, 34, 58, 63, 64, 8, 30, 8, 57,
+ 39, 26, 62, 28, 79, 5, 8, 62, 37, 37,
+ 10, 69, 7, 12, 39, 17, 7, 92, 15, -1,
+ 63, 64, 63, 64, 7, 30, 30, -1, 25, 30,
+ 79, -1, 63, 64, 79, 63, 64, -1, 59, -1,
+ -1, 8, -1, 92, 65, 30, 79, 92, 117, 30,
+ 17, -1, 95, 103, 26, 30, 28, 57, -1, 92,
+ 59, 63, 106, 15, 15, 12, 65, 39, 63, 64,
+ -1, 115, 63, 64, 79, 79, -1, 26, 79, 28,
+ 63, 64, -1, 35, 35, 37, 106, 92, 92, 131,
+ 39, 92, 18, 19, 79, 115, 63, 26, 79, 28,
+ 112, 113, 112, 113, 79, 18, 19, 92, 15, 50,
+ 39, 92, 59, 18, 19, 18, 19, 92, 65, -1,
+ 46, 47, 63, 64, -1, -1, -1, -1, 35, 22,
+ 23, -1, -1, 46, 47, 15, -1, -1, 8, -1,
+ -1, 46, 47, 46, 47, -1, 15, 98, 122, 123,
+ 124, 125, 126, 127, -1, 35, -1, 37, -1, 110,
+ 111, 15, -1, -1, 15, -1, 35, -1, 37, -1,
+ -1, -1, -1, -1, -1, -1, 117, -1, -1, -1,
+ 15, 35, -1, 37, 35, -1, 37, 15, -1, -1,
+ -1, 98, -1, 63, 64, 88, 89, -1, -1, 34,
+ 35, -1, 37, 110, 111, -1, 34, 35, -1, 37,
+ 103, 24, 25, -1, -1, -1, -1, -1, 98, 32,
+ 33, -1, -1, 36, -1, 38, 24, 25, -1, 98,
+ 110, 111, -1, -1, 32, 33, -1, 10, 36, -1,
+ 38, 110, 111, -1, 98, 30, -1, 98, 30, 22,
+ 23, -1, -1, -1, -1, -1, 110, 111, -1, 110,
+ 111, 34, -1, 98, -1, 24, 25, -1, -1, -1,
+ 98, -1, -1, -1, 33, 110, 111, 36, -1, 38,
+ 10, -1, 110, 111, -1, 70, 71, 72, 70, 71,
+ 72, -1, 65, -1, -1, -1, -1, -1, -1, -1,
+ 30, -1, -1, 30, 117, -1, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, 88, 89, -1, -1, 117,
+ 30, -1, 107, 108, 109, 107, 108, 109, -1, -1,
+ 103, -1, -1, 118, 119, 120, 118, 119, 120, -1,
+ 70, 71, 72, 70, 71, 72, 131, -1, -1, 131,
+ -1, -1, -1, -1, -1, -1, 15, -1, 117, -1,
+ 70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
+ -1, 30, -1, -1, -1, -1, 30, 107, 108, 109,
+ 107, 108, 109, -1, -1, -1, -1, -1, 118, 119,
+ 120, 118, 119, 120, -1, -1, 30, 107, 108, 109,
+ -1, 30, -1, -1, 131, -1, -1, -1, 118, 119,
+ 120, 70, 71, 72, -1, -1, 70, 71, 72, -1,
+ -1, 131, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 70, 71, 72, -1,
+ -1, 70, 71, 72, -1, -1, -1, -1, 107, 108,
+ 109, -1, 30, 107, 108, 109, -1, -1, -1, 118,
+ 119, 120, -1, -1, 118, 119, 120, -1, -1, -1,
+ 30, 105, 131, 107, 108, 109, 105, 131, 107, 108,
+ 109, 15, -1, 117, 118, 119, 120, -1, 117, 118,
+ 119, 120, 70, 71, 72, -1, 30, 131, -1, -1,
+ -1, 79, 131, 30, -1, -1, -1, -1, -1, -1,
+ 70, 71, 72, -1, 92, -1, -1, -1, -1, 79,
+ -1, 30, -1, -1, -1, -1, -1, -1, 37, 107,
+ 108, 109, 92, -1, -1, -1, 70, 71, 72, -1,
+ 118, 119, 120, 70, 71, 72, -1, 107, 108, 109,
+ -1, -1, -1, 131, -1, -1, -1, -1, 118, 119,
+ 120, 70, 71, 72, -1, -1, -1, -1, -1, -1,
+ -1, 131, 30, 107, 108, 109, -1, 104, 105, 37,
+ 107, 108, 109, -1, 118, 119, 120, -1, -1, -1,
+ 117, 118, 119, 120, -1, -1, 105, 131, 107, 108,
+ 109, 30, -1, -1, 131, -1, -1, -1, 117, 118,
+ 119, 120, 70, 71, 72, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 30, -1, -1, -1,
+ -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
+ -1, 70, 71, 72, -1, -1, -1, 105, -1, 107,
+ 108, 109, -1, -1, -1, -1, -1, -1, -1, 117,
+ 118, 119, 120, -1, -1, -1, 70, 71, 72, -1,
+ -1, -1, 3, 131, -1, -1, 105, 30, 107, 108,
+ 109, -1, 13, -1, 37, -1, 17, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, 27, -1, 29, -1,
+ -1, 105, 131, 107, 108, 109, 30, -1, -1, 40,
+ -1, 42, 43, 117, 118, 119, 120, 70, 71, 72,
+ 51, -1, -1, 54, 55, -1, -1, 131, -1, 60,
+ -1, -1, -1, -1, -1, 30, 67, 68, -1, -1,
+ -1, -1, -1, -1, -1, -1, 70, 71, 72, -1,
+ -1, -1, 105, 84, 107, 108, 109, -1, -1, -1,
+ -1, -1, -1, -1, 117, 118, 119, 120, 63, 64,
+ -1, -1, -1, -1, -1, 70, 71, 72, 131, -1,
+ 104, 105, -1, 107, 108, 109, 30, -1, -1, -1,
+ -1, -1, -1, 117, 118, 119, 120, -1, -1, -1,
+ -1, -1, -1, -1, 30, -1, -1, 131, 34, 35,
+ 105, 30, 107, 108, 109, 34, 35, -1, -1, 63,
+ 64, -1, 117, 118, 119, 120, 70, 71, 72, -1,
+ -1, -1, -1, -1, -1, -1, 131, -1, -1, -1,
+ -1, -1, -1, -1, 70, 71, 72, -1, -1, -1,
+ -1, 70, 71, 72, -1, -1, -1, -1, -1, -1,
+ -1, 105, -1, 107, 108, 109, -1, -1, -1, -1,
+ -1, -1, -1, 117, 118, 119, 120, -1, -1, 105,
+ -1, 107, 108, 109, -1, -1, 105, 131, 107, 108,
+ 109, 117, 118, 119, 120, -1, -1, -1, 117, 118,
+ 119, 120, -1, -1, -1, 131, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 3, 30, -1, -1,
+ -1, 34, 35, -1, -1, -1, 13, -1, -1, -1,
+ 17, -1, -1, -1, -1, 30, -1, -1, -1, 34,
+ 27, -1, 29, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 40, -1, 42, 43, 70, 71, 72,
+ -1, -1, -1, -1, 51, -1, -1, 54, 55, -1,
+ 65, -1, -1, 60, 69, 70, 71, 72, -1, -1,
+ 67, 68, -1, -1, -1, -1, -1, 100, -1, -1,
+ -1, -1, 105, -1, 107, 108, 109, 84, -1, -1,
+ -1, -1, -1, -1, 117, 118, 119, 120, -1, -1,
+ 105, -1, 107, 108, 109, -1, -1, 3, 131, -1,
+ -1, -1, 117, 118, 119, 120, -1, 13, -1, -1,
+ -1, 17, -1, -1, -1, -1, 131, -1, -1, -1,
+ -1, 27, -1, 29, -1, -1, 32, -1, 30, -1,
+ -1, -1, 34, 35, 40, -1, 42, 43, -1, -1,
+ -1, -1, -1, -1, -1, 51, -1, -1, 54, 55,
+ -1, -1, -1, -1, 60, -1, -1, -1, -1, -1,
+ -1, 67, 68, -1, -1, -1, -1, -1, 70, 71,
+ 72, -1, -1, -1, -1, -1, -1, -1, 84, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 70, 71, 72, -1, -1, 104, -1,
- 106, 107, 108, -1, -1, -1, -1, 30, -1, -1,
- 116, 117, 118, 119, 37, -1, -1, -1, 70, 71,
- 72, -1, -1, -1, 130, -1, -1, 104, 30, 106,
- 107, 108, -1, -1, -1, 37, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, 70, 71, 72,
- -1, -1, 104, 130, 106, 107, 108, 30, -1, -1,
- -1, 34, 35, -1, 116, 117, 118, 119, 70, 71,
- 72, -1, -1, -1, -1, -1, -1, -1, 130, -1,
- -1, 104, 30, 106, 107, 108, -1, -1, -1, -1,
- -1, -1, -1, 116, 117, 118, 119, 70, 71, 72,
- -1, -1, 104, -1, 106, 107, 108, 130, -1, -1,
- -1, -1, -1, -1, 116, 117, 118, 119, -1, -1,
- -1, -1, 70, 71, 72, -1, -1, -1, 130, -1,
- -1, 104, -1, 106, 107, 108, -1, 3, -1, -1,
- -1, -1, -1, 116, 117, 118, 119, 13, -1, -1,
- -1, 17, -1, -1, -1, 103, 104, 130, 106, 107,
- 108, 27, -1, 29, -1, -1, -1, -1, 116, 117,
- 118, 119, -1, -1, 40, -1, 42, 43, -1, 30,
- -1, -1, 130, 34, 35, 51, 30, -1, 54, 55,
- 34, 35, -1, -1, 60, -1, -1, -1, -1, -1,
- -1, 67, 68, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 84, 70,
- 71, 72, -1, -1, -1, -1, 70, 71, 72, -1,
- -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 104, -1, 106, 107, 108, -1, -1,
- 104, -1, 106, 107, 108, 116, 117, 118, 119, 63,
- 64, -1, 116, 117, 118, 119, 70, 71, 72, 130,
- -1, -1, -1, -1, -1, -1, 130, -1, -1, -1,
- 30, -1, -1, -1, 34, 35, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
- 104, -1, 106, 107, 108, -1, -1, -1, -1, -1,
- -1, -1, 116, 117, 118, 119, -1, -1, -1, -1,
- 70, 71, 72, -1, -1, -1, 130, -1, -1, -1,
- -1, -1, 63, 64, -1, -1, -1, -1, -1, 70,
- 71, 72, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 104, -1, 106, 107, 108, -1,
- -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
- -1, -1, -1, 104, -1, 106, 107, 108, -1, -1,
- 130, -1, -1, -1, 3, 116, 117, 118, 119, -1,
- -1, -1, -1, -1, 13, -1, -1, 30, 17, 130,
- -1, 34, 35, -1, -1, -1, -1, -1, 27, -1,
- 29, -1, -1, 30, -1, -1, -1, 34, 35, -1,
- -1, 40, -1, 42, 43, -1, -1, -1, -1, -1,
- -1, -1, 51, -1, -1, 54, 55, 70, 71, 72,
- -1, 60, -1, -1, -1, -1, -1, -1, 67, 68,
- -1, -1, 30, 70, 71, 72, 34, 35, -1, -1,
- -1, -1, -1, -1, -1, 84, -1, -1, -1, -1,
- -1, 104, -1, 106, 107, 108, -1, -1, -1, -1,
- -1, -1, 99, 116, 117, 118, 119, 104, -1, 106,
- 107, 108, 70, 71, 72, -1, 3, 130, -1, 116,
- 117, 118, 119, -1, -1, -1, 13, -1, -1, -1,
- 17, -1, -1, 130, -1, 30, -1, -1, -1, 34,
- 27, 99, 29, -1, -1, 32, 104, -1, 106, 107,
- 108, -1, -1, 40, -1, 42, 43, -1, 116, 117,
- 118, 119, -1, -1, 51, -1, -1, 54, 55, -1,
- 65, -1, 130, 60, 69, 70, 71, 72, -1, -1,
- 67, 68, -1, -1, -1, -1, -1, -1, 4, 5,
- 6, -1, -1, 9, 10, 11, -1, 84, 14, -1,
- 16, -1, -1, -1, 20, 21, -1, 23, -1, 104,
- -1, 106, 107, 108, 30, 31, 32, 33, -1, -1,
- -1, 116, 117, 118, 119, -1, -1, -1, 44, -1,
- 117, -1, -1, -1, -1, 130, -1, -1, -1, 30,
- -1, -1, -1, 34, 35, 61, -1, -1, -1, -1,
- -1, -1, -1, -1, 70, 71, 72, 73, 74, 75,
- -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
- 86, 87, 88, 89, -1, 91, 92, -1, -1, 70,
- 71, 72, 98, -1, -1, 101, 102, 103, 104, 105,
- 106, 107, 108, -1, -1, -1, -1, -1, 114, -1,
- 116, 117, 118, 119, -1, -1, -1, -1, 99, -1,
- -1, -1, -1, 104, 130, 106, 107, 108, -1, -1,
- -1, -1, -1, -1, -1, 116, 117, 118, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
+ -1, -1, -1, -1, -1, -1, -1, -1, 100, -1,
+ -1, -1, -1, 105, -1, 107, 108, 109, -1, -1,
+ -1, -1, 118, -1, -1, 117, 118, 119, 120, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 131,
-1, -1, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
-1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
@@ -1709,10 +1706,47 @@ const short QmlJSGrammar::action_check [] = {
69, 70, 71, 72, -1, 74, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 85, 86, 87, -1,
-1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- -1, -1, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, -1, -1, -1, -1, 116, 117, 118,
- 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 130, -1, -1, -1, 12, 13, -1, -1, -1,
+ -1, -1, -1, 102, 103, -1, 105, -1, 107, 108,
+ 109, 110, 111, -1, -1, -1, -1, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 12, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, -1,
+ -1, -1, -1, -1, 30, -1, -1, -1, 34, 35,
+ -1, 37, -1, -1, -1, -1, -1, -1, 44, -1,
+ -1, -1, 48, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
+ 86, 87, -1, -1, -1, -1, -1, 93, -1, -1,
+ -1, -1, -1, -1, -1, -1, 102, 103, -1, 105,
+ -1, 107, 108, 109, 110, 111, -1, -1, -1, -1,
+ -1, 117, 118, 119, 120, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 131, -1, -1, -1, 12,
+ 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ 23, -1, -1, -1, -1, -1, -1, 30, -1, -1,
+ -1, 34, 35, -1, 37, -1, -1, -1, -1, -1,
+ -1, 44, -1, -1, -1, 48, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
+ -1, 74, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 85, 86, 87, -1, -1, -1, -1, 92,
+ 93, -1, -1, -1, -1, -1, -1, -1, -1, 102,
+ 103, -1, 105, -1, 107, 108, 109, 110, 111, -1,
+ -1, -1, -1, -1, 117, 118, 119, 120, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 131, -1,
+ -1, -1, 12, 13, -1, -1, -1, -1, -1, -1,
+ -1, -1, 22, 23, -1, -1, -1, -1, -1, -1,
+ 30, -1, -1, -1, 34, 35, -1, 37, -1, -1,
+ -1, -1, -1, -1, 44, -1, -1, -1, 48, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
+ 70, 71, 72, -1, 74, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 85, 86, 87, -1, -1,
+ 90, -1, -1, 93, -1, -1, -1, -1, -1, -1,
+ -1, -1, 102, 103, -1, 105, -1, 107, 108, 109,
+ 110, 111, -1, -1, -1, -1, -1, 117, 118, 119,
+ 120, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 131, -1, -1, -1, 12, 13, -1, 15, -1,
-1, -1, -1, -1, -1, 22, 23, -1, -1, -1,
-1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
37, -1, -1, -1, -1, -1, -1, 44, -1, -1,
@@ -1721,108 +1755,72 @@ const short QmlJSGrammar::action_check [] = {
-1, -1, 69, 70, 71, 72, -1, 74, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 85, 86,
87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, -1, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 12, 13, -1,
- -1, -1, -1, -1, -1, -1, -1, 22, 23, -1,
- -1, -1, -1, -1, -1, 30, -1, -1, -1, 34,
- 35, -1, 37, -1, -1, -1, -1, -1, -1, 44,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 102, 103, -1, 105, -1,
+ 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
+ 117, 118, 119, 120, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 131, -1, -1, -1, 12, 13,
+ -1, 15, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
+ 34, 35, -1, 37, -1, -1, -1, -1, -1, -1,
+ 44, -1, -1, -1, 48, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 69, 70, 71, 72, -1, 74,
+ -1, -1, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 85, 86, 87, -1, -1, -1, -1, -1, 93,
+ -1, -1, -1, -1, -1, -1, -1, -1, 102, 103,
+ -1, 105, -1, 107, 108, 109, 110, 111, -1, -1,
+ -1, -1, -1, 117, 118, 119, 120, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 131, -1, -1,
+ -1, 10, -1, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
+ -1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
+ -1, -1, -1, -1, -1, 44, -1, -1, -1, 48,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 85, 86, 87, -1, -1, -1, -1, 92, 93, -1,
- -1, -1, -1, -1, -1, -1, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, -1, -1, -1,
- -1, 116, 117, 118, 119, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 130, -1, -1, -1, 12,
- 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
- 23, -1, -1, -1, -1, -1, -1, 30, -1, -1,
- -1, 34, 35, -1, 37, -1, -1, -1, -1, -1,
- -1, 44, -1, -1, -1, 48, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 85, 86, 87, -1, -1, 90, -1, -1,
- 93, -1, -1, -1, -1, -1, -1, -1, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, -1,
- -1, -1, -1, 116, 117, 118, 119, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 130, -1, -1,
- -1, 12, 13, -1, 15, -1, -1, -1, -1, -1,
- -1, 22, 23, -1, -1, -1, -1, -1, -1, 30,
- -1, -1, -1, 34, 35, -1, 37, -1, -1, -1,
- -1, -1, -1, 44, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 85, 86, 87, -1, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, -1, -1, -1, -1, 116, 117, 118, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
- -1, -1, -1, 12, 13, -1, 15, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, -1, 85, 86, 87, -1,
+ -1, 90, -1, -1, 93, -1, -1, -1, -1, -1,
+ 99, -1, -1, 102, 103, -1, 105, -1, 107, 108,
+ 109, 110, 111, -1, -1, -1, -1, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 10, -1, 12, 13,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
+ 34, 35, -1, 37, -1, -1, -1, -1, -1, -1,
+ 44, -1, -1, -1, 48, -1, -1, -1, -1, -1,
+ -1, -1, -1, 57, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, -1, -1, -1, -1, 79, -1, -1, -1, -1,
+ -1, 85, 86, 87, -1, -1, 90, -1, -1, 93,
+ -1, -1, -1, -1, -1, 99, -1, -1, 102, 103,
+ -1, 105, -1, 107, 108, 109, 110, 111, -1, -1,
+ -1, -1, -1, 117, 118, 119, 120, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 131, -1, -1,
+ -1, 10, -1, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
-1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, 48,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
69, 70, 71, 72, -1, 74, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 85, 86, 87, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- -1, -1, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, -1, -1, -1, -1, 116, 117, 118,
- 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 130, -1, -1, -1, 10, -1, 12, 13, -1,
+ 79, -1, -1, -1, -1, -1, 85, 86, 87, -1,
+ -1, 90, -1, -1, 93, -1, -1, -1, -1, -1,
+ 99, -1, -1, 102, 103, -1, 105, -1, 107, 108,
+ 109, 110, 111, -1, -1, -1, -1, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 11, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, -1,
-1, -1, -1, -1, -1, 30, -1, -1, -1, 34,
- 35, -1, 37, -1, -1, -1, -1, -1, -1, 44,
- -1, -1, -1, 48, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 35, -1, 37, -1, -1, -1, 41, -1, 43, 44,
+ 45, -1, -1, 48, -1, -1, -1, -1, 53, -1,
+ 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
- 85, 86, 87, -1, -1, 90, -1, -1, 93, -1,
- -1, -1, -1, 98, -1, -1, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, -1, -1, -1,
- -1, 116, 117, 118, 119, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 130, -1, -1, -1, 10,
- -1, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, 22, 23, -1, -1, -1, -1, -1, -1, 30,
- -1, -1, -1, 34, 35, -1, 37, -1, -1, -1,
- -1, -1, -1, 44, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, -1, -1, -1, -1, 79, -1,
- -1, -1, -1, -1, 85, 86, 87, -1, -1, 90,
- -1, -1, 93, -1, -1, -1, -1, 98, -1, -1,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, -1, -1, -1, -1, 116, 117, 118, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
- -1, -1, -1, 10, -1, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, 22, 23, -1, -1, -1,
- -1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
- 37, -1, -1, -1, -1, -1, -1, 44, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 69, 70, 71, 72, -1, 74, -1, -1,
- -1, -1, 79, -1, -1, -1, -1, -1, 85, 86,
- 87, -1, -1, 90, -1, -1, 93, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 11, 12, 13,
- -1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
- -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
- 34, 35, -1, 37, -1, -1, -1, 41, -1, 43,
- 44, 45, -1, -1, 48, -1, -1, -1, -1, 53,
- -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, -1, 76, -1, 78, -1, 80, -1, -1, -1,
- -1, 85, 86, 87, -1, -1, -1, -1, -1, 93,
- -1, -1, -1, -1, -1, -1, -1, 101, 102, -1,
- 104, -1, 106, 107, 108, 109, 110, -1, -1, -1,
- -1, -1, 116, 117, 118, 119, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 130, -1, -1, -1,
+ -1, 76, -1, 78, -1, 80, -1, -1, -1, -1,
+ 85, 86, 87, -1, -1, -1, -1, -1, 93, -1,
+ -1, -1, -1, -1, -1, -1, -1, 102, 103, -1,
+ 105, -1, 107, 108, 109, 110, 111, -1, -1, -1,
+ -1, -1, 117, 118, 119, 120, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 131, -1, -1, -1,
11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, -1, -1, -1, -1, -1, -1, 30,
-1, -1, -1, 34, 35, -1, 37, -1, -1, -1,
@@ -1831,109 +1829,60 @@ const short QmlJSGrammar::action_check [] = {
-1, -1, -1, -1, -1, -1, -1, -1, 69, 70,
71, 72, -1, 74, -1, 76, -1, 78, -1, 80,
-1, -1, -1, -1, 85, 86, 87, -1, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, -1, -1, -1, -1, 116, 117, 118, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
- -1, -1, -1, 11, 12, 13, -1, -1, -1, -1,
- -1, -1, -1, -1, 22, 23, -1, -1, -1, -1,
- -1, -1, 30, -1, -1, -1, 34, 35, -1, 37,
- -1, -1, -1, 41, -1, 43, 44, 45, -1, -1,
- 48, -1, -1, -1, -1, 53, -1, 55, -1, -1,
+ -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
+ 101, 102, 103, -1, 105, -1, 107, 108, 109, 110,
+ 111, -1, -1, -1, -1, -1, 117, 118, 119, 120,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 69, 70, 71, 72, -1, 74, -1, 76, -1,
- 78, -1, 80, -1, -1, -1, -1, 85, 86, 87,
- -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
- -1, -1, 100, 101, 102, -1, 104, -1, 106, 107,
- 108, 109, 110, -1, -1, -1, -1, -1, 116, 117,
- 118, 119, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 130, -1, -1, -1, 11, 12, 13, -1,
- -1, -1, -1, -1, -1, -1, -1, 22, 23, -1,
- -1, -1, -1, -1, -1, 30, -1, -1, -1, 34,
- 35, -1, 37, -1, -1, -1, 41, -1, 43, 44,
- 45, -1, -1, 48, -1, -1, -1, -1, 53, -1,
- 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 69, 70, 71, 72, -1, 74,
- -1, 76, -1, 78, -1, 80, -1, -1, -1, -1,
- 85, 86, 87, -1, -1, -1, -1, -1, 93, -1,
- -1, -1, -1, -1, 99, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, -1, -1, -1,
- -1, 116, 117, 118, 119, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 130, -1, -1, -1, 11,
- 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, -1, -1, -1, -1, -1, 30, -1,
- -1, -1, 34, 35, -1, 37, -1, -1, -1, 41,
- -1, 43, 44, 45, -1, -1, 48, -1, -1, -1,
- -1, 53, -1, 55, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, -1, 76, -1, 78, -1, 80, -1,
- -1, -1, -1, 85, 86, 87, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, 100, 101,
- 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
- -1, -1, -1, -1, 116, 117, 118, 119, -1, -1,
- -1, -1, -1, -1, -1, -1, 128, -1, 130, -1,
- -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
- -1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
- -1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
- -1, -1, 41, -1, 43, 44, 45, -1, -1, 48,
- -1, -1, -1, -1, 53, -1, 55, -1, -1, -1,
+ 131, -1, -1, -1, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, 22, 23, -1, -1, -1,
+ -1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
+ 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
+ -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, -1, 76, -1, 78,
- -1, 80, -1, -1, -1, -1, 85, 86, 87, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, -1, -1, -1, -1, 116, 117, 118,
- 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 130, -1, -1, -1, 8, -1, -1, 11, 12,
- 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
- 23, -1, -1, -1, -1, -1, -1, 30, -1, -1,
- -1, 34, 35, -1, 37, -1, -1, -1, 41, -1,
- 43, 44, 45, -1, -1, 48, -1, -1, -1, -1,
- 53, -1, 55, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, -1, 76, -1, 78, -1, 80, -1, -1,
- -1, -1, 85, 86, 87, -1, -1, -1, -1, -1,
- 93, -1, -1, -1, -1, -1, -1, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, -1,
- -1, -1, -1, 116, 117, 118, 119, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 130, -1, -1,
+ -1, -1, 69, 70, 71, 72, -1, 74, -1, 76,
+ -1, 78, -1, 80, -1, -1, -1, -1, 85, 86,
+ 87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
+ -1, -1, -1, -1, 101, 102, 103, -1, 105, -1,
+ 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
+ 117, 118, 119, 120, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 131, -1, -1, -1, 8, -1,
-1, 11, 12, 13, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, -1, -1, -1, -1, -1, -1,
30, -1, -1, -1, 34, 35, -1, 37, -1, -1,
-1, 41, -1, 43, 44, 45, -1, -1, 48, -1,
-1, -1, -1, 53, -1, 55, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 65, -1, -1, -1, 69,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
70, 71, 72, -1, 74, -1, 76, -1, 78, -1,
80, -1, -1, -1, -1, 85, 86, 87, -1, -1,
-1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
- 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
- 110, -1, -1, -1, -1, -1, 116, 117, 118, 119,
+ -1, 101, 102, 103, -1, 105, -1, 107, 108, 109,
+ 110, 111, -1, -1, -1, -1, -1, 117, 118, 119,
+ 120, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 131, -1, -1, -1, 11, 12, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, 22, 23, -1, -1,
+ -1, -1, -1, -1, 30, -1, -1, -1, 34, 35,
+ -1, 37, -1, -1, -1, 41, -1, 43, 44, 45,
+ -1, -1, 48, -1, -1, -1, -1, 53, -1, 55,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 130, -1, -1, -1, 8, -1, -1, 11, 12, 13,
- -1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
- -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
- 34, 35, -1, 37, -1, -1, -1, 41, -1, 43,
- 44, 45, -1, -1, 48, -1, -1, -1, -1, 53,
- -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 69, 70, 71, 72, -1,
- 74, -1, 76, -1, 78, -1, 80, -1, -1, -1,
- -1, 85, 86, 87, -1, -1, -1, -1, -1, 93,
- -1, -1, -1, -1, -1, -1, 100, 101, 102, -1,
- 104, -1, 106, 107, 108, 109, 110, -1, -1, -1,
- -1, -1, 116, 117, 118, 119, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 130, -1, -1, -1,
- 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, 22, 23, -1, -1, -1, -1, -1, -1, 30,
- -1, -1, -1, 34, 35, -1, 37, -1, -1, -1,
- 41, -1, 43, 44, 45, -1, -1, 48, -1, -1,
- -1, -1, 53, -1, 55, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 65, -1, -1, -1, 69, 70,
- 71, 72, -1, 74, -1, 76, -1, 78, -1, 80,
- -1, -1, -1, -1, 85, 86, 87, -1, -1, -1,
- -1, -1, 93, -1, -1, -1, -1, -1, -1, 100,
- 101, 102, -1, 104, -1, 106, 107, 108, 109, 110,
- -1, -1, -1, -1, -1, 116, 117, 118, 119, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
+ -1, -1, -1, 69, 70, 71, 72, -1, 74, -1,
+ 76, -1, 78, -1, 80, -1, -1, -1, -1, 85,
+ 86, 87, -1, -1, -1, -1, -1, 93, -1, -1,
+ -1, -1, -1, -1, 100, 101, 102, 103, -1, 105,
+ -1, 107, 108, 109, 110, 111, -1, -1, -1, -1,
+ -1, 117, 118, 119, 120, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 131, -1, -1, -1, 11,
+ 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
+ 22, 23, -1, -1, -1, -1, -1, -1, 30, -1,
+ -1, -1, 34, 35, -1, 37, -1, -1, -1, 41,
+ -1, 43, 44, 45, -1, -1, 48, -1, -1, -1,
+ -1, 53, -1, 55, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 65, -1, -1, -1, 69, 70, 71,
+ 72, -1, 74, -1, 76, -1, 78, -1, 80, -1,
+ -1, -1, -1, 85, 86, 87, -1, -1, -1, -1,
+ -1, 93, -1, -1, -1, -1, -1, -1, -1, 101,
+ 102, 103, -1, 105, -1, 107, 108, 109, 110, 111,
+ -1, -1, -1, -1, -1, 117, 118, 119, 120, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 131,
-1, -1, -1, 11, 12, 13, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, -1, -1, -1, -1,
-1, -1, 30, -1, -1, -1, 34, 35, -1, 37,
@@ -1943,10 +1892,60 @@ const short QmlJSGrammar::action_check [] = {
-1, 69, 70, 71, 72, -1, 74, -1, 76, -1,
78, -1, 80, -1, -1, -1, -1, 85, 86, 87,
-1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
- -1, 99, 100, 101, 102, -1, 104, -1, 106, 107,
- 108, 109, 110, -1, -1, -1, -1, -1, 116, 117,
- 118, 119, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 130, -1, -1, -1, 11, 12, 13, -1,
+ -1, -1, -1, 101, 102, 103, -1, 105, -1, 107,
+ 108, 109, 110, 111, -1, -1, -1, -1, -1, 117,
+ 118, 119, 120, -1, -1, -1, -1, -1, -1, -1,
+ 128, -1, -1, 131, -1, -1, -1, 11, 12, 13,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
+ -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
+ 34, 35, -1, 37, -1, -1, -1, 41, -1, 43,
+ 44, 45, -1, -1, 48, -1, -1, -1, -1, 53,
+ -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 69, 70, 71, 72, -1,
+ 74, -1, 76, -1, 78, -1, 80, -1, -1, -1,
+ -1, 85, 86, 87, -1, -1, -1, -1, -1, 93,
+ -1, -1, -1, -1, -1, -1, -1, 101, 102, 103,
+ -1, 105, -1, 107, 108, 109, 110, 111, -1, -1,
+ -1, -1, -1, 117, 118, 119, 120, -1, -1, -1,
+ -1, -1, -1, -1, -1, 129, -1, 131, -1, -1,
+ -1, 8, -1, -1, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, 22, 23, -1, -1, -1,
+ -1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
+ 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
+ -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 69, 70, 71, 72, -1, 74, -1, 76,
+ -1, 78, -1, 80, -1, -1, -1, -1, 85, 86,
+ 87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
+ -1, -1, -1, -1, 101, 102, 103, -1, 105, -1,
+ 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
+ 117, 118, 119, 120, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 131, -1, -1, -1, 11, 12,
+ 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ 23, -1, -1, -1, -1, -1, -1, 30, -1, -1,
+ -1, 34, 35, -1, 37, -1, -1, -1, 41, -1,
+ 43, 44, 45, -1, -1, 48, -1, -1, -1, -1,
+ 53, -1, 55, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
+ -1, 74, -1, 76, -1, 78, -1, 80, -1, -1,
+ -1, -1, 85, 86, 87, -1, -1, -1, -1, -1,
+ 93, -1, -1, -1, -1, -1, -1, 100, 101, 102,
+ 103, -1, 105, -1, 107, 108, 109, 110, 111, -1,
+ -1, -1, -1, -1, 117, 118, 119, 120, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 131, -1,
+ -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
+ -1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
+ -1, -1, 41, -1, 43, 44, 45, -1, -1, 48,
+ -1, -1, -1, -1, 53, -1, 55, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 69, 70, 71, 72, -1, 74, -1, 76, -1, 78,
+ -1, 80, -1, -1, -1, -1, 85, 86, 87, -1,
+ -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
+ -1, -1, 101, 102, 103, -1, 105, -1, 107, 108,
+ 109, 110, 111, -1, -1, -1, -1, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ 129, -1, 131, -1, -1, -1, 11, 12, 13, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, -1,
-1, -1, -1, -1, -1, 30, -1, -1, -1, 34,
35, -1, 37, -1, -1, -1, 41, -1, 43, 44,
@@ -1955,123 +1954,124 @@ const short QmlJSGrammar::action_check [] = {
-1, -1, -1, -1, 69, 70, 71, 72, -1, 74,
-1, 76, -1, 78, -1, 80, -1, -1, -1, -1,
85, 86, 87, -1, -1, -1, -1, -1, 93, -1,
- -1, -1, -1, -1, -1, 100, 101, 102, -1, 104,
- -1, 106, 107, 108, 109, 110, -1, -1, -1, -1,
- -1, 116, 117, 118, 119, -1, -1, -1, -1, -1,
- -1, -1, 127, -1, -1, 130, -1, -1, -1, 11,
- 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
- 22, 23, -1, -1, -1, -1, -1, -1, 30, -1,
- -1, -1, 34, 35, -1, 37, -1, -1, -1, 41,
- -1, 43, 44, 45, -1, -1, 48, -1, -1, -1,
- -1, 53, -1, 55, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 69, 70, 71,
- 72, -1, 74, -1, 76, -1, 78, -1, 80, -1,
- -1, -1, -1, 85, 86, 87, -1, -1, -1, -1,
- -1, 93, -1, -1, -1, -1, -1, -1, 100, 101,
- 102, -1, 104, -1, 106, 107, 108, 109, 110, -1,
- -1, -1, -1, -1, 116, 117, 118, 119, -1, -1,
- -1, -1, -1, -1, -1, -1, 128, -1, 130, -1,
- -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
- -1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
- -1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
- -1, -1, 41, -1, 43, 44, 45, -1, -1, 48,
- -1, -1, -1, -1, 53, -1, 55, -1, -1, 58,
+ -1, -1, -1, -1, -1, 100, 101, 102, 103, -1,
+ 105, -1, 107, 108, 109, 110, 111, -1, -1, -1,
+ -1, -1, 117, 118, 119, 120, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 131, -1, -1, -1,
+ 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
+ -1, 22, 23, -1, -1, -1, -1, -1, -1, 30,
+ -1, -1, -1, 34, 35, -1, 37, -1, -1, -1,
+ 41, -1, 43, 44, 45, -1, -1, 48, -1, -1,
+ -1, -1, 53, -1, 55, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 65, -1, -1, -1, 69, 70,
+ 71, 72, -1, 74, -1, 76, -1, 78, -1, 80,
+ -1, -1, -1, -1, 85, 86, 87, -1, -1, -1,
+ -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
+ 101, 102, 103, -1, 105, -1, 107, 108, 109, 110,
+ 111, -1, -1, -1, -1, -1, 117, 118, 119, 120,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 69, 70, 71, 72, -1, 74, -1, 76, -1, 78,
- -1, 80, -1, -1, -1, -1, 85, 86, 87, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- 99, 100, 101, 102, -1, 104, -1, 106, 107, 108,
- 109, 110, -1, -1, -1, -1, -1, 116, 117, 118,
- 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 130, -1, -1, -1, 11, 12, 13, -1, -1,
- -1, -1, -1, -1, -1, -1, 22, 23, -1, -1,
- -1, -1, -1, -1, 30, -1, -1, -1, 34, 35,
- -1, 37, -1, -1, -1, 41, -1, 43, 44, 45,
- -1, -1, 48, -1, -1, -1, -1, 53, -1, 55,
- -1, -1, -1, -1, -1, -1, 62, -1, -1, -1,
- -1, -1, -1, 69, 70, 71, 72, -1, 74, -1,
- 76, -1, 78, -1, 80, -1, -1, -1, -1, 85,
- 86, 87, -1, -1, -1, -1, -1, 93, -1, -1,
- -1, -1, -1, 99, 100, 101, 102, -1, 104, -1,
- 106, 107, 108, 109, 110, -1, -1, -1, -1, -1,
- 116, 117, 118, 119, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 130, -1, -1, -1, 11, 12,
+ 131, -1, -1, -1, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, 22, 23, -1, -1, -1,
+ -1, -1, -1, 30, -1, -1, -1, 34, 35, -1,
+ 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
+ -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
+ -1, 58, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 69, 70, 71, 72, -1, 74, -1, 76,
+ -1, 78, -1, 80, -1, -1, -1, -1, 85, 86,
+ 87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
+ -1, -1, -1, 100, 101, 102, 103, -1, 105, -1,
+ 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
+ 117, 118, 119, 120, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 131, -1, -1, -1, 11, 12,
13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, -1, -1, -1, -1, -1, -1, 30, -1, -1,
-1, 34, 35, -1, 37, -1, -1, -1, 41, -1,
43, 44, 45, -1, -1, 48, -1, -1, -1, -1,
- 53, -1, 55, -1, -1, -1, -1, -1, -1, -1,
+ 53, -1, 55, -1, -1, -1, -1, -1, -1, 62,
-1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
- -1, 74, -1, 76, -1, 78, 79, 80, -1, -1,
- -1, -1, 85, 86, 87, 88, 89, -1, -1, -1,
+ -1, 74, -1, 76, -1, 78, -1, 80, -1, -1,
+ -1, -1, 85, 86, 87, -1, -1, -1, -1, -1,
93, -1, -1, -1, -1, -1, -1, 100, 101, 102,
- -1, 104, -1, 106, 107, 108, 109, 110, -1, -1,
- -1, -1, -1, 116, 117, 118, 119, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 130, -1, -1,
- -1, 11, 12, 13, -1, -1, -1, -1, -1, -1,
- -1, -1, 22, 23, -1, -1, -1, -1, -1, -1,
- 30, 31, -1, -1, 34, 35, -1, 37, -1, -1,
- -1, 41, -1, 43, 44, 45, -1, -1, 48, -1,
- -1, -1, -1, 53, -1, 55, -1, -1, -1, -1,
- -1, -1, -1, 63, -1, -1, -1, -1, -1, 69,
- 70, 71, 72, 73, 74, -1, 76, 77, 78, -1,
- 80, -1, 82, -1, -1, 85, 86, 87, -1, -1,
- -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
- 100, 101, 102, -1, 104, -1, 106, 107, 108, 109,
- 110, -1, -1, -1, -1, -1, 116, 117, 118, 119,
- -1, -1, -1, -1, -1, -1, -1, 127, 128, -1,
- 130, -1, -1, -1, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, 22, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, -1, -1, 34, 35, -1,
- 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
- -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
- -1, -1, -1, -1, -1, -1, 63, -1, -1, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, -1, 76,
- 77, 78, -1, 80, -1, 82, -1, -1, 85, 86,
- 87, -1, -1, -1, -1, -1, 93, -1, -1, -1,
- -1, -1, -1, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- 127, 128, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
+ 103, -1, 105, -1, 107, 108, 109, 110, 111, -1,
+ -1, -1, -1, -1, 117, 118, 119, 120, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 131, -1,
+ -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, 23, -1, -1, -1, -1, -1,
+ -1, 30, -1, -1, -1, 34, 35, -1, 37, -1,
+ -1, -1, 41, -1, 43, 44, 45, -1, -1, 48,
+ -1, -1, -1, -1, 53, -1, 55, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 61, -1, -1, -1, -1, -1,
- -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
+ 69, 70, 71, 72, -1, 74, -1, 76, -1, 78,
+ 79, 80, -1, -1, -1, -1, 85, 86, 87, 88,
+ 89, -1, -1, -1, 93, -1, -1, -1, -1, -1,
+ -1, -1, 101, 102, 103, -1, 105, -1, 107, 108,
+ 109, 110, 111, -1, -1, -1, -1, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 11, 12, 13, -1,
+ -1, -1, -1, -1, -1, -1, -1, 22, 23, -1,
+ -1, -1, -1, -1, -1, 30, 31, -1, -1, 34,
+ 35, -1, 37, -1, -1, -1, 41, -1, 43, 44,
+ 45, -1, -1, 48, -1, -1, -1, -1, 53, -1,
+ 55, -1, -1, -1, -1, -1, -1, -1, 63, -1,
+ -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
+ -1, 76, 77, 78, -1, 80, -1, 82, -1, -1,
+ 85, 86, 87, -1, -1, -1, -1, -1, 93, -1,
+ -1, -1, -1, -1, -1, -1, 101, 102, 103, -1,
+ 105, -1, 107, 108, 109, 110, 111, -1, -1, -1,
+ -1, -1, 117, 118, 119, 120, -1, -1, -1, -1,
+ -1, -1, -1, 128, 129, -1, 131, -1, -1, -1,
+ 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
+ -1, 22, 23, -1, -1, -1, -1, -1, -1, 30,
+ 31, -1, -1, 34, 35, -1, 37, -1, -1, -1,
+ 41, -1, 43, 44, 45, -1, -1, 48, -1, -1,
+ -1, -1, 53, -1, 55, -1, -1, -1, -1, -1,
+ -1, -1, 63, -1, -1, -1, -1, -1, 69, 70,
+ 71, 72, 73, 74, -1, 76, 77, 78, -1, 80,
+ -1, 82, -1, -1, 85, 86, 87, -1, -1, -1,
+ -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
+ 101, 102, 103, -1, 105, -1, 107, 108, 109, 110,
+ 111, -1, -1, -1, -1, -1, 117, 118, 119, 120,
+ -1, -1, -1, -1, -1, -1, -1, 128, 129, -1,
+ 131, -1, -1, -1, 4, 5, 6, -1, -1, 9,
+ 10, 11, -1, -1, 14, -1, 16, -1, -1, -1,
+ 20, 21, -1, 23, -1, -1, -1, -1, -1, -1,
+ 30, 31, 32, 33, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 44, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
- -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
+ -1, 61, -1, -1, -1, -1, -1, -1, -1, -1,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, 87, 88, 89,
+ -1, 91, 92, -1, -1, -1, -1, -1, -1, 99,
+ -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
+ -1, -1, -1, -1, -1, 115, -1, 117, 118, 119,
+ 120, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 131, -1, -1, -1, 4, 5, 6, -1, -1,
+ 9, 10, 11, -1, -1, 14, -1, 16, -1, -1,
+ -1, 20, 21, -1, 23, -1, -1, -1, -1, -1,
+ -1, 30, 31, 32, 33, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
+ -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
+ -1, 70, 71, 72, 73, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, 87, 88,
+ 89, -1, 91, 92, -1, -1, -1, -1, -1, -1,
+ 99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
+ 109, -1, -1, -1, -1, -1, 115, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 4, 5, 6, -1,
+ -1, 9, 10, 11, -1, -1, 14, -1, 16, -1,
+ -1, -1, 20, 21, -1, 23, -1, -1, -1, -1,
+ -1, -1, 30, 31, 32, 33, -1, 35, -1, -1,
+ -1, -1, -1, -1, -1, -1, 44, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
- -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
+ -1, -1, -1, 61, -1, -1, -1, -1, -1, -1,
+ -1, -1, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, 87,
+ 88, 89, -1, 91, 92, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, 102, 103, 104, 105, 106, 107,
+ 108, 109, -1, -1, -1, -1, -1, 115, -1, 117,
+ 118, 119, 120, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 131, -1, -1, -1, 4, 5, 6,
-1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
-1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
-1, -1, -1, 30, 31, 32, 33, -1, -1, -1,
@@ -2081,127 +2081,128 @@ const short QmlJSGrammar::action_check [] = {
-1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
+ -1, -1, 99, -1, -1, 102, 103, 104, 105, 106,
+ 107, 108, 109, -1, -1, -1, -1, -1, 115, -1,
+ 117, 118, 119, 120, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 131, -1, -1, -1, 4, 5,
+ 6, -1, -1, 9, 10, 11, -1, -1, 14, -1,
+ 16, -1, -1, -1, 20, 21, -1, 23, -1, -1,
+ -1, -1, -1, -1, 30, 31, 32, 33, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
- -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 61, -1, -1, -1, -1, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 61, -1, -1, -1, 65, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 61, -1, 63, -1, 65, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, -1, 61, -1, -1, -1, 65, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, -1, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, 32, 33, -1, 35, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
- -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
- 57, -1, -1, -1, 61, -1, -1, -1, 65, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, -1,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, 88, 89, -1, 91, 92, -1, -1, -1, -1,
- -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
- 107, 108, -1, -1, -1, -1, -1, 114, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 130, -1, -1, -1, 4, -1, -1,
- -1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, 21, 22, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, -1, -1, 34, 35, -1,
- 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
- -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
- -1, -1, -1, -1, 61, -1, 63, -1, -1, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, -1, -1, -1, 91, -1, 93, -1, -1, -1,
- -1, -1, -1, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- -1, 128, -1, 130, -1, -1, -1, 4, -1, -1,
- -1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, 21, 22, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, -1, -1, 34, 35, -1,
- 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
- -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
- -1, -1, -1, -1, 61, -1, 63, -1, -1, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, -1, -1, -1, 91, -1, 93, -1, -1, -1,
- -1, -1, -1, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- 127, 128, -1, 130, -1, -1, -1, 4, -1, -1,
- -1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, 21, 22, 23, -1, -1, -1,
- -1, -1, -1, 30, 31, -1, -1, 34, 35, -1,
- 37, -1, -1, -1, 41, -1, 43, 44, 45, -1,
- -1, 48, -1, -1, -1, -1, 53, -1, 55, -1,
- -1, -1, -1, -1, 61, -1, 63, -1, -1, -1,
- -1, -1, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
- 87, -1, -1, -1, 91, -1, 93, -1, -1, -1,
- -1, -1, -1, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- 127, 128, -1, 130, -1, -1, -1, 4, -1, -1,
+ -1, 57, -1, -1, -1, 61, -1, -1, -1, -1,
+ -1, -1, -1, -1, 70, 71, 72, 73, 74, 75,
+ -1, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, 87, 88, 89, -1, 91, 92, -1, -1, -1,
+ -1, -1, -1, 99, -1, -1, 102, 103, 104, 105,
+ 106, 107, 108, 109, -1, -1, -1, -1, -1, 115,
+ -1, 117, 118, 119, 120, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 131, -1, -1, -1, 4,
+ 5, 6, -1, -1, 9, 10, 11, -1, -1, 14,
+ -1, 16, -1, -1, -1, 20, 21, -1, 23, -1,
+ -1, -1, -1, -1, -1, 30, 31, 32, 33, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 57, -1, -1, -1, 61, -1, -1, -1,
+ -1, -1, -1, -1, -1, 70, 71, 72, 73, 74,
+ 75, -1, 77, 78, 79, 80, 81, 82, -1, -1,
+ 85, 86, 87, 88, 89, -1, 91, 92, -1, -1,
+ -1, -1, -1, -1, 99, -1, -1, 102, 103, 104,
+ 105, 106, 107, 108, 109, -1, -1, -1, -1, -1,
+ 115, -1, 117, 118, 119, 120, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 131, -1, -1, -1,
+ 4, 5, 6, -1, -1, 9, 10, 11, -1, -1,
+ 14, -1, 16, -1, -1, -1, 20, 21, -1, 23,
+ -1, -1, -1, -1, -1, -1, 30, 31, 32, 33,
+ -1, 35, -1, 37, -1, -1, -1, -1, -1, -1,
+ 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 61, -1, -1,
+ -1, -1, -1, -1, -1, -1, 70, 71, 72, 73,
+ 74, 75, -1, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, 87, 88, 89, -1, 91, 92, -1,
+ -1, -1, -1, -1, -1, 99, -1, -1, 102, 103,
+ 104, 105, 106, 107, 108, 109, -1, -1, -1, -1,
+ -1, 115, -1, 117, 118, 119, 120, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 131, -1, -1,
+ -1, 4, 5, 6, -1, -1, 9, 10, 11, -1,
+ -1, 14, -1, 16, -1, -1, -1, 20, 21, -1,
+ 23, -1, -1, -1, -1, -1, -1, 30, 31, 32,
+ 33, -1, 35, -1, 37, -1, -1, -1, -1, -1,
+ -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 61, -1,
+ -1, -1, -1, -1, -1, -1, -1, 70, 71, 72,
+ 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
+ -1, -1, 85, 86, 87, 88, 89, -1, 91, 92,
+ -1, -1, -1, -1, -1, -1, 99, -1, -1, 102,
+ 103, 104, 105, 106, 107, 108, 109, -1, -1, -1,
+ -1, -1, 115, -1, 117, 118, 119, 120, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 131, -1,
+ -1, -1, 4, 5, 6, -1, -1, 9, 10, 11,
+ -1, -1, 14, -1, 16, -1, -1, -1, 20, 21,
+ -1, 23, -1, -1, -1, -1, -1, -1, 30, 31,
+ 32, 33, -1, 35, -1, -1, -1, -1, -1, -1,
+ -1, -1, 44, -1, -1, -1, 48, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
+ -1, -1, -1, -1, -1, -1, -1, 69, 70, 71,
+ 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
+ 82, -1, -1, 85, 86, 87, 88, 89, -1, 91,
+ 92, -1, -1, -1, -1, -1, -1, 99, -1, -1,
+ 102, 103, 104, 105, 106, 107, 108, 109, -1, -1,
+ -1, -1, -1, 115, -1, 117, 118, 119, 120, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 131,
+ -1, -1, -1, 4, 5, 6, -1, -1, 9, 10,
+ 11, -1, -1, 14, -1, 16, -1, -1, -1, 20,
+ 21, -1, 23, -1, -1, -1, -1, -1, -1, 30,
+ 31, 32, 33, -1, 35, -1, -1, -1, -1, -1,
+ -1, -1, -1, 44, -1, -1, -1, 48, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 61, -1, -1, -1, 65, -1, -1, -1, 69, 70,
+ 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
+ 81, 82, -1, -1, 85, 86, 87, 88, 89, -1,
+ 91, 92, -1, -1, -1, -1, -1, -1, 99, -1,
+ -1, 102, 103, 104, 105, 106, 107, 108, 109, -1,
+ -1, -1, -1, -1, 115, -1, 117, 118, 119, 120,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 131, -1, -1, -1, 4, 5, 6, -1, -1, 9,
+ 10, 11, -1, -1, 14, -1, 16, -1, -1, -1,
+ 20, 21, -1, 23, -1, -1, -1, -1, -1, -1,
+ 30, 31, 32, 33, -1, 35, -1, -1, -1, -1,
+ -1, -1, -1, -1, 44, -1, -1, -1, 48, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 61, -1, 63, -1, 65, -1, -1, -1, 69,
+ 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
+ 80, 81, 82, -1, -1, 85, 86, 87, 88, 89,
+ -1, 91, 92, -1, -1, -1, -1, -1, -1, 99,
+ -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
+ -1, -1, -1, -1, -1, 115, -1, 117, 118, 119,
+ 120, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 131, -1, -1, -1, 4, 5, 6, -1, -1,
+ 9, 10, 11, -1, -1, 14, -1, 16, -1, -1,
+ -1, 20, 21, -1, 23, -1, -1, -1, -1, -1,
+ -1, 30, 31, 32, 33, -1, 35, -1, -1, -1,
+ -1, -1, -1, -1, -1, 44, -1, -1, -1, 48,
+ -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
+ -1, -1, 61, -1, -1, -1, 65, -1, -1, -1,
+ 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
+ 79, 80, 81, 82, -1, -1, 85, 86, 87, 88,
+ 89, -1, 91, 92, -1, -1, -1, -1, -1, -1,
+ 99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
+ 109, -1, -1, -1, -1, -1, 115, -1, 117, 118,
+ 119, 120, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 131, -1, -1, -1, 4, 5, 6, -1,
+ -1, 9, 10, 11, -1, -1, 14, -1, 16, -1,
+ -1, -1, 20, 21, -1, 23, -1, -1, -1, -1,
+ -1, -1, 30, 31, 32, 33, -1, 35, -1, -1,
+ -1, -1, -1, -1, -1, -1, 44, -1, -1, -1,
+ 48, -1, -1, -1, -1, -1, -1, -1, -1, 57,
+ -1, -1, -1, 61, -1, -1, -1, 65, -1, -1,
+ -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
+ 78, 79, 80, 81, 82, -1, -1, 85, 86, 87,
+ 88, 89, -1, 91, 92, -1, -1, -1, -1, -1,
+ -1, 99, -1, -1, 102, 103, 104, 105, 106, 107,
+ 108, 109, -1, -1, -1, -1, -1, 115, -1, 117,
+ 118, 119, 120, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 131, -1, -1, -1, 4, -1, -1,
-1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
-1, -1, -1, -1, 21, 22, 23, -1, -1, -1,
-1, -1, -1, 30, 31, -1, -1, 34, 35, -1,
@@ -2211,135 +2212,156 @@ const short QmlJSGrammar::action_check [] = {
-1, -1, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, -1, -1, 85, 86,
87, -1, -1, -1, 91, -1, 93, -1, -1, -1,
- -1, -1, -1, 100, 101, 102, -1, 104, -1, 106,
- 107, 108, 109, 110, -1, -1, -1, -1, -1, 116,
- 117, 118, 119, -1, -1, -1, -1, -1, -1, -1,
- 127, 128, -1, 130, -1, -1, -1,
+ -1, -1, -1, -1, 101, 102, 103, -1, 105, -1,
+ 107, 108, 109, 110, 111, -1, -1, -1, -1, -1,
+ 117, 118, 119, 120, -1, -1, -1, -1, -1, -1,
+ -1, -1, 129, -1, 131, -1, -1, -1, 4, -1,
+ -1, -1, -1, 9, -1, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, 21, 22, 23, -1, -1,
+ -1, -1, -1, -1, 30, 31, -1, -1, 34, 35,
+ -1, 37, -1, -1, -1, 41, -1, 43, 44, 45,
+ -1, -1, 48, -1, -1, -1, -1, 53, -1, 55,
+ -1, -1, -1, -1, -1, 61, -1, 63, -1, -1,
+ -1, -1, -1, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, -1, -1, 85,
+ 86, 87, -1, -1, -1, 91, -1, 93, -1, -1,
+ -1, -1, -1, -1, -1, 101, 102, 103, -1, 105,
+ -1, 107, 108, 109, 110, 111, -1, -1, -1, -1,
+ -1, 117, 118, 119, 120, -1, -1, -1, -1, -1,
+ -1, -1, 128, 129, -1, 131, -1, -1, -1, 4,
+ -1, -1, -1, -1, 9, -1, 11, 12, 13, 14,
+ -1, -1, -1, -1, -1, -1, 21, 22, 23, -1,
+ -1, -1, -1, -1, -1, 30, 31, -1, -1, 34,
+ 35, -1, 37, -1, -1, -1, 41, -1, 43, 44,
+ 45, -1, -1, 48, -1, -1, -1, -1, 53, -1,
+ 55, -1, -1, -1, -1, -1, 61, -1, 63, -1,
+ -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, -1, -1,
+ 85, 86, 87, -1, -1, -1, 91, -1, 93, -1,
+ -1, -1, -1, -1, -1, -1, 101, 102, 103, -1,
+ 105, -1, 107, 108, 109, 110, 111, -1, -1, -1,
+ -1, -1, 117, 118, 119, 120, -1, -1, -1, -1,
+ -1, -1, -1, 128, 129, -1, 131, -1, -1, -1,
+ 4, -1, -1, -1, -1, 9, -1, 11, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, 21, 22, 23,
+ -1, -1, -1, -1, -1, -1, 30, 31, -1, -1,
+ 34, 35, -1, 37, -1, -1, -1, 41, -1, 43,
+ 44, 45, -1, -1, 48, -1, -1, -1, -1, 53,
+ -1, 55, -1, -1, -1, -1, -1, 61, -1, 63,
+ -1, -1, -1, -1, -1, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
+ -1, 85, 86, 87, -1, -1, -1, 91, -1, 93,
+ -1, -1, -1, -1, -1, -1, -1, 101, 102, 103,
+ -1, 105, -1, 107, 108, 109, 110, 111, -1, -1,
+ -1, -1, -1, 117, 118, 119, 120, -1, -1, -1,
+ -1, -1, -1, -1, 128, 129, -1, 131, -1, -1,
+ -1,
- 73, 86, 206, 205, 78, 196, 206, 205, 196, 76,
- 73, 71, 15, 20, 204, 198, 197, 196, 62, 196,
- 198, 197, 62, 78, 78, 71, 212, 78, 212, 78,
- 71, 73, 20, 15, 15, 210, 210, 209, 120, 97,
- 20, 71, 78, 20, 73, 115, 43, 78, 71, 15,
- 15, 78, 20, 15, 115, 15, 71, 15, 78, 14,
- 24, 120, 57, 96, 86, 57, 225, 78, 62, 226,
- 15, 73, 78, 15, 24, 73, 37, 15, 83, 15,
- 37, 192, 15, 159, 197, 197, 62, 43, 159, 196,
- 198, 186, 20, 196, 73, 205, 189, 206, 212, 73,
- 96, 15, 32, 73, 210, 57, 206, 205, 71, 196,
- 204, 62, 198, 197, 62, 196, 57, 76, 43, 198,
- 225, 96, 197, 62, 196, 62, 20, 15, 196, 198,
- 15, 197, 78, 62, 78, 36, 57, 37, 139, 196,
- 62, 197, 96, 86, 209, 198, 196, 15, 15, 32,
- 43, 43, 15, 198, 78, 15, 204, 62, 197, 159,
- 78, 96, 96, 78, 196, 78, 73, 94, 78, 73,
- 196, 62, 62, 197, 15, 15, 37, 198, 24, 95,
- 78, 62, 94, 57, 86, 15, 62, 73, 32, 71,
- 15, 15, 15, 43, 15, 73, 183, 2, 20, 203,
- 20, 20, 20, 73, 43, 43, 2, 73, 2, 46,
- 47, 46, 47, 2, 73, 73, 73, 73, 2, 2,
- 53, 76, 20, 57, 58, 57, 58, 32, 15, 46,
- 47, 57, 58, 32, 15, 20, 32, 32, 32, 228,
- 229, 57, 58, 32, 57, 43, 57, 58, 32, 32,
- 57, 57, 58, 32, 57, 57, 57, 57, 43, 2,
- 32, 2, 2, 35, 57, 58, 2, 57, 58, 57,
- 57, 141, 2, 32, 154, 141, 57, 11, 12, 32,
- 57, 88, 141, 141, 141, 141, 89, 88, 2, 32,
- 92, 32, 32, 73, 74, 57, 32, 57, 58, 57,
- 78, 79, 32, 57, 92, 57, 58, 57, 58, 78,
- 78, 78, 57, 57, 194, 92, -1, 78, 32, 80,
- 57, 58, 57, 58, 57, 24, 181, 74, 75, 105,
- 92, 78, 101, 101, 101, 57, 112, 57, 58, 57,
- 58, 57, 58, -1, 88, 57, 58, 92, 57, 58,
- 57, 58, 57, 58, 57, 88, 89, 57, 58, 57,
- 58, 194, 161, 3, 159, 57, 58, 57, 58, 72,
- 92, 57, 58, 57, 58, 57, 58, 57, 58, 57,
- 58, -1, 161, 46, 47, 57, 58, 50, 57, 58,
- 57, 58, 57, 58, -1, 57, 58, 57, 58, 57,
- 58, 160, 105, 216, 88, 81, 81, 57, 161, 17,
- 92, 211, -1, 57, -1, 81, -1, 81, -1, 57,
- 57, -1, 72, 57, 58, -1, 202, 81, 72, 105,
- 105, 57, 58, -1, 72, 72, 112, 112, -1, 105,
- -1, 105, 57, 58, -1, 81, 112, -1, 112, 57,
- -1, 105, -1, 211, -1, 105, -1, 211, 112, 74,
- 195, 105, 199, -1, 72, 105, 175, 105, 105, 105,
- 57, 58, 112, 57, 124, 195, 112, 195, 122, 195,
- -1, 46, 57, 58, 182, 50, 51, 52, 72, 175,
- 98, 128, 130, -1, -1, 195, 57, 204, 81, 57,
- 58, 88, -1, 195, 209, 195, 175, 57, 58, 57,
- 175, 72, 3, 175, 236, 175, 74, 175, 230, -1,
- 57, 105, 105, 195, 72, 57, 202, 202, 195, 112,
- 57, -1, 57, 53, 118, 72, 202, 171, 202, 32,
- 72, 175, 92, 57, 105, 72, 172, 108, 202, 175,
- 230, 81, 230, -1, 57, 57, 57, 105, 72, 84,
- -1, 17, 202, 88, 89, 113, 202, 182, 105, 72,
- 72, 72, 57, 105, 53, 105, 55, 57, 105, -1,
- 112, 81, 112, 57, 58, 112, -1, 72, -1, 126,
- -1, 105, 72, 180, -1, 57, 171, -1, 112, -1,
- 175, 57, 105, 105, 105, 105, -1, 108, 111, 111,
- 72, -1, 112, 57, 105, -1, 72, -1, -1, 202,
- 105, 112, -1, 17, 182, 105, 111, -1, 72, 109,
- -1, 57, 152, 27, 154, 29, -1, 17, 57, -1,
- -1, 57, 98, 105, 106, 107, 72, 27, 57, 58,
- -1, -1, -1, 72, 17, 57, 72, -1, 57, -1,
- -1, 105, 106, 107, 27, 74, 75, -1, 161, -1,
- 72, 150, 202, 72, 194, -1, 17, 57, -1, 105,
- 106, 107, 232, 17, 78, 79, 105, 17, 208, 105,
- 106, 107, 72, 112, 57, 57, 30, 27, 57, 173,
- 119, 175, 202, 105, 106, 107, 105, 106, 107, 72,
- 72, 202, -1, 72, 57, 194, 57, 57, 98, -1,
- -1, 3, 57, 57, 57, -1, 57, 57, 221, 72,
- -1, 72, 72, -1, -1, 98, 57, 72, 72, 72,
- 17, 72, 72, 105, -1, 57, 105, 106, 107, -1,
- 112, 72, 114, 30, -1, -1, 57, 98, -1, -1,
- 72, 102, 105, -1, 98, 105, 106, 107, 98, 112,
- 105, 72, 105, 182, 105, -1, 17, 112, 17, 112,
- 57, 112, 125, 60, 105, -1, 25, -1, 27, 30,
- 123, 112, 127, 105, -1, 72, -1, 109, 129, -1,
- 121, 17, -1, -1, 105, 106, 107, 36, -1, 38,
- 39, 40, 41, 42, 30, 17, 57, -1, 57, 60,
- -1, 98, 17, 105, 26, 27, -1, -1, -1, 17,
- 112, 72, -1, 72, -1, 30, -1, 4, 4, -1,
- -1, 57, 30, -1, 60, -1, -1, -1, -1, -1,
- 17, 17, -1, -1, -1, 57, 72, 98, -1, 98,
- 55, -1, 57, 30, 30, -1, -1, -1, -1, 57,
- 72, -1, 60, -1, -1, -1, -1, 72, -1, 17,
- 162, 163, 98, -1, 72, -1, -1, 25, 55, 55,
- 57, 57, 30, 31, -1, -1, 98, -1, -1, -1,
- -1, -1, -1, 98, -1, 72, 72, -1, -1, -1,
- 98, -1, -1, -1, -1, -1, -1, 55, -1, 57,
- 202, -1, 17, -1, -1, -1, 17, -1, -1, 17,
- -1, 98, 98, -1, 72, 30, -1, -1, -1, 30,
- -1, 36, 30, 38, 39, 40, 41, 42, 36, -1,
- 38, 39, 40, 41, 42, -1, -1, -1, -1, -1,
- 98, -1, -1, -1, -1, -1, 57, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 98, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 17, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 30, -1, -1, -1, -1, -1, 36, -1, 38, 39,
- 40, 41, 42, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 86, 204, 203, 194, 204, 203, 194, 20, 78, 15,
+ 202, 196, 78, 195, 76, 194, 15, 62, 196, 71,
+ 195, 194, 62, 20, 118, 71, 210, 210, 115, 15,
+ 71, 208, 208, 207, 15, 71, 14, 24, 15, 24,
+ 43, 20, 195, 78, 97, 57, 73, 43, 20, 73,
+ 15, 15, 137, 15, 15, 15, 73, 73, 115, 78,
+ 118, 37, 15, 71, 32, 57, 15, 96, 86, 62,
+ 20, 223, 15, 78, 224, 73, 43, 78, 73, 20,
+ 37, 201, 37, 190, 78, 194, 15, 195, 157, 157,
+ 196, 184, 62, 194, 196, 195, 43, 187, 73, 194,
+ 203, 15, 73, 208, 15, 204, 210, 24, 71, 32,
+ 194, 62, 204, 15, 73, 203, 15, 196, 194, 202,
+ 62, 196, 20, 195, 43, 223, 62, 194, 20, 62,
+ 194, 196, 195, 78, 78, 57, 20, 76, 78, 57,
+ 96, 71, 96, 78, 15, 73, 207, 73, 86, 62,
+ 15, 194, 202, 73, 78, 71, 83, 43, 15, 36,
+ 57, 37, 62, 78, 194, 15, 78, 157, 78, 78,
+ 195, 62, 62, 94, 32, 196, 196, 62, 24, 194,
+ 62, 195, 78, 86, 62, 78, 73, 94, 96, 95,
+ 78, 96, 96, 195, 15, 15, 15, 57, 73, 43,
+ 73, 15, 20, 43, 20, 57, 78, 181, 2, 2,
+ 73, 73, 46, 47, 2, 2, 2, 32, 2, 32,
+ 57, 58, 76, 78, 57, 80, 2, 2, 57, 101,
+ 73, 53, 57, 2, 46, 47, 2, 73, 32, 32,
+ 92, 73, 73, 2, 32, 32, 32, 15, 32, 57,
+ 58, 57, 58, 57, 58, 78, 32, 32, 32, 57,
+ 58, 78, 79, 32, 46, 47, 32, 57, 58, 20,
+ 32, 73, 74, 32, 57, 58, 139, 139, 101, 57,
+ 58, 15, 32, 78, 57, 57, 57, 58, 2, 57,
+ 57, 152, 43, 57, 57, -1, 139, 57, 11, 12,
+ 57, 57, 57, 139, 20, 57, 101, 139, 139, 57,
+ 58, 57, 32, -1, 32, 35, -1, 78, 32, 92,
+ 92, 57, -1, 57, -1, 179, 57, 43, 92, 92,
+ -1, 192, 92, 89, 78, 92, 88, 92, 57, 58,
+ 101, 72, 88, -1, 159, 158, 226, 227, 57, 58,
+ 57, 58, 88, 57, 58, 57, 58, 101, 57, 58,
+ 57, 58, 57, 58, 57, 58, 57, 58, 57, 58,
+ 192, 15, 57, 57, 105, 105, 209, 46, 47, -1,
+ 209, 50, 112, 157, 209, -1, 74, 75, 92, -1,
+ 78, 57, 58, 88, 57, 58, -1, 159, 57, 58,
+ 57, 58, -1, 88, 89, 57, 58, 81, 92, 159,
+ 57, 58, 57, 58, 57, 58, 57, 58, 57, 58,
+ 57, 58, 57, 58, 57, 58, 57, 58, 57, 57,
+ 58, 105, 81, 53, -1, 55, 57, -1, 112, 57,
+ -1, 159, 57, 81, 57, 58, -1, 214, -1, 81,
+ -1, 72, 57, 58, 72, 84, 105, 72, -1, 88,
+ 89, 74, 57, 112, 57, 81, -1, 105, 57, 58,
+ 200, 173, -1, 105, 112, 81, 57, 72, -1, 72,
+ 112, 180, 173, 88, 105, 74, 193, 105, 3, 105,
+ 105, 72, -1, 57, 112, 116, 112, -1, 113, 105,
+ 197, 219, 57, 58, 193, 57, 112, 57, 72, -1,
+ 105, -1, 105, 81, 3, 108, 173, 112, 57, 228,
+ 72, 173, 72, 57, 105, 81, 200, 193, 148, -1,
+ 193, 112, -1, 72, 193, 228, 173, 105, 72, 57,
+ 173, 105, 173, 171, 112, 173, 193, 111, 193, 105,
+ 234, 200, 193, 105, 72, 105, 112, -1, 193, 202,
+ 57, 111, 200, 57, 58, 57, 105, 180, 200, 17,
+ 122, 105, 192, 178, -1, 72, 81, 111, 57, 58,
+ 72, 120, 17, 57, 200, -1, 57, 105, 57, 228,
+ 105, 180, 57, 58, 200, 57, 58, 112, 72, 57,
+ 105, 72, -1, 72, 57, -1, 17, 112, 105, 57,
+ 128, 108, 57, 105, 72, 170, 105, 109, 173, 72,
+ -1, -1, 57, 112, 72, 53, -1, 72, -1, 17,
+ 92, 105, 200, -1, 105, 109, 105, 72, -1, -1,
+ -1, -1, 30, 112, 200, -1, 57, 105, 117, 57,
+ 98, -1, 105, 106, 107, 126, 57, -1, 17, 57,
+ 105, 72, -1, 98, 72, 57, 124, 112, 27, 57,
+ 29, 72, -1, -1, 72, 169, -1, 57, 123, 173,
+ 72, 57, -1, -1, 72, 200, -1, 98, 17, -1,
+ 169, 102, 72, -1, 173, 200, 72, 105, 106, 107,
+ -1, 30, 57, -1, 105, 106, 107, 105, 106, 107,
+ 98, 200, -1, 105, 106, 107, -1, 72, 57, 78,
+ 79, -1, 150, -1, 152, 105, 106, 107, 57, 105,
+ 106, 107, 57, 72, 17, 3, 57, 58, -1, 17,
+ 57, -1, 207, 72, 27, 57, -1, 72, 57, 27,
+ 105, 106, 107, 74, 75, 72, -1, 57, -1, -1,
+ 72, -1, -1, 72, 192, -1, 105, -1, 230, 98,
+ -1, 46, 72, 112, 57, 50, 51, 52, 206, 57,
+ 105, -1, -1, -1, -1, -1, 125, 112, 105, 72,
+ -1, 17, -1, 105, 72, 112, 105, 114, 17, 25,
+ 112, 27, 127, 112, -1, 105, 106, 107, 17, 121,
+ 119, 30, -1, 4, 17, 98, -1, 26, 27, 36,
+ 98, 38, 39, 40, 41, 42, 17, 30, -1, 4,
+ 17, 57, -1, -1, -1, -1, -1, 105, 57, 30,
+ -1, 60, 17, 30, 112, -1, 72, -1, 57, -1,
+ -1, -1, 55, 72, 57, 30, -1, -1, -1, 180,
+ -1, -1, -1, 72, 55, -1, 57, -1, -1, 72,
+ 57, -1, 98, 60, -1, -1, -1, -1, -1, 98,
+ 55, 72, 57, -1, -1, 72, 17, -1, -1, 98,
+ -1, 17, 160, 161, 25, 98, -1, 72, -1, 30,
+ 31, -1, -1, -1, 30, -1, 17, 98, -1, -1,
+ 36, 98, 38, 39, 40, 41, 42, -1, -1, 30,
+ -1, 17, -1, 98, 55, 36, 57, 38, 39, 40,
+ 41, 42, 200, -1, 30, -1, -1, -1, -1, -1,
+ 36, 72, 38, 39, 40, 41, 42, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 17, -1, -1, -1, -1, -1, 98, -1, -1,
+ -1, 27, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 57, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2352,6 +2374,6 @@ const short QmlJSGrammar::action_check [] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
};
diff --git a/src/libs/qmljs/parser/qmljsgrammar_p.h b/src/libs/qmljs/parser/qmljsgrammar_p.h
index d4c9593add..de07ea242f 100644
--- a/src/libs/qmljs/parser/qmljsgrammar_p.h
+++ b/src/libs/qmljs/parser/qmljsgrammar_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -32,23 +32,23 @@ class QML_PARSER_EXPORT QmlJSGrammar
public:
enum VariousConstants {
EOF_SYMBOL = 0,
- REDUCE_HERE = 131,
+ REDUCE_HERE = 132,
T_AND = 1,
T_AND_AND = 2,
T_AND_EQ = 3,
T_ARROW = 96,
- T_AS = 116,
+ T_AS = 117,
T_AT = 90,
T_AUTOMATIC_SEMICOLON = 64,
T_BREAK = 4,
T_CASE = 5,
T_CATCH = 6,
- T_CLASS = 102,
+ T_CLASS = 103,
T_COLON = 7,
T_COMMA = 8,
T_COMMENT = 94,
T_COMPATIBILITY_SEMICOLON = 95,
- T_COMPONENT = 108,
+ T_COMPONENT = 109,
T_CONST = 88,
T_CONTINUE = 9,
T_DEBUGGER = 91,
@@ -58,32 +58,32 @@ public:
T_DIVIDE_EQ = 13,
T_DO = 14,
T_DOT = 15,
- T_ELLIPSIS = 99,
+ T_ELLIPSIS = 100,
T_ELSE = 16,
- T_ENUM = 98,
+ T_ENUM = 99,
T_EQ = 17,
T_EQ_EQ = 18,
T_EQ_EQ_EQ = 19,
- T_ERROR = 120,
- T_EXPORT = 105,
- T_EXTENDS = 103,
+ T_ERROR = 121,
+ T_EXPORT = 106,
+ T_EXTENDS = 104,
T_FALSE = 87,
- T_FEED_JS_EXPRESSION = 124,
- T_FEED_JS_MODULE = 126,
- T_FEED_JS_SCRIPT = 125,
- T_FEED_JS_STATEMENT = 123,
- T_FEED_UI_OBJECT_MEMBER = 122,
- T_FEED_UI_PROGRAM = 121,
+ T_FEED_JS_EXPRESSION = 125,
+ T_FEED_JS_MODULE = 127,
+ T_FEED_JS_SCRIPT = 126,
+ T_FEED_JS_STATEMENT = 124,
+ T_FEED_UI_OBJECT_MEMBER = 123,
+ T_FEED_UI_PROGRAM = 122,
T_FINALLY = 20,
T_FOR = 21,
- T_FORCE_BLOCK = 128,
- T_FORCE_DECLARATION = 127,
- T_FOR_LOOKAHEAD_OK = 129,
- T_FROM = 106,
+ T_FORCE_BLOCK = 129,
+ T_FORCE_DECLARATION = 128,
+ T_FOR_LOOKAHEAD_OK = 130,
+ T_FROM = 107,
T_FUNCTION = 23,
T_FUNCTION_STAR = 22,
T_GE = 24,
- T_GET = 118,
+ T_GET = 119,
T_GT = 25,
T_GT_GT = 26,
T_GT_GT_EQ = 27,
@@ -91,7 +91,7 @@ public:
T_GT_GT_GT_EQ = 29,
T_IDENTIFIER = 30,
T_IF = 31,
- T_IMPORT = 114,
+ T_IMPORT = 115,
T_IN = 32,
T_INSTANCEOF = 33,
T_LBRACE = 34,
@@ -110,46 +110,47 @@ public:
T_NOT = 45,
T_NOT_EQ = 46,
T_NOT_EQ_EQ = 47,
- T_NO_SUBSTITUTION_TEMPLATE = 109,
+ T_NO_SUBSTITUTION_TEMPLATE = 110,
T_NULL = 85,
T_NUMERIC_LITERAL = 48,
- T_OF = 117,
- T_ON = 130,
+ T_OF = 118,
+ T_ON = 131,
T_OR = 49,
T_OR_EQ = 51,
T_OR_OR = 52,
T_PLUS = 53,
T_PLUS_EQ = 54,
T_PLUS_PLUS = 55,
- T_PRAGMA = 115,
+ T_PRAGMA = 116,
T_PROPERTY = 70,
- T_PUBLIC = 113,
+ T_PUBLIC = 114,
T_QUESTION = 56,
+ T_QUESTION_DOT = 98,
T_QUESTION_QUESTION = 97,
T_RBRACE = 57,
T_RBRACKET = 58,
T_READONLY = 72,
T_REMAINDER = 59,
T_REMAINDER_EQ = 60,
- T_REQUIRED = 107,
+ T_REQUIRED = 108,
T_RESERVED_WORD = 92,
T_RETURN = 61,
T_RPAREN = 62,
T_SEMICOLON = 63,
- T_SET = 119,
+ T_SET = 120,
T_SIGNAL = 71,
T_STAR = 65,
T_STAR_EQ = 68,
T_STAR_STAR = 66,
T_STAR_STAR_EQ = 67,
- T_STATIC = 104,
+ T_STATIC = 105,
T_STRING_LITERAL = 69,
- T_SUPER = 101,
+ T_SUPER = 102,
T_SWITCH = 73,
- T_TEMPLATE_HEAD = 110,
- T_TEMPLATE_MIDDLE = 111,
- T_TEMPLATE_TAIL = 112,
- T_THEN = 132,
+ T_TEMPLATE_HEAD = 111,
+ T_TEMPLATE_MIDDLE = 112,
+ T_TEMPLATE_TAIL = 113,
+ T_THEN = 133,
T_THIS = 74,
T_THROW = 75,
T_TILDE = 76,
@@ -161,20 +162,20 @@ public:
T_VOID = 80,
T_WHILE = 81,
T_WITH = 82,
- T_WITHOUTAS = 133,
+ T_WITHOUTAS = 134,
T_XOR = 83,
T_XOR_EQ = 84,
- T_YIELD = 100,
+ T_YIELD = 101,
- ACCEPT_STATE = 1102,
- RULE_COUNT = 619,
- STATE_COUNT = 1103,
- TERMINAL_COUNT = 134,
- NON_TERMINAL_COUNT = 238,
+ ACCEPT_STATE = 1114,
+ RULE_COUNT = 622,
+ STATE_COUNT = 1115,
+ TERMINAL_COUNT = 135,
+ NON_TERMINAL_COUNT = 236,
- GOTO_INDEX_OFFSET = 1103,
- GOTO_INFO_OFFSET = 6857,
- GOTO_CHECK_OFFSET = 6857
+ GOTO_INDEX_OFFSET = 1115,
+ GOTO_INFO_OFFSET = 7121,
+ GOTO_CHECK_OFFSET = 7121
};
static const char *const spell[];
@@ -214,4 +215,3 @@ public:
#endif // QMLJSGRAMMAR_P_H
-
diff --git a/src/libs/qmljs/parser/qmljskeywords_p.h b/src/libs/qmljs/parser/qmljskeywords_p.h
index 4db12677a8..9511e64b61 100644
--- a/src/libs/qmljs/parser/qmljskeywords_p.h
+++ b/src/libs/qmljs/parser/qmljskeywords_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
diff --git a/src/libs/qmljs/parser/qmljslexer.cpp b/src/libs/qmljs/parser/qmljslexer.cpp
index b8c594f593..6c4eb70744 100644
--- a/src/libs/qmljs/parser/qmljslexer.cpp
+++ b/src/libs/qmljs/parser/qmljslexer.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -43,8 +43,6 @@ Q_CORE_EXPORT double qstrntod(const char *s00, qsizetype len, char const **se, b
#endif
QT_END_NAMESPACE
-QT_QML_BEGIN_NAMESPACE
-
using namespace QmlJS;
static inline int regExpFlagFromChar(const QChar &ch)
@@ -79,7 +77,7 @@ Lexer::Lexer(Engine *engine)
, _codePtr(nullptr)
, _endPtr(nullptr)
, _tokenStartPtr(nullptr)
- , _char(QLatin1Char('\n'))
+ , _char(u'\n')
, _errorCode(NoError)
, _currentLineNumber(0)
, _currentColumnNumber(0)
@@ -131,7 +129,7 @@ void Lexer::setCode(const QString &code, int lineno, bool qmlMode)
_endPtr = _codePtr + code.length();
_tokenStartPtr = _codePtr;
- _char = QLatin1Char('\n');
+ _char = u'\n';
_errorCode = NoError;
_currentLineNumber = lineno;
@@ -160,7 +158,7 @@ void Lexer::setCode(const QString &code, int lineno, bool qmlMode)
void Lexer::scanChar()
{
if (_skipLinefeed) {
- Q_ASSERT(*_codePtr == QLatin1Char('\n'));
+ Q_ASSERT(*_codePtr == u'\n');
++_codePtr;
_skipLinefeed = false;
}
@@ -168,16 +166,24 @@ void Lexer::scanChar()
++_currentColumnNumber;
if (isLineTerminator()) {
- if (_char == QLatin1Char('\r')) {
- if (_codePtr < _endPtr && *_codePtr == QLatin1Char('\n'))
+ if (_char == u'\r') {
+ if (_codePtr < _endPtr && *_codePtr == u'\n')
_skipLinefeed = true;
- _char = QLatin1Char('\n');
+ _char = u'\n';
}
++_currentLineNumber;
_currentColumnNumber = 0;
}
}
+QChar Lexer::peekChar()
+{
+ auto peekPtr = _codePtr;
+ if (peekPtr < _endPtr)
+ return *peekPtr;
+ return QChar();
+}
+
namespace {
inline bool isBinop(int tok)
{
@@ -225,19 +231,19 @@ inline bool isBinop(int tok)
int hexDigit(QChar c)
{
- if (c >= QLatin1Char('0') && c <= QLatin1Char('9'))
- return c.unicode() - '0';
- if (c >= QLatin1Char('a') && c <= QLatin1Char('f'))
- return c.unicode() - 'a' + 10;
- if (c >= QLatin1Char('A') && c <= QLatin1Char('F'))
- return c.unicode() - 'A' + 10;
+ if (c >= u'0' && c <= u'9')
+ return c.unicode() - u'0';
+ if (c >= u'a' && c <= u'f')
+ return c.unicode() - u'a' + 10;
+ if (c >= u'A' && c <= u'F')
+ return c.unicode() - u'A' + 10;
return -1;
}
int octalDigit(QChar c)
{
- if (c >= QLatin1Char('0') && c <= QLatin1Char('7'))
- return c.unicode() - '0';
+ if (c >= u'0' && c <= u'7')
+ return c.unicode() - u'0';
return -1;
}
@@ -248,70 +254,70 @@ int Lexer::lex()
const int previousTokenKind = _tokenKind;
again:
- _tokenSpell = QStringView();
- _rawString = QStringView();
- _tokenKind = scanToken();
- _tokenLength = _codePtr - _tokenStartPtr - 1;
-
- _delimited = false;
- _restrictedKeyword = false;
- _followsClosingBrace = (previousTokenKind == T_RBRACE);
-
- // update the flags
- switch (_tokenKind) {
- case T_LBRACE:
- if (_bracesCount > 0)
- ++_bracesCount;
- Q_FALLTHROUGH();
- case T_SEMICOLON:
- _importState = ImportState::NoQmlImport;
- Q_FALLTHROUGH();
- case T_QUESTION:
- case T_COLON:
- case T_TILDE:
- _delimited = true;
- break;
- case T_AUTOMATIC_SEMICOLON:
- case T_AS:
- _importState = ImportState::NoQmlImport;
- Q_FALLTHROUGH();
- default:
- if (isBinop(_tokenKind))
- _delimited = true;
- break;
-
- case T_IMPORT:
- if (qmlMode() || (_handlingDirectives && previousTokenKind == T_DOT))
- _importState = ImportState::SawImport;
- if (isBinop(_tokenKind))
- _delimited = true;
- break;
-
- case T_IF:
- case T_FOR:
- case T_WHILE:
- case T_WITH:
- _parenthesesState = CountParentheses;
- _parenthesesCount = 0;
- break;
-
- case T_ELSE:
- case T_DO:
- _parenthesesState = BalancedParentheses;
- break;
-
- case T_CONTINUE:
- case T_BREAK:
- case T_RETURN:
- case T_YIELD:
- case T_THROW:
- _restrictedKeyword = true;
- break;
- case T_RBRACE:
- if (_bracesCount > 0)
- --_bracesCount;
- if (_bracesCount == 0)
- goto again;
+ _tokenSpell = QStringView();
+ _rawString = QStringView();
+ _tokenKind = scanToken();
+ _tokenLength = _codePtr - _tokenStartPtr - 1;
+
+ _delimited = false;
+ _restrictedKeyword = false;
+ _followsClosingBrace = (previousTokenKind == T_RBRACE);
+
+ // update the flags
+ switch (_tokenKind) {
+ case T_LBRACE:
+ if (_bracesCount > 0)
+ ++_bracesCount;
+ Q_FALLTHROUGH();
+ case T_SEMICOLON:
+ _importState = ImportState::NoQmlImport;
+ Q_FALLTHROUGH();
+ case T_QUESTION:
+ case T_COLON:
+ case T_TILDE:
+ _delimited = true;
+ break;
+ case T_AUTOMATIC_SEMICOLON:
+ case T_AS:
+ _importState = ImportState::NoQmlImport;
+ Q_FALLTHROUGH();
+ default:
+ if (isBinop(_tokenKind))
+ _delimited = true;
+ break;
+
+ case T_IMPORT:
+ if (qmlMode() || (_handlingDirectives && previousTokenKind == T_DOT))
+ _importState = ImportState::SawImport;
+ if (isBinop(_tokenKind))
+ _delimited = true;
+ break;
+
+ case T_IF:
+ case T_FOR:
+ case T_WHILE:
+ case T_WITH:
+ _parenthesesState = CountParentheses;
+ _parenthesesCount = 0;
+ break;
+
+ case T_ELSE:
+ case T_DO:
+ _parenthesesState = BalancedParentheses;
+ break;
+
+ case T_CONTINUE:
+ case T_BREAK:
+ case T_RETURN:
+ case T_YIELD:
+ case T_THROW:
+ _restrictedKeyword = true;
+ break;
+ case T_RBRACE:
+ if (_bracesCount > 0)
+ --_bracesCount;
+ if (_bracesCount == 0)
+ goto again;
} // switch
// update the parentheses state
@@ -340,7 +346,7 @@ int Lexer::lex()
uint Lexer::decodeUnicodeEscapeCharacter(bool *ok)
{
- Q_ASSERT(_char == QLatin1Char('u'));
+ Q_ASSERT(_char == u'u');
scanChar(); // skip u
if (_codePtr + 4 <= _endPtr && isHexDigit(_char)) {
uint codePoint = 0;
@@ -355,7 +361,7 @@ uint Lexer::decodeUnicodeEscapeCharacter(bool *ok)
*ok = true;
return codePoint;
- } else if (_codePtr < _endPtr && _char == QLatin1Char('{')) {
+ } else if (_codePtr < _endPtr && _char == u'{') {
scanChar(); // skip '{'
uint codePoint = 0;
if (!isHexDigit(_char))
@@ -373,7 +379,7 @@ uint Lexer::decodeUnicodeEscapeCharacter(bool *ok)
scanChar();
}
- if (_char != QLatin1Char('}'))
+ if (_char != u'}')
goto error;
scanChar(); // skip '}'
@@ -415,9 +421,9 @@ QChar Lexer::decodeHexEscapeCharacter(bool *ok)
static inline bool isIdentifierStart(uint ch)
{
// fast path for ascii
- if ((ch >= 'a' && ch <= 'z') ||
- (ch >= 'A' && ch <= 'Z') ||
- ch == '$' || ch == '_')
+ if ((ch >= u'a' && ch <= u'z') ||
+ (ch >= u'A' && ch <= u'Z') ||
+ ch == u'$' || ch == u'_')
return true;
switch (QChar::category(ch)) {
@@ -437,10 +443,10 @@ static inline bool isIdentifierStart(uint ch)
static bool isIdentifierPart(uint ch)
{
// fast path for ascii
- if ((ch >= 'a' && ch <= 'z') ||
- (ch >= 'A' && ch <= 'Z') ||
- (ch >= '0' && ch <= '9') ||
- ch == '$' || ch == '_' ||
+ if ((ch >= u'a' && ch <= u'z') ||
+ (ch >= u'A' && ch <= u'Z') ||
+ (ch >= u'0' && ch <= u'9') ||
+ ch == u'$' || ch == u'_' ||
ch == 0x200c /* ZWNJ */ || ch == 0x200d /* ZWJ */)
return true;
@@ -487,12 +493,12 @@ again:
// handle comment can be called after a '/' has been read
// and returns true if it actually encountered a comment
auto handleComment = [this](){
- if (_char == QLatin1Char('*')) {
+ if (_char == u'*') {
scanChar();
while (_codePtr <= _endPtr) {
- if (_char == QLatin1Char('*')) {
+ if (_char == u'*') {
scanChar();
- if (_char == QLatin1Char('/')) {
+ if (_char == u'/') {
scanChar();
if (_engine) {
@@ -506,7 +512,7 @@ again:
scanChar();
}
}
- } else if (_char == QLatin1Char('/')) {
+ } else if (_char == u'/') {
while (_codePtr <= _endPtr && !isLineTerminator()) {
scanChar();
}
@@ -548,81 +554,85 @@ again:
scanChar();
switch (ch.unicode()) {
- case '~': return T_TILDE;
- case '}': return T_RBRACE;
+ case u'~': return T_TILDE;
+ case u'}': return T_RBRACE;
- case '|':
- if (_char == QLatin1Char('|')) {
+ case u'|':
+ if (_char == u'|') {
scanChar();
return T_OR_OR;
- } else if (_char == QLatin1Char('=')) {
+ } else if (_char == u'=') {
scanChar();
return T_OR_EQ;
}
return T_OR;
- case '{': return T_LBRACE;
+ case u'{': return T_LBRACE;
- case '^':
- if (_char == QLatin1Char('=')) {
+ case u'^':
+ if (_char == u'=') {
scanChar();
return T_XOR_EQ;
}
return T_XOR;
- case ']': return T_RBRACKET;
- case '[': return T_LBRACKET;
- case '?': {
- if (_char == QLatin1Char('?')) {
+ case u']': return T_RBRACKET;
+ case u'[': return T_LBRACKET;
+ case u'?': {
+ if (_char == u'?') {
scanChar();
return T_QUESTION_QUESTION;
}
+ if (_char == u'.' && !peekChar().isDigit()) {
+ scanChar();
+ return T_QUESTION_DOT;
+ }
return T_QUESTION;
}
- case '>':
- if (_char == QLatin1Char('>')) {
+ case u'>':
+ if (_char == u'>') {
scanChar();
- if (_char == QLatin1Char('>')) {
+ if (_char == u'>') {
scanChar();
- if (_char == QLatin1Char('=')) {
+ if (_char == u'=') {
scanChar();
return T_GT_GT_GT_EQ;
}
return T_GT_GT_GT;
- } else if (_char == QLatin1Char('=')) {
+ } else if (_char == u'=') {
scanChar();
return T_GT_GT_EQ;
}
return T_GT_GT;
- } else if (_char == QLatin1Char('=')) {
+ } else if (_char == u'=') {
scanChar();
return T_GE;
}
return T_GT;
- case '=':
- if (_char == QLatin1Char('=')) {
+ case u'=':
+ if (_char == u'=') {
scanChar();
- if (_char == QLatin1Char('=')) {
+ if (_char == u'=') {
scanChar();
return T_EQ_EQ_EQ;
}
return T_EQ_EQ;
- } else if (_char == QLatin1Char('>')) {
+ } else if (_char == u'>') {
scanChar();
return T_ARROW;
}
return T_EQ;
- case '<':
- if (_char == QLatin1Char('=')) {
+ case u'<':
+ if (_char == u'=') {
scanChar();
return T_LE;
- } else if (_char == QLatin1Char('<')) {
+ } else if (_char == u'<') {
scanChar();
- if (_char == QLatin1Char('=')) {
+ if (_char == u'=') {
scanChar();
return T_LT_LT_EQ;
}
@@ -630,26 +640,26 @@ again:
}
return T_LT;
- case ';': return T_SEMICOLON;
- case ':': return T_COLON;
+ case u';': return T_SEMICOLON;
+ case u':': return T_COLON;
- case '/':
+ case u'/':
if (handleComment())
goto again;
- else if (_char == QLatin1Char('=')) {
+ else if (_char == u'=') {
scanChar();
return T_DIVIDE_EQ;
}
return T_DIVIDE_;
- case '.':
+ case u'.':
if (_importState == ImportState::SawImport)
return T_DOT;
if (isDecimalDigit(_char.unicode()))
return scanNumber(ch);
- if (_char == QLatin1Char('.')) {
+ if (_char == u'.') {
scanChar();
- if (_char == QLatin1Char('.')) {
+ if (_char == u'.') {
scanChar();
return T_ELLIPSIS;
} else {
@@ -660,11 +670,11 @@ again:
}
return T_DOT;
- case '-':
- if (_char == QLatin1Char('=')) {
+ case u'-':
+ if (_char == u'=') {
scanChar();
return T_MINUS_EQ;
- } else if (_char == QLatin1Char('-')) {
+ } else if (_char == u'-') {
scanChar();
if (_terminator && !_delimited && !_prohibitAutomaticSemicolon && _tokenKind != T_LPAREN) {
@@ -676,13 +686,13 @@ again:
}
return T_MINUS;
- case ',': return T_COMMA;
+ case u',': return T_COMMA;
- case '+':
- if (_char == QLatin1Char('=')) {
+ case u'+':
+ if (_char == u'=') {
scanChar();
return T_PLUS_EQ;
- } else if (_char == QLatin1Char('+')) {
+ } else if (_char == u'+') {
scanChar();
if (_terminator && !_delimited && !_prohibitAutomaticSemicolon && _tokenKind != T_LPAREN) {
@@ -694,13 +704,13 @@ again:
}
return T_PLUS;
- case '*':
- if (_char == QLatin1Char('=')) {
+ case u'*':
+ if (_char == u'=') {
scanChar();
return T_STAR_EQ;
- } else if (_char == QLatin1Char('*')) {
+ } else if (_char == u'*') {
scanChar();
- if (_char == QLatin1Char('=')) {
+ if (_char == u'=') {
scanChar();
return T_STAR_STAR_EQ;
}
@@ -708,32 +718,32 @@ again:
}
return T_STAR;
- case ')': return T_RPAREN;
- case '(': return T_LPAREN;
+ case u')': return T_RPAREN;
+ case u'(': return T_LPAREN;
- case '@': return T_AT;
+ case u'@': return T_AT;
- case '&':
- if (_char == QLatin1Char('=')) {
+ case u'&':
+ if (_char == u'=') {
scanChar();
return T_AND_EQ;
- } else if (_char == QLatin1Char('&')) {
+ } else if (_char == u'&') {
scanChar();
return T_AND_AND;
}
return T_AND;
- case '%':
- if (_char == QLatin1Char('=')) {
+ case u'%':
+ if (_char == u'=') {
scanChar();
return T_REMAINDER_EQ;
}
return T_REMAINDER;
- case '!':
- if (_char == QLatin1Char('=')) {
+ case u'!':
+ if (_char == u'=') {
scanChar();
- if (_char == QLatin1Char('=')) {
+ if (_char == u'=') {
scanChar();
return T_NOT_EQ_EQ;
}
@@ -741,34 +751,48 @@ again:
}
return T_NOT;
- case '`':
+ case u'`':
_outerTemplateBraceCount.push(_bracesCount);
Q_FALLTHROUGH();
- case '\'':
- case '"':
+ case u'\'':
+ case u'"':
return scanString(ScanStringMode(ch.unicode()));
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
+ case u'0':
+ case u'1':
+ case u'2':
+ case u'3':
+ case u'4':
+ case u'5':
+ case u'6':
+ case u'7':
+ case u'8':
+ case u'9':
if (_importState == ImportState::SawImport)
return scanVersionNumber(ch);
else
return scanNumber(ch);
+ case '#':
+ if (_currentLineNumber == 1 && _currentColumnNumber == 2) {
+ // shebang support
+ while (_codePtr <= _endPtr && !isLineTerminator()) {
+ scanChar();
+ }
+ if (_engine) {
+ _engine->addComment(tokenOffset(), _codePtr - _tokenStartPtr - 1,
+ tokenStartLine(), tokenStartColumn());
+ }
+ goto again;
+ }
+ Q_FALLTHROUGH();
+
default: {
uint c = ch.unicode();
bool identifierWithEscapeChars = false;
if (QChar::isHighSurrogate(c) && QChar::isLowSurrogate(_char.unicode())) {
c = QChar::surrogateToUcs4(ushort(c), _char.unicode());
scanChar();
- } else if (c == '\\' && _char == QLatin1Char('u')) {
+ } else if (c == '\\' && _char == u'u') {
identifierWithEscapeChars = true;
bool ok = false;
c = decodeUnicodeEscapeCharacter(&ok);
@@ -791,7 +815,7 @@ again:
if (QChar::isHighSurrogate(c) && QChar::isLowSurrogate(_codePtr->unicode())) {
scanChar();
c = QChar::surrogateToUcs4(ushort(c), _char.unicode());
- } else if (_char == QLatin1Char('\\') && _codePtr[0] == QLatin1Char('u')) {
+ } else if (_char == u'\\' && _codePtr[0] == u'u') {
if (!identifierWithEscapeChars) {
identifierWithEscapeChars = true;
_tokenText.resize(0);
@@ -808,13 +832,11 @@ again:
if (!isIdentifierPart(c))
break;
- if (identifierWithEscapeChars) {
- if (QChar::requiresSurrogates(c)) {
- _tokenText += QChar(QChar::highSurrogate(c));
- _tokenText += QChar(QChar::lowSurrogate(c));
- } else {
- _tokenText += QChar(c);
- }
+ if (QChar::requiresSurrogates(c)) {
+ _tokenText += QChar(QChar::highSurrogate(c));
+ _tokenText += QChar(QChar::lowSurrogate(c));
+ } else {
+ _tokenText += QChar(c);
}
continue;
}
@@ -844,11 +866,11 @@ again:
continue_skipping:
while (_codePtr < _endPtr && _char.isSpace())
scanChar();
- if (_char == QLatin1Char('*')) {
+ if (_char == u'*') {
_tokenLength = _codePtr - _tokenStartPtr - 1;
kind = T_FUNCTION_STAR;
scanChar();
- } else if (_char == QLatin1Char('/')) {
+ } else if (_char == u'/') {
scanChar();
if (handleComment())
goto continue_skipping;
@@ -882,27 +904,28 @@ int Lexer::scanString(ScanStringMode mode)
// correctly in the loop below and afterwards
_skipLinefeed = false;
bool first = true;
+
if (_engine) {
while (_codePtr <= _endPtr) {
if (isLineTerminator()) {
- if ((quote == QLatin1Char('`') || qmlMode())) {
+ if ((quote == u'`' || qmlMode())) {
if (first)
- --_currentLineNumber;
+ --_currentLineNumber; // will be read again in scanChar()
break;
}
_errorCode = IllegalCharacter;
_errorMessage = QCoreApplication::translate("QmlParser", "Stray newline in string literal");
return T_ERROR;
- } else if (_char == QLatin1Char('\\')) {
+ } else if (_char == u'\\') {
break;
- } else if (_char == '$' && quote == QLatin1Char('`')) {
+ } else if (_char == u'$' && quote == u'`') {
break;
} else if (_char == quote) {
_tokenSpell = _engine->midRef(startCode - _code.unicode(), _codePtr - startCode - 1);
_rawString = _tokenSpell;
scanChar();
- if (quote == QLatin1Char('`'))
+ if (quote == u'`')
_bracesCount = _outerTemplateBraceCount.pop();
if (mode == TemplateHead)
@@ -929,7 +952,7 @@ int Lexer::scanString(ScanStringMode mode)
auto setRawString = [&](const QChar *end) {
QString raw(startCode, end - startCode - 1);
raw.replace(QLatin1String("\r\n"), QLatin1String("\n"));
- raw.replace(QLatin1Char('\r'), QLatin1Char('\n'));
+ raw.replace(u'\r', u'\n');
_rawString = _engine->newStringRef(raw);
};
@@ -941,11 +964,11 @@ int Lexer::scanString(ScanStringMode mode)
if (_engine) {
_tokenSpell = _engine->newStringRef(_tokenText);
- if (quote == QLatin1Char('`'))
+ if (quote == u'`')
setRawString(_codePtr - 1);
}
- if (quote == QLatin1Char('`'))
+ if (quote == u'`')
_bracesCount = _outerTemplateBraceCount.pop();
if (mode == TemplateContinuation)
@@ -954,7 +977,7 @@ int Lexer::scanString(ScanStringMode mode)
return T_NO_SUBSTITUTION_TEMPLATE;
return multilineStringLiteral ? T_MULTILINE_STRING_LITERAL : T_STRING_LITERAL;
- } else if (quote == QLatin1Char('`') && _char == QLatin1Char('$') && *_codePtr == '{') {
+ } else if (quote == u'`' && _char == u'$' && *_codePtr == u'{') {
scanChar();
scanChar();
_bracesCount = 1;
@@ -964,7 +987,7 @@ int Lexer::scanString(ScanStringMode mode)
}
return (mode == TemplateHead ? T_TEMPLATE_HEAD : T_TEMPLATE_MIDDLE);
- } else if (_char == QLatin1Char('\\')) {
+ } else if (_char == u'\\') {
scanChar();
if (_codePtr > _endPtr) {
_errorCode = IllegalEscapeSequence;
@@ -976,7 +999,7 @@ int Lexer::scanString(ScanStringMode mode)
switch (_char.unicode()) {
// unicode escape sequence
- case 'u': {
+ case u'u': {
bool ok = false;
uint codePoint = decodeUnicodeEscapeCharacter(&ok);
if (!ok)
@@ -991,7 +1014,7 @@ int Lexer::scanString(ScanStringMode mode)
} break;
// hex escape sequence
- case 'x': {
+ case u'x': {
bool ok = false;
u = decodeHexEscapeCharacter(&ok);
if (!ok) {
@@ -1002,38 +1025,38 @@ int Lexer::scanString(ScanStringMode mode)
} break;
// single character escape sequence
- case '\\': u = QLatin1Char('\\'); scanChar(); break;
- case '\'': u = QLatin1Char('\''); scanChar(); break;
- case '\"': u = QLatin1Char('\"'); scanChar(); break;
- case 'b': u = QLatin1Char('\b'); scanChar(); break;
- case 'f': u = QLatin1Char('\f'); scanChar(); break;
- case 'n': u = QLatin1Char('\n'); scanChar(); break;
- case 'r': u = QLatin1Char('\r'); scanChar(); break;
- case 't': u = QLatin1Char('\t'); scanChar(); break;
- case 'v': u = QLatin1Char('\v'); scanChar(); break;
-
- case '0':
+ case u'\\': u = u'\\'; scanChar(); break;
+ case u'\'': u = u'\''; scanChar(); break;
+ case u'\"': u = u'\"'; scanChar(); break;
+ case u'b': u = u'\b'; scanChar(); break;
+ case u'f': u = u'\f'; scanChar(); break;
+ case u'n': u = u'\n'; scanChar(); break;
+ case u'r': u = u'\r'; scanChar(); break;
+ case u't': u = u'\t'; scanChar(); break;
+ case u'v': u = u'\v'; scanChar(); break;
+
+ case u'0':
if (! _codePtr->isDigit()) {
scanChar();
- u = QLatin1Char('\0');
+ u = u'\0';
break;
}
Q_FALLTHROUGH();
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
+ case u'1':
+ case u'2':
+ case u'3':
+ case u'4':
+ case u'5':
+ case u'6':
+ case u'7':
+ case u'8':
+ case u'9':
_errorCode = IllegalEscapeSequence;
_errorMessage = QCoreApplication::translate("QmlParser", "Octal escape sequences are not allowed");
return T_ERROR;
- case '\r':
- case '\n':
+ case u'\r':
+ case u'\n':
case 0x2028u:
case 0x2029u:
scanChar();
@@ -1059,8 +1082,8 @@ int Lexer::scanString(ScanStringMode mode)
int Lexer::scanNumber(QChar ch)
{
- if (ch == QLatin1Char('0')) {
- if (_char == QLatin1Char('x') || _char == QLatin1Char('X')) {
+ if (ch == u'0') {
+ if (_char == u'x' || _char == u'X') {
ch = _char; // remember the x or X to use it in the error message below.
// parse hex integer literal
@@ -1084,7 +1107,7 @@ int Lexer::scanNumber(QChar ch)
_tokenValue = d;
return T_NUMERIC_LITERAL;
- } else if (_char == QLatin1Char('o') || _char == QLatin1Char('O')) {
+ } else if (_char == u'o' || _char == u'O') {
ch = _char; // remember the o or O to use it in the error message below.
// parse octal integer literal
@@ -1108,13 +1131,13 @@ int Lexer::scanNumber(QChar ch)
_tokenValue = d;
return T_NUMERIC_LITERAL;
- } else if (_char == QLatin1Char('b') || _char == QLatin1Char('B')) {
+ } else if (_char == u'b' || _char == u'B') {
ch = _char; // remember the b or B to use it in the error message below.
// parse binary integer literal
scanChar(); // consume 'b'
- if (_char.unicode() != '0' && _char.unicode() != '1') {
+ if (_char.unicode() != u'0' && _char.unicode() != u'1') {
_errorCode = IllegalNumber;
_errorMessage = QCoreApplication::translate("QmlParser", "At least one binary digit is required after '0%1'").arg(ch);
return T_ERROR;
@@ -1123,9 +1146,9 @@ int Lexer::scanNumber(QChar ch)
double d = 0.;
while (1) {
int digit = 0;
- if (_char.unicode() == '1')
+ if (_char.unicode() == u'1')
digit = 1;
- else if (_char.unicode() != '0')
+ else if (_char.unicode() != u'0')
break;
d *= 2;
d += digit;
@@ -1145,13 +1168,13 @@ int Lexer::scanNumber(QChar ch)
QVarLengthArray<char,32> chars;
chars.append(ch.unicode());
- if (ch != QLatin1Char('.')) {
+ if (ch != u'.') {
while (_char.isDigit()) {
chars.append(_char.unicode());
scanChar(); // consume the digit
}
- if (_char == QLatin1Char('.')) {
+ if (_char == u'.') {
chars.append(_char.unicode());
scanChar(); // consume `.'
}
@@ -1162,14 +1185,14 @@ int Lexer::scanNumber(QChar ch)
scanChar();
}
- if (_char == QLatin1Char('e') || _char == QLatin1Char('E')) {
- if (_codePtr[0].isDigit() || ((_codePtr[0] == QLatin1Char('+') || _codePtr[0] == QLatin1Char('-')) &&
+ if (_char == u'e' || _char == u'E') {
+ if (_codePtr[0].isDigit() || ((_codePtr[0] == u'+' || _codePtr[0] == u'-') &&
_codePtr[1].isDigit())) {
chars.append(_char.unicode());
scanChar(); // consume `e'
- if (_char == QLatin1Char('+') || _char == QLatin1Char('-')) {
+ if (_char == u'+' || _char == u'-') {
chars.append(_char.unicode());
scanChar(); // consume the sign
}
@@ -1198,7 +1221,7 @@ int Lexer::scanNumber(QChar ch)
int Lexer::scanVersionNumber(QChar ch)
{
- if (ch == QLatin1Char('0')) {
+ if (ch == u'0') {
_tokenValue = 0;
return T_VERSION_NUMBER;
}
@@ -1223,11 +1246,11 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
_patternFlags = 0;
if (prefix == EqualPrefix)
- _tokenText += QLatin1Char('=');
+ _tokenText += u'=';
while (true) {
switch (_char.unicode()) {
- case '/':
+ case u'/':
scanChar();
// scan the flags
@@ -1246,7 +1269,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
_tokenLength = _codePtr - _tokenStartPtr - 1;
return true;
- case '\\':
+ case u'\\':
// regular expression backslash sequence
_tokenText += _char;
scanChar();
@@ -1260,15 +1283,15 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
scanChar();
break;
- case '[':
+ case u'[':
// regular expression class
_tokenText += _char;
scanChar();
while (_codePtr <= _endPtr && ! isLineTerminator()) {
- if (_char == QLatin1Char(']'))
+ if (_char == u']')
break;
- else if (_char == QLatin1Char('\\')) {
+ else if (_char == u'\\') {
// regular expression backslash sequence
_tokenText += _char;
scanChar();
@@ -1286,7 +1309,7 @@ bool Lexer::scanRegExp(RegExpBodyPrefix prefix)
}
}
- if (_char != QLatin1Char(']')) {
+ if (_char != u']') {
_errorMessage = QCoreApplication::translate("QmlParser", "Unterminated regular expression class");
return false;
}
@@ -1339,10 +1362,9 @@ bool Lexer::isIdentLetter(QChar ch)
{
// ASCII-biased, since all reserved words are ASCII, aand hence the
// bulk of content to be parsed.
- if ((ch >= QLatin1Char('a') && ch <= QLatin1Char('z'))
- || (ch >= QLatin1Char('A') && ch <= QLatin1Char('Z'))
- || ch == QLatin1Char('$')
- || ch == QLatin1Char('_'))
+ if ((ch >= u'a' && ch <= u'z')
+ || (ch >= u'A' && ch <= u'Z')
+ || ch == u'$' || ch == u'_')
return true;
if (ch.unicode() < 128)
return false;
@@ -1351,19 +1373,19 @@ bool Lexer::isIdentLetter(QChar ch)
bool Lexer::isDecimalDigit(ushort c)
{
- return (c >= '0' && c <= '9');
+ return (c >= u'0' && c <= u'9');
}
bool Lexer::isHexDigit(QChar c)
{
- return ((c >= QLatin1Char('0') && c <= QLatin1Char('9'))
- || (c >= QLatin1Char('a') && c <= QLatin1Char('f'))
- || (c >= QLatin1Char('A') && c <= QLatin1Char('F')));
+ return ((c >= u'0' && c <= u'9')
+ || (c >= u'a' && c <= u'f')
+ || (c >= u'A' && c <= u'F'));
}
bool Lexer::isOctalDigit(ushort c)
{
- return (c >= '0' && c <= '7');
+ return (c >= u'0' && c <= u'7');
}
QString Lexer::tokenText() const
@@ -1533,9 +1555,10 @@ bool Lexer::scanDirectives(Directives *directives, DiagnosticMessage *error)
setError(QCoreApplication::translate("QmlParser","Imported file must be a script"));
return false;
}
+ lex();
} else if (_tokenKind == T_IDENTIFIER) {
- // .import T_IDENTIFIER (. T_IDENTIFIER)* T_VERSION_NUMBER . T_VERSION_NUMBER as T_IDENTIFIER
+ // .import T_IDENTIFIER (. T_IDENTIFIER)* (T_VERSION_NUMBER (. T_VERSION_NUMBER)?)? as T_IDENTIFIER
while (true) {
if (!isUriToken(_tokenKind)) {
setError(QCoreApplication::translate("QmlParser","Invalid module URI"));
@@ -1552,7 +1575,7 @@ bool Lexer::scanDirectives(Directives *directives, DiagnosticMessage *error)
if (_tokenKind != QmlJSGrammar::T_DOT)
break;
- pathOrUri.append(QLatin1Char('.'));
+ pathOrUri.append(u'.');
lex();
if (tokenStartLine() != lineNumber) {
@@ -1561,31 +1584,27 @@ bool Lexer::scanDirectives(Directives *directives, DiagnosticMessage *error)
}
}
- if (_tokenKind != T_VERSION_NUMBER) {
- setError(QCoreApplication::translate("QmlParser","Module import requires a version"));
- return false; // expected the module version number
- }
-
- version = tokenText();
- lex();
- if (_tokenKind != T_DOT) {
- setError(QCoreApplication::translate( "QmlParser", "Module import requires a minor version (missing dot)"));
- return false; // expected the module version number
- }
- version += QLatin1Char('.');
-
- lex();
- if (_tokenKind != T_VERSION_NUMBER) {
- setError(QCoreApplication::translate( "QmlParser", "Module import requires a minor version (missing number)"));
- return false; // expected the module version number
+ if (_tokenKind == T_VERSION_NUMBER) {
+ version = tokenText();
+ lex();
+ if (_tokenKind == T_DOT) {
+ version += u'.';
+ lex();
+ if (_tokenKind != T_VERSION_NUMBER) {
+ setError(QCoreApplication::translate(
+ "QmlParser", "Incomplete version number (dot but no minor)"));
+ return false; // expected the module version number
+ }
+ version += tokenText();
+ lex();
+ }
}
- version += tokenText();
}
//
// recognize the mandatory `as' followed by the module name
//
- if (! (lex() == T_AS && tokenStartLine() == lineNumber)) {
+ if (! (_tokenKind == T_AS && tokenStartLine() == lineNumber)) {
if (fileImport)
setError(QCoreApplication::translate("QmlParser", "File import requires a qualifier"));
else
@@ -1628,5 +1647,3 @@ bool Lexer::scanDirectives(Directives *directives, DiagnosticMessage *error)
return true;
}
-
-QT_QML_END_NAMESPACE
diff --git a/src/libs/qmljs/parser/qmljslexer_p.h b/src/libs/qmljs/parser/qmljslexer_p.h
index feb2055f62..a442748d74 100644
--- a/src/libs/qmljs/parser/qmljslexer_p.h
+++ b/src/libs/qmljs/parser/qmljslexer_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -176,6 +176,7 @@ protected:
private:
inline void scanChar();
+ inline QChar peekChar();
int scanToken();
int scanNumber(QChar ch);
int scanVersionNumber(QChar ch);
diff --git a/src/libs/qmljs/parser/qmljsmemorypool_p.h b/src/libs/qmljs/parser/qmljsmemorypool_p.h
index 40902ae63f..6875d415cf 100644
--- a/src/libs/qmljs/parser/qmljsmemorypool_p.h
+++ b/src/libs/qmljs/parser/qmljsmemorypool_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -90,8 +90,7 @@ public:
template <typename Tp, typename... Ta> Tp *New(Ta... args)
{ return new (this->allocate(sizeof(Tp))) Tp(args...); }
- QStringView newString(const QString &string)
- {
+ QStringView newString(const QString &string) {
strings.append(new QString(string));
return QStringView(*strings.last());
}
diff --git a/src/libs/qmljs/parser/qmljsparser.cpp b/src/libs/qmljs/parser/qmljsparser.cpp
index a73a4dff96..9d6ed072ad 100644
--- a/src/libs/qmljs/parser/qmljsparser.cpp
+++ b/src/libs/qmljs/parser/qmljsparser.cpp
@@ -1,8 +1,6 @@
-
-#line 134 "qmljs.g"
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -36,7 +34,7 @@
#include <string.h>
-#line 493 "qmljs.g"
+#line 494 "qmljs.g"
#include "qmljsparser_p.h"
@@ -258,85 +256,85 @@ bool Parser::parse(int startToken)
switch (r) {
-#line 720 "qmljs.g"
+#line 721 "qmljs.g"
case 0: {
sym(1).Node = sym(2).Node;
program = sym(1).Node;
} break;
-#line 728 "qmljs.g"
+#line 729 "qmljs.g"
case 1: {
sym(1).Node = sym(2).Node;
program = sym(1).Node;
} break;
-#line 736 "qmljs.g"
+#line 737 "qmljs.g"
case 2: {
sym(1).Node = sym(2).Node;
program = sym(1).Node;
} break;
-#line 744 "qmljs.g"
+#line 745 "qmljs.g"
case 3: {
sym(1).Node = sym(2).Node;
program = sym(1).Node;
} break;
-#line 752 "qmljs.g"
+#line 753 "qmljs.g"
case 4: {
sym(1).Node = sym(2).Node;
program = sym(1).Node;
} break;
-#line 760 "qmljs.g"
+#line 761 "qmljs.g"
case 5: {
sym(1).Node = sym(2).Node;
program = sym(1).Node;
} break;
-#line 769 "qmljs.g"
+#line 770 "qmljs.g"
case 6: {
sym(1).UiProgram = new (pool) AST::UiProgram(sym(1).UiHeaderItemList, sym(2).UiObjectMemberList->finish());
} break;
-#line 777 "qmljs.g"
+#line 778 "qmljs.g"
case 8: {
sym(1).Node = sym(1).UiHeaderItemList->finish();
} break;
-#line 784 "qmljs.g"
+#line 785 "qmljs.g"
case 9: {
sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiPragma);
} break;
-#line 791 "qmljs.g"
+#line 792 "qmljs.g"
case 10: {
sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiImport);
} break;
-#line 798 "qmljs.g"
+#line 799 "qmljs.g"
case 11: {
sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiHeaderItemList, sym(2).UiPragma);
} break;
-#line 805 "qmljs.g"
+#line 806 "qmljs.g"
case 12: {
sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiHeaderItemList, sym(2).UiImport);
} break;
-#line 817 "qmljs.g"
+#line 818 "qmljs.g"
case 16: {
AST::UiPragma *pragma = new (pool) AST::UiPragma(stringRef(2));
@@ -345,37 +343,52 @@ bool Parser::parse(int startToken)
sym(1).Node = pragma;
} break;
-#line 829 "qmljs.g"
+#line 830 "qmljs.g"
case 18: {
sym(1).UiImport->semicolonToken = loc(2);
} break;
-#line 836 "qmljs.g"
+#line 837 "qmljs.g"
case 19: {
- auto version = new (pool) AST::UiVersionSpecifier(sym(1).dval, sym(3).dval);
+ const int major = sym(1).dval;
+ const int minor = sym(3).dval;
+ if (major < 0 || major >= 255 || minor < 0 || minor >= 255) {
+ diagnostic_messages.append(
+ compileError(loc(1),
+ QLatin1String("Invalid version. Version numbers must be >= 0 and < 255.")));
+ return false;
+ }
+ auto version = new (pool) AST::UiVersionSpecifier(major, minor);
version->majorToken = loc(1);
version->minorToken = loc(3);
sym(1).UiVersionSpecifier = version;
} break;
-#line 847 "qmljs.g"
+#line 855 "qmljs.g"
case 20: {
- auto version = new (pool) AST::UiVersionSpecifier(sym(1).dval, 0);
+ const int major = sym(1).dval;
+ if (major < 0 || major >= 255) {
+ diagnostic_messages.append(
+ compileError(loc(1),
+ QLatin1String("Invalid major version. Version numbers must be >= 0 and < 255.")));
+ return false;
+ }
+ auto version = new (pool) AST::UiVersionSpecifier(sym(1).dval);
version->majorToken = loc(1);
sym(1).UiVersionSpecifier = version;
} break;
-#line 856 "qmljs.g"
+#line 871 "qmljs.g"
case 21: {
sym(1).UiImport->version = sym(2).UiVersionSpecifier;
sym(1).UiImport->semicolonToken = loc(3);
} break;
-#line 864 "qmljs.g"
+#line 879 "qmljs.g"
case 22: {
sym(1).UiImport->version = sym(2).UiVersionSpecifier;
@@ -385,7 +398,7 @@ bool Parser::parse(int startToken)
sym(1).UiImport->semicolonToken = loc(5);
} break;
-#line 875 "qmljs.g"
+#line 890 "qmljs.g"
case 23: {
sym(1).UiImport->asToken = loc(2);
@@ -394,7 +407,7 @@ bool Parser::parse(int startToken)
sym(1).UiImport->semicolonToken = loc(4);
} break;
-#line 885 "qmljs.g"
+#line 900 "qmljs.g"
case 24: {
AST::UiImport *node = 0;
@@ -419,19 +432,19 @@ bool Parser::parse(int startToken)
}
} break;
-#line 911 "qmljs.g"
+#line 926 "qmljs.g"
case 25: {
sym(1).Node = nullptr;
} break;
-#line 918 "qmljs.g"
+#line 933 "qmljs.g"
case 26: {
sym(1).Node = new (pool) AST::UiObjectMemberList(sym(1).UiObjectMember);
} break;
-#line 925 "qmljs.g"
+#line 940 "qmljs.g"
case 27: {
AST::IdentifierExpression *node = new (pool) AST::IdentifierExpression(stringRef(1));
@@ -439,7 +452,7 @@ bool Parser::parse(int startToken)
sym(1).Node = node;
} break;
-#line 934 "qmljs.g"
+#line 949 "qmljs.g"
case 28: {
AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
@@ -448,7 +461,7 @@ bool Parser::parse(int startToken)
sym(1).Node = node;
} break;
-#line 944 "qmljs.g"
+#line 959 "qmljs.g"
case 29: {
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(1).Expression)) {
@@ -465,26 +478,26 @@ bool Parser::parse(int startToken)
sym(1).Node = node;
} break;
-#line 962 "qmljs.g"
+#line 977 "qmljs.g"
case 30: {
sym(1).Node = sym(2).Node;
} break;
-#line 970 "qmljs.g"
+#line 985 "qmljs.g"
case 31: {
sym(1).Node = new (pool) AST::UiAnnotationList(sym(1).UiAnnotation);
} break;
-#line 977 "qmljs.g"
+#line 992 "qmljs.g"
case 32: {
AST::UiAnnotationList *node = new (pool) AST::UiAnnotationList(sym(1).UiAnnotationList, sym(2).UiAnnotation);
sym(1).Node = node;
} break;
-#line 985 "qmljs.g"
+#line 1000 "qmljs.g"
case 33: {
AST::UiObjectDefinition *node = sym(2).UiObjectDefinition;
@@ -492,26 +505,26 @@ case 30: {
sym(1).Node = node;
} break;
-#line 996 "qmljs.g"
+#line 1011 "qmljs.g"
case 35: {
sym(1).Node = new (pool) AST::UiObjectMemberList(sym(1).UiObjectMember);
} break;
-#line 1003 "qmljs.g"
+#line 1018 "qmljs.g"
case 36: {
AST::UiObjectMemberList *node = new (pool) AST:: UiObjectMemberList(sym(1).UiObjectMemberList, sym(2).UiObjectMember);
sym(1).Node = node;
} break;
-#line 1011 "qmljs.g"
+#line 1026 "qmljs.g"
case 37: {
sym(1).Node = new (pool) AST::UiArrayMemberList(sym(1).UiObjectMember);
} break;
-#line 1018 "qmljs.g"
+#line 1033 "qmljs.g"
case 38: {
AST::UiArrayMemberList *node = new (pool) AST::UiArrayMemberList(sym(1).UiArrayMemberList, sym(3).UiObjectMember);
@@ -519,7 +532,7 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1027 "qmljs.g"
+#line 1042 "qmljs.g"
case 39: {
AST::UiObjectInitializer *node = new (pool) AST::UiObjectInitializer((AST::UiObjectMemberList*)0);
@@ -528,7 +541,7 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1037 "qmljs.g"
+#line 1052 "qmljs.g"
case 40: {
AST::UiObjectInitializer *node = new (pool) AST::UiObjectInitializer(sym(2).UiObjectMemberList->finish());
@@ -537,14 +550,14 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1047 "qmljs.g"
+#line 1062 "qmljs.g"
case 41: {
AST::UiObjectDefinition *node = new (pool) AST::UiObjectDefinition(sym(1).UiQualifiedId, sym(2).UiObjectInitializer);
sym(1).Node = node;
} break;
-#line 1055 "qmljs.g"
+#line 1070 "qmljs.g"
case 42: {
AST::UiObjectMember *node = sym(2).UiObjectMember;
@@ -552,7 +565,7 @@ case 30: {
sym(1).Node = sym(2).Node;
} break;
-#line 1068 "qmljs.g"
+#line 1083 "qmljs.g"
case 45: {
AST::UiArrayBinding *node = new (pool) AST::UiArrayBinding(sym(1).UiQualifiedId, sym(5).UiArrayMemberList->finish());
@@ -562,7 +575,7 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1079 "qmljs.g"
+#line 1094 "qmljs.g"
case 46: {
AST::UiObjectBinding *node = new (pool) AST::UiObjectBinding(
@@ -571,7 +584,7 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1089 "qmljs.g"
+#line 1104 "qmljs.g"
case 47: {
AST::UiObjectBinding *node = new (pool) AST::UiObjectBinding(
@@ -581,7 +594,7 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1101 "qmljs.g"
+#line 1116 "qmljs.g"
case 48: {
AST::ObjectPattern *l = new (pool) AST::ObjectPattern(sym(3).PatternPropertyList->finish());
@@ -592,7 +605,7 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1114 "qmljs.g"
+#line 1129 "qmljs.g"
case 49: {
AST::ObjectPattern *l = new (pool) AST::ObjectPattern(sym(3).PatternPropertyList->finish());
@@ -603,33 +616,33 @@ case 30: {
sym(1).Node = node;
} break;
-#line 1127 "qmljs.g"
+#line 1142 "qmljs.g"
case 50: Q_FALLTHROUGH();
-#line 1129 "qmljs.g"
+#line 1144 "qmljs.g"
case 51: Q_FALLTHROUGH();
-#line 1131 "qmljs.g"
+#line 1146 "qmljs.g"
case 52: {
sym(1).Node = sym(3).Node;
} break;
-#line 1139 "qmljs.g"
+#line 1154 "qmljs.g"
case 53: Q_FALLTHROUGH();
-#line 1141 "qmljs.g"
+#line 1156 "qmljs.g"
case 54: Q_FALLTHROUGH();
-#line 1143 "qmljs.g"
+#line 1158 "qmljs.g"
case 55: Q_FALLTHROUGH();
-#line 1145 "qmljs.g"
+#line 1160 "qmljs.g"
case 56: Q_FALLTHROUGH();
-#line 1147 "qmljs.g"
+#line 1162 "qmljs.g"
case 57: Q_FALLTHROUGH();
-#line 1149 "qmljs.g"
+#line 1164 "qmljs.g"
case 58: {
sym(1).Node = sym(2).Node;
} break;
-#line 1156 "qmljs.g"
+#line 1171 "qmljs.g"
case 59:
{
@@ -638,11 +651,11 @@ case 59:
sym(1).Node = node;
} break;
-#line 1166 "qmljs.g"
+#line 1181 "qmljs.g"
case 60: Q_FALLTHROUGH();
-#line 1168 "qmljs.g"
+#line 1183 "qmljs.g"
case 61: Q_FALLTHROUGH();
-#line 1170 "qmljs.g"
+#line 1185 "qmljs.g"
case 62: {
AST::UiQualifiedId *node = new (pool) AST::UiQualifiedId(stringRef(1));
@@ -650,7 +663,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1179 "qmljs.g"
+#line 1194 "qmljs.g"
case 63: {
AST::UiQualifiedId *node = new (pool) AST::UiQualifiedId(sym(1).UiQualifiedId, stringRef(3));
@@ -658,19 +671,19 @@ case 59:
sym(1).Node = node;
} break;
-#line 1188 "qmljs.g"
+#line 1203 "qmljs.g"
case 64: {
sym(1).Node = nullptr;
} break;
-#line 1195 "qmljs.g"
+#line 1210 "qmljs.g"
case 65: {
sym(1).Node = sym(1).UiParameterList->finish();
} break;
-#line 1202 "qmljs.g"
+#line 1217 "qmljs.g"
case 66: {
AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(3).UiQualifiedId->finish(), stringRef(1));
@@ -680,7 +693,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1213 "qmljs.g"
+#line 1228 "qmljs.g"
case 67: {
AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiQualifiedId->finish(), stringRef(2));
@@ -689,7 +702,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1223 "qmljs.g"
+#line 1238 "qmljs.g"
case 68: {
AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiParameterList, sym(5).UiQualifiedId->finish(), stringRef(3));
@@ -700,7 +713,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1235 "qmljs.g"
+#line 1250 "qmljs.g"
case 69: {
AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiParameterList, sym(3).UiQualifiedId->finish(), stringRef(4));
@@ -710,7 +723,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1246 "qmljs.g"
+#line 1261 "qmljs.g"
case 70: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(nullptr, stringRef(2));
@@ -723,7 +736,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1260 "qmljs.g"
+#line 1275 "qmljs.g"
case 71: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(nullptr, stringRef(2));
@@ -735,7 +748,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1273 "qmljs.g"
+#line 1288 "qmljs.g"
case 72: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(4).UiQualifiedId->finish(), stringRef(6));
@@ -748,7 +761,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1289 "qmljs.g"
+#line 1304 "qmljs.g"
case 74: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -757,7 +770,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1299 "qmljs.g"
+#line 1314 "qmljs.g"
case 75: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(2).UiQualifiedId->finish(), stringRef(3));
@@ -768,7 +781,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1314 "qmljs.g"
+#line 1329 "qmljs.g"
case 77: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -777,7 +790,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1324 "qmljs.g"
+#line 1340 "qmljs.g"
case 78: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -786,7 +799,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1334 "qmljs.g"
+#line 1350 "qmljs.g"
case 79: {
AST::UiPublicMember *node = sym(3).UiPublicMember;
@@ -797,7 +810,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1346 "qmljs.g"
+#line 1362 "qmljs.g"
case 80: {
AST::UiPublicMember *node = sym(3).UiPublicMember;
@@ -808,7 +821,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1358 "qmljs.g"
+#line 1374 "qmljs.g"
case 81: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -817,7 +830,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1368 "qmljs.g"
+#line 1384 "qmljs.g"
case 82: {
AST::UiPublicMember *node = sym(3).UiPublicMember;
@@ -828,7 +841,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1381 "qmljs.g"
+#line 1397 "qmljs.g"
case 83: {
AST::UiPublicMember *node = sym(3).UiPublicMember;
@@ -839,12 +852,12 @@ case 59:
sym(1).Node = node;
} break;
-#line 1393 "qmljs.g"
+#line 1409 "qmljs.g"
/* we need OptionalSemicolon because UiScriptStatement might already parse the last semicolon
and then we would miss a semicolon (see tests/auto/quick/qquickvisualdatamodel/data/objectlist.qml)*/
-#line 1399 "qmljs.g"
+#line 1415 "qmljs.g"
case 86: {
AST::UiRequired *node = new (pool) AST::UiRequired(stringRef(2));
@@ -853,7 +866,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1411 "qmljs.g"
+#line 1427 "qmljs.g"
case 88: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -862,7 +875,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1421 "qmljs.g"
+#line 1437 "qmljs.g"
case 89: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(2).UiQualifiedId->finish(), stringRef(3), sym(5).Statement);
@@ -873,7 +886,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1435 "qmljs.g"
+#line 1451 "qmljs.g"
case 91: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -882,7 +895,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1445 "qmljs.g"
+#line 1461 "qmljs.g"
case 92: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -891,7 +904,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1455 "qmljs.g"
+#line 1471 "qmljs.g"
case 93: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(4).UiQualifiedId->finish(), stringRef(6));
@@ -916,7 +929,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1483 "qmljs.g"
+#line 1499 "qmljs.g"
case 95: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -925,7 +938,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1493 "qmljs.g"
+#line 1509 "qmljs.g"
case 96: {
AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(2).UiQualifiedId->finish(), stringRef(3));
@@ -947,7 +960,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1518 "qmljs.g"
+#line 1534 "qmljs.g"
case 98: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
@@ -956,26 +969,26 @@ case 59:
sym(1).Node = node;
} break;
-#line 1528 "qmljs.g"
+#line 1544 "qmljs.g"
case 99: {
auto node = new (pool) AST::UiSourceElement(sym(1).Node);
sym(1).Node = node;
} break;
-#line 1536 "qmljs.g"
+#line 1552 "qmljs.g"
case 100: {
sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node);
} break;
-#line 1543 "qmljs.g"
+#line 1559 "qmljs.g"
case 101: {
sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node);
} break;
-#line 1550 "qmljs.g"
+#line 1566 "qmljs.g"
case 102: {
if (AST::ArrayMemberExpression *mem = AST::cast<AST::ArrayMemberExpression *>(sym(1).Expression)) {
@@ -997,7 +1010,7 @@ case 59:
}
} break;
-#line 1573 "qmljs.g"
+#line 1589 "qmljs.g"
case 103: {
AST::UiEnumDeclaration *enumDeclaration = new (pool) AST::UiEnumDeclaration(stringRef(2), sym(4).UiEnumMemberList->finish());
@@ -1007,7 +1020,7 @@ case 59:
break;
}
-#line 1584 "qmljs.g"
+#line 1600 "qmljs.g"
case 104: {
if (!stringRef(2).front().isUpper()) {
@@ -1019,7 +1032,7 @@ case 59:
sym(1).Node = inlineComponent;
} break;
-#line 1597 "qmljs.g"
+#line 1613 "qmljs.g"
case 105: {
AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(stringRef(1));
@@ -1028,7 +1041,7 @@ case 59:
break;
}
-#line 1607 "qmljs.g"
+#line 1623 "qmljs.g"
case 106: {
AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(stringRef(1), sym(3).dval);
@@ -1038,7 +1051,7 @@ case 59:
break;
}
-#line 1618 "qmljs.g"
+#line 1634 "qmljs.g"
case 107: {
AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(sym(1).UiEnumMemberList, stringRef(3));
@@ -1047,7 +1060,7 @@ case 59:
break;
}
-#line 1628 "qmljs.g"
+#line 1644 "qmljs.g"
case 108: {
AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(sym(1).UiEnumMemberList, stringRef(3), sym(5).dval);
@@ -1057,25 +1070,25 @@ case 59:
break;
}
-#line 1672 "qmljs.g"
+#line 1688 "qmljs.g"
case 135: {
sym(1).TypeArgumentList = new (pool) AST::TypeArgumentList(sym(1).Type);
} break;
-#line 1679 "qmljs.g"
+#line 1695 "qmljs.g"
case 136: {
sym(1).TypeArgumentList = new (pool) AST::TypeArgumentList(sym(1).TypeArgumentList, sym(3).Type);
} break;
-#line 1686 "qmljs.g"
+#line 1702 "qmljs.g"
case 137: {
sym(1).Type = new (pool) AST::Type(sym(1).UiQualifiedId, sym(3).TypeArgumentList->finish());
} break;
-#line 1693 "qmljs.g"
+#line 1709 "qmljs.g"
case 138: {
AST::UiQualifiedId *id = new (pool) AST::UiQualifiedId(stringRef(1));
@@ -1083,26 +1096,26 @@ case 59:
sym(1).Type = new (pool) AST::Type(id->finish());
} break;
-#line 1702 "qmljs.g"
+#line 1718 "qmljs.g"
case 139: {
sym(1).Type = new (pool) AST::Type(sym(1).UiQualifiedId);
} break;
-#line 1709 "qmljs.g"
+#line 1725 "qmljs.g"
case 140: {
sym(1).TypeAnnotation = new (pool) AST::TypeAnnotation(sym(2).Type);
sym(1).TypeAnnotation->colonToken = loc(1);
} break;
-#line 1718 "qmljs.g"
+#line 1734 "qmljs.g"
case 142: {
sym(1).TypeAnnotation = nullptr;
} break;
-#line 1729 "qmljs.g"
+#line 1745 "qmljs.g"
case 143: {
AST::ThisExpression *node = new (pool) AST::ThisExpression();
@@ -1110,7 +1123,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1738 "qmljs.g"
+#line 1754 "qmljs.g"
case 144: {
AST::IdentifierExpression *node = new (pool) AST::IdentifierExpression(stringRef(1));
@@ -1118,7 +1131,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1756 "qmljs.g"
+#line 1772 "qmljs.g"
case 153: {
if (coverExpressionType != CE_ParenthesizedExpression) {
@@ -1127,7 +1140,7 @@ case 59:
}
} break;
-#line 1767 "qmljs.g"
+#line 1783 "qmljs.g"
case 154: {
AST::NestedExpression *node = new (pool) AST::NestedExpression(sym(2).Expression);
@@ -1137,7 +1150,7 @@ case 59:
coverExpressionType = CE_ParenthesizedExpression;
} break;
-#line 1778 "qmljs.g"
+#line 1794 "qmljs.g"
case 155: {
sym(1).Node = nullptr;
@@ -1145,7 +1158,7 @@ case 59:
coverExpressionType = CE_FormalParameterList;
} break;
-#line 1787 "qmljs.g"
+#line 1803 "qmljs.g"
case 156: {
AST::FormalParameterList *node = (new (pool) AST::FormalParameterList(nullptr, sym(2).PatternElement))->finish(pool);
@@ -1154,7 +1167,7 @@ case 59:
coverExpressionType = CE_FormalParameterList;
} break;
-#line 1797 "qmljs.g"
+#line 1813 "qmljs.g"
case 157: {
AST::FormalParameterList *list = sym(2).Expression->reparseAsFormalParameterList(pool);
@@ -1170,7 +1183,7 @@ case 59:
sym(1).Node = list->finish(pool);
} break;
-#line 1814 "qmljs.g"
+#line 1830 "qmljs.g"
case 158: {
AST::NullExpression *node = new (pool) AST::NullExpression();
@@ -1178,7 +1191,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1823 "qmljs.g"
+#line 1839 "qmljs.g"
case 159: {
AST::TrueLiteral *node = new (pool) AST::TrueLiteral();
@@ -1186,7 +1199,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1832 "qmljs.g"
+#line 1848 "qmljs.g"
case 160: {
AST::FalseLiteral *node = new (pool) AST::FalseLiteral();
@@ -1194,7 +1207,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1841 "qmljs.g"
+#line 1857 "qmljs.g"
case 161: {
AST::NumericLiteral *node = new (pool) AST::NumericLiteral(sym(1).dval);
@@ -1202,9 +1215,9 @@ case 59:
sym(1).Node = node;
} break;
-#line 1850 "qmljs.g"
+#line 1866 "qmljs.g"
case 162: Q_FALLTHROUGH();
-#line 1853 "qmljs.g"
+#line 1869 "qmljs.g"
case 163: {
AST::StringLiteral *node = new (pool) AST::StringLiteral(stringRef(1));
@@ -1212,7 +1225,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1865 "qmljs.g"
+#line 1881 "qmljs.g"
{
Lexer::RegExpBodyPrefix prefix;
@@ -1220,7 +1233,7 @@ case 59:
prefix = Lexer::NoPrefix;
goto scan_regexp;
-#line 1877 "qmljs.g"
+#line 1893 "qmljs.g"
case 165:
prefix = Lexer::EqualPrefix;
@@ -1242,7 +1255,7 @@ case 59:
} break;
}
-#line 1901 "qmljs.g"
+#line 1917 "qmljs.g"
case 166: {
AST::PatternElementList *list = nullptr;
@@ -1254,7 +1267,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1914 "qmljs.g"
+#line 1930 "qmljs.g"
case 167: {
AST::ArrayPattern *node = new (pool) AST::ArrayPattern(sym(2).PatternElementList->finish());
@@ -1263,7 +1276,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1924 "qmljs.g"
+#line 1940 "qmljs.g"
case 168: {
auto *list = sym(2).PatternElementList;
@@ -1279,28 +1292,28 @@ case 59:
Q_ASSERT(node->isValidArrayLiteral());
} break;
-#line 1941 "qmljs.g"
+#line 1957 "qmljs.g"
case 169: {
AST::PatternElement *e = new (pool) AST::PatternElement(sym(1).Expression);
sym(1).Node = new (pool) AST::PatternElementList(nullptr, e);
} break;
-#line 1949 "qmljs.g"
+#line 1965 "qmljs.g"
case 170: {
AST::PatternElement *e = new (pool) AST::PatternElement(sym(2).Expression);
sym(1).Node = new (pool) AST::PatternElementList(sym(1).Elision->finish(), e);
} break;
-#line 1957 "qmljs.g"
+#line 1973 "qmljs.g"
case 171: {
AST::PatternElementList *node = new (pool) AST::PatternElementList(sym(1).Elision, sym(2).PatternElement);
sym(1).Node = node;
} break;
-#line 1965 "qmljs.g"
+#line 1981 "qmljs.g"
case 172: {
AST::PatternElement *e = new (pool) AST::PatternElement(sym(4).Expression);
@@ -1308,14 +1321,14 @@ case 59:
sym(1).Node = sym(1).PatternElementList->append(node);
} break;
-#line 1974 "qmljs.g"
+#line 1990 "qmljs.g"
case 173: {
AST::PatternElementList *node = new (pool) AST::PatternElementList(sym(3).Elision, sym(4).PatternElement);
sym(1).Node = sym(1).PatternElementList->append(node);
} break;
-#line 1982 "qmljs.g"
+#line 1998 "qmljs.g"
case 174: {
AST::Elision *node = new (pool) AST::Elision();
@@ -1323,7 +1336,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 1991 "qmljs.g"
+#line 2007 "qmljs.g"
case 175: {
AST::Elision *node = new (pool) AST::Elision(sym(1).Elision);
@@ -1331,26 +1344,26 @@ case 59:
sym(1).Node = node;
} break;
-#line 2000 "qmljs.g"
+#line 2016 "qmljs.g"
case 176: {
sym(1).Node = nullptr;
} break;
-#line 2007 "qmljs.g"
+#line 2023 "qmljs.g"
case 177: {
sym(1).Node = sym(1).Elision->finish();
} break;
-#line 2014 "qmljs.g"
+#line 2030 "qmljs.g"
case 178: {
AST::PatternElement *node = new (pool) AST::PatternElement(sym(2).Expression, AST::PatternElement::SpreadElement);
sym(1).Node = node;
} break;
-#line 2022 "qmljs.g"
+#line 2038 "qmljs.g"
case 179: {
AST::ObjectPattern *node = new (pool) AST::ObjectPattern();
@@ -1359,7 +1372,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 2032 "qmljs.g"
+#line 2048 "qmljs.g"
case 180: {
AST::ObjectPattern *node = new (pool) AST::ObjectPattern(sym(2).PatternPropertyList->finish());
@@ -1368,7 +1381,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 2042 "qmljs.g"
+#line 2058 "qmljs.g"
case 181: {
AST::ObjectPattern *node = new (pool) AST::ObjectPattern(sym(2).PatternPropertyList->finish());
@@ -1377,24 +1390,24 @@ case 59:
sym(1).Node = node;
} break;
-#line 2053 "qmljs.g"
+#line 2069 "qmljs.g"
case 182: Q_FALLTHROUGH();
-#line 2055 "qmljs.g"
+#line 2071 "qmljs.g"
case 183: {
sym(1).Node = new (pool) AST::PatternPropertyList(sym(1).PatternProperty);
} break;
-#line 2062 "qmljs.g"
+#line 2078 "qmljs.g"
case 184: Q_FALLTHROUGH();
-#line 2064 "qmljs.g"
+#line 2080 "qmljs.g"
case 185: {
AST::PatternPropertyList *node = new (pool) AST::PatternPropertyList(sym(1).PatternPropertyList, sym(3).PatternProperty);
sym(1).Node = node;
} break;
-#line 2072 "qmljs.g"
+#line 2088 "qmljs.g"
case 186: {
AST::IdentifierPropertyName *name = new (pool) AST::IdentifierPropertyName(stringRef(1));
@@ -1406,7 +1419,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 2088 "qmljs.g"
+#line 2104 "qmljs.g"
case 188: {
AST::IdentifierPropertyName *name = new (pool) AST::IdentifierPropertyName(stringRef(1));
@@ -1425,9 +1438,9 @@ case 59:
} break;
-#line 2108 "qmljs.g"
+#line 2124 "qmljs.g"
case 189: Q_FALLTHROUGH();
-#line 2110 "qmljs.g"
+#line 2126 "qmljs.g"
case 190: {
AST::PatternProperty *node = new (pool) AST::PatternProperty(sym(1).PropertyName, sym(3).Expression);
@@ -1439,7 +1452,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 2128 "qmljs.g"
+#line 2144 "qmljs.g"
case 194: {
AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1));
@@ -1447,9 +1460,9 @@ case 59:
sym(1).Node = node;
} break;
-#line 2137 "qmljs.g"
+#line 2153 "qmljs.g"
case 195: Q_FALLTHROUGH();
-#line 2139 "qmljs.g"
+#line 2155 "qmljs.g"
case 196: {
AST::StringLiteralPropertyName *node = new (pool) AST::StringLiteralPropertyName(stringRef(1));
@@ -1457,9 +1470,9 @@ case 59:
sym(1).Node = node;
} break;
-#line 2148 "qmljs.g"
+#line 2164 "qmljs.g"
case 197: Q_FALLTHROUGH();
-#line 2150 "qmljs.g"
+#line 2166 "qmljs.g"
case 198: {
AST::NumericLiteralPropertyName *node = new (pool) AST::NumericLiteralPropertyName(sym(1).dval);
@@ -1467,7 +1480,7 @@ case 59:
sym(1).Node = node;
} break;
-#line 2201 "qmljs.g"
+#line 2217 "qmljs.g"
case 239: {
AST::ComputedPropertyName *node = new (pool) AST::ComputedPropertyName(sym(2).Expression);
@@ -1475,25 +1488,25 @@ case 59:
sym(1).Node = node;
} break;
-#line 2210 "qmljs.g"
+#line 2226 "qmljs.g"
case 240: Q_FALLTHROUGH();
-#line 2212 "qmljs.g"
+#line 2228 "qmljs.g"
case 241: {
sym(1) = sym(2);
} break;
-#line 2220 "qmljs.g"
+#line 2236 "qmljs.g"
case 242: Q_FALLTHROUGH();
-#line 2222 "qmljs.g"
+#line 2238 "qmljs.g"
case 243: {
sym(1).Node = nullptr;
} break;
-#line 2232 "qmljs.g"
+#line 2248 "qmljs.g"
case 246: Q_FALLTHROUGH();
-#line 2235 "qmljs.g"
+#line 2251 "qmljs.g"
case 247: {
AST::TemplateLiteral *node = new (pool) AST::TemplateLiteral(stringRef(1), rawStringRef(1), nullptr);
@@ -1501,9 +1514,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2244 "qmljs.g"
+#line 2260 "qmljs.g"
case 248: Q_FALLTHROUGH();
-#line 2247 "qmljs.g"
+#line 2263 "qmljs.g"
case 249: {
AST::TemplateLiteral *node = new (pool) AST::TemplateLiteral(stringRef(1), rawStringRef(1), sym(2).Expression);
@@ -1512,7 +1525,7 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2260 "qmljs.g"
+#line 2276 "qmljs.g"
case 251: {
AST::SuperLiteral *node = new (pool) AST::SuperLiteral();
@@ -1520,9 +1533,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2270 "qmljs.g"
+#line 2286 "qmljs.g"
case 252: Q_FALLTHROUGH();
-#line 2272 "qmljs.g"
+#line 2288 "qmljs.g"
case 253: {
AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression);
@@ -1531,28 +1544,48 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2284 "qmljs.g"
- case 254:
+#line 2297 "qmljs.g"
+
+ case 254: {
+ AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(4).Expression);
+ node->lbracketToken = loc(3);
+ node->rbracketToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+
+#line 2309 "qmljs.g"
+ case 255:
{
AST::IdentifierExpression *node = new (pool) AST::IdentifierExpression(stringRef(1));
node->identifierToken= loc(1);
sym(1).Node = node;
} Q_FALLTHROUGH();
-#line 2292 "qmljs.g"
- case 255: Q_FALLTHROUGH();
-#line 2294 "qmljs.g"
+#line 2317 "qmljs.g"
+ case 256: Q_FALLTHROUGH();
+#line 2319 "qmljs.g"
- case 256: {
+ case 257: {
AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-#line 2306 "qmljs.g"
+#line 2329 "qmljs.g"
case 258: {
+ AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
+ node->dotToken = loc(2);
+ node->identifierToken = loc(3);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+
+#line 2342 "qmljs.g"
+
+ case 260: {
AST::NewMemberExpression *node = new (pool) AST::NewMemberExpression(sym(2).Expression, sym(4).ArgumentList);
node->newToken = loc(1);
node->lparenToken = loc(3);
@@ -1560,415 +1593,451 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2322 "qmljs.g"
+#line 2358 "qmljs.g"
- case 261: {
+ case 263: {
AST::NewExpression *node = new (pool) AST::NewExpression(sym(2).Expression);
node->newToken = loc(1);
sym(1).Node = node;
} break;
-#line 2332 "qmljs.g"
- case 262: Q_FALLTHROUGH();
-#line 2334 "qmljs.g"
+#line 2368 "qmljs.g"
+ case 264: Q_FALLTHROUGH();
+#line 2370 "qmljs.g"
- case 263: {
+ case 265: {
AST::TaggedTemplate *node = new (pool) AST::TaggedTemplate(sym(1).Expression, sym(2).Template);
sym(1).Node = node;
} break;
-#line 2342 "qmljs.g"
+#line 2378 "qmljs.g"
- case 264: {
+ case 266: {
AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-#line 2352 "qmljs.g"
- case 265: Q_FALLTHROUGH();
-#line 2354 "qmljs.g"
+#line 2388 "qmljs.g"
- case 266: {
+ case 267: {
+ AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(4).ArgumentList);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+
+#line 2399 "qmljs.g"
+ case 268: Q_FALLTHROUGH();
+#line 2401 "qmljs.g"
+
+ case 269: {
AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-#line 2364 "qmljs.g"
+#line 2411 "qmljs.g"
- case 267: {
+ case 270: {
+ AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(4).ArgumentList);
+ node->lparenToken = loc(3);
+ node->rparenToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+
+#line 2423 "qmljs.g"
+
+ case 271: {
AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression);
node->lbracketToken = loc(2);
node->rbracketToken = loc(4);
sym(1).Node = node;
} break;
-#line 2374 "qmljs.g"
+#line 2433 "qmljs.g"
+
+ case 272: {
+ AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(4).Expression);
+ node->lbracketToken = loc(3);
+ node->rbracketToken = loc(5);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+
+#line 2444 "qmljs.g"
- case 268: {
+ case 273: {
AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-#line 2384 "qmljs.g"
+#line 2454 "qmljs.g"
- case 269: {
+ case 274: {
+ AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3));
+ node->dotToken = loc(2);
+ node->identifierToken = loc(3);
+ node->isOptional = true;
+ sym(1).Node = node;
+ } break;
+
+#line 2465 "qmljs.g"
+
+ case 275: {
sym(1).Node = nullptr;
} break;
-#line 2391 "qmljs.g"
- case 270: Q_FALLTHROUGH();
-#line 2393 "qmljs.g"
+#line 2472 "qmljs.g"
+ case 276: Q_FALLTHROUGH();
+#line 2474 "qmljs.g"
- case 271: {
+ case 277: {
sym(1).Node = sym(1).ArgumentList->finish();
} break;
-#line 2400 "qmljs.g"
+#line 2481 "qmljs.g"
- case 272: {
+ case 278: {
sym(1).Node = new (pool) AST::ArgumentList(sym(1).Expression);
} break;
-#line 2407 "qmljs.g"
+#line 2488 "qmljs.g"
- case 273: {
+ case 279: {
AST::ArgumentList *node = new (pool) AST::ArgumentList(sym(2).Expression);
node->isSpreadElement = true;
sym(1).Node = node;
} break;
-#line 2416 "qmljs.g"
+#line 2497 "qmljs.g"
- case 274: {
+ case 280: {
AST::ArgumentList *node = new (pool) AST::ArgumentList(sym(1).ArgumentList, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-#line 2425 "qmljs.g"
+#line 2506 "qmljs.g"
- case 275: {
+ case 281: {
AST::ArgumentList *node = new (pool) AST::ArgumentList(sym(1).ArgumentList, sym(4).Expression);
node->commaToken = loc(2);
node->isSpreadElement = true;
sym(1).Node = node;
} break;
-#line 2440 "qmljs.g"
+#line 2521 "qmljs.g"
- case 279: {
+ case 285: {
AST::PostIncrementExpression *node = new (pool) AST::PostIncrementExpression(sym(1).Expression);
node->incrementToken = loc(2);
sym(1).Node = node;
} break;
-#line 2449 "qmljs.g"
+#line 2530 "qmljs.g"
- case 280: {
+ case 286: {
AST::PostDecrementExpression *node = new (pool) AST::PostDecrementExpression(sym(1).Expression);
node->decrementToken = loc(2);
sym(1).Node = node;
} break;
-#line 2458 "qmljs.g"
+#line 2539 "qmljs.g"
- case 281: {
+ case 287: {
AST::PreIncrementExpression *node = new (pool) AST::PreIncrementExpression(sym(2).Expression);
node->incrementToken = loc(1);
sym(1).Node = node;
} break;
-#line 2467 "qmljs.g"
+#line 2548 "qmljs.g"
- case 282: {
+ case 288: {
AST::PreDecrementExpression *node = new (pool) AST::PreDecrementExpression(sym(2).Expression);
node->decrementToken = loc(1);
sym(1).Node = node;
} break;
-#line 2478 "qmljs.g"
+#line 2559 "qmljs.g"
- case 284: {
+ case 290: {
AST::DeleteExpression *node = new (pool) AST::DeleteExpression(sym(2).Expression);
node->deleteToken = loc(1);
sym(1).Node = node;
} break;
-#line 2487 "qmljs.g"
+#line 2568 "qmljs.g"
- case 285: {
+ case 291: {
AST::VoidExpression *node = new (pool) AST::VoidExpression(sym(2).Expression);
node->voidToken = loc(1);
sym(1).Node = node;
} break;
-#line 2496 "qmljs.g"
+#line 2577 "qmljs.g"
- case 286: {
+ case 292: {
AST::TypeOfExpression *node = new (pool) AST::TypeOfExpression(sym(2).Expression);
node->typeofToken = loc(1);
sym(1).Node = node;
} break;
-#line 2505 "qmljs.g"
+#line 2586 "qmljs.g"
- case 287: {
+ case 293: {
AST::UnaryPlusExpression *node = new (pool) AST::UnaryPlusExpression(sym(2).Expression);
node->plusToken = loc(1);
sym(1).Node = node;
} break;
-#line 2514 "qmljs.g"
+#line 2595 "qmljs.g"
- case 288: {
+ case 294: {
AST::UnaryMinusExpression *node = new (pool) AST::UnaryMinusExpression(sym(2).Expression);
node->minusToken = loc(1);
sym(1).Node = node;
} break;
-#line 2523 "qmljs.g"
+#line 2604 "qmljs.g"
- case 289: {
+ case 295: {
AST::TildeExpression *node = new (pool) AST::TildeExpression(sym(2).Expression);
node->tildeToken = loc(1);
sym(1).Node = node;
} break;
-#line 2532 "qmljs.g"
+#line 2613 "qmljs.g"
- case 290: {
+ case 296: {
AST::NotExpression *node = new (pool) AST::NotExpression(sym(2).Expression);
node->notToken = loc(1);
sym(1).Node = node;
} break;
-#line 2543 "qmljs.g"
+#line 2624 "qmljs.g"
- case 292: {
+ case 298: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Exp, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2554 "qmljs.g"
+#line 2635 "qmljs.g"
- case 294: {
+ case 300: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2563 "qmljs.g"
+#line 2644 "qmljs.g"
- case 295: {
+ case 301: {
sym(1).ival = QSOperator::Mul;
} break;
-#line 2570 "qmljs.g"
+#line 2651 "qmljs.g"
- case 296: {
+ case 302: {
sym(1).ival = QSOperator::Div;
} break;
-#line 2577 "qmljs.g"
+#line 2658 "qmljs.g"
- case 297: {
+ case 303: {
sym(1).ival = QSOperator::Mod;
} break;
-#line 2586 "qmljs.g"
+#line 2667 "qmljs.g"
- case 299: {
+ case 305: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Add, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2595 "qmljs.g"
+#line 2676 "qmljs.g"
- case 300: {
+ case 306: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Sub, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2606 "qmljs.g"
+#line 2687 "qmljs.g"
- case 302: {
+ case 308: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::LShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2615 "qmljs.g"
+#line 2696 "qmljs.g"
- case 303: {
+ case 309: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::RShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2624 "qmljs.g"
+#line 2705 "qmljs.g"
- case 304: {
+ case 310: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::URShift, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2636 "qmljs.g"
- case 307: Q_FALLTHROUGH();
-#line 2638 "qmljs.g"
+#line 2717 "qmljs.g"
+ case 313: Q_FALLTHROUGH();
+#line 2719 "qmljs.g"
- case 308: {
+ case 314: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2647 "qmljs.g"
+#line 2728 "qmljs.g"
- case 309: {
+ case 315: {
sym(1).ival = QSOperator::Lt;
} break;
-#line 2653 "qmljs.g"
+#line 2734 "qmljs.g"
- case 310: {
+ case 316: {
sym(1).ival = QSOperator::Gt;
} break;
-#line 2659 "qmljs.g"
+#line 2740 "qmljs.g"
- case 311: {
+ case 317: {
sym(1).ival = QSOperator::Le;
} break;
-#line 2665 "qmljs.g"
+#line 2746 "qmljs.g"
- case 312: {
+ case 318: {
sym(1).ival = QSOperator::Ge;
} break;
-#line 2671 "qmljs.g"
+#line 2752 "qmljs.g"
- case 313: {
+ case 319: {
sym(1).ival = QSOperator::InstanceOf;
} break;
-#line 2678 "qmljs.g"
+#line 2758 "qmljs.g"
- case 314: {
- AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::In, sym(3).Expression);
- node->operatorToken = loc(2);
- sym(1).Node = node;
+ case 320: {
+ sym(1).ival = QSOperator::As;
} break;
-#line 2687 "qmljs.g"
- case 315: Q_FALLTHROUGH();
-#line 2689 "qmljs.g"
+#line 2765 "qmljs.g"
- case 316: {
- AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::As, sym(3).Expression);
+ case 321: {
+ AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::In, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2704 "qmljs.g"
- case 321: Q_FALLTHROUGH();
-#line 2706 "qmljs.g"
+#line 2777 "qmljs.g"
+ case 324: Q_FALLTHROUGH();
+#line 2779 "qmljs.g"
- case 322: {
+ case 325: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2715 "qmljs.g"
+#line 2788 "qmljs.g"
- case 323: {
+ case 326: {
sym(1).ival = QSOperator::Equal;
} break;
-#line 2721 "qmljs.g"
+#line 2794 "qmljs.g"
- case 324: {
+ case 327: {
sym(1).ival = QSOperator::NotEqual;
} break;
-#line 2727 "qmljs.g"
+#line 2800 "qmljs.g"
- case 325: {
+ case 328: {
sym(1).ival = QSOperator::StrictEqual;
} break;
-#line 2733 "qmljs.g"
+#line 2806 "qmljs.g"
- case 326: {
+ case 329: {
sym(1).ival = QSOperator::StrictNotEqual;
} break;
-#line 2744 "qmljs.g"
- case 329: Q_FALLTHROUGH();
-#line 2746 "qmljs.g"
+#line 2817 "qmljs.g"
+ case 332: Q_FALLTHROUGH();
+#line 2819 "qmljs.g"
- case 330: {
+ case 333: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::BitAnd, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2759 "qmljs.g"
- case 333: Q_FALLTHROUGH();
-#line 2761 "qmljs.g"
+#line 2832 "qmljs.g"
+ case 336: Q_FALLTHROUGH();
+#line 2834 "qmljs.g"
- case 334: {
+ case 337: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::BitXor, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2773 "qmljs.g"
- case 337: Q_FALLTHROUGH();
-#line 2775 "qmljs.g"
+#line 2846 "qmljs.g"
+ case 340: Q_FALLTHROUGH();
+#line 2848 "qmljs.g"
- case 338: {
+ case 341: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::BitOr, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2787 "qmljs.g"
- case 341: Q_FALLTHROUGH();
-#line 2789 "qmljs.g"
+#line 2860 "qmljs.g"
+ case 344: Q_FALLTHROUGH();
+#line 2862 "qmljs.g"
- case 342: {
+ case 345: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::And, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2801 "qmljs.g"
- case 345: Q_FALLTHROUGH();
-#line 2803 "qmljs.g"
+#line 2874 "qmljs.g"
+ case 348: Q_FALLTHROUGH();
+#line 2876 "qmljs.g"
- case 346: {
+ case 349: {
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, QSOperator::Or, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2815 "qmljs.g"
- case 349: Q_FALLTHROUGH();
-#line 2817 "qmljs.g"
+#line 2888 "qmljs.g"
+ case 352: Q_FALLTHROUGH();
+#line 2890 "qmljs.g"
- case 350: {
+ case 353: {
auto *lhs = sym(1).Expression;
auto *rhs = sym(3).Expression;
@@ -1996,22 +2065,25 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2851 "qmljs.g"
- case 353: Q_FALLTHROUGH();
-#line 2853 "qmljs.g"
+#line 2924 "qmljs.g"
+ case 356: Q_FALLTHROUGH();
+#line 2926 "qmljs.g"
- case 354: {
+ case 357: {
AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression, sym(3).Expression, sym(5).Expression);
node->questionToken = loc(2);
node->colonToken = loc(4);
sym(1).Node = node;
} break;
-#line 2872 "qmljs.g"
- case 361: Q_FALLTHROUGH();
-#line 2874 "qmljs.g"
+#line 2945 "qmljs.g"
+ case 364: Q_FALLTHROUGH();
+#line 2947 "qmljs.g"
- case 362: {
+ case 365: {
+ if (sym(1).Expression->containsOptionalChain()) {
+ syntaxError(loc(1), QStringLiteral("Optional chains are not permitted on the left-hand-side in assignments"));
+ }
// need to convert the LHS to an AssignmentPattern if it was an Array/ObjectLiteral
if (AST::Pattern *p = sym(1).Expression->patternCast()) {
SourceLocation errorLoc;
@@ -2036,208 +2108,211 @@ case 241: {
sym(1).Node = node;
} break;
-#line 2902 "qmljs.g"
- case 363: Q_FALLTHROUGH();
-#line 2904 "qmljs.g"
+#line 2978 "qmljs.g"
+ case 366: Q_FALLTHROUGH();
+#line 2980 "qmljs.g"
- case 364: {
+ case 367: {
+ if (sym(1).Expression->containsOptionalChain()) {
+ syntaxError(loc(1), QStringLiteral("Optional chains are not permitted on the left-hand-side in assignments"));
+ }
AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, sym(2).ival, sym(3).Expression);
node->operatorToken = loc(2);
sym(1).Node = node;
} break;
-#line 2913 "qmljs.g"
+#line 2992 "qmljs.g"
- case 365: {
+ case 368: {
sym(1).ival = QSOperator::InplaceMul;
} break;
-#line 2920 "qmljs.g"
+#line 2999 "qmljs.g"
- case 366: {
+ case 369: {
sym(1).ival = QSOperator::InplaceExp;
} break;
-#line 2927 "qmljs.g"
+#line 3006 "qmljs.g"
- case 367: {
+ case 370: {
sym(1).ival = QSOperator::InplaceDiv;
} break;
-#line 2934 "qmljs.g"
+#line 3013 "qmljs.g"
- case 368: {
+ case 371: {
sym(1).ival = QSOperator::InplaceMod;
} break;
-#line 2941 "qmljs.g"
+#line 3020 "qmljs.g"
- case 369: {
+ case 372: {
sym(1).ival = QSOperator::InplaceAdd;
} break;
-#line 2948 "qmljs.g"
+#line 3027 "qmljs.g"
- case 370: {
+ case 373: {
sym(1).ival = QSOperator::InplaceSub;
} break;
-#line 2955 "qmljs.g"
+#line 3034 "qmljs.g"
- case 371: {
+ case 374: {
sym(1).ival = QSOperator::InplaceLeftShift;
} break;
-#line 2962 "qmljs.g"
+#line 3041 "qmljs.g"
- case 372: {
+ case 375: {
sym(1).ival = QSOperator::InplaceRightShift;
} break;
-#line 2969 "qmljs.g"
+#line 3048 "qmljs.g"
- case 373: {
+ case 376: {
sym(1).ival = QSOperator::InplaceURightShift;
} break;
-#line 2976 "qmljs.g"
+#line 3055 "qmljs.g"
- case 374: {
+ case 377: {
sym(1).ival = QSOperator::InplaceAnd;
} break;
-#line 2983 "qmljs.g"
+#line 3062 "qmljs.g"
- case 375: {
+ case 378: {
sym(1).ival = QSOperator::InplaceXor;
} break;
-#line 2990 "qmljs.g"
+#line 3069 "qmljs.g"
- case 376: {
+ case 379: {
sym(1).ival = QSOperator::InplaceOr;
} break;
-#line 3000 "qmljs.g"
- case 379: Q_FALLTHROUGH();
-#line 3002 "qmljs.g"
+#line 3079 "qmljs.g"
+ case 382: Q_FALLTHROUGH();
+#line 3081 "qmljs.g"
- case 380: {
+ case 383: {
AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-#line 3011 "qmljs.g"
- case 381: Q_FALLTHROUGH();
-#line 3013 "qmljs.g"
+#line 3090 "qmljs.g"
+ case 384: Q_FALLTHROUGH();
+#line 3092 "qmljs.g"
- case 382: {
+ case 385: {
sym(1).Node = nullptr;
} break;
-#line 3025 "qmljs.g"
+#line 3104 "qmljs.g"
- case 385: {
+ case 388: {
sym(1).Node = sym(3).Node;
} break;
-#line 3032 "qmljs.g"
- case 386: Q_FALLTHROUGH();
-#line 3034 "qmljs.g"
- case 387: Q_FALLTHROUGH();
-#line 3036 "qmljs.g"
- case 388: Q_FALLTHROUGH();
-#line 3038 "qmljs.g"
+#line 3111 "qmljs.g"
case 389: Q_FALLTHROUGH();
-#line 3040 "qmljs.g"
+#line 3113 "qmljs.g"
case 390: Q_FALLTHROUGH();
-#line 3042 "qmljs.g"
+#line 3115 "qmljs.g"
case 391: Q_FALLTHROUGH();
-#line 3044 "qmljs.g"
+#line 3117 "qmljs.g"
case 392: Q_FALLTHROUGH();
-#line 3046 "qmljs.g"
+#line 3119 "qmljs.g"
case 393: Q_FALLTHROUGH();
-#line 3048 "qmljs.g"
+#line 3121 "qmljs.g"
case 394: Q_FALLTHROUGH();
-#line 3050 "qmljs.g"
+#line 3123 "qmljs.g"
case 395: Q_FALLTHROUGH();
-#line 3052 "qmljs.g"
+#line 3125 "qmljs.g"
case 396: Q_FALLTHROUGH();
-#line 3054 "qmljs.g"
+#line 3127 "qmljs.g"
case 397: Q_FALLTHROUGH();
-#line 3056 "qmljs.g"
+#line 3129 "qmljs.g"
+ case 398: Q_FALLTHROUGH();
+#line 3131 "qmljs.g"
+ case 399: Q_FALLTHROUGH();
+#line 3133 "qmljs.g"
+ case 400: Q_FALLTHROUGH();
+#line 3135 "qmljs.g"
- case 398: {
+ case 401: {
sym(1).Node = sym(2).Node;
} break;
-#line 3078 "qmljs.g"
+#line 3157 "qmljs.g"
- case 409: {
+ case 412: {
AST::Block *node = new (pool) AST::Block(sym(2).StatementList);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-#line 3090 "qmljs.g"
+#line 3169 "qmljs.g"
- case 411: {
+ case 414: {
sym(1).StatementList = sym(1).StatementList->append(sym(2).StatementList);
} break;
-#line 3097 "qmljs.g"
+#line 3176 "qmljs.g"
- case 412: {
+ case 415: {
sym(1).StatementList = new (pool) AST::StatementList(sym(1).Statement);
} break;
-#line 3104 "qmljs.g"
+#line 3183 "qmljs.g"
- case 413: {
+ case 416: {
sym(1).Node = new (pool) AST::StatementList(sym(3).FunctionDeclaration);
} break;
-#line 3111 "qmljs.g"
+#line 3190 "qmljs.g"
- case 414: {
+ case 417: {
sym(1).Node = nullptr;
} break;
-#line 3118 "qmljs.g"
+#line 3197 "qmljs.g"
- case 415: {
+ case 418: {
sym(1).Node = sym(1).StatementList->finish();
} break;
-#line 3125 "qmljs.g"
+#line 3204 "qmljs.g"
- case 416: {
+ case 419: {
sym(1).scope = AST::VariableScope::Let;
} break;
-#line 3131 "qmljs.g"
+#line 3210 "qmljs.g"
- case 417: {
+ case 420: {
sym(1).scope = AST::VariableScope::Const;
} break;
-#line 3138 "qmljs.g"
+#line 3217 "qmljs.g"
- case 418: {
+ case 421: {
sym(1).scope = AST::VariableScope::Var;
} break;
-#line 3145 "qmljs.g"
- case 419: Q_FALLTHROUGH();
-#line 3147 "qmljs.g"
- case 420: Q_FALLTHROUGH();
-#line 3149 "qmljs.g"
- case 421: Q_FALLTHROUGH();
-#line 3151 "qmljs.g"
+#line 3224 "qmljs.g"
+ case 422: Q_FALLTHROUGH();
+#line 3226 "qmljs.g"
+ case 423: Q_FALLTHROUGH();
+#line 3228 "qmljs.g"
+ case 424: Q_FALLTHROUGH();
+#line 3230 "qmljs.g"
- case 422: {
+ case 425: {
AST::VariableDeclarationList *declarations = sym(2).VariableDeclarationList->finish(sym(1).scope);
for (auto it = declarations; it; it = it->next) {
if (it->declaration && it->declaration->typeAnnotation) {
@@ -2250,41 +2325,41 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3169 "qmljs.g"
- case 424: Q_FALLTHROUGH();
-#line 3171 "qmljs.g"
- case 425: Q_FALLTHROUGH();
-#line 3173 "qmljs.g"
- case 426: Q_FALLTHROUGH();
-#line 3175 "qmljs.g"
+#line 3248 "qmljs.g"
+ case 427: Q_FALLTHROUGH();
+#line 3250 "qmljs.g"
+ case 428: Q_FALLTHROUGH();
+#line 3252 "qmljs.g"
+ case 429: Q_FALLTHROUGH();
+#line 3254 "qmljs.g"
- case 427: {
+ case 430: {
sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).PatternElement);
} break;
-#line 3182 "qmljs.g"
- case 428: Q_FALLTHROUGH();
-#line 3184 "qmljs.g"
- case 429: Q_FALLTHROUGH();
-#line 3186 "qmljs.g"
- case 430: Q_FALLTHROUGH();
-#line 3188 "qmljs.g"
+#line 3261 "qmljs.g"
+ case 431: Q_FALLTHROUGH();
+#line 3263 "qmljs.g"
+ case 432: Q_FALLTHROUGH();
+#line 3265 "qmljs.g"
+ case 433: Q_FALLTHROUGH();
+#line 3267 "qmljs.g"
- case 431: {
+ case 434: {
AST::VariableDeclarationList *node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclarationList, sym(3).PatternElement);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-#line 3197 "qmljs.g"
- case 432: Q_FALLTHROUGH();
-#line 3199 "qmljs.g"
- case 433: Q_FALLTHROUGH();
-#line 3201 "qmljs.g"
- case 434: Q_FALLTHROUGH();
-#line 3203 "qmljs.g"
+#line 3276 "qmljs.g"
+ case 435: Q_FALLTHROUGH();
+#line 3278 "qmljs.g"
+ case 436: Q_FALLTHROUGH();
+#line 3280 "qmljs.g"
+ case 437: Q_FALLTHROUGH();
+#line 3282 "qmljs.g"
- case 435: {
+ case 438: {
auto *node = new (pool) AST::PatternElement(stringRef(1), sym(2).TypeAnnotation, sym(3).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
@@ -2295,23 +2370,23 @@ case 241: {
c->name = stringRef(1);
} break;
-#line 3217 "qmljs.g"
- case 436: Q_FALLTHROUGH();
-#line 3219 "qmljs.g"
- case 437: Q_FALLTHROUGH();
-#line 3221 "qmljs.g"
- case 438: Q_FALLTHROUGH();
-#line 3223 "qmljs.g"
+#line 3296 "qmljs.g"
+ case 439: Q_FALLTHROUGH();
+#line 3298 "qmljs.g"
+ case 440: Q_FALLTHROUGH();
+#line 3300 "qmljs.g"
+ case 441: Q_FALLTHROUGH();
+#line 3302 "qmljs.g"
- case 439: {
+ case 442: {
auto *node = new (pool) AST::PatternElement(sym(1).Pattern, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-#line 3232 "qmljs.g"
+#line 3311 "qmljs.g"
- case 440: {
+ case 443: {
auto *node = new (pool) AST::ObjectPattern(sym(2).PatternPropertyList);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
@@ -2319,9 +2394,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3243 "qmljs.g"
+#line 3322 "qmljs.g"
- case 441: {
+ case 444: {
auto *node = new (pool) AST::ArrayPattern(sym(2).PatternElementList);
node->lbracketToken = loc(1);
node->rbracketToken = loc(3);
@@ -2329,23 +2404,23 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3254 "qmljs.g"
+#line 3333 "qmljs.g"
- case 442: {
+ case 445: {
sym(1).Node = nullptr;
} break;
-#line 3261 "qmljs.g"
- case 443:
-#line 3263 "qmljs.g"
+#line 3340 "qmljs.g"
+ case 446:
+#line 3342 "qmljs.g"
- case 444: {
+ case 447: {
sym(1).Node = sym(1).PatternPropertyList->finish();
} break;
-#line 3270 "qmljs.g"
+#line 3349 "qmljs.g"
- case 445: {
+ case 448: {
if (sym(1).Elision || sym(2).Node) {
auto *l = new (pool) AST::PatternElementList(sym(1).Elision, sym(2).PatternElement);
sym(1).Node = l->finish();
@@ -2354,15 +2429,15 @@ case 241: {
}
} break;
-#line 3282 "qmljs.g"
+#line 3361 "qmljs.g"
- case 446: {
+ case 449: {
sym(1).Node = sym(1).PatternElementList->finish();
} break;
-#line 3289 "qmljs.g"
+#line 3368 "qmljs.g"
- case 447: {
+ case 450: {
if (sym(3).Elision || sym(4).Node) {
auto *l = new (pool) AST::PatternElementList(sym(3).Elision, sym(4).PatternElement);
l = sym(1).PatternElementList->append(l);
@@ -2371,33 +2446,33 @@ case 241: {
sym(1).Node = sym(1).PatternElementList->finish();
} break;
-#line 3301 "qmljs.g"
+#line 3380 "qmljs.g"
- case 448: {
+ case 451: {
sym(1).Node = new (pool) AST::PatternPropertyList(sym(1).PatternProperty);
} break;
-#line 3308 "qmljs.g"
+#line 3387 "qmljs.g"
- case 449: {
+ case 452: {
sym(1).Node = new (pool) AST::PatternPropertyList(sym(1).PatternPropertyList, sym(3).PatternProperty);
} break;
-#line 3317 "qmljs.g"
+#line 3396 "qmljs.g"
- case 451: {
+ case 454: {
sym(1).PatternElementList = sym(1).PatternElementList->append(sym(3).PatternElementList);
} break;
-#line 3324 "qmljs.g"
+#line 3403 "qmljs.g"
- case 452: {
+ case 455: {
sym(1).Node = new (pool) AST::PatternElementList(sym(1).Elision, sym(2).PatternElement);
} break;
-#line 3332 "qmljs.g"
+#line 3411 "qmljs.g"
- case 453: {
+ case 456: {
AST::StringLiteralPropertyName *name = new (pool) AST::StringLiteralPropertyName(stringRef(1));
name->propertyNameToken = loc(1);
// if initializer is an anonymous function expression, we need to assign identifierref as it's name
@@ -2408,23 +2483,23 @@ case 241: {
sym(1).Node = new (pool) AST::PatternProperty(name, stringRef(1), sym(2).Expression);
} break;
-#line 3346 "qmljs.g"
+#line 3425 "qmljs.g"
- case 454: {
+ case 457: {
AST::PatternProperty *node = new (pool) AST::PatternProperty(sym(1).PropertyName, stringRef(3), sym(4).Expression);
sym(1).Node = node;
} break;
-#line 3354 "qmljs.g"
+#line 3433 "qmljs.g"
- case 455: {
+ case 458: {
AST::PatternProperty *node = new (pool) AST::PatternProperty(sym(1).PropertyName, sym(3).Pattern, sym(4).Expression);
sym(1).Node = node;
} break;
-#line 3362 "qmljs.g"
+#line 3441 "qmljs.g"
- case 456: {
+ case 459: {
AST::PatternElement *node = new (pool) AST::PatternElement(stringRef(1), sym(2).TypeAnnotation, sym(3).Expression);
node->identifierToken = loc(1);
// if initializer is an anonymous function expression, we need to assign identifierref as it's name
@@ -2435,45 +2510,45 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3376 "qmljs.g"
+#line 3455 "qmljs.g"
- case 457: {
+ case 460: {
AST::PatternElement *node = new (pool) AST::PatternElement(sym(1).Pattern, sym(2).Expression);
sym(1).Node = node;
} break;
-#line 3384 "qmljs.g"
+#line 3463 "qmljs.g"
- case 458: {
+ case 461: {
AST::PatternElement *node = new (pool) AST::PatternElement(stringRef(2), /*type annotation*/nullptr, nullptr, AST::PatternElement::RestElement);
node->identifierToken = loc(2);
sym(1).Node = node;
} break;
-#line 3393 "qmljs.g"
+#line 3472 "qmljs.g"
- case 459: {
+ case 462: {
AST::PatternElement *node = new (pool) AST::PatternElement(sym(2).Pattern, nullptr, AST::PatternElement::RestElement);
sym(1).Node = node;
} break;
-#line 3401 "qmljs.g"
+#line 3480 "qmljs.g"
- case 460: {
+ case 463: {
sym(1).Node = nullptr;
} break;
-#line 3411 "qmljs.g"
+#line 3490 "qmljs.g"
- case 462: {
+ case 465: {
AST::EmptyStatement *node = new (pool) AST::EmptyStatement();
node->semicolonToken = loc(1);
sym(1).Node = node;
} break;
-#line 3426 "qmljs.g"
+#line 3505 "qmljs.g"
- case 463: {
+ case 466: {
int token = lookaheadToken(lexer);
if (token == T_LBRACE)
pushToken(T_FORCE_BLOCK);
@@ -2481,17 +2556,17 @@ case 241: {
pushToken(T_FORCE_DECLARATION);
} break;
-#line 3437 "qmljs.g"
+#line 3516 "qmljs.g"
- case 464: {
+ case 467: {
AST::ExpressionStatement *node = new (pool) AST::ExpressionStatement(sym(1).Expression);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-#line 3446 "qmljs.g"
+#line 3525 "qmljs.g"
- case 465: {
+ case 468: {
AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement, sym(7).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -2500,9 +2575,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3458 "qmljs.g"
+#line 3537 "qmljs.g"
- case 466: {
+ case 469: {
AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement);
node->ifToken = loc(1);
node->lparenToken = loc(2);
@@ -2510,9 +2585,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3471 "qmljs.g"
+#line 3550 "qmljs.g"
- case 468: {
+ case 471: {
AST::DoWhileStatement *node = new (pool) AST::DoWhileStatement(sym(2).Statement, sym(5).Expression);
node->doToken = loc(1);
node->whileToken = loc(3);
@@ -2522,9 +2597,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3484 "qmljs.g"
+#line 3563 "qmljs.g"
- case 469: {
+ case 472: {
AST::WhileStatement *node = new (pool) AST::WhileStatement(sym(3).Expression, sym(5).Statement);
node->whileToken = loc(1);
node->lparenToken = loc(2);
@@ -2532,9 +2607,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3495 "qmljs.g"
+#line 3574 "qmljs.g"
- case 470: {
+ case 473: {
AST::ForStatement *node = new (pool) AST::ForStatement(sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement);
node->forToken = loc(1);
node->lparenToken = loc(2);
@@ -2544,11 +2619,11 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3508 "qmljs.g"
- case 471: Q_FALLTHROUGH();
-#line 3510 "qmljs.g"
+#line 3587 "qmljs.g"
+ case 474: Q_FALLTHROUGH();
+#line 3589 "qmljs.g"
- case 472: {
+ case 475: {
// ### get rid of the static_cast!
AST::ForStatement *node = new (pool) AST::ForStatement(
static_cast<AST::VariableStatement *>(sym(3).Node)->declarations, sym(5).Expression,
@@ -2561,21 +2636,21 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3526 "qmljs.g"
+#line 3605 "qmljs.g"
- case 473: {
+ case 476: {
sym(1).forEachType = AST::ForEachType::In;
} break;
-#line 3533 "qmljs.g"
+#line 3612 "qmljs.g"
- case 474: {
+ case 477: {
sym(1).forEachType = AST::ForEachType::Of;
} break;
-#line 3540 "qmljs.g"
+#line 3619 "qmljs.g"
- case 475: {
+ case 478: {
// need to convert the LHS to an AssignmentPattern if it was an Array/ObjectLiteral
if (AST::Pattern *p = sym(3).Expression->patternCast()) {
SourceLocation errorLoc;
@@ -2594,9 +2669,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3562 "qmljs.g"
+#line 3641 "qmljs.g"
- case 476: {
+ case 479: {
AST::ForEachStatement *node = new (pool) AST::ForEachStatement(sym(3).PatternElement, sym(5).Expression, sym(7).Statement);
node->forToken = loc(1);
node->lparenToken = loc(2);
@@ -2606,11 +2681,11 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3575 "qmljs.g"
- case 477: Q_FALLTHROUGH();
-#line 3577 "qmljs.g"
+#line 3654 "qmljs.g"
+ case 480: Q_FALLTHROUGH();
+#line 3656 "qmljs.g"
- case 478: {
+ case 481: {
if (auto typeAnnotation = sym(3).TypeAnnotation) {
syntaxError(typeAnnotation->firstSourceLocation(), "Type annotations are not permitted in variable declarations");
return false;
@@ -2622,29 +2697,29 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3592 "qmljs.g"
- case 479: Q_FALLTHROUGH();
-#line 3594 "qmljs.g"
+#line 3671 "qmljs.g"
+ case 482: Q_FALLTHROUGH();
+#line 3673 "qmljs.g"
- case 480: {
+ case 483: {
auto *node = new (pool) AST::PatternElement(sym(2).Pattern, nullptr);
node->scope = sym(1).scope;
node->isForDeclaration = true;
sym(1).Node = node;
} break;
-#line 3604 "qmljs.g"
+#line 3683 "qmljs.g"
- case 481: {
+ case 484: {
AST::ContinueStatement *node = new (pool) AST::ContinueStatement();
node->continueToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-#line 3614 "qmljs.g"
+#line 3693 "qmljs.g"
- case 482: {
+ case 485: {
AST::ContinueStatement *node = new (pool) AST::ContinueStatement(stringRef(2));
node->continueToken = loc(1);
node->identifierToken = loc(2);
@@ -2652,18 +2727,18 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3625 "qmljs.g"
+#line 3704 "qmljs.g"
- case 483: {
+ case 486: {
AST::BreakStatement *node = new (pool) AST::BreakStatement(QStringView());
node->breakToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-#line 3635 "qmljs.g"
+#line 3714 "qmljs.g"
- case 484: {
+ case 487: {
AST::BreakStatement *node = new (pool) AST::BreakStatement(stringRef(2));
node->breakToken = loc(1);
node->identifierToken = loc(2);
@@ -2671,9 +2746,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3646 "qmljs.g"
+#line 3725 "qmljs.g"
- case 485: {
+ case 488: {
if (!functionNestingLevel) {
syntaxError(loc(1), "Return statement not allowed outside of Function declaration.");
return false;
@@ -2684,9 +2759,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3660 "qmljs.g"
+#line 3739 "qmljs.g"
- case 486: {
+ case 489: {
AST::WithStatement *node = new (pool) AST::WithStatement(sym(3).Expression, sym(5).Statement);
node->withToken = loc(1);
node->lparenToken = loc(2);
@@ -2694,9 +2769,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3671 "qmljs.g"
+#line 3750 "qmljs.g"
- case 487: {
+ case 490: {
AST::SwitchStatement *node = new (pool) AST::SwitchStatement(sym(3).Expression, sym(5).CaseBlock);
node->switchToken = loc(1);
node->lparenToken = loc(2);
@@ -2704,118 +2779,118 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3682 "qmljs.g"
+#line 3761 "qmljs.g"
- case 488: {
+ case 491: {
AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-#line 3692 "qmljs.g"
+#line 3771 "qmljs.g"
- case 489: {
+ case 492: {
AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses);
node->lbraceToken = loc(1);
node->rbraceToken = loc(5);
sym(1).Node = node;
} break;
-#line 3702 "qmljs.g"
+#line 3781 "qmljs.g"
- case 490: {
+ case 493: {
sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClause);
} break;
-#line 3709 "qmljs.g"
+#line 3788 "qmljs.g"
- case 491: {
+ case 494: {
sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClauses, sym(2).CaseClause);
} break;
-#line 3716 "qmljs.g"
+#line 3795 "qmljs.g"
- case 492: {
+ case 495: {
sym(1).Node = nullptr;
} break;
-#line 3723 "qmljs.g"
+#line 3802 "qmljs.g"
- case 493: {
+ case 496: {
sym(1).Node = sym(1).CaseClauses->finish();
} break;
-#line 3730 "qmljs.g"
+#line 3809 "qmljs.g"
- case 494: {
+ case 497: {
AST::CaseClause *node = new (pool) AST::CaseClause(sym(2).Expression, sym(4).StatementList);
node->caseToken = loc(1);
node->colonToken = loc(3);
sym(1).Node = node;
} break;
-#line 3740 "qmljs.g"
+#line 3819 "qmljs.g"
- case 495: {
+ case 498: {
AST::DefaultClause *node = new (pool) AST::DefaultClause(sym(3).StatementList);
node->defaultToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-#line 3750 "qmljs.g"
+#line 3829 "qmljs.g"
- case 496: {
+ case 499: {
AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement);
node->identifierToken = loc(1);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-#line 3762 "qmljs.g"
+#line 3841 "qmljs.g"
- case 498: {
+ case 501: {
syntaxError(loc(3), "FunctionDeclarations are not allowed after a label.");
return false;
} break;
-#line 3770 "qmljs.g"
+#line 3849 "qmljs.g"
- case 499: {
+ case 502: {
AST::ThrowStatement *node = new (pool) AST::ThrowStatement(sym(2).Expression);
node->throwToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-#line 3780 "qmljs.g"
+#line 3859 "qmljs.g"
- case 500: {
+ case 503: {
AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-#line 3789 "qmljs.g"
+#line 3868 "qmljs.g"
- case 501: {
+ case 504: {
AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-#line 3798 "qmljs.g"
+#line 3877 "qmljs.g"
- case 502: {
+ case 505: {
AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch, sym(4).Finally);
node->tryToken = loc(1);
sym(1).Node = node;
} break;
-#line 3807 "qmljs.g"
+#line 3886 "qmljs.g"
- case 503: {
+ case 506: {
AST::Catch *node = new (pool) AST::Catch(sym(3).PatternElement, sym(5).Block);
node->catchToken = loc(1);
node->lparenToken = loc(2);
@@ -2824,43 +2899,43 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3819 "qmljs.g"
+#line 3898 "qmljs.g"
- case 504: {
+ case 507: {
AST::Finally *node = new (pool) AST::Finally(sym(2).Block);
node->finallyToken = loc(1);
sym(1).Node = node;
} break;
-#line 3828 "qmljs.g"
+#line 3907 "qmljs.g"
- case 505: {
+ case 508: {
AST::PatternElement *node = new (pool) AST::PatternElement(stringRef(1));
node->identifierToken = loc(1);
node->scope = AST::VariableScope::Let;
sym(1).Node = node;
} break;
-#line 3838 "qmljs.g"
+#line 3917 "qmljs.g"
- case 506: {
+ case 509: {
AST::PatternElement *node = new (pool) AST::PatternElement(sym(1).Pattern);
node->scope = AST::VariableScope::Let;
sym(1).Node = node;
} break;
-#line 3847 "qmljs.g"
+#line 3926 "qmljs.g"
- case 507: {
+ case 510: {
AST::DebuggerStatement *node = new (pool) AST::DebuggerStatement();
node->debuggerToken = loc(1);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-#line 3864 "qmljs.g"
+#line 3943 "qmljs.g"
- case 509: {
+ case 512: {
if (!ensureNoFunctionTypeAnnotations(sym(6).TypeAnnotation, sym(4).FormalParameterList))
return false;
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(8).StatementList,
@@ -2874,9 +2949,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3881 "qmljs.g"
+#line 3960 "qmljs.g"
- case 510: {
+ case 513: {
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(8).StatementList,
sym(6).TypeAnnotation);
node->functionToken = loc(1);
@@ -2888,9 +2963,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3897 "qmljs.g"
+#line 3976 "qmljs.g"
- case 512: {
+ case 515: {
if (!ensureNoFunctionTypeAnnotations(sym(5).TypeAnnotation, sym(3).FormalParameterList))
return false;
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(QStringView(), sym(3).FormalParameterList, sym(7).StatementList,
@@ -2903,9 +2978,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3913 "qmljs.g"
+#line 3992 "qmljs.g"
- case 513: {
+ case 516: {
if (!ensureNoFunctionTypeAnnotations(sym(6).TypeAnnotation, sym(4).FormalParameterList))
return false;
AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(8).StatementList,
@@ -2920,9 +2995,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3931 "qmljs.g"
+#line 4010 "qmljs.g"
- case 514: {
+ case 517: {
if (!ensureNoFunctionTypeAnnotations(sym(5).TypeAnnotation, sym(3).FormalParameterList))
return false;
AST::FunctionExpression *node = new (pool) AST::FunctionExpression(QStringView(), sym(3).FormalParameterList, sym(7).StatementList,
@@ -2935,102 +3010,101 @@ case 241: {
sym(1).Node = node;
} break;
-#line 3949 "qmljs.g"
+#line 4028 "qmljs.g"
- case 516: {
+ case 519: {
sym(1).Node = nullptr;
} break;
-#line 3956 "qmljs.g"
+#line 4035 "qmljs.g"
- case 517: {
+ case 520: {
AST::FormalParameterList *node = (new (pool) AST::FormalParameterList(nullptr, sym(1).PatternElement))->finish(pool);
sym(1).Node = node;
} break;
-#line 3964 "qmljs.g"
- case 518:
-#line 3966 "qmljs.g"
+#line 4043 "qmljs.g"
+ case 521:
+#line 4045 "qmljs.g"
- case 519: {
+ case 522: {
sym(1).Node = sym(1).FormalParameterList->finish(pool);
} break;
-#line 3973 "qmljs.g"
+#line 4052 "qmljs.g"
- case 520: {
+ case 523: {
AST::FormalParameterList *node = (new (pool) AST::FormalParameterList(sym(1).FormalParameterList, sym(3).PatternElement))->finish(pool);
sym(1).Node = node;
} break;
-#line 3981 "qmljs.g"
+#line 4060 "qmljs.g"
- case 521: {
+ case 524: {
AST::FormalParameterList *node = new (pool) AST::FormalParameterList(nullptr, sym(1).PatternElement);
sym(1).Node = node;
} break;
-#line 3990 "qmljs.g"
+#line 4069 "qmljs.g"
- case 522: {
+ case 525: {
AST::FormalParameterList *node = new (pool) AST::FormalParameterList(sym(1).FormalParameterList, sym(3).PatternElement);
sym(1).Node = node;
} break;
-#line 4000 "qmljs.g"
+#line 4079 "qmljs.g"
- case 524: {
+ case 527: {
++functionNestingLevel;
} break;
-#line 4007 "qmljs.g"
+#line 4086 "qmljs.g"
- case 525: {
+ case 528: {
--functionNestingLevel;
} break;
-#line 4017 "qmljs.g"
- case 527: Q_FALLTHROUGH();
-#line 4019 "qmljs.g"
+#line 4096 "qmljs.g"
+ case 530: Q_FALLTHROUGH();
+#line 4098 "qmljs.g"
- case 528: {
+ case 531: {
AST::ReturnStatement *ret = new (pool) AST::ReturnStatement(sym(4).Expression);
- ret->returnToken = sym(4).Node->firstSourceLocation().zeroLength();
- ret->semicolonToken = sym(4).Node->lastSourceLocation().zeroLengthEnd(driver->code());
+ ret->returnToken = sym(4).Node->firstSourceLocation().startZeroLengthLocation();
+ ret->semicolonToken = sym(4).Node->lastSourceLocation().endZeroLengthLocation(driver->code());
AST::StatementList *statements = (new (pool) AST::StatementList(ret))->finish();
- AST::FunctionExpression *f = new (pool)
- AST::FunctionExpression(QStringView(), sym(1).FormalParameterList, statements);
+ AST::FunctionExpression *f = new (pool) AST::FunctionExpression(QStringView(), sym(1).FormalParameterList, statements);
f->isArrowFunction = true;
- f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().zeroLength() : loc(1).zeroLength();
- f->lbraceToken = sym(4).Node->firstSourceLocation().zeroLength();
- f->rbraceToken = sym(4).Node->lastSourceLocation().zeroLengthEnd(driver->code());
+ f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().startZeroLengthLocation() : loc(1).startZeroLengthLocation();
+ f->lbraceToken = sym(4).Node->firstSourceLocation().startZeroLengthLocation();
+ f->rbraceToken = sym(4).Node->lastSourceLocation().endZeroLengthLocation(driver->code());
sym(1).Node = f;
} break;
-#line 4036 "qmljs.g"
- case 529: Q_FALLTHROUGH();
-#line 4038 "qmljs.g"
+#line 4114 "qmljs.g"
+ case 532: Q_FALLTHROUGH();
+#line 4116 "qmljs.g"
- case 530: {
+ case 533: {
AST::FunctionExpression *f = new (pool) AST::FunctionExpression(QStringView(), sym(1).FormalParameterList, sym(6).StatementList);
f->isArrowFunction = true;
- f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().zeroLength() : loc(1).zeroLength();
- f->lbraceToken = loc(5);
+ f->functionToken = sym(1).Node ? sym(1).Node->firstSourceLocation().startZeroLengthLocation() : loc(1).startZeroLengthLocation();
+ f->lbraceToken = loc(6);
f->rbraceToken = loc(7);
sym(1).Node = f;
} break;
-#line 4050 "qmljs.g"
+#line 4128 "qmljs.g"
- case 531: {
+ case 534: {
AST::PatternElement *e = new (pool) AST::PatternElement(stringRef(1), /*type annotation*/nullptr, nullptr, AST::PatternElement::Binding);
e->identifierToken = loc(1);
sym(1).FormalParameterList = (new (pool) AST::FormalParameterList(nullptr, e))->finish(pool);
} break;
-#line 4061 "qmljs.g"
+#line 4139 "qmljs.g"
- case 532: {
+ case 535: {
if (coverExpressionType != CE_FormalParameterList) {
AST::NestedExpression *ne = static_cast<AST::NestedExpression *>(sym(1).Node);
AST::FormalParameterList *list = ne->expression->reparseAsFormalParameterList(pool);
@@ -3042,16 +3116,16 @@ case 241: {
}
} break;
-#line 4079 "qmljs.g"
+#line 4157 "qmljs.g"
- case 533: {
+ case 536: {
if (lookaheadToken(lexer) == T_LBRACE)
pushToken(T_FORCE_BLOCK);
} break;
-#line 4087 "qmljs.g"
+#line 4165 "qmljs.g"
- case 534: {
+ case 537: {
if (!ensureNoFunctionTypeAnnotations(sym(5).TypeAnnotation, sym(3).FormalParameterList))
return false;
AST::FunctionExpression *f = new (pool) AST::FunctionExpression(stringRef(1), sym(3).FormalParameterList, sym(7).StatementList);
@@ -3065,9 +3139,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4104 "qmljs.g"
+#line 4182 "qmljs.g"
- case 535: {
+ case 538: {
if (!ensureNoFunctionTypeAnnotations(sym(6).TypeAnnotation, sym(4).FormalParameterList))
return false;
AST::FunctionExpression *f = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(8).StatementList);
@@ -3082,9 +3156,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4123 "qmljs.g"
+#line 4201 "qmljs.g"
- case 536: {
+ case 539: {
if (!ensureNoFunctionTypeAnnotations(sym(5).TypeAnnotation, /*formals*/nullptr))
return false;
AST::FunctionExpression *f = new (pool) AST::FunctionExpression(stringRef(2), nullptr, sym(7).StatementList);
@@ -3098,9 +3172,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4140 "qmljs.g"
+#line 4218 "qmljs.g"
- case 537: {
+ case 540: {
if (!ensureNoFunctionTypeAnnotations(sym(6).TypeAnnotation, sym(4).FormalParameterList))
return false;
AST::FunctionExpression *f = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(8).StatementList);
@@ -3114,29 +3188,29 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4158 "qmljs.g"
+#line 4236 "qmljs.g"
- case 538: {
+ case 541: {
AST::FormalParameterList *node = (new (pool) AST::FormalParameterList(nullptr, sym(1).PatternElement))->finish(pool);
sym(1).Node = node;
} break;
-#line 4166 "qmljs.g"
+#line 4244 "qmljs.g"
- case 539: {
+ case 542: {
lexer->enterGeneratorBody();
} break;
-#line 4173 "qmljs.g"
+#line 4251 "qmljs.g"
- case 540: {
+ case 543: {
--functionNestingLevel;
lexer->leaveGeneratorBody();
} break;
-#line 4183 "qmljs.g"
+#line 4261 "qmljs.g"
- case 542: {
+ case 545: {
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).StatementList);
node->functionToken = loc(1);
node->identifierToken = loc(2);
@@ -3148,9 +3222,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4199 "qmljs.g"
+#line 4277 "qmljs.g"
- case 544: {
+ case 547: {
AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(QStringView(), sym(3).FormalParameterList, sym(6).StatementList);
node->functionToken = loc(1);
node->lparenToken = loc(2);
@@ -3161,9 +3235,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4213 "qmljs.g"
+#line 4291 "qmljs.g"
- case 545: {
+ case 548: {
AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).StatementList);
node->functionToken = loc(1);
if (!stringRef(2).isNull())
@@ -3176,9 +3250,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4229 "qmljs.g"
+#line 4307 "qmljs.g"
- case 546: {
+ case 549: {
AST::FunctionExpression *node = new (pool) AST::FunctionExpression(QStringView(), sym(3).FormalParameterList, sym(6).StatementList);
node->functionToken = loc(1);
node->lparenToken = loc(2);
@@ -3189,40 +3263,40 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4245 "qmljs.g"
- case 548: Q_FALLTHROUGH();
-#line 4247 "qmljs.g"
+#line 4323 "qmljs.g"
+ case 551: Q_FALLTHROUGH();
+#line 4325 "qmljs.g"
- case 549: {
+ case 552: {
AST::YieldExpression *node = new (pool) AST::YieldExpression();
node->yieldToken = loc(1);
sym(1).Node = node;
} break;
-#line 4256 "qmljs.g"
- case 550: Q_FALLTHROUGH();
-#line 4258 "qmljs.g"
+#line 4334 "qmljs.g"
+ case 553: Q_FALLTHROUGH();
+#line 4336 "qmljs.g"
- case 551: {
+ case 554: {
AST::YieldExpression *node = new (pool) AST::YieldExpression(sym(3).Expression);
node->yieldToken = loc(1);
node->isYieldStar = true;
sym(1).Node = node;
} break;
-#line 4268 "qmljs.g"
- case 552: Q_FALLTHROUGH();
-#line 4270 "qmljs.g"
+#line 4346 "qmljs.g"
+ case 555: Q_FALLTHROUGH();
+#line 4348 "qmljs.g"
- case 553: {
+ case 556: {
AST::YieldExpression *node = new (pool) AST::YieldExpression(sym(2).Expression);
node->yieldToken = loc(1);
sym(1).Node = node;
} break;
-#line 4280 "qmljs.g"
+#line 4358 "qmljs.g"
- case 554: {
+ case 557: {
AST::ClassDeclaration *node = new (pool) AST::ClassDeclaration(stringRef(2), sym(3).Expression, sym(5).ClassElementList);
node->classToken = loc(1);
node->identifierToken = loc(2);
@@ -3231,9 +3305,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4292 "qmljs.g"
+#line 4370 "qmljs.g"
- case 555: {
+ case 558: {
AST::ClassExpression *node = new (pool) AST::ClassExpression(stringRef(2), sym(3).Expression, sym(5).ClassElementList);
node->classToken = loc(1);
node->identifierToken = loc(2);
@@ -3242,9 +3316,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4304 "qmljs.g"
+#line 4382 "qmljs.g"
- case 556: {
+ case 559: {
AST::ClassDeclaration *node = new (pool) AST::ClassDeclaration(QStringView(), sym(2).Expression, sym(4).ClassElementList);
node->classToken = loc(1);
node->lbraceToken = loc(3);
@@ -3252,9 +3326,9 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4315 "qmljs.g"
+#line 4393 "qmljs.g"
- case 557: {
+ case 560: {
AST::ClassExpression *node = new (pool) AST::ClassExpression(QStringView(), sym(2).Expression, sym(4).ClassElementList);
node->classToken = loc(1);
node->lbraceToken = loc(3);
@@ -3262,48 +3336,48 @@ case 241: {
sym(1).Node = node;
} break;
-#line 4328 "qmljs.g"
+#line 4406 "qmljs.g"
- case 559: {
+ case 562: {
lexer->setStaticIsKeyword(true);
} break;
-#line 4335 "qmljs.g"
- case 560:
-#line 4337 "qmljs.g"
+#line 4413 "qmljs.g"
+ case 563:
+#line 4415 "qmljs.g"
- case 561: {
+ case 564: {
lexer->setStaticIsKeyword(false);
} break;
-#line 4344 "qmljs.g"
+#line 4422 "qmljs.g"
- case 562: {
+ case 565: {
sym(1).Node = nullptr;
} break;
-#line 4351 "qmljs.g"
+#line 4429 "qmljs.g"
- case 563: {
+ case 566: {
sym(1).Node = sym(2).Node;
} break;
-#line 4358 "qmljs.g"
+#line 4436 "qmljs.g"
- case 564: {
+ case 567: {
sym(1).Node = nullptr;
} break;
-#line 4365 "qmljs.g"
+#line 4443 "qmljs.g"
- case 565: {
+ case 568: {
if (sym(1).Node)
sym(1).Node = sym(1).ClassElementList->finish();
} break;
-#line 4375 "qmljs.g"
+#line 4453 "qmljs.g"
- case 567: {
+ case 570: {
if (sym(1).Node) {
if (sym(2).Node)
sym(1).ClassElementList = sym(1).ClassElementList->append(sym(2).ClassElementList);
@@ -3312,246 +3386,246 @@ case 241: {
}
} break;
-#line 4387 "qmljs.g"
+#line 4465 "qmljs.g"
- case 568: {
+ case 571: {
AST::ClassElementList *node = new (pool) AST::ClassElementList(sym(1).PatternProperty, false);
sym(1).Node = node;
} break;
-#line 4395 "qmljs.g"
+#line 4473 "qmljs.g"
- case 569: {
+ case 572: {
lexer->setStaticIsKeyword(true);
AST::ClassElementList *node = new (pool) AST::ClassElementList(sym(2).PatternProperty, true);
sym(1).Node = node;
} break;
-#line 4404 "qmljs.g"
+#line 4482 "qmljs.g"
- case 570: {
+ case 573: {
sym(1).Node = nullptr;
} break;
-#line 4413 "qmljs.g"
+#line 4491 "qmljs.g"
- case 571: {
+ case 574: {
sym(1).Node = nullptr;
} break;
-#line 4422 "qmljs.g"
+#line 4500 "qmljs.g"
- case 573: {
+ case 576: {
sym(1).Node = new (pool) AST::Program(sym(1).StatementList->finish());
} break;
-#line 4429 "qmljs.g"
- case 574: {
+#line 4507 "qmljs.g"
+ case 577: {
sym(1).Node = new (pool) AST::ESModule(sym(1).StatementList);
} break;
-#line 4435 "qmljs.g"
+#line 4513 "qmljs.g"
- case 575: {
+ case 578: {
sym(1).StatementList = sym(1).StatementList->finish();
} break;
-#line 4442 "qmljs.g"
+#line 4520 "qmljs.g"
- case 576: {
+ case 579: {
sym(1).StatementList = nullptr;
} break;
-#line 4452 "qmljs.g"
+#line 4530 "qmljs.g"
- case 579: {
+ case 582: {
sym(1).StatementList = sym(1).StatementList->append(sym(2).StatementList);
} break;
-#line 4460 "qmljs.g"
- case 580: Q_FALLTHROUGH();
-#line 4462 "qmljs.g"
+#line 4538 "qmljs.g"
+ case 583: Q_FALLTHROUGH();
+#line 4540 "qmljs.g"
- case 581: {
+ case 584: {
sym(1).StatementList = new (pool) AST::StatementList(sym(1).Node);
} break;
-#line 4471 "qmljs.g"
+#line 4549 "qmljs.g"
- case 583: {
+ case 586: {
auto decl = new (pool) AST::ImportDeclaration(sym(2).ImportClause, sym(3).FromClause);
decl->importToken = loc(1);
sym(1).Node = decl;
} break;
-#line 4479 "qmljs.g"
+#line 4557 "qmljs.g"
- case 584: {
+ case 587: {
auto decl = new (pool) AST::ImportDeclaration(stringRef(2));
decl->importToken = loc(1);
decl->moduleSpecifierToken = loc(2);
sym(1).Node = decl;
} break;
-#line 4489 "qmljs.g"
+#line 4567 "qmljs.g"
- case 585: {
+ case 588: {
auto clause = new (pool) AST::ImportClause(stringRef(1));
clause->importedDefaultBindingToken = loc(1);
sym(1).ImportClause = clause;
} break;
-#line 4497 "qmljs.g"
+#line 4575 "qmljs.g"
- case 586: {
+ case 589: {
sym(1).ImportClause = new (pool) AST::ImportClause(sym(1).NameSpaceImport);
} break;
-#line 4503 "qmljs.g"
+#line 4581 "qmljs.g"
- case 587: {
+ case 590: {
sym(1).ImportClause = new (pool) AST::ImportClause(sym(1).NamedImports);
} break;
-#line 4509 "qmljs.g"
+#line 4587 "qmljs.g"
- case 588: {
+ case 591: {
auto importClause = new (pool) AST::ImportClause(stringRef(1), sym(3).NameSpaceImport);
importClause->importedDefaultBindingToken = loc(1);
sym(1).ImportClause = importClause;
} break;
-#line 4517 "qmljs.g"
+#line 4595 "qmljs.g"
- case 589: {
+ case 592: {
auto importClause = new (pool) AST::ImportClause(stringRef(1), sym(3).NamedImports);
importClause->importedDefaultBindingToken = loc(1);
sym(1).ImportClause = importClause;
} break;
-#line 4528 "qmljs.g"
+#line 4606 "qmljs.g"
- case 591: {
+ case 594: {
auto import = new (pool) AST::NameSpaceImport(stringRef(3));
import->starToken = loc(1);
import->importedBindingToken = loc(3);
sym(1).NameSpaceImport = import;
} break;
-#line 4538 "qmljs.g"
+#line 4616 "qmljs.g"
- case 592: {
+ case 595: {
auto namedImports = new (pool) AST::NamedImports();
namedImports->leftBraceToken = loc(1);
namedImports->rightBraceToken = loc(2);
sym(1).NamedImports = namedImports;
} break;
-#line 4547 "qmljs.g"
+#line 4625 "qmljs.g"
- case 593: {
+ case 596: {
auto namedImports = new (pool) AST::NamedImports(sym(2).ImportsList->finish());
namedImports->leftBraceToken = loc(1);
namedImports->rightBraceToken = loc(3);
sym(1).NamedImports = namedImports;
} break;
-#line 4556 "qmljs.g"
+#line 4634 "qmljs.g"
- case 594: {
+ case 597: {
auto namedImports = new (pool) AST::NamedImports(sym(2).ImportsList->finish());
namedImports->leftBraceToken = loc(1);
namedImports->rightBraceToken = loc(4);
sym(1).NamedImports = namedImports;
} break;
-#line 4566 "qmljs.g"
+#line 4644 "qmljs.g"
- case 595: {
+ case 598: {
auto clause = new (pool) AST::FromClause(stringRef(2));
clause->fromToken = loc(1);
clause->moduleSpecifierToken = loc(2);
sym(1).FromClause = clause;
} break;
-#line 4576 "qmljs.g"
+#line 4654 "qmljs.g"
- case 596: {
+ case 599: {
auto importsList = new (pool) AST::ImportsList(sym(1).ImportSpecifier);
importsList->importSpecifierToken = loc(1);
sym(1).ImportsList = importsList;
} break;
-#line 4584 "qmljs.g"
+#line 4662 "qmljs.g"
- case 597: {
+ case 600: {
auto importsList = new (pool) AST::ImportsList(sym(1).ImportsList, sym(3).ImportSpecifier);
importsList->importSpecifierToken = loc(3);
sym(1).ImportsList = importsList;
} break;
-#line 4596 "qmljs.g"
+#line 4674 "qmljs.g"
- case 598: {
+ case 601: {
auto importSpecifier = new (pool) AST::ImportSpecifier(stringRef(1));
importSpecifier->importedBindingToken = loc(1);
sym(1).ImportSpecifier = importSpecifier;
} break;
-#line 4604 "qmljs.g"
+#line 4682 "qmljs.g"
- case 599: {
+ case 602: {
auto importSpecifier = new (pool) AST::ImportSpecifier(stringRef(1), stringRef(3));
importSpecifier->identifierToken = loc(1);
importSpecifier->importedBindingToken = loc(3);
sym(1).ImportSpecifier = importSpecifier;
} break;
-#line 4621 "qmljs.g"
+#line 4699 "qmljs.g"
- case 602: {
+ case 605: {
int token = lookaheadToken(lexer);
if (token == T_FUNCTION || token == T_FUNCTION_STAR || token == T_CLASS)
pushToken(T_FORCE_DECLARATION);
} break;
-#line 4630 "qmljs.g"
+#line 4708 "qmljs.g"
- case 603: {
+ case 606: {
auto exportDeclaration = new (pool) AST::ExportDeclaration(sym(3).FromClause);
exportDeclaration->exportToken = loc(1);
sym(1).ExportDeclaration = exportDeclaration;
} break;
-#line 4638 "qmljs.g"
+#line 4716 "qmljs.g"
- case 604: {
+ case 607: {
auto exportDeclaration = new (pool) AST::ExportDeclaration(sym(2).ExportClause, sym(3).FromClause);
exportDeclaration->exportToken = loc(1);
sym(1).ExportDeclaration = exportDeclaration;
} break;
-#line 4646 "qmljs.g"
+#line 4724 "qmljs.g"
- case 605: {
+ case 608: {
auto exportDeclaration = new (pool) AST::ExportDeclaration(sym(2).ExportClause);
exportDeclaration->exportToken = loc(1);
sym(1).ExportDeclaration = exportDeclaration;
} break;
-#line 4654 "qmljs.g"
- case 606: Q_FALLTHROUGH();
-#line 4656 "qmljs.g"
+#line 4732 "qmljs.g"
+ case 609: Q_FALLTHROUGH();
+#line 4734 "qmljs.g"
- case 607: {
+ case 610: {
auto exportDeclaration = new (pool) AST::ExportDeclaration(/*exportDefault=*/false, sym(2).Node);
exportDeclaration->exportToken = loc(1);
sym(1).ExportDeclaration = exportDeclaration;
} break;
-#line 4664 "qmljs.g"
+#line 4742 "qmljs.g"
- case 608: {
+ case 611: {
if (auto *f = AST::cast<AST::FunctionDeclaration*>(sym(5).Node)) {
if (f->name.isEmpty()) {
f->name = stringRef(2);
@@ -3560,9 +3634,9 @@ case 241: {
}
} Q_FALLTHROUGH();
-#line 4675 "qmljs.g"
+#line 4753 "qmljs.g"
- case 609: {
+ case 612: {
// Emulate 15.2.3.11
if (auto *cls = AST::cast<AST::ClassDeclaration*>(sym(5).Node)) {
if (cls->name.isEmpty()) {
@@ -3576,9 +3650,9 @@ case 241: {
sym(1).ExportDeclaration = exportDeclaration;
} break;
-#line 4691 "qmljs.g"
+#line 4769 "qmljs.g"
- case 610: {
+ case 613: {
// if lhs is an identifier expression and rhs is an anonymous function expression, we need to assign the name of lhs to the function
if (auto *f = asAnonymousFunctionDefinition(sym(4).Node)) {
f->name = stringRef(2);
@@ -3592,63 +3666,63 @@ case 241: {
sym(1).ExportDeclaration = exportDeclaration;
} break;
-#line 4708 "qmljs.g"
+#line 4786 "qmljs.g"
- case 611: {
+ case 614: {
auto exportClause = new (pool) AST::ExportClause();
exportClause->leftBraceToken = loc(1);
exportClause->rightBraceToken = loc(2);
sym(1).ExportClause = exportClause;
} break;
-#line 4717 "qmljs.g"
+#line 4795 "qmljs.g"
- case 612: {
+ case 615: {
auto exportClause = new (pool) AST::ExportClause(sym(2).ExportsList->finish());
exportClause->leftBraceToken = loc(1);
exportClause->rightBraceToken = loc(3);
sym(1).ExportClause = exportClause;
} break;
-#line 4726 "qmljs.g"
+#line 4804 "qmljs.g"
- case 613: {
+ case 616: {
auto exportClause = new (pool) AST::ExportClause(sym(2).ExportsList->finish());
exportClause->leftBraceToken = loc(1);
exportClause->rightBraceToken = loc(4);
sym(1).ExportClause = exportClause;
} break;
-#line 4736 "qmljs.g"
+#line 4814 "qmljs.g"
- case 614: {
+ case 617: {
sym(1).ExportsList = new (pool) AST::ExportsList(sym(1).ExportSpecifier);
} break;
-#line 4742 "qmljs.g"
+#line 4820 "qmljs.g"
- case 615: {
+ case 618: {
sym(1).ExportsList = new (pool) AST::ExportsList(sym(1).ExportsList, sym(3).ExportSpecifier);
} break;
-#line 4749 "qmljs.g"
+#line 4827 "qmljs.g"
- case 616: {
+ case 619: {
auto exportSpecifier = new (pool) AST::ExportSpecifier(stringRef(1));
exportSpecifier->identifierToken = loc(1);
sym(1).ExportSpecifier = exportSpecifier;
} break;
-#line 4757 "qmljs.g"
+#line 4835 "qmljs.g"
- case 617: {
+ case 620: {
auto exportSpecifier = new (pool) AST::ExportSpecifier(stringRef(1), stringRef(3));
exportSpecifier->identifierToken = loc(1);
exportSpecifier->exportedIdentifierToken = loc(3);
sym(1).ExportSpecifier = exportSpecifier;
} break;
-#line 4768 "qmljs.g"
+#line 4846 "qmljs.g"
// ------------ end of switch statement
} // switch
diff --git a/src/libs/qmljs/parser/qmljsparser_p.h b/src/libs/qmljs/parser/qmljsparser_p.h
index 94f482a72f..ecbb0a7af2 100644
--- a/src/libs/qmljs/parser/qmljsparser_p.h
+++ b/src/libs/qmljs/parser/qmljsparser_p.h
@@ -1,8 +1,6 @@
-
-#line 185 "qmljs.g"
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -292,27 +290,27 @@ protected:
-#line 1862 "qmljs.g"
+#line 1878 "qmljs.g"
#define J_SCRIPT_REGEXPLITERAL_RULE1 164
-#line 1874 "qmljs.g"
+#line 1890 "qmljs.g"
#define J_SCRIPT_REGEXPLITERAL_RULE2 165
-#line 3423 "qmljs.g"
+#line 3502 "qmljs.g"
-#define J_SCRIPT_EXPRESSIONSTATEMENTLOOKAHEAD_RULE 463
+#define J_SCRIPT_EXPRESSIONSTATEMENTLOOKAHEAD_RULE 466
-#line 4076 "qmljs.g"
+#line 4154 "qmljs.g"
-#define J_SCRIPT_CONCISEBODYLOOKAHEAD_RULE 533
+#define J_SCRIPT_CONCISEBODYLOOKAHEAD_RULE 536
-#line 4618 "qmljs.g"
+#line 4696 "qmljs.g"
-#define J_SCRIPT_EXPORTDECLARATIONLOOKAHEAD_RULE 602
+#define J_SCRIPT_EXPORTDECLARATIONLOOKAHEAD_RULE 605
-#line 4902 "qmljs.g"
+#line 4980 "qmljs.g"
QT_QML_END_NAMESPACE
diff --git a/src/libs/qmljs/parser/qmljssourcelocation_p.h b/src/libs/qmljs/parser/qmljssourcelocation_p.h
index fa4a6bc136..29be90fd9b 100644
--- a/src/libs/qmljs/parser/qmljssourcelocation_p.h
+++ b/src/libs/qmljs/parser/qmljssourcelocation_p.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
@@ -26,8 +26,7 @@
#pragma once
#include "qmljsglobal_p.h"
-
-#include <QtCore/QStringView>
+#include <QtCore/qhashfunctions.h>
//
// W A R N I N G
@@ -52,13 +51,19 @@ public:
startLine(line), startColumn(column)
{ }
- bool isValid() const { return length != 0; }
+ bool isValid() const { return *this != SourceLocation(); }
quint32 begin() const { return offset; }
quint32 end() const { return offset + length; }
- SourceLocation zeroLength() const { return SourceLocation(offset, 0, startLine, startColumn); }
- SourceLocation zeroLengthEnd(QStringView text) const {
+ // Returns a zero length location at the start of the current one.
+ SourceLocation startZeroLengthLocation() const
+ {
+ return SourceLocation(offset, 0, startLine, startColumn);
+ }
+ // Returns a zero length location at the end of the current one.
+ SourceLocation endZeroLengthLocation(QStringView text) const
+ {
quint32 i = offset;
quint32 endLine = startLine;
quint32 endColumn = startColumn;
@@ -71,7 +76,7 @@ public:
Q_FALLTHROUGH();
case '\r':
++endLine;
- ++endColumn;
+ endColumn = 1;
break;
default:
++endColumn;
@@ -87,6 +92,33 @@ public:
quint32 length;
quint32 startLine;
quint32 startColumn;
+
+ friend size_t qHash(const SourceLocation &location, size_t seed = 0)
+ {
+ return (seed ^ (size_t(location.offset) << 8) ^ size_t(location.length)
+ ^ (size_t(location.startLine) << 16) ^ (size_t(location.startColumn) << 24));
+ }
+
+ friend bool operator==(const SourceLocation &a, const SourceLocation &b)
+ {
+ return a.offset == b.offset && a.length == b.length && a.startLine == b.startLine
+ && a.startColumn == b.startColumn;
+ }
+
+ friend bool operator!=(const SourceLocation &a, const SourceLocation &b) { return !(a == b); }
+
+ // Returns a source location starting at the beginning of l1, l2 and ending at the end of them.
+ // Ignores invalid source locations.
+ friend SourceLocation combine(const SourceLocation &l1, const SourceLocation &l2) {
+ quint32 e = qMax(l1.end(), l2.end());
+ SourceLocation res;
+ if (l1.offset <= l2.offset)
+ res = (l1.isValid() ? l1 : l2);
+ else
+ res = (l2.isValid() ? l2 : l1);
+ res.length = e - res.offset;
+ return res;
+ }
};
} // namespace QmlJS
diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs
index b8d1bceae2..3fe7ad5b81 100644
--- a/src/libs/qmljs/qmljs.qbs
+++ b/src/libs/qmljs/qmljs.qbs
@@ -60,6 +60,7 @@ Project {
prefix: "parser/"
files: [
"qmldirparser.cpp", "qmldirparser_p.h",
+ "qmlimportresolver.cpp", "qmlimportresolver_p.h",
"qmljsast.cpp", "qmljsast_p.h",
"qmljsastfwd_p.h",
"qmljsastvisitor.cpp", "qmljsastvisitor_p.h",
diff --git a/src/libs/qmljs/qmljs_global.h b/src/libs/qmljs/qmljs_global.h
index 982ff82315..3e5b3617ab 100644
--- a/src/libs/qmljs/qmljs_global.h
+++ b/src/libs/qmljs/qmljs_global.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
diff --git a/src/libs/qmljs/qmljsdocument.cpp b/src/libs/qmljs/qmljsdocument.cpp
index df30dcb75a..67087570c2 100644
--- a/src/libs/qmljs/qmljsdocument.cpp
+++ b/src/libs/qmljs/qmljsdocument.cpp
@@ -370,7 +370,7 @@ LibraryInfo::LibraryInfo(Status status)
updateFingerprint();
}
-LibraryInfo::LibraryInfo(const QmlDirParser::TypeInfo &typeInfo)
+LibraryInfo::LibraryInfo(const QString &typeInfo)
: _status(Found)
{
_typeinfos.append(typeInfo);
@@ -421,10 +421,10 @@ QByteArray LibraryInfo::calculateFingerprint() const
}
len = _typeinfos.size();
hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- foreach (const QmlDirParser::TypeInfo &typeinfo, _typeinfos) {
- len = typeinfo.fileName.size();
+ foreach (const QString &typeinfo, _typeinfos) {
+ len = typeinfo.size();
hash.addData(reinterpret_cast<const char *>(&len), sizeof(len));
- hash.addData(reinterpret_cast<const char *>(typeinfo.fileName.constData()),
+ hash.addData(reinterpret_cast<const char *>(typeinfo.constData()),
len * sizeofQChar);
}
len = _metaObjects.size();
diff --git a/src/libs/qmljs/qmljsdocument.h b/src/libs/qmljs/qmljsdocument.h
index c43ed03400..c6d4cf7dce 100644
--- a/src/libs/qmljs/qmljsdocument.h
+++ b/src/libs/qmljs/qmljsdocument.h
@@ -153,7 +153,7 @@ private:
Status _status = NotScanned;
QList<QmlDirParser::Component> _components;
QList<QmlDirParser::Plugin> _plugins;
- QList<QmlDirParser::TypeInfo> _typeinfos;
+ QStringList _typeinfos;
typedef QList<LanguageUtils::FakeMetaObject::ConstPtr> FakeMetaObjectList;
FakeMetaObjectList _metaObjects;
QList<ModuleApiInfo> _moduleApis;
@@ -167,7 +167,7 @@ private:
public:
LibraryInfo();
explicit LibraryInfo(Status status);
- explicit LibraryInfo(const QmlDirParser::TypeInfo &typeInfo);
+ explicit LibraryInfo(const QString &typeInfo);
explicit LibraryInfo(const QmlDirParser &parser, const QByteArray &fingerprint = QByteArray());
~LibraryInfo() = default;
LibraryInfo(const LibraryInfo &other) = default;
@@ -183,7 +183,7 @@ public:
QList<QmlDirParser::Plugin> plugins() const
{ return _plugins; }
- QList<QmlDirParser::TypeInfo> typeInfos() const
+ QStringList typeInfos() const
{ return _typeinfos; }
FakeMetaObjectList metaObjects() const
diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
index 8e5e74700e..d0d1d21138 100644
--- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
+++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
@@ -811,7 +811,7 @@ static bool findNewQmlApplicationInPath(const QString &path,
qmltypesFile = it.next();
- LibraryInfo libraryInfo = LibraryInfo(QmlDirParser::TypeInfo(qmltypesFile));
+ LibraryInfo libraryInfo = LibraryInfo(qmltypesFile);
const QString libraryPath = dir.absolutePath();
newLibraries->insert(libraryPath);
modelManager->updateLibraryInfo(path, libraryInfo);
diff --git a/src/libs/qmljs/qmljsplugindumper.cpp b/src/libs/qmljs/qmljsplugindumper.cpp
index 376166559f..a131b4763a 100644
--- a/src/libs/qmljs/qmljsplugindumper.cpp
+++ b/src/libs/qmljs/qmljsplugindumper.cpp
@@ -154,8 +154,8 @@ void PluginDumper::onLoadPluginTypes(const QString &libraryPath, const QString &
}
// add typeinfo files listed in qmldir
- foreach (const QmlDirParser::TypeInfo &typeInfo, libraryInfo.typeInfos()) {
- QString pathNow = makeAbsolute(typeInfo.fileName, canonicalLibraryPath);
+ foreach (const QString &typeInfo, libraryInfo.typeInfos()) {
+ QString pathNow = makeAbsolute(typeInfo, canonicalLibraryPath);
if (!plugin.typeInfoPaths.contains(pathNow) && QFile::exists(pathNow))
plugin.typeInfoPaths += pathNow;
}
diff --git a/src/libs/qmljs/qmljsutils.cpp b/src/libs/qmljs/qmljsutils.cpp
index 03136e4064..d1dd0d8b1c 100644
--- a/src/libs/qmljs/qmljsutils.cpp
+++ b/src/libs/qmljs/qmljsutils.cpp
@@ -209,7 +209,7 @@ const QString undefinedVersion = QLatin1String("-1.-1");
* undefined version (-1.-1) or if it is empty. False otherwise.
*/
bool QmlJS::maybeModuleVersion(const QString &version) {
- QRegularExpression re(QLatin1String("^\\d+\\.\\d+$"));
+ QRegularExpression re(QLatin1String("^\\d+\\.-?\\d+$"));
return version.isEmpty() || version == undefinedVersion || re.match(version).hasMatch();
}