forked from qt-creator/qt-creator
qmljs: update parser
Update the qtcreator qmljs parser to the one of Qt 5.12. It supports EcmaScript 7. Task-number: QTCREATORBUG-20341 Change-Id: I0d1cff71402ba17e22cde6b46c65614e162280de Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
This commit is contained in:
@@ -306,14 +306,14 @@ bool Bind::visit(UiArrayBinding *)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Bind::visit(VariableDeclaration *ast)
|
||||
bool Bind::visit(PatternElement *ast)
|
||||
{
|
||||
if (ast->name.isEmpty())
|
||||
if (ast->bindingIdentifier.isEmpty() || !ast->isVariableDeclaration())
|
||||
return false;
|
||||
|
||||
ASTVariableReference *ref = new ASTVariableReference(ast, _doc, &_valueOwner);
|
||||
if (_currentObjectValue)
|
||||
_currentObjectValue->setMember(ast->name.toString(), ref);
|
||||
_currentObjectValue->setMember(ast->bindingIdentifier, ref);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -337,8 +337,8 @@ bool Bind::visit(FunctionExpression *ast)
|
||||
|
||||
// 1. Function formal arguments
|
||||
for (FormalParameterList *it = ast->formals; it; it = it->next) {
|
||||
if (!it->name.isEmpty())
|
||||
functionScope->setMember(it->name.toString(), _valueOwner.unknownValue());
|
||||
if (!it->element->bindingIdentifier.isEmpty())
|
||||
functionScope->setMember(it->element->bindingIdentifier, _valueOwner.unknownValue());
|
||||
}
|
||||
|
||||
// 2. Functions defined inside the function body
|
||||
|
||||
Reference in New Issue
Block a user