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 <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
Fawzi Mohamed
2020-02-28 17:51:32 +01:00
parent a24dead5f6
commit b09a48599e
88 changed files with 5290 additions and 4350 deletions

View File

@@ -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