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

@@ -585,9 +585,11 @@ protected:
out(QString::fromLatin1("\"%1\"").arg(ast->fileName.toString()));
else
accept(ast->importUri);
if (ast->versionToken.isValid()) {
if (ast->version) {
out(" ");
out(ast->versionToken);
out(QString::number(ast->version->majorVersion).toUtf8());
out(".");
out(QString::number(ast->version->minorVersion).toUtf8());
}
if (!ast->importId.isNull()) {
out(" as ", ast->asToken);
@@ -1339,6 +1341,10 @@ protected:
}
return false;
}
void throwRecursionDepthError() override {
out("/* ERROR: Hit recursion limit visiting AST, rewrite failed */");
}
};
} // anonymous namespace