summaryrefslogtreecommitdiff
path: root/src/plugins/qmljstools/qmljssemanticinfo.cpp
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@qt.io>2020-02-28 17:51:32 +0100
committerFawzi Mohamed <fawzi.mohamed@qt.io>2020-03-03 15:31:10 +0000
commitb09a48599e7e5db5447189136353b79aca3898cf (patch)
tree5f6f3b1d4da3ed746caa612992d94ed21978dd75 /src/plugins/qmljstools/qmljssemanticinfo.cpp
parenta24dead5f63d7eb0b209539daebf5b2ce558b1c0 (diff)
downloadqt-creator-b09a48599e7e5db5447189136353b79aca3898cf.tar.gz
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>
Diffstat (limited to 'src/plugins/qmljstools/qmljssemanticinfo.cpp')
-rw-r--r--src/plugins/qmljstools/qmljssemanticinfo.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/plugins/qmljstools/qmljssemanticinfo.cpp b/src/plugins/qmljstools/qmljssemanticinfo.cpp
index 1e9eae248a..ce490cd445 100644
--- a/src/plugins/qmljstools/qmljssemanticinfo.cpp
+++ b/src/plugins/qmljstools/qmljssemanticinfo.cpp
@@ -30,6 +30,8 @@
#include <qmljs/qmljsscopechain.h>
#include <qmljs/parser/qmljsengine_p.h>
+#include <QDebug>
+
using namespace QmlJS;
using namespace QmlJS::AST;
@@ -63,13 +65,13 @@ protected:
node->accept(this);
}
- bool containsOffset(AST::SourceLocation start, AST::SourceLocation end)
+ bool containsOffset(SourceLocation start, SourceLocation end)
{
return _offset >= start.begin() && _offset <= end.end();
}
bool handle(AST::Node *ast,
- AST::SourceLocation start, AST::SourceLocation end,
+ SourceLocation start, SourceLocation end,
bool addToPath = true)
{
if (containsOffset(start, end)) {
@@ -99,8 +101,8 @@ protected:
bool visit(AST::UiQualifiedId *ast) override
{
- AST::SourceLocation first = ast->identifierToken;
- AST::SourceLocation last;
+ SourceLocation first = ast->identifierToken;
+ SourceLocation last;
for (AST::UiQualifiedId *it = ast; it; it = it->next)
last = it->identifierToken;
if (containsOffset(first, last))
@@ -125,6 +127,10 @@ protected:
return handleLocationAst(ast);
}
+ void throwRecursionDepthError() override
+ {
+ qWarning("Warning: Hit maximum recursion depth when visiting the AST in AstPath");
+ }
};
} // anonmymous