diff options
author | Fawzi Mohamed <[email protected]> | 2020-02-28 17:51:32 +0100 |
---|---|---|
committer | Fawzi Mohamed <[email protected]> | 2020-03-03 15:31:10 +0000 |
commit | b09a48599e7e5db5447189136353b79aca3898cf (patch) | |
tree | 5f6f3b1d4da3ed746caa612992d94ed21978dd75 /src/libs/qmljs/qmljsinterpreter.cpp | |
parent | a24dead5f63d7eb0b209539daebf5b2ce558b1c0 (diff) |
Update qmljs parser to Qt 5.15 parser
* parser side support for annotations, inline components, new UiVersion
and all the things included in QT 5.15 parser
* SourceLocation moved from QmlJS:AST to QmlJS
* Visitors now need to handle throwRecursionDepthError
* BaseVisitor for visitors that want to override all visit
Task-number: QTCREATORBUG-23591
Change-Id: I682a30d0b08b6c929739fd0e339ef6fbde3eb630
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/libs/qmljs/qmljsinterpreter.cpp')
-rw-r--r-- | src/libs/qmljs/qmljsinterpreter.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 695cad16008..df6d59c4616 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -38,6 +38,7 @@ #include <utils/qtcassert.h> #include <QApplication> +#include <QDebug> #include <QDir> #include <QFile> #include <QString> @@ -1992,7 +1993,7 @@ public: } protected: - bool visit(ArrayMemberExpression *ast) + bool visit(ArrayMemberExpression *ast) override { if (IdentifierExpression *idExp = cast<IdentifierExpression *>(ast->base)) { if (idExp->name == QLatin1String("arguments")) @@ -2002,8 +2003,12 @@ protected: } // don't go into nested functions - bool visit(Program *) { return false; } - bool visit(StatementList *) { return false; } + bool visit(Program *) override { return false; } + bool visit(StatementList *) override { return false; } + + void throwRecursionDepthError() override { + qWarning("Warning: Hit maximum recursion error visiting AST in UsesArgumentsArray"); + } }; } // anonymous namespace |