[ruby/prism] Remove RequiredDestructuredParameterNode in favor of MultiTargetNode
https://github.com/ruby/prism/commit/6d1858192e
This commit is contained in:
parent
533bd1d1fa
commit
922f48f081
@ -112,11 +112,13 @@ module Prism
|
||||
|
||||
# Recurse down the parameter tree to find any destructured
|
||||
# parameters and add them after the other parameters.
|
||||
param_stack = params.requireds.concat(params.posts).grep(RequiredDestructuredParameterNode).reverse
|
||||
param_stack = params.requireds.concat(params.posts).grep(MultiTargetNode).reverse
|
||||
while (param = param_stack.pop)
|
||||
case param
|
||||
when RequiredDestructuredParameterNode
|
||||
param_stack.concat(param.parameters.reverse)
|
||||
when MultiTargetNode
|
||||
param_stack.concat(param.posts.reverse)
|
||||
param_stack << param.rest
|
||||
param_stack.concat(param.requireds.reverse)
|
||||
when RequiredParameterNode
|
||||
sorted << param.name
|
||||
when SplatNode
|
||||
|
@ -2184,20 +2184,6 @@ nodes:
|
||||
|
||||
/foo/i
|
||||
^^^^^^
|
||||
- name: RequiredDestructuredParameterNode
|
||||
fields:
|
||||
- name: parameters
|
||||
type: node[]
|
||||
- name: opening_loc
|
||||
type: location
|
||||
- name: closing_loc
|
||||
type: location
|
||||
comment: |
|
||||
Represents a destructured required parameter node.
|
||||
|
||||
def foo((bar, baz))
|
||||
^^^^^^^^^^
|
||||
end
|
||||
- name: RequiredParameterNode
|
||||
fields:
|
||||
- name: name
|
||||
|
@ -3647,6 +3647,20 @@ pm_multi_target_node_targets_append(pm_parser_t *parser, pm_multi_target_node_t
|
||||
}
|
||||
}
|
||||
|
||||
// Set the opening of a MultiTargetNode node.
|
||||
static void
|
||||
pm_multi_target_node_opening_set(pm_multi_target_node_t *node, const pm_token_t *lparen) {
|
||||
node->base.location.start = lparen->start;
|
||||
node->lparen_loc = PM_LOCATION_TOKEN_VALUE(lparen);
|
||||
}
|
||||
|
||||
// Set the closing of a MultiTargetNode node.
|
||||
static void
|
||||
pm_multi_target_node_closing_set(pm_multi_target_node_t *node, const pm_token_t *rparen) {
|
||||
node->base.location.end = rparen->end;
|
||||
node->rparen_loc = PM_LOCATION_TOKEN_VALUE(rparen);
|
||||
}
|
||||
|
||||
// Allocate a new MultiWriteNode node.
|
||||
static pm_multi_write_node_t *
|
||||
pm_multi_write_node_create(pm_parser_t *parser, pm_multi_target_node_t *target, const pm_token_t *operator, pm_node_t *value) {
|
||||
@ -4089,37 +4103,6 @@ pm_regular_expression_node_create(pm_parser_t *parser, const pm_token_t *opening
|
||||
return pm_regular_expression_node_create_unescaped(parser, opening, content, closing, &PM_EMPTY_STRING);
|
||||
}
|
||||
|
||||
// Allocate a new RequiredDestructuredParameterNode node.
|
||||
static pm_required_destructured_parameter_node_t *
|
||||
pm_required_destructured_parameter_node_create(pm_parser_t *parser, const pm_token_t *opening) {
|
||||
pm_required_destructured_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_required_destructured_parameter_node_t);
|
||||
|
||||
*node = (pm_required_destructured_parameter_node_t) {
|
||||
{
|
||||
.type = PM_REQUIRED_DESTRUCTURED_PARAMETER_NODE,
|
||||
.location = PM_LOCATION_TOKEN_VALUE(opening)
|
||||
},
|
||||
.opening_loc = PM_LOCATION_TOKEN_VALUE(opening),
|
||||
.closing_loc = PM_OPTIONAL_LOCATION_NOT_PROVIDED_VALUE,
|
||||
.parameters = PM_EMPTY_NODE_LIST
|
||||
};
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
// Append a new parameter to the given RequiredDestructuredParameterNode node.
|
||||
static void
|
||||
pm_required_destructured_parameter_node_append_parameter(pm_required_destructured_parameter_node_t *node, pm_node_t *parameter) {
|
||||
pm_node_list_append(&node->parameters, parameter);
|
||||
}
|
||||
|
||||
// Set the closing token of the given RequiredDestructuredParameterNode node.
|
||||
static void
|
||||
pm_required_destructured_parameter_node_closing_set(pm_required_destructured_parameter_node_t *node, const pm_token_t *closing) {
|
||||
node->closing_loc = PM_LOCATION_TOKEN_VALUE(closing);
|
||||
node->base.location.end = closing->end;
|
||||
}
|
||||
|
||||
// Allocate a new RequiredParameterNode node.
|
||||
static pm_required_parameter_node_t *
|
||||
pm_required_parameter_node_create(pm_parser_t *parser, const pm_token_t *token) {
|
||||
@ -10194,34 +10177,27 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for
|
||||
// end
|
||||
//
|
||||
// It can recurse infinitely down, and splats are allowed to group arguments.
|
||||
static pm_required_destructured_parameter_node_t *
|
||||
static pm_multi_target_node_t *
|
||||
parse_required_destructured_parameter(pm_parser_t *parser) {
|
||||
expect1(parser, PM_TOKEN_PARENTHESIS_LEFT, PM_ERR_EXPECT_LPAREN_REQ_PARAMETER);
|
||||
|
||||
pm_token_t opening = parser->previous;
|
||||
pm_required_destructured_parameter_node_t *node = pm_required_destructured_parameter_node_create(parser, &opening);
|
||||
bool parsed_splat = false;
|
||||
pm_multi_target_node_t *node = pm_multi_target_node_create(parser);
|
||||
pm_multi_target_node_opening_set(node, &parser->previous);
|
||||
|
||||
do {
|
||||
pm_node_t *param;
|
||||
|
||||
if (node->parameters.size > 0 && match1(parser, PM_TOKEN_PARENTHESIS_RIGHT)) {
|
||||
if (parsed_splat) {
|
||||
pm_parser_err_previous(parser, PM_ERR_ARGUMENT_SPLAT_AFTER_SPLAT);
|
||||
}
|
||||
|
||||
// If we get here then we have a trailing comma. In this case we'll
|
||||
// create an implicit splat node.
|
||||
if (node->requireds.size > 0 && match1(parser, PM_TOKEN_PARENTHESIS_RIGHT)) {
|
||||
param = (pm_node_t *) pm_splat_node_create(parser, &parser->previous, NULL);
|
||||
pm_required_destructured_parameter_node_append_parameter(node, param);
|
||||
pm_multi_target_node_targets_append(parser, node, param);
|
||||
break;
|
||||
}
|
||||
|
||||
if (match1(parser, PM_TOKEN_PARENTHESIS_LEFT)) {
|
||||
param = (pm_node_t *) parse_required_destructured_parameter(parser);
|
||||
} else if (accept1(parser, PM_TOKEN_USTAR)) {
|
||||
if (parsed_splat) {
|
||||
pm_parser_err_previous(parser, PM_ERR_ARGUMENT_SPLAT_AFTER_SPLAT);
|
||||
}
|
||||
|
||||
pm_token_t star = parser->previous;
|
||||
pm_node_t *value = NULL;
|
||||
|
||||
@ -10233,7 +10209,6 @@ parse_required_destructured_parameter(pm_parser_t *parser) {
|
||||
}
|
||||
|
||||
param = (pm_node_t *) pm_splat_node_create(parser, &star, value);
|
||||
parsed_splat = true;
|
||||
} else {
|
||||
expect1(parser, PM_TOKEN_IDENTIFIER, PM_ERR_EXPECT_IDENT_REQ_PARAMETER);
|
||||
pm_token_t name = parser->previous;
|
||||
@ -10243,11 +10218,11 @@ parse_required_destructured_parameter(pm_parser_t *parser) {
|
||||
pm_parser_local_add_token(parser, &name);
|
||||
}
|
||||
|
||||
pm_required_destructured_parameter_node_append_parameter(node, param);
|
||||
pm_multi_target_node_targets_append(parser, node, param);
|
||||
} while (accept1(parser, PM_TOKEN_COMMA));
|
||||
|
||||
expect1(parser, PM_TOKEN_PARENTHESIS_RIGHT, PM_ERR_EXPECT_RPAREN_REQ_PARAMETER);
|
||||
pm_required_destructured_parameter_node_closing_set(node, &parser->previous);
|
||||
pm_multi_target_node_closing_set(node, &parser->previous);
|
||||
|
||||
return node;
|
||||
}
|
||||
|
@ -579,6 +579,9 @@ module Prism
|
||||
def test_MultiTargetNode
|
||||
assert_location(MultiTargetNode, "for foo, bar in baz do end", 4...12, &:index)
|
||||
assert_location(MultiTargetNode, "foo, (bar, baz) = qux", 5...15) { |node| node.requireds.last }
|
||||
assert_location(MultiTargetNode, "def foo((bar)); end", 8...13) do |node|
|
||||
node.parameters.requireds.first
|
||||
end
|
||||
end
|
||||
|
||||
def test_MultiWriteNode
|
||||
@ -676,12 +679,6 @@ module Prism
|
||||
end
|
||||
end
|
||||
|
||||
def test_RequiredDestructuredParameterNode
|
||||
assert_location(RequiredDestructuredParameterNode, "def foo((bar)); end", 8...13) do |node|
|
||||
node.parameters.requireds.first
|
||||
end
|
||||
end
|
||||
|
||||
def test_RescueNode
|
||||
code = <<~RUBY
|
||||
begin
|
||||
|
@ -10,14 +10,16 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (1,8)-(1,18))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,18))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,12))
|
||||
│ │ │ │ │ └── name: :bar
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,17))
|
||||
│ │ │ │ └── name: :baz
|
||||
│ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ └── closing_loc: (1,17)-(1,18) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ └── rparen_loc: (1,17)-(1,18) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -39,14 +41,16 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (4,8)-(4,44))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (4,8)-(4,18))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ └── @ MultiTargetNode (location: (4,8)-(4,18))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (4,9)-(4,12))
|
||||
│ │ │ │ │ └── name: :bar
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (4,14)-(4,17))
|
||||
│ │ │ │ └── name: :baz
|
||||
│ │ │ ├── opening_loc: (4,8)-(4,9) = "("
|
||||
│ │ │ └── closing_loc: (4,17)-(4,18) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (4,8)-(4,9) = "("
|
||||
│ │ │ └── rparen_loc: (4,17)-(4,18) = ")"
|
||||
│ │ ├── optionals: (length: 1)
|
||||
│ │ │ └── @ OptionalParameterNode (location: (4,20)-(4,32))
|
||||
│ │ │ ├── name: :optional
|
||||
@ -57,14 +61,16 @@
|
||||
│ │ │ └── flags: decimal
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (4,34)-(4,44))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ └── @ MultiTargetNode (location: (4,34)-(4,44))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (4,35)-(4,38))
|
||||
│ │ │ │ │ └── name: :bin
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (4,40)-(4,43))
|
||||
│ │ │ │ └── name: :bag
|
||||
│ │ │ ├── opening_loc: (4,34)-(4,35) = "("
|
||||
│ │ │ └── closing_loc: (4,43)-(4,44) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (4,34)-(4,35) = "("
|
||||
│ │ │ └── rparen_loc: (4,43)-(4,44) = ")"
|
||||
│ │ ├── keywords: (length: 0)
|
||||
│ │ ├── keyword_rest: ∅
|
||||
│ │ └── block: ∅
|
||||
|
@ -352,14 +352,16 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (27,4)-(27,14))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (27,4)-(27,10))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ └── @ MultiTargetNode (location: (27,4)-(27,10))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (27,5)-(27,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (27,8)-(27,9))
|
||||
│ │ │ │ └── name: :b
|
||||
│ │ │ ├── opening_loc: (27,4)-(27,5) = "("
|
||||
│ │ │ └── closing_loc: (27,9)-(27,10) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (27,4)-(27,5) = "("
|
||||
│ │ │ └── rparen_loc: (27,9)-(27,10) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest:
|
||||
│ │ │ @ RestParameterNode (location: (27,12)-(27,14))
|
||||
|
@ -18,15 +18,17 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ SplatNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
|
||||
│ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,15 +18,17 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,19 +18,21 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,15))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,15))
|
||||
│ │ │ │ ├── parameters: (length: 3)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ ├── @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,15 +18,17 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,9))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,9))
|
||||
│ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,6)-(1,8))
|
||||
│ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,8)-(1,9) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9))
|
||||
│ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,6)-(1,8))
|
||||
│ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,8)-(1,9) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,17 +18,19 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,12))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,12))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,14 +18,16 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,14 +18,16 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,14))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ └── name: :c
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
|
@ -18,20 +18,24 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,19))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,5)-(1,16))
|
||||
│ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,6)-(1,12))
|
||||
│ │ │ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,16))
|
||||
│ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12))
|
||||
│ │ │ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
|
||||
│ │ │ │ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
|
||||
│ │ │ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "("
|
||||
│ │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
|
||||
│ │ │ │ │ │ └── name: :c
|
||||
│ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")"
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19))
|
||||
│ │ │ │ └── name: :d
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
|
@ -18,20 +18,24 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,16))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,16))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,6)-(1,12))
|
||||
│ │ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,16))
|
||||
│ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12))
|
||||
│ │ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
|
||||
│ │ │ │ │ │ │ │ └── name: :k
|
||||
│ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ │ │ └── name: :v
|
||||
│ │ │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
|
||||
│ │ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "("
|
||||
│ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
|
||||
│ │ │ │ │ └── name: :i
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,14 +20,16 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,17 +20,19 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,15))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,12)-(1,14))
|
||||
│ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,12)-(1,14))
|
||||
│ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,17 +20,19 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,15))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15))
|
||||
│ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,13 +20,15 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,11))
|
||||
│ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,11))
|
||||
│ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,15 +20,17 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ SplatNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,19 +20,21 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,18))
|
||||
│ │ │ │ ├── parameters: (length: 3)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ ├── @ SplatNode (location: (1,12)-(1,14))
|
||||
│ │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ │ │ └── name: :c
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,12)-(1,14))
|
||||
│ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
|
||||
│ │ │ │ │ └── name: :d
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,17)-(1,18) = ")"
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,17)-(1,18) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,15 +20,17 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,17 +20,19 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,17))
|
||||
│ │ │ │ ├── parameters: (length: 3)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ ├── @ SplatNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,17))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,16)-(1,17) = ")"
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,16)-(1,17) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,15 +20,17 @@
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,12))
|
||||
│ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,12))
|
||||
│ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ ├── rest:
|
||||
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
|
||||
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -18,14 +18,16 @@
|
||||
│ │ ├── parameters:
|
||||
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
|
||||
│ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
|
||||
│ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ └── name: :b
|
||||
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
|
@ -20,14 +20,16 @@
|
||||
│ │ │ ├── requireds: (length: 3)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ MultiTargetNode (location: (1,8)-(1,14))
|
||||
│ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
|
||||
│ │ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
|
||||
│ │ │ │ │ │ └── name: :c
|
||||
│ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")"
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
|
||||
│ │ │ │ └── name: :d
|
||||
│ │ │ ├── optionals: (length: 0)
|
||||
|
@ -308,14 +308,16 @@
|
||||
│ │ │ ├── parameters:
|
||||
│ │ │ │ @ ParametersNode (location: (23,11)-(23,20))
|
||||
│ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (23,11)-(23,17))
|
||||
│ │ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17))
|
||||
│ │ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13))
|
||||
│ │ │ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16))
|
||||
│ │ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ │ ├── opening_loc: (23,11)-(23,12) = "("
|
||||
│ │ │ │ │ │ └── closing_loc: (23,16)-(23,17) = ")"
|
||||
│ │ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ │ ├── lparen_loc: (23,11)-(23,12) = "("
|
||||
│ │ │ │ │ │ └── rparen_loc: (23,16)-(23,17) = ")"
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (23,19)-(23,20))
|
||||
│ │ │ │ │ └── name: :c
|
||||
│ │ │ │ ├── optionals: (length: 0)
|
||||
@ -547,13 +549,15 @@
|
||||
│ │ │ ├── parameters:
|
||||
│ │ │ │ @ ParametersNode (location: (35,11)-(35,14))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (35,11)-(35,14))
|
||||
│ │ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ │ └── @ SplatNode (location: (35,12)-(35,13))
|
||||
│ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
|
||||
│ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ │ ├── opening_loc: (35,11)-(35,12) = "("
|
||||
│ │ │ │ │ └── closing_loc: (35,13)-(35,14) = ")"
|
||||
│ │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14))
|
||||
│ │ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ │ ├── rest:
|
||||
│ │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13))
|
||||
│ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
|
||||
│ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")"
|
||||
│ │ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
@ -605,17 +609,21 @@
|
||||
│ │ │ ├── parameters:
|
||||
│ │ │ │ @ ParametersNode (location: (38,11)-(38,16))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (38,11)-(38,16))
|
||||
│ │ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (38,12)-(38,15))
|
||||
│ │ │ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ │ │ └── @ SplatNode (location: (38,13)-(38,14))
|
||||
│ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
|
||||
│ │ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ │ │ ├── opening_loc: (38,12)-(38,13) = "("
|
||||
│ │ │ │ │ │ └── closing_loc: (38,14)-(38,15) = ")"
|
||||
│ │ │ │ │ ├── opening_loc: (38,11)-(38,12) = "("
|
||||
│ │ │ │ │ └── closing_loc: (38,15)-(38,16) = ")"
|
||||
│ │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16))
|
||||
│ │ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15))
|
||||
│ │ │ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ │ │ ├── rest:
|
||||
│ │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14))
|
||||
│ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
|
||||
│ │ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "("
|
||||
│ │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")"
|
||||
│ │ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
@ -667,19 +675,23 @@
|
||||
│ │ │ ├── parameters:
|
||||
│ │ │ │ @ ParametersNode (location: (41,11)-(41,19))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (41,11)-(41,19))
|
||||
│ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19))
|
||||
│ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13))
|
||||
│ │ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (41,15)-(41,18))
|
||||
│ │ │ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ │ │ │ └── @ SplatNode (location: (41,16)-(41,17))
|
||||
│ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
|
||||
│ │ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ │ │ ├── opening_loc: (41,15)-(41,16) = "("
|
||||
│ │ │ │ │ │ └── closing_loc: (41,17)-(41,18) = ")"
|
||||
│ │ │ │ │ ├── opening_loc: (41,11)-(41,12) = "("
|
||||
│ │ │ │ │ └── closing_loc: (41,18)-(41,19) = ")"
|
||||
│ │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18))
|
||||
│ │ │ │ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ │ │ │ ├── rest:
|
||||
│ │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17))
|
||||
│ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
|
||||
│ │ │ │ │ │ │ └── expression: ∅
|
||||
│ │ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "("
|
||||
│ │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")"
|
||||
│ │ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
@ -731,14 +743,16 @@
|
||||
│ │ │ ├── parameters:
|
||||
│ │ │ │ @ ParametersNode (location: (44,11)-(44,17))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (44,11)-(44,17))
|
||||
│ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17))
|
||||
│ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13))
|
||||
│ │ │ │ │ │ │ └── name: :a
|
||||
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16))
|
||||
│ │ │ │ │ │ └── name: :b
|
||||
│ │ │ │ │ ├── opening_loc: (44,11)-(44,12) = "("
|
||||
│ │ │ │ │ └── closing_loc: (44,16)-(44,17) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")"
|
||||
│ │ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
|
@ -1053,16 +1053,20 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (120,6)-(120,11))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (120,6)-(120,11))
|
||||
│ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (120,7)-(120,10))
|
||||
│ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ └── @ MultiTargetNode (location: (120,6)-(120,11))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (120,7)-(120,10))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (120,8)-(120,9))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── opening_loc: (120,7)-(120,8) = "("
|
||||
│ │ │ │ └── closing_loc: (120,9)-(120,10) = ")"
|
||||
│ │ │ ├── opening_loc: (120,6)-(120,7) = "("
|
||||
│ │ │ └── closing_loc: (120,10)-(120,11) = ")"
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (120,7)-(120,8) = "("
|
||||
│ │ │ │ └── rparen_loc: (120,9)-(120,10) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (120,6)-(120,7) = "("
|
||||
│ │ │ └── rparen_loc: (120,10)-(120,11) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
|
@ -35,16 +35,20 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (3,7)-(3,12))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (3,7)-(3,12))
|
||||
│ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ └── @ RequiredDestructuredParameterNode (location: (3,8)-(3,11))
|
||||
│ │ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ └── @ MultiTargetNode (location: (3,7)-(3,12))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ MultiTargetNode (location: (3,8)-(3,11))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredParameterNode (location: (3,9)-(3,10))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── opening_loc: (3,8)-(3,9) = "("
|
||||
│ │ │ │ └── closing_loc: (3,10)-(3,11) = ")"
|
||||
│ │ │ ├── opening_loc: (3,7)-(3,8) = "("
|
||||
│ │ │ └── closing_loc: (3,11)-(3,12) = ")"
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ ├── lparen_loc: (3,8)-(3,9) = "("
|
||||
│ │ │ │ └── rparen_loc: (3,10)-(3,11) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (3,7)-(3,8) = "("
|
||||
│ │ │ └── rparen_loc: (3,11)-(3,12) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -66,13 +70,15 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (5,7)-(5,10))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (5,7)-(5,10))
|
||||
│ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ └── @ SplatNode (location: (5,8)-(5,9))
|
||||
│ │ │ │ ├── operator_loc: (5,8)-(5,9) = "*"
|
||||
│ │ │ │ └── expression: ∅
|
||||
│ │ │ ├── opening_loc: (5,7)-(5,8) = "("
|
||||
│ │ │ └── closing_loc: (5,9)-(5,10) = ")"
|
||||
│ │ │ └── @ MultiTargetNode (location: (5,7)-(5,10))
|
||||
│ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (5,8)-(5,9))
|
||||
│ │ │ │ ├── operator_loc: (5,8)-(5,9) = "*"
|
||||
│ │ │ │ └── expression: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (5,7)-(5,8) = "("
|
||||
│ │ │ └── rparen_loc: (5,9)-(5,10) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -94,15 +100,17 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (7,7)-(7,13))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (7,7)-(7,13))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ SplatNode (location: (7,8)-(7,9))
|
||||
│ │ │ │ │ ├── operator_loc: (7,8)-(7,9) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ └── @ MultiTargetNode (location: (7,7)-(7,13))
|
||||
│ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (7,8)-(7,9))
|
||||
│ │ │ │ ├── operator_loc: (7,8)-(7,9) = "*"
|
||||
│ │ │ │ └── expression: ∅
|
||||
│ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (7,11)-(7,12))
|
||||
│ │ │ │ └── name: :p
|
||||
│ │ │ ├── opening_loc: (7,7)-(7,8) = "("
|
||||
│ │ │ └── closing_loc: (7,12)-(7,13) = ")"
|
||||
│ │ │ ├── lparen_loc: (7,7)-(7,8) = "("
|
||||
│ │ │ └── rparen_loc: (7,12)-(7,13) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -124,15 +132,17 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (9,7)-(9,11))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (9,7)-(9,11))
|
||||
│ │ │ ├── parameters: (length: 1)
|
||||
│ │ │ │ └── @ SplatNode (location: (9,8)-(9,10))
|
||||
│ │ │ │ ├── operator_loc: (9,8)-(9,9) = "*"
|
||||
│ │ │ │ └── expression:
|
||||
│ │ │ │ @ RequiredParameterNode (location: (9,9)-(9,10))
|
||||
│ │ │ │ └── name: :r
|
||||
│ │ │ ├── opening_loc: (9,7)-(9,8) = "("
|
||||
│ │ │ └── closing_loc: (9,10)-(9,11) = ")"
|
||||
│ │ │ └── @ MultiTargetNode (location: (9,7)-(9,11))
|
||||
│ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (9,8)-(9,10))
|
||||
│ │ │ │ ├── operator_loc: (9,8)-(9,9) = "*"
|
||||
│ │ │ │ └── expression:
|
||||
│ │ │ │ @ RequiredParameterNode (location: (9,9)-(9,10))
|
||||
│ │ │ │ └── name: :r
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (9,7)-(9,8) = "("
|
||||
│ │ │ └── rparen_loc: (9,10)-(9,11) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -154,17 +164,19 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (11,7)-(11,14))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (11,7)-(11,14))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ SplatNode (location: (11,8)-(11,10))
|
||||
│ │ │ │ │ ├── operator_loc: (11,8)-(11,9) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (11,9)-(11,10))
|
||||
│ │ │ │ │ └── name: :r
|
||||
│ │ │ └── @ MultiTargetNode (location: (11,7)-(11,14))
|
||||
│ │ │ ├── requireds: (length: 0)
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (11,8)-(11,10))
|
||||
│ │ │ │ ├── operator_loc: (11,8)-(11,9) = "*"
|
||||
│ │ │ │ └── expression:
|
||||
│ │ │ │ @ RequiredParameterNode (location: (11,9)-(11,10))
|
||||
│ │ │ │ └── name: :r
|
||||
│ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (11,12)-(11,13))
|
||||
│ │ │ │ └── name: :p
|
||||
│ │ │ ├── opening_loc: (11,7)-(11,8) = "("
|
||||
│ │ │ └── closing_loc: (11,13)-(11,14) = ")"
|
||||
│ │ │ ├── lparen_loc: (11,7)-(11,8) = "("
|
||||
│ │ │ └── rparen_loc: (11,13)-(11,14) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -186,15 +198,17 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (13,7)-(13,13))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (13,7)-(13,13))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (13,8)-(13,9))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ SplatNode (location: (13,11)-(13,12))
|
||||
│ │ │ │ ├── operator_loc: (13,11)-(13,12) = "*"
|
||||
│ │ │ │ └── expression: ∅
|
||||
│ │ │ ├── opening_loc: (13,7)-(13,8) = "("
|
||||
│ │ │ └── closing_loc: (13,12)-(13,13) = ")"
|
||||
│ │ │ └── @ MultiTargetNode (location: (13,7)-(13,13))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9))
|
||||
│ │ │ │ └── name: :a
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (13,11)-(13,12))
|
||||
│ │ │ │ ├── operator_loc: (13,11)-(13,12) = "*"
|
||||
│ │ │ │ └── expression: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (13,7)-(13,8) = "("
|
||||
│ │ │ └── rparen_loc: (13,12)-(13,13) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -216,17 +230,19 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (15,7)-(15,16))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (15,7)-(15,16))
|
||||
│ │ │ ├── parameters: (length: 3)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (15,8)-(15,9))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── @ SplatNode (location: (15,11)-(15,12))
|
||||
│ │ │ │ │ ├── operator_loc: (15,11)-(15,12) = "*"
|
||||
│ │ │ │ │ └── expression: ∅
|
||||
│ │ │ └── @ MultiTargetNode (location: (15,7)-(15,16))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (15,8)-(15,9))
|
||||
│ │ │ │ └── name: :a
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (15,11)-(15,12))
|
||||
│ │ │ │ ├── operator_loc: (15,11)-(15,12) = "*"
|
||||
│ │ │ │ └── expression: ∅
|
||||
│ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (15,14)-(15,15))
|
||||
│ │ │ │ └── name: :p
|
||||
│ │ │ ├── opening_loc: (15,7)-(15,8) = "("
|
||||
│ │ │ └── closing_loc: (15,15)-(15,16) = ")"
|
||||
│ │ │ ├── lparen_loc: (15,7)-(15,8) = "("
|
||||
│ │ │ └── rparen_loc: (15,15)-(15,16) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -248,17 +264,19 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (17,7)-(17,14))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (17,7)-(17,14))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (17,8)-(17,9))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ SplatNode (location: (17,11)-(17,13))
|
||||
│ │ │ │ ├── operator_loc: (17,11)-(17,12) = "*"
|
||||
│ │ │ │ └── expression:
|
||||
│ │ │ │ @ RequiredParameterNode (location: (17,12)-(17,13))
|
||||
│ │ │ │ └── name: :r
|
||||
│ │ │ ├── opening_loc: (17,7)-(17,8) = "("
|
||||
│ │ │ └── closing_loc: (17,13)-(17,14) = ")"
|
||||
│ │ │ └── @ MultiTargetNode (location: (17,7)-(17,14))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (17,8)-(17,9))
|
||||
│ │ │ │ └── name: :a
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (17,11)-(17,13))
|
||||
│ │ │ │ ├── operator_loc: (17,11)-(17,12) = "*"
|
||||
│ │ │ │ └── expression:
|
||||
│ │ │ │ @ RequiredParameterNode (location: (17,12)-(17,13))
|
||||
│ │ │ │ └── name: :r
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (17,7)-(17,8) = "("
|
||||
│ │ │ └── rparen_loc: (17,13)-(17,14) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -280,19 +298,21 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (19,7)-(19,17))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (19,7)-(19,17))
|
||||
│ │ │ ├── parameters: (length: 3)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (19,8)-(19,9))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ ├── @ SplatNode (location: (19,11)-(19,13))
|
||||
│ │ │ │ │ ├── operator_loc: (19,11)-(19,12) = "*"
|
||||
│ │ │ │ │ └── expression:
|
||||
│ │ │ │ │ @ RequiredParameterNode (location: (19,12)-(19,13))
|
||||
│ │ │ │ │ └── name: :r
|
||||
│ │ │ └── @ MultiTargetNode (location: (19,7)-(19,17))
|
||||
│ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (19,8)-(19,9))
|
||||
│ │ │ │ └── name: :a
|
||||
│ │ │ ├── rest:
|
||||
│ │ │ │ @ SplatNode (location: (19,11)-(19,13))
|
||||
│ │ │ │ ├── operator_loc: (19,11)-(19,12) = "*"
|
||||
│ │ │ │ └── expression:
|
||||
│ │ │ │ @ RequiredParameterNode (location: (19,12)-(19,13))
|
||||
│ │ │ │ └── name: :r
|
||||
│ │ │ ├── posts: (length: 1)
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (19,15)-(19,16))
|
||||
│ │ │ │ └── name: :p
|
||||
│ │ │ ├── opening_loc: (19,7)-(19,8) = "("
|
||||
│ │ │ └── closing_loc: (19,16)-(19,17) = ")"
|
||||
│ │ │ ├── lparen_loc: (19,7)-(19,8) = "("
|
||||
│ │ │ └── rparen_loc: (19,16)-(19,17) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
@ -314,14 +334,16 @@
|
||||
│ ├── parameters:
|
||||
│ │ @ ParametersNode (location: (21,7)-(21,14))
|
||||
│ │ ├── requireds: (length: 1)
|
||||
│ │ │ └── @ RequiredDestructuredParameterNode (location: (21,7)-(21,14))
|
||||
│ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ └── @ MultiTargetNode (location: (21,7)-(21,14))
|
||||
│ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ ├── @ RequiredParameterNode (location: (21,8)-(21,9))
|
||||
│ │ │ │ │ └── name: :a
|
||||
│ │ │ │ └── @ RequiredParameterNode (location: (21,11)-(21,13))
|
||||
│ │ │ │ └── name: :a1
|
||||
│ │ │ ├── opening_loc: (21,7)-(21,8) = "("
|
||||
│ │ │ └── closing_loc: (21,13)-(21,14) = ")"
|
||||
│ │ │ ├── rest: ∅
|
||||
│ │ │ ├── posts: (length: 0)
|
||||
│ │ │ ├── lparen_loc: (21,7)-(21,8) = "("
|
||||
│ │ │ └── rparen_loc: (21,13)-(21,14) = ")"
|
||||
│ │ ├── optionals: (length: 0)
|
||||
│ │ ├── rest: ∅
|
||||
│ │ ├── posts: (length: 0)
|
||||
|
@ -18,14 +18,16 @@
|
||||
│ │ │ ├── parameters:
|
||||
│ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
|
||||
│ │ │ │ ├── requireds: (length: 1)
|
||||
│ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,15))
|
||||
│ │ │ │ │ ├── parameters: (length: 2)
|
||||
│ │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
|
||||
│ │ │ │ │ ├── requireds: (length: 2)
|
||||
│ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9))
|
||||
│ │ │ │ │ │ │ └── name: :foo
|
||||
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,14))
|
||||
│ │ │ │ │ │ └── name: :bar
|
||||
│ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ │ ├── posts: (length: 0)
|
||||
│ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
|
||||
│ │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
|
||||
│ │ │ │ ├── optionals: (length: 0)
|
||||
│ │ │ │ ├── rest: ∅
|
||||
│ │ │ │ ├── posts: (length: 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user