forked from qt-creator/qt-creator
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:
@@ -162,6 +162,11 @@ ObjectValue *Bind::bindObject(UiQualifiedId *qualifiedTypeNameId, UiObjectInitia
|
||||
return switchObjectValue(parentObjectValue);
|
||||
}
|
||||
|
||||
void Bind::throwRecursionDepthError()
|
||||
{
|
||||
_diagnosticMessages->append(DiagnosticMessage(Severity::Error, SourceLocation(), tr("Hit maximal recursion depth in AST visit")));
|
||||
}
|
||||
|
||||
void Bind::accept(Node *node)
|
||||
{
|
||||
Node::accept(node, this);
|
||||
@@ -194,14 +199,8 @@ void Bind::endVisit(UiProgram *)
|
||||
bool Bind::visit(UiImport *ast)
|
||||
{
|
||||
ComponentVersion version;
|
||||
if (ast->versionToken.isValid()) {
|
||||
const QString versionString = _doc->source().mid(ast->versionToken.offset, ast->versionToken.length);
|
||||
version = ComponentVersion(versionString);
|
||||
if (!version.isValid()) {
|
||||
_diagnosticMessages->append(
|
||||
errorMessage(ast->versionToken, tr("expected two numbers separated by a dot")));
|
||||
}
|
||||
}
|
||||
if (ast->version)
|
||||
version = ComponentVersion(ast->version->majorVersion, ast->version->minorVersion);
|
||||
|
||||
if (ast->importUri) {
|
||||
if (!version.isValid()) {
|
||||
|
||||
Reference in New Issue
Block a user