diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-26 23:04:40 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-26 23:04:41 +0200 |
commit | 3ecdd85b2c7b8d56c4fd1a12a6cbaab663024ddb (patch) | |
tree | 255dae23f41c011b28167efe4ac8035384ef0346 /src/qml/compiler/qv4codegen.cpp | |
parent | fb4c12a9db86a4b886058cc937c3c20b798bd2e2 (diff) | |
parent | 3e716029ae61bf4c7bb33643ac331156e70e34f1 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I208cd36d2b7add94f36e4d86cf0c790a1e4a7e86
Diffstat (limited to 'src/qml/compiler/qv4codegen.cpp')
-rw-r--r-- | src/qml/compiler/qv4codegen.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp index e0d259bd0c..61e37ffd25 100644 --- a/src/qml/compiler/qv4codegen.cpp +++ b/src/qml/compiler/qv4codegen.cpp @@ -1061,6 +1061,7 @@ bool Codegen::visit(Expression *ast) TailCallBlocker blockTailCalls(this); statement(ast->left); blockTailCalls.unblock(); + clearExprResultName(); // The name only holds for the left part accept(ast->right); return false; } @@ -2520,7 +2521,7 @@ bool Codegen::visit(ObjectPattern *ast) { RegisterScope innerScope(this); - Reference value = expression(p->initializer); + Reference value = expression(p->initializer, name); if (hasError) return false; value.loadInAccumulator(); @@ -2962,7 +2963,7 @@ int Codegen::defineFunction(const QString &name, AST::Node *ast, // already defined return leaveContext(); - _context->name = name; + _context->name = name.isEmpty() ? currentExpr().result().name : name; _module->functions.append(_context); _context->functionIndex = _module->functions.count() - 1; |