[ruby/prism] Multi-splat flag for arguments
https://github.com/ruby/prism/commit/21cb9b78ae
This commit is contained in:
parent
ec88979a06
commit
d25833b81a
@ -653,6 +653,8 @@ flags:
|
||||
comment: "if arguments contain keyword splat"
|
||||
- name: CONTAINS_SPLAT
|
||||
comment: "if arguments contain splat"
|
||||
- name: CONTAINS_MULTIPLE_SPLATS
|
||||
comment: "if arguments contain multiple splats"
|
||||
comment: Flags for arguments nodes.
|
||||
- name: ArrayNodeFlags
|
||||
values:
|
||||
|
@ -2065,7 +2065,11 @@ pm_arguments_node_arguments_append(pm_arguments_node_t *node, pm_node_t *argumen
|
||||
pm_node_list_append(&node->arguments, argument);
|
||||
|
||||
if (PM_NODE_TYPE_P(argument, PM_SPLAT_NODE)) {
|
||||
pm_node_flag_set((pm_node_t *) node, PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT);
|
||||
if (PM_NODE_FLAG_P(node, PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT)) {
|
||||
pm_node_flag_set((pm_node_t *) node, PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS);
|
||||
} else {
|
||||
pm_node_flag_set((pm_node_t *) node, PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1123,7 +1123,7 @@
|
||||
│ ├── opening_loc: (59,7)-(59,8) = "("
|
||||
│ ├── arguments:
|
||||
│ │ @ ArgumentsNode (location: (59,8)-(59,25))
|
||||
│ │ ├── flags: contains_splat
|
||||
│ │ ├── flags: contains_splat, contains_multiple_splats
|
||||
│ │ └── arguments: (length: 3)
|
||||
│ │ ├── @ SplatNode (location: (59,8)-(59,13))
|
||||
│ │ │ ├── flags: ∅
|
||||
|
Loading…
x
Reference in New Issue
Block a user