diff options
author | Fawzi Mohamed <fawzi.mohamed@qt.io> | 2021-12-06 09:44:24 +0100 |
---|---|---|
committer | Fawzi Mohamed <fawzi.mohamed@qt.io> | 2022-03-21 09:32:29 +0000 |
commit | 6b270b8dc959f0be83702947b4efe916f83f8978 (patch) | |
tree | 01196fd8847558479d566068ebcbb95b35599deb /src/plugins/qmljstools | |
parent | 9d1fe1df14f9fcd5443d4d4e5a5c869419a1c793 (diff) | |
download | qt-creator-6b270b8dc959f0be83702947b4efe916f83f8978.tar.gz |
qmljs: correctly handle js string templates
In most cases we do want to visit the expressions in a function
template. Changing its accept0 would force those not wanting to visit
it to iterate on the templates (currently a linked list), so we add a
visit method explicitly visiting the expression in all the needed
places.
Fixes: QTCREATORBUG-21869
Change-Id: I47733544bfd32eec357810b97242608b8f7de572
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Diffstat (limited to 'src/plugins/qmljstools')
-rw-r--r-- | src/plugins/qmljstools/qmljssemanticinfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/qmljstools/qmljssemanticinfo.cpp b/src/plugins/qmljstools/qmljssemanticinfo.cpp index ef375b77b7..b136747e7a 100644 --- a/src/plugins/qmljstools/qmljssemanticinfo.cpp +++ b/src/plugins/qmljstools/qmljssemanticinfo.cpp @@ -127,6 +127,12 @@ protected: return handleLocationAst(ast); } + bool visit(AST::TemplateLiteral *ast) override + { + AST::Node::accept(ast->expression, this); + return true; + } + void throwRecursionDepthError() override { qWarning("Warning: Hit maximum recursion depth when visiting the AST in AstPath"); |