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>
This commit is contained in:
Fawzi Mohamed
2021-12-06 09:44:24 +01:00
parent 9d1fe1df14
commit 6b270b8dc9
19 changed files with 99 additions and 0 deletions

View File

@@ -84,6 +84,12 @@ void JsonCheck::postVisit(Node *)
analysis()->m_ranking += previous.m_ranking;
}
bool JsonCheck::visit(AST::TemplateLiteral *ast)
{
Node::accept(ast->expression, this);
return true;
}
bool JsonCheck::visit(ObjectPattern *ast)
{
if (!proceedCheck(JsonValue::Object, ast->lbraceToken))