diff options
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/parser/qqmljs.g | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g index c87bfa09ad..ad0aeb2b74 100644 --- a/src/qml/parser/qqmljs.g +++ b/src/qml/parser/qqmljs.g @@ -1485,6 +1485,18 @@ EnumMemberList: T_IDENTIFIER T_EQ T_NUMERIC_LITERAL; } ./ + +EnumMemberList: T_IDENTIFIER T_EQ T_MINUS T_NUMERIC_LITERAL; +/. + case $rule_number: { + AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(stringRef(1), -sym(4).dval); + node->memberToken = loc(1); + node->valueToken = combine(loc(3), loc(4)); + sym(1).Node = node; + break; + } +./ + EnumMemberList: EnumMemberList T_COMMA T_IDENTIFIER; /. case $rule_number: { @@ -1506,6 +1518,18 @@ EnumMemberList: EnumMemberList T_COMMA T_IDENTIFIER T_EQ T_NUMERIC_LITERAL; } ./ + +EnumMemberList: EnumMemberList T_COMMA T_IDENTIFIER T_EQ T_MINUS T_NUMERIC_LITERAL; +/. + case $rule_number: { + AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(sym(1).UiEnumMemberList, stringRef(3), -sym(6).dval); + node->memberToken = loc(3); + node->valueToken = combine(loc(5), loc(6)); + sym(1).Node = node; + break; + } +./ + QmlIdentifier: T_IDENTIFIER | T_PROPERTY | T_SIGNAL |