aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-04 09:55:14 +0200
committerLars Knoll <lars.knoll@qt.io>2018-06-21 13:30:23 +0000
commit491a2c2186f9caf01002a44aa04df894f3604b76 (patch)
tree693c489da0008935fea249e8308c478fef8dfe3a /src
parent4b7d56f65dcb29718a0aee33863e7687b1cb6e5f (diff)
Allow a trailing comma in parameter lists
This got changed in ES8, but let's already take this in now, as there are quite a few tests checking this behavior. Change-Id: I73f86b8fd8a681881bcc9cc3132bef1589d5194f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/qml/parser/qqmljs.g27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g
index 405513b435..5fd927a51b 100644
--- a/src/qml/parser/qqmljs.g
+++ b/src/qml/parser/qqmljs.g
@@ -3532,17 +3532,32 @@ FormalParameters: ;
} break;
./
+FormalParameters: BindingRestElement;
+/.
+ case $rule_number: {
+ AST::FormalParameterList *node = (new (pool) AST::FormalParameterList(nullptr, sym(1).PatternElement))->finish();
+ sym(1).Node = node;
+ } break;
+./
+
FormalParameters: FormalParameterList;
+/. case $rule_number: ./
+FormalParameters: FormalParameterList T_COMMA;
/.
case $rule_number: {
sym(1).Node = sym(1).FormalParameterList->finish();
} break;
./
-FormalsList: BindingElement;
-/. case $rule_number: ./
+FormalParameters: FormalParameterList T_COMMA BindingRestElement;
+/.
+ case $rule_number: {
+ AST::FormalParameterList *node = (new (pool) AST::FormalParameterList(sym(1).FormalParameterList, sym(3).PatternElement))->finish();
+ sym(1).Node = node;
+ } break;
+./
-FormalParameterList: BindingRestElement;
+FormalParameterList: BindingElement;
/.
case $rule_number: {
AST::FormalParameterList *node = new (pool) AST::FormalParameterList(nullptr, sym(1).PatternElement);
@@ -3550,12 +3565,8 @@ FormalParameterList: BindingRestElement;
} break;
./
-FormalParameterList: FormalsList;
-
-FormalParameterList: FormalsList T_COMMA BindingRestElement;
-/. case $rule_number: ./
-FormalsList: FormalsList T_COMMA BindingElement;
+FormalParameterList: FormalParameterList T_COMMA BindingElement;
/.
case $rule_number: {
AST::FormalParameterList *node = new (pool) AST::FormalParameterList(sym(1).FormalParameterList, sym(3).PatternElement);