diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-10-17 09:18:06 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-10-19 20:32:01 +0200 |
commit | e89a06753c772bd96b3299e03b2f7ad78ffc9fb9 (patch) | |
tree | 970133e681a0452ee3a1799925763d240d67030f /src/qml/parser/qqmljs.g | |
parent | 0f08e3e673ece32fc9ada041115a0df631b447f3 (diff) |
Parser: Simplify argument "lists" for type annotations
There can in fact only be one type argument, and we don't need a
finish() method. In fact the finish() method didn't return the type
argument at all.
Task-number: QTBUG-107171
Change-Id: Ifb7d85ca42a38d37da71b6453b458c7ec10cd64d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/parser/qqmljs.g')
-rw-r--r-- | src/qml/parser/qqmljs.g | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g index afda0f27aa..181b49242a 100644 --- a/src/qml/parser/qqmljs.g +++ b/src/qml/parser/qqmljs.g @@ -212,7 +212,7 @@ public: AST::ExportClause *ExportClause; AST::ExportDeclaration *ExportDeclaration; AST::TypeAnnotation *TypeAnnotation; - AST::TypeArgumentList *TypeArgumentList; + AST::TypeArgument *TypeArgument; AST::Type *Type; AST::UiProgram *UiProgram; @@ -1575,28 +1575,16 @@ BindingIdentifier: IdentifierReference; -- Types -------------------------------------------------------------------------------------------------------- -TypeArguments: Type; +Type: UiQualifiedId T_LT SimpleType T_GT; /. case $rule_number: { - sym(1).TypeArgumentList = new (pool) AST::TypeArgumentList(sym(1).Type); + sym(1).Type = new (pool) AST::Type(sym(1).UiQualifiedId, sym(3).Type); } break; ./ -TypeArguments: TypeArguments T_COMMA Type; -/. - case $rule_number: { - sym(1).TypeArgumentList = new (pool) AST::TypeArgumentList(sym(1).TypeArgumentList, sym(3).Type); - } break; -./ - -Type: UiQualifiedId T_LT TypeArguments T_GT; -/. - case $rule_number: { - sym(1).Type = new (pool) AST::Type(sym(1).UiQualifiedId, sym(3).TypeArgumentList->finish()); - } break; -./ +Type: SimpleType; -Type: T_RESERVED_WORD; +SimpleType: T_RESERVED_WORD; /. case $rule_number: { AST::UiQualifiedId *id = new (pool) AST::UiQualifiedId(stringRef(1)); @@ -1605,17 +1593,17 @@ Type: T_RESERVED_WORD; } break; ./ -Type: UiQualifiedId; +SimpleType: UiQualifiedId; /. case $rule_number: { sym(1).Type = new (pool) AST::Type(sym(1).UiQualifiedId); } break; ./ -Type: T_VAR; +SimpleType: T_VAR; /. case $rule_number: Q_FALLTHROUGH(); ./ -Type: T_VOID; +SimpleType: T_VOID; /. case $rule_number: { AST::UiQualifiedId *id = new (pool) AST::UiQualifiedId(stringRef(1)); |