diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-04-14 10:59:38 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-05-02 14:19:23 +0000 |
commit | e84cfb04c4ab5e54cd6ad685a09e8ebab710109e (patch) | |
tree | 325c19fdb0fca4df642321bd5328ad7881dbf7ec /src/qml/parser | |
parent | d8949ddc7db0b99adae57f7404973f074f259da5 (diff) |
Fixup bug in the parser when generating ObjectLiterals
Change-Id: I0b7979db7aa6c39ff08b7b6cc08dfa635e97846d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/parser')
-rw-r--r-- | src/qml/parser/qqmljs.g | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g index bb0f53f4ab..da8616362b 100644 --- a/src/qml/parser/qqmljs.g +++ b/src/qml/parser/qqmljs.g @@ -1746,7 +1746,9 @@ PropertyDefinition: IdentifierReference; case $rule_number: { AST::IdentifierPropertyName *name = new (pool) AST::IdentifierPropertyName(stringRef(1)); name->propertyNameToken = loc(1); - AST::PatternProperty *node = new (pool) AST::PatternProperty(name, stringRef(1)); + AST::IdentifierExpression *expr = new (pool) AST::IdentifierExpression(stringRef(1)); + expr->identifierToken = loc(1); + AST::PatternProperty *node = new (pool) AST::PatternProperty(name, expr); node->colonToken = loc(2); sym(1).Node = node; } break; @@ -1759,7 +1761,8 @@ CoverInitializedName: IdentifierReference Initializer_In; /. case $rule_number: { AST::IdentifierPropertyName *name = new (pool) AST::IdentifierPropertyName(stringRef(1)); - AST::PatternProperty *node = new (pool) AST::PatternProperty(name, stringRef(1), sym(2).Expression); + name->propertyNameToken = loc(1); + AST::PatternProperty *node = new (pool) AST::PatternProperty(name, sym(2).Expression); node->colonToken = loc(2); sym(1).Node = node; // if initializer is an anonymous function expression, we need to assign identifierref as it's name |