aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/parser
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2022-07-18 14:38:50 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2022-07-19 10:02:03 +0200
commite814ff1e86bcb2824c384e88bffc263aa381df9a (patch)
tree627c816944697aa9376b3c810b78a7a53bf6bf96 /src/qml/parser
parent0923817ddadd35e43bc09449436e282f834d566f (diff)
QML: Support negative values in enums
[ChangeLog][QML] It is now possible to use negative integers as values for QML enum declarations. Change-Id: I321ad45ab41d5ef23d37d202a384d40e2e1e239d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/parser')
-rw-r--r--src/qml/parser/qqmljs.g24
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