[ruby/prism] Add locals_body_index to DefNode, BlockNode, LambdaNode

The locals_body_index gives the index in the locals array where
the locals from the body start. This allows compilers to easily
index past the parameters in the locals array.

https://github.com/ruby/prism/commit/5d4627b890
This commit is contained in:
Jemma Issroff 2023-12-04 16:40:59 -05:00
parent da1519b223
commit 018dbf18d5
291 changed files with 873 additions and 3 deletions

View File

@ -587,6 +587,8 @@ nodes:
fields:
- name: locals
type: constant[]
- name: locals_body_index
type: uint32
- name: parameters
type: node?
- name: body
@ -1103,6 +1105,8 @@ nodes:
type: node?
- name: locals
type: constant[]
- name: locals_body_index
type: uint32
- name: def_keyword_loc
type: location
- name: operator_loc
@ -1761,6 +1765,8 @@ nodes:
fields:
- name: locals
type: constant[]
- name: locals_body_index
type: uint32
- name: operator_loc
type: location
- name: opening_loc

View File

@ -1467,7 +1467,7 @@ pm_block_argument_node_create(pm_parser_t *parser, const pm_token_t *operator, p
* Allocate and initialize a new BlockNode node.
*/
static pm_block_node_t *
pm_block_node_create(pm_parser_t *parser, pm_constant_id_list_t *locals, const pm_token_t *opening, pm_node_t *parameters, pm_node_t *body, const pm_token_t *closing) {
pm_block_node_create(pm_parser_t *parser, pm_constant_id_list_t *locals, uint32_t locals_body_index, const pm_token_t *opening, pm_node_t *parameters, pm_node_t *body, const pm_token_t *closing) {
pm_block_node_t *node = PM_ALLOC_NODE(parser, pm_block_node_t);
*node = (pm_block_node_t) {
@ -1476,6 +1476,7 @@ pm_block_node_create(pm_parser_t *parser, pm_constant_id_list_t *locals, const p
.location = { .start = opening->start, .end = closing->end },
},
.locals = *locals,
.locals_body_index = locals_body_index,
.parameters = parameters,
.body = body,
.opening_loc = PM_LOCATION_TOKEN_VALUE(opening),
@ -2631,6 +2632,7 @@ pm_def_node_create(
pm_parameters_node_t *parameters,
pm_node_t *body,
pm_constant_id_list_t *locals,
uint32_t locals_body_index,
const pm_token_t *def_keyword,
const pm_token_t *operator,
const pm_token_t *lparen,
@ -2658,6 +2660,7 @@ pm_def_node_create(
.parameters = parameters,
.body = body,
.locals = *locals,
.locals_body_index = locals_body_index,
.def_keyword_loc = PM_LOCATION_TOKEN_VALUE(def_keyword),
.operator_loc = PM_OPTIONAL_LOCATION_TOKEN_VALUE(operator),
.lparen_loc = PM_OPTIONAL_LOCATION_TOKEN_VALUE(lparen),
@ -3954,6 +3957,7 @@ static pm_lambda_node_t *
pm_lambda_node_create(
pm_parser_t *parser,
pm_constant_id_list_t *locals,
uint32_t locals_body_index,
const pm_token_t *operator,
const pm_token_t *opening,
const pm_token_t *closing,
@ -3971,6 +3975,7 @@ pm_lambda_node_create(
},
},
.locals = *locals,
.locals_body_index = locals_body_index,
.operator_loc = PM_LOCATION_TOKEN_VALUE(operator),
.opening_loc = PM_LOCATION_TOKEN_VALUE(opening),
.closing_loc = PM_LOCATION_TOKEN_VALUE(closing),
@ -11915,6 +11920,12 @@ parse_block(pm_parser_t *parser) {
pm_block_parameters_node_closing_set(block_parameters, &parser->previous);
}
uint32_t locals_body_index = 0;
if (block_parameters) {
locals_body_index = (uint32_t) parser->current_scope->locals.size;
}
accept1(parser, PM_TOKEN_NEWLINE);
pm_node_t *statements = NULL;
@ -11946,12 +11957,13 @@ parse_block(pm_parser_t *parser) {
if (parameters == NULL && (maximum > 0)) {
parameters = (pm_node_t *) pm_numbered_parameters_node_create(parser, &(pm_location_t) { .start = opening.start, .end = parser->previous.end }, maximum);
locals_body_index = maximum;
}
pm_constant_id_list_t locals = parser->current_scope->locals;
pm_parser_scope_pop(parser);
pm_accepts_block_stack_pop(parser);
return pm_block_node_create(parser, &locals, &opening, parameters, statements, &parser->previous);
return pm_block_node_create(parser, &locals, locals_body_index, &opening, parameters, statements, &parser->previous);
}
/**
@ -14807,6 +14819,8 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
}
}
uint32_t locals_body_index = (uint32_t) parser->current_scope->locals.size;
context_pop(parser);
pm_node_t *statements = NULL;
pm_token_t equal;
@ -14877,6 +14891,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
params,
statements,
&locals,
locals_body_index,
&def_keyword,
&operator,
&lparen,
@ -15798,6 +15813,12 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
}
}
uint32_t locals_body_index = 0;
if (block_parameters) {
locals_body_index = (uint32_t) parser->current_scope->locals.size;
}
pm_token_t opening;
pm_node_t *body = NULL;
parser->lambda_enclosure_nesting = previous_lambda_enclosure_nesting;
@ -15832,12 +15853,13 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power, b
if (parameters == NULL && (maximum > 0)) {
parameters = (pm_node_t *) pm_numbered_parameters_node_create(parser, &(pm_location_t) { .start = operator.start, .end = parser->previous.end }, maximum);
locals_body_index = maximum;
}
pm_constant_id_list_t locals = parser->current_scope->locals;
pm_parser_scope_pop(parser);
pm_accepts_block_stack_pop(parser);
return (pm_node_t *) pm_lambda_node_create(parser, &locals, &operator, &opening, &parser->previous, parameters, body);
return (pm_node_t *) pm_lambda_node_create(parser, &locals, locals_body_index, &operator, &opening, &parser->previous, parameters, body);
}
case PM_TOKEN_UPLUS: {
parser_lex(parser);

View File

@ -419,6 +419,7 @@ module Prism
nil,
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:A), nil, Location(), :A)]),
[],
0,
Location(),
nil,
nil,
@ -449,6 +450,7 @@ module Prism
nil,
BlockNode(
[],
0,
nil,
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), :Foo)]),
Location(),
@ -458,6 +460,7 @@ module Prism
)]
),
[],
0,
Location(),
nil,
nil,
@ -508,6 +511,7 @@ module Prism
)]
),
[],
0,
Location(),
nil,
nil,
@ -548,6 +552,7 @@ module Prism
], [], nil, [], [], nil, nil),
nil,
[:A, :@a, :$A, :@@a],
4,
Location(),
nil,
Location(),
@ -619,6 +624,7 @@ module Prism
),
nil,
[:a, :b, :c],
3,
Location(),
nil,
Location(),
@ -635,6 +641,7 @@ module Prism
def test_do_not_allow_trailing_commas_in_lambda_parameters
expected = LambdaNode(
[:a, :b],
2,
Location(),
Location(),
Location(),
@ -703,6 +710,7 @@ module Prism
),
nil,
[:block, :a],
2,
Location(),
nil,
Location(),
@ -723,6 +731,7 @@ module Prism
ParametersNode([], [], nil, [RequiredParameterNode(:a)], [], nil, BlockParameterNode(nil, nil, Location())),
nil,
[:&, :a],
2,
Location(),
nil,
Location(),
@ -752,6 +761,7 @@ module Prism
),
nil,
[:"...", :a],
2,
Location(),
nil,
Location(),
@ -780,6 +790,7 @@ module Prism
),
nil,
[:b, :a],
2,
Location(),
nil,
Location(),
@ -808,6 +819,7 @@ module Prism
),
nil,
[:rest, :b],
2,
Location(),
nil,
Location(),
@ -829,6 +841,7 @@ module Prism
ParametersNode([], [], nil, [], [], ForwardingParameterNode(), nil),
nil,
[:"..."],
1,
Location(),
nil,
Location(),
@ -858,6 +871,7 @@ module Prism
),
nil,
[:args, :a, :b],
3,
Location(),
nil,
Location(),
@ -888,6 +902,7 @@ module Prism
),
nil,
[:args, :a, :b],
3,
Location(),
nil,
Location(),
@ -918,6 +933,7 @@ module Prism
),
nil,
[:args, :a, :b],
3,
Location(),
nil,
Location(),
@ -951,6 +967,7 @@ module Prism
),
nil,
[:a, :b, :c, :d, :e],
5,
Location(),
nil,
Location(),
@ -1000,6 +1017,7 @@ module Prism
nil,
StatementsNode([IntegerNode(IntegerBaseFlags::DECIMAL)]),
[],
0,
Location(),
nil,
Location(),
@ -1016,6 +1034,7 @@ module Prism
def test_do_not_allow_forward_arguments_in_lambda_literals
expected = LambdaNode(
[],
0,
Location(),
Location(),
Location(),
@ -1039,6 +1058,7 @@ module Prism
nil,
BlockNode(
[],
0,
BlockParametersNode(ParametersNode([], [], nil, [], [], ForwardingParameterNode(), nil), [], Location(), Location()),
nil,
Location(),
@ -1114,6 +1134,7 @@ module Prism
ParametersNode([RequiredParameterNode(:a), RequiredParameterNode(:b), RequiredParameterNode(:a)], [], nil, [], [], nil, nil),
nil,
[:a, :b],
2,
Location(),
nil,
Location(),
@ -1134,6 +1155,7 @@ module Prism
ParametersNode([RequiredParameterNode(:a), RequiredParameterNode(:b)], [], RestParameterNode(:a, Location(), Location()), [], [], nil, nil),
nil,
[:a, :b],
2,
Location(),
nil,
Location(),
@ -1153,6 +1175,7 @@ module Prism
ParametersNode([RequiredParameterNode(:a), RequiredParameterNode(:b)], [], nil, [], [], KeywordRestParameterNode(:a, Location(), Location()), nil),
nil,
[:a, :b],
2,
Location(),
nil,
Location(),
@ -1172,6 +1195,7 @@ module Prism
ParametersNode([RequiredParameterNode(:a), RequiredParameterNode(:b)], [], nil, [], [], nil, BlockParameterNode(:a, Location(), Location())),
nil,
[:a, :b],
2,
Location(),
nil,
Location(),
@ -1191,6 +1215,7 @@ module Prism
ParametersNode([], [OptionalParameterNode(:a, Location(), Location(), IntegerNode(IntegerBaseFlags::DECIMAL))], RestParameterNode(:c, Location(), Location()), [RequiredParameterNode(:b)], [], nil, nil),
nil,
[:a, :b, :c],
3,
Location(),
nil,
Location(),

View File

@ -1042,6 +1042,7 @@
│ │ │ └── operator_loc: (89,6)-(89,7) = "&"
│ │ └── flags: ∅
│ ├── locals: [:&]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (88,0)-(88,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (88,7)-(88,8) = "("
@ -1821,6 +1822,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (128,0)-(128,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (128,5)-(128,6) = "("
@ -1876,6 +1878,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (130,0)-(130,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (130,5)-(130,6) = "("
@ -1931,6 +1934,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (132,0)-(132,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (132,5)-(132,6) = "("
@ -1988,6 +1992,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (134,0)-(134,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (134,5)-(134,6) = "("
@ -2044,6 +2049,7 @@
│ │ @ IntegerNode (location: (136,18)-(136,19))
│ │ └── flags: decimal
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (136,0)-(136,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (136,5)-(136,6) = "("
@ -2101,6 +2107,7 @@
│ │ @ IntegerNode (location: (138,22)-(138,23))
│ │ └── flags: decimal
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (138,0)-(138,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (138,5)-(138,6) = "("
@ -2166,6 +2173,7 @@
│ │ ├── ensure_clause: ∅
│ │ └── end_keyword_loc: (140,26)-(140,29) = "end"
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (140,0)-(140,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (140,5)-(140,6) = "("
@ -2233,6 +2241,7 @@
│ ├── ensure_clause: ∅
│ └── end_keyword_loc: (142,29)-(142,32) = "end"
├── locals: [:*]
├── locals_body_index: 1
├── def_keyword_loc: (142,0)-(142,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (142,5)-(142,6) = "("

View File

@ -191,6 +191,7 @@
│ │ │ │ │ │ ├── block:
│ │ │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3))
│ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ ├── body:
│ │ │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5))
@ -224,6 +225,7 @@
│ │ │ │ │ │ │ │ │ │ ├── block:
│ │ │ │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7))
│ │ │ │ │ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do"

View File

@ -37,6 +37,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,9)-(1,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,11)-(1,14))
@ -88,6 +89,7 @@
│ ├── block:
│ │ @ BlockNode (location: (3,9)-(5,3))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (4,0)-(4,3))
@ -131,6 +133,7 @@
│ ├── block:
│ │ @ BlockNode (location: (7,12)-(7,35))
│ │ ├── locals: [:x, :memo]
│ │ ├── locals_body_index: 2
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (7,14)-(7,23))
│ │ │ ├── parameters:
@ -176,6 +179,7 @@
│ ├── block:
│ │ @ BlockNode (location: (9,4)-(9,10))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (9,4)-(9,6) = "do"
@ -215,6 +219,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (11,14)-(11,20))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (11,14)-(11,16) = "do"
@ -250,6 +255,7 @@
│ ├── block:
│ │ @ BlockNode (location: (13,8)-(13,14))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (13,8)-(13,10) = "do"
@ -292,6 +298,7 @@
│ ├── block:
│ │ @ BlockNode (location: (15,12)-(15,18))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (15,12)-(15,14) = "do"
@ -308,6 +315,7 @@
│ ├── block:
│ │ @ BlockNode (location: (17,4)-(18,3))
│ │ ├── locals: [:a]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (17,7)-(17,17))
│ │ │ ├── parameters:
@ -367,6 +375,7 @@
│ ├── block:
│ │ @ BlockNode (location: (20,4)-(22,3))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ BeginNode (location: (21,0)-(22,3))
@ -397,6 +406,7 @@
│ ├── block:
│ │ @ BlockNode (location: (24,4)-(29,3))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (25,2)-(28,5))
@ -412,6 +422,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (25,6)-(28,5))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (26,4)-(27,7))
@ -427,6 +438,7 @@
│ │ │ │ │ ├── block:
│ │ │ │ │ │ @ BlockNode (location: (26,8)-(27,7))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ ├── opening_loc: (26,8)-(26,10) = "do"
@ -472,6 +484,7 @@
│ ├── block:
│ │ @ BlockNode (location: (31,9)-(31,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (31,11)-(31,14))
@ -500,6 +513,7 @@
│ ├── block:
│ │ @ BlockNode (location: (33,4)-(33,24))
│ │ ├── locals: [:x, :y, :z]
│ │ ├── locals_body_index: 3
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (33,6)-(33,20))
│ │ │ ├── parameters:
@ -546,6 +560,7 @@
│ ├── block:
│ │ @ BlockNode (location: (35,4)-(35,11))
│ │ ├── locals: [:x]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (35,6)-(35,9))
│ │ │ ├── parameters:
@ -585,6 +600,7 @@
│ ├── block:
│ │ @ BlockNode (location: (38,5)-(39,3))
│ │ ├── locals: [:a]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (38,8)-(38,11))
│ │ │ ├── parameters:
@ -616,6 +632,7 @@
│ ├── block:
│ │ @ BlockNode (location: (41,5)-(41,12))
│ │ ├── locals: [:a]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (41,7)-(41,10))
│ │ │ ├── parameters:
@ -647,6 +664,7 @@
│ ├── block:
│ │ @ BlockNode (location: (43,2)-(44,3))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (43,2)-(43,4) = "do"
@ -663,6 +681,7 @@
│ ├── block:
│ │ @ BlockNode (location: (46,2)-(46,4))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (46,2)-(46,3) = "{"
@ -688,6 +707,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (48,11)-(52,1))
│ │ │ │ ├── locals: [:a, :b]
│ │ │ │ ├── locals_body_index: 2
│ │ │ │ ├── parameters:
│ │ │ │ │ @ BlockParametersNode (location: (48,13)-(51,3))
│ │ │ │ │ ├── parameters:
@ -733,6 +753,7 @@
├── block:
│ @ BlockNode (location: (54,4)-(54,17))
│ ├── locals: [:bar]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (54,7)-(54,13))
│ │ ├── parameters:

View File

@ -138,6 +138,7 @@
│ │ ├── block:
│ │ │ @ BlockNode (location: (23,4)-(23,16))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (23,6)-(23,14))
@ -179,6 +180,7 @@
│ ├── block:
│ │ @ BlockNode (location: (25,4)-(25,17))
│ │ ├── locals: [:a]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (25,6)-(25,9))
│ │ │ ├── parameters:

View File

@ -14,6 +14,7 @@
│ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -48,6 +49,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -95,6 +97,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -272,6 +272,7 @@
├── block:
│ @ BlockNode (location: (23,4)-(26,3))
│ ├── locals: [:b]
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (24,2)-(25,20))

View File

@ -346,6 +346,7 @@
│ ├── block:
│ │ @ BlockNode (location: (34,9)-(35,5))
│ │ ├── locals: [:_]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (34,12)-(34,15))
│ │ │ ├── parameters:
@ -387,6 +388,7 @@
│ │ ├── block:
│ │ │ @ BlockNode (location: (37,9)-(38,5))
│ │ │ ├── locals: [:_]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── parameters:
│ │ │ │ @ BlockParametersNode (location: (37,12)-(37,15))
│ │ │ │ ├── parameters:
@ -424,6 +426,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (40,9)-(41,5))
│ │ │ │ ├── locals: [:_]
│ │ │ │ ├── locals_body_index: 1
│ │ │ │ ├── parameters:
│ │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15))
│ │ │ │ │ ├── parameters:

View File

@ -10,6 +10,7 @@
├── parameters: ∅
├── body: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,4)-(1,7) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -10,6 +10,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -24,6 +25,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (4,0)-(4,3) = "def"
│ ├── operator_loc: (4,8)-(4,9) = "."
│ ├── lparen_loc: ∅
@ -58,12 +60,14 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (8,6)-(9,5))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do"
│ │ │ │ │ └── closing_loc: (9,2)-(9,5) = "end"
│ │ │ │ └── flags: ∅
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def"
│ │ │ ├── operator_loc: ∅
│ │ │ ├── lparen_loc: ∅
@ -94,6 +98,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (12,0)-(12,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (12,5)-(12,6) = "("
@ -108,6 +113,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (15,0)-(15,3) = "def"
│ ├── operator_loc: (15,16)-(15,17) = "."
│ ├── lparen_loc: ∅
@ -135,6 +141,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (22,0)-(22,3) = "def"
│ ├── operator_loc: (22,12)-(22,13) = "."
│ ├── lparen_loc: ∅
@ -149,6 +156,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (25,0)-(25,3) = "def"
│ ├── operator_loc: (25,12)-(25,13) = "."
│ ├── lparen_loc: ∅
@ -163,6 +171,7 @@
├── parameters: ∅
├── body: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (28,0)-(28,3) = "def"
├── operator_loc: (28,7)-(28,9) = "::"
├── lparen_loc: ∅

View File

@ -5,6 +5,7 @@
└── body: (length: 5)
├── @ LambdaNode (location: (1,0)-(3,4))
│ ├── locals: [:foo]
│ ├── locals_body_index: 1
│ ├── operator_loc: (1,0)-(1,2) = "->"
│ ├── opening_loc: (3,2)-(3,3) = "{"
│ ├── closing_loc: (3,3)-(3,4) = "}"
@ -27,6 +28,7 @@
│ └── body: ∅
├── @ LambdaNode (location: (5,0)-(5,18))
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── operator_loc: (5,0)-(5,2) = "->"
│ ├── opening_loc: (5,15)-(5,16) = "{"
│ ├── closing_loc: (5,17)-(5,18) = "}"
@ -77,6 +79,7 @@
│ └── body: ∅
├── @ LambdaNode (location: (7,0)-(7,15))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── operator_loc: (7,0)-(7,2) = "->"
│ ├── opening_loc: (7,13)-(7,14) = "{"
│ ├── closing_loc: (7,14)-(7,15) = "}"
@ -126,6 +129,7 @@
│ └── body: ∅
├── @ LambdaNode (location: (9,0)-(9,19))
│ ├── locals: [:foo]
│ ├── locals_body_index: 1
│ ├── operator_loc: (9,0)-(9,2) = "->"
│ ├── opening_loc: (9,13)-(9,15) = "do"
│ ├── closing_loc: (9,16)-(9,19) = "end"
@ -161,6 +165,7 @@
│ └── body: ∅
└── @ LambdaNode (location: (11,0)-(11,18))
├── locals: [:foo]
├── locals_body_index: 1
├── operator_loc: (11,0)-(11,2) = "->"
├── opening_loc: (11,12)-(11,14) = "do"
├── closing_loc: (11,15)-(11,18) = "end"

View File

@ -918,6 +918,7 @@
│ ├── block:
│ │ @ BlockNode (location: (64,16)-(64,36))
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (64,19)-(64,25))
│ │ │ ├── parameters:
@ -1345,6 +1346,7 @@
│ ├── block:
│ │ @ BlockNode (location: (93,7)-(93,10))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (93,7)-(93,8) = "{"
@ -1371,6 +1373,7 @@
│ ├── block:
│ │ @ BlockNode (location: (95,8)-(95,14))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (95,10)-(95,12))
@ -1459,6 +1462,7 @@
│ ├── block:
│ │ @ BlockNode (location: (101,14)-(101,17))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (101,14)-(101,15) = "{"
@ -1531,6 +1535,7 @@
│ │ │ │ │ │ ├── block:
│ │ │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26))
│ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do"
@ -1578,6 +1583,7 @@
│ │ │ │ │ │ ├── block:
│ │ │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22))
│ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do"
@ -1628,6 +1634,7 @@
│ │ │ │ │ ├── block:
│ │ │ │ │ │ @ BlockNode (location: (109,15)-(109,27))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body:
│ │ │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23))
@ -1648,6 +1655,7 @@
│ ├── block:
│ │ @ BlockNode (location: (109,30)-(109,36))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (109,30)-(109,32) = "do"
@ -1684,6 +1692,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (111,18)-(111,24))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (111,18)-(111,20) = "do"
@ -1724,6 +1733,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (113,19)-(113,25))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (113,19)-(113,21) = "do"
@ -1757,6 +1767,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (115,9)-(115,15))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (115,9)-(115,11) = "do"
@ -1796,6 +1807,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (117,16)-(117,24))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body:
│ │ │ │ │ │ @ StatementsNode (location: (117,19)-(117,20))
@ -1855,6 +1867,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (121,8)-(123,7))
│ │ │ │ │ ├── locals: [:a]
│ │ │ │ │ ├── locals_body_index: 1
│ │ │ │ │ ├── parameters:
│ │ │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14))
│ │ │ │ │ │ ├── parameters:
@ -1928,6 +1941,7 @@
│ │ │ │ │ ├── block:
│ │ │ │ │ │ @ BlockNode (location: (128,8)-(130,7))
│ │ │ │ │ │ ├── locals: [:a]
│ │ │ │ │ │ ├── locals_body_index: 1
│ │ │ │ │ │ ├── parameters:
│ │ │ │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14))
│ │ │ │ │ │ │ ├── parameters:
@ -1982,6 +1996,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (133,8)-(134,7))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (133,8)-(133,10) = "do"
@ -2016,6 +2031,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (137,7)-(137,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (137,7)-(137,8) = "{"
@ -2049,6 +2065,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (139,7)-(139,16))
│ │ │ │ ├── locals: [:a]
│ │ │ │ ├── locals_body_index: 1
│ │ │ │ ├── parameters:
│ │ │ │ │ @ BlockParametersNode (location: (139,9)-(139,12))
│ │ │ │ │ ├── parameters:
@ -2091,6 +2108,7 @@
│ │ ├── block:
│ │ │ @ BlockNode (location: (141,2)-(141,4))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (141,2)-(141,3) = "{"
@ -2114,6 +2132,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (141,9)-(141,11))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (141,9)-(141,10) = "{"
@ -2153,6 +2172,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (143,9)-(143,11))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (143,9)-(143,10) = "{"
@ -2260,6 +2280,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:*]
├── locals_body_index: 1
├── def_keyword_loc: (149,0)-(149,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (149,5)-(149,6) = "("

View File

@ -28,6 +28,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar, :baz]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (1,7)-(1,8) = "("
@ -76,6 +77,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar, :baz, :optional, :bin, :bag]
│ ├── locals_body_index: 5
│ ├── def_keyword_loc: (4,0)-(4,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (4,7)-(4,8) = "("
@ -100,6 +102,7 @@
│ │ │ └── end_keyword_loc: (8,15)-(8,18) = "end"
│ │ └── end_keyword_loc: (8,15)-(8,18) = "end"
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (8,0)-(8,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -127,6 +130,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (10,0)-(10,3) = "def"
│ ├── operator_loc: (10,7)-(10,8) = "."
│ ├── lparen_loc: ∅
@ -154,6 +158,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (13,0)-(13,3) = "def"
│ ├── operator_loc: (13,7)-(13,9) = "::"
│ ├── lparen_loc: ∅
@ -168,6 +173,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (16,0)-(16,3) = "def"
│ ├── operator_loc: (16,9)-(16,10) = "."
│ ├── lparen_loc: ∅
@ -190,6 +196,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (19,0)-(19,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (19,5)-(19,6) = "("
@ -205,6 +212,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (22,0)-(22,3) = "def"
│ ├── operator_loc: (22,8)-(22,9) = "."
│ ├── lparen_loc: ∅
@ -228,6 +236,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (25,0)-(25,3) = "def"
│ ├── operator_loc: (25,5)-(25,6) = "."
│ ├── lparen_loc: ∅
@ -243,6 +252,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (28,0)-(28,3) = "def"
│ ├── operator_loc: (28,8)-(28,9) = "."
│ ├── lparen_loc: ∅
@ -267,6 +277,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (31,0)-(31,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -297,6 +308,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (35,0)-(35,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (35,5)-(35,6) = "("
@ -322,6 +334,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (38,0)-(38,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (38,5)-(38,6) = "("
@ -347,6 +360,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:**]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (41,0)-(41,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (41,5)-(41,6) = "("
@ -368,6 +382,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (44,7)-(44,10) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -395,6 +410,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── def_keyword_loc: (47,0)-(47,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -409,6 +425,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (50,0)-(50,3) = "def"
│ ├── operator_loc: (50,7)-(50,8) = "."
│ ├── lparen_loc: ∅
@ -439,6 +456,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (53,0)-(53,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -469,6 +487,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (56,0)-(56,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (56,5)-(56,6) = "("
@ -499,6 +518,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (59,0)-(59,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (59,5)-(59,6) = "("
@ -540,6 +560,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (65,0)-(65,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -553,6 +574,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (68,0)-(68,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (68,5)-(68,6) = "("
@ -583,6 +605,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (71,0)-(71,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -606,6 +629,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (74,0)-(74,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -641,6 +665,7 @@
│ │ │ └── end_keyword_loc: (77,29)-(77,32) = "end"
│ │ └── end_keyword_loc: (77,29)-(77,32) = "end"
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (77,0)-(77,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -666,6 +691,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (79,0)-(79,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -691,6 +717,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (82,0)-(82,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (82,5)-(82,6) = "("
@ -714,6 +741,7 @@
│ │ │ └── flags: decimal
│ │ └── operator_loc: (86,2)-(86,3) = "="
│ ├── locals: [:b]
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (85,0)-(85,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -728,6 +756,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (89,0)-(89,3) = "def"
│ ├── operator_loc: (89,8)-(89,9) = "."
│ ├── lparen_loc: ∅
@ -742,6 +771,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (92,0)-(92,3) = "def"
│ ├── operator_loc: (92,8)-(92,9) = "."
│ ├── lparen_loc: ∅
@ -755,6 +785,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (95,0)-(95,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -796,6 +827,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bye"
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (98,0)-(98,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -813,6 +845,7 @@
│ │ └── @ IntegerNode (location: (103,10)-(103,11))
│ │ └── flags: decimal
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (103,0)-(103,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -830,6 +863,7 @@
│ │ └── @ IntegerNode (location: (104,10)-(104,11))
│ │ └── flags: decimal
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (104,0)-(104,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -857,6 +891,7 @@
│ │ └── @ IntegerNode (location: (106,15)-(106,18))
│ │ └── flags: decimal
│ ├── locals: [:bar]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (106,0)-(106,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (106,7)-(106,8) = "("
@ -874,6 +909,7 @@
│ │ └── @ IntegerNode (location: (108,10)-(108,13))
│ │ └── flags: decimal
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (108,0)-(108,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -917,6 +953,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (110,0)-(110,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (110,5)-(110,6) = "("
@ -955,6 +992,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (112,0)-(112,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (112,5)-(112,6) = "("
@ -997,6 +1035,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (114,0)-(114,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (114,5)-(114,6) = "("
@ -1030,6 +1069,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (116,0)-(116,3) = "def"
│ ├── operator_loc: (116,11)-(116,12) = "."
│ ├── lparen_loc: ∅
@ -1055,6 +1095,7 @@
│ │ └── operator_loc: (119,6)-(119,7) = "&"
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (119,0)-(119,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -1080,6 +1121,7 @@
│ │ └── operator_loc: (122,6)-(122,7) = "&"
│ ├── body: ∅
│ ├── locals: [:&]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (122,0)-(122,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (122,5)-(122,6) = "("
@ -1095,6 +1137,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (125,0)-(125,3) = "def"
│ ├── operator_loc: (125,9)-(125,10) = "."
│ ├── lparen_loc: ∅
@ -1128,6 +1171,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (128,0)-(128,3) = "def"
│ ├── operator_loc: (128,11)-(128,12) = "."
│ ├── lparen_loc: ∅
@ -1142,6 +1186,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (131,0)-(131,3) = "def"
│ ├── operator_loc: (131,8)-(131,9) = "."
│ ├── lparen_loc: ∅
@ -1164,6 +1209,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (133,11)-(133,14) = "def"
│ ├── operator_loc: (133,20)-(133,21) = "."
│ ├── lparen_loc: ∅
@ -1218,6 +1264,7 @@
│ │ │ └── closing_loc: (136,24)-(136,25) = "}"
│ │ └── closing_loc: (136,25)-(136,26) = "\""
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (136,0)-(136,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (136,5)-(136,6) = "("
@ -1291,6 +1338,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (138,0)-(138,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -1331,6 +1379,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (142,0)-(142,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (142,7)-(142,8) = "("
@ -1369,6 +1418,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (145,0)-(145,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (145,7)-(145,8) = "("
@ -1407,6 +1457,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (148,0)-(148,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (148,7)-(148,8) = "("
@ -1448,6 +1499,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (151,0)-(151,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (151,7)-(151,8) = "("
@ -1487,6 +1539,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (154,0)-(154,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (154,7)-(154,8) = "("
@ -1526,6 +1579,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (157,0)-(157,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (157,7)-(157,8) = "("
@ -1580,6 +1634,7 @@
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (161,12)-(161,14))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{"
@ -1590,6 +1645,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (160,0)-(160,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (160,10)-(160,11) = "("
@ -1619,6 +1675,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:_a, :b, :c]
│ ├── locals_body_index: 3
│ ├── def_keyword_loc: (164,0)-(164,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (164,7)-(164,8) = "("
@ -1643,6 +1700,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (168,0)-(168,3) = "def"
│ ├── operator_loc: (168,7)-(168,8) = "."
│ ├── lparen_loc: ∅
@ -1678,6 +1736,7 @@
│ │ ├── closing_loc: (170,12)-(170,13) = "]"
│ │ └── flags: contains_splat
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (170,0)-(170,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (170,5)-(170,6) = "("
@ -1723,6 +1782,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (172,0)-(172,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -1768,6 +1828,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (174,0)-(174,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -1813,6 +1874,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (176,0)-(176,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -1844,6 +1906,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (178,0)-(178,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -1881,6 +1944,7 @@
│ │ │ └── operator_loc: (181,6)-(181,7) = "&"
│ │ └── flags: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (180,0)-(180,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (180,7)-(180,8) = "("
@ -1926,6 +1990,7 @@
│ │ │ │ │ │ ├── name: :bar
│ │ │ │ │ │ └── depth: 0
│ │ │ │ │ ├── locals: [:bar]
│ │ │ │ │ ├── locals_body_index: 1
│ │ │ │ │ ├── def_keyword_loc: (184,15)-(184,18) = "def"
│ │ │ │ │ ├── operator_loc: ∅
│ │ │ │ │ ├── lparen_loc: (184,22)-(184,23) = "("
@ -1947,6 +2012,7 @@
│ │ └── @ IntegerNode (location: (184,41)-(184,42))
│ │ └── flags: decimal
│ ├── locals: [:bar]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (184,0)-(184,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (184,7)-(184,8) = "("
@ -1994,6 +2060,7 @@
│ └── @ IntegerNode (location: (186,36)-(186,37))
│ └── flags: decimal
├── locals: [:bar]
├── locals_body_index: 1
├── def_keyword_loc: (186,0)-(186,3) = "def"
├── operator_loc: (186,20)-(186,21) = "."
├── lparen_loc: (186,24)-(186,25) = "("

View File

@ -10,6 +10,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -23,6 +24,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (4,0)-(4,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -36,6 +38,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -49,6 +52,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (10,0)-(10,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -63,6 +67,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (13,0)-(13,3) = "def"
│ ├── operator_loc: (13,8)-(13,9) = "."
│ ├── lparen_loc: ∅
@ -76,6 +81,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (16,0)-(16,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -89,6 +95,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (19,0)-(19,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -102,6 +109,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (22,0)-(22,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -133,6 +141,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (27,0)-(27,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -146,6 +155,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (30,0)-(30,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (30,5)-(30,6) = "("
@ -169,6 +179,7 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (33,0)-(33,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -183,6 +194,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (36,0)-(36,3) = "def"
│ ├── operator_loc: (36,8)-(36,9) = "."
│ ├── lparen_loc: ∅
@ -196,6 +208,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (39,0)-(39,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -209,6 +222,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (42,0)-(42,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -222,6 +236,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (45,0)-(45,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -245,6 +260,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (48,0)-(48,3) = "def"
│ ├── operator_loc: (48,5)-(48,6) = "."
│ ├── lparen_loc: ∅
@ -258,6 +274,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (50,0)-(50,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -271,6 +288,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (53,0)-(53,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -284,6 +302,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (56,0)-(56,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -297,6 +316,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (59,0)-(59,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -310,6 +330,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (62,0)-(62,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -323,6 +344,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (65,0)-(65,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -336,6 +358,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (68,0)-(68,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -349,6 +372,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (71,0)-(71,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -362,6 +386,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (74,0)-(74,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -375,6 +400,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (77,0)-(77,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -388,6 +414,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (80,0)-(80,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -401,6 +428,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (83,0)-(83,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -414,6 +442,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (86,0)-(86,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -427,6 +456,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (89,0)-(89,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -440,6 +470,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (92,0)-(92,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -453,6 +484,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (95,0)-(95,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -467,6 +499,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (98,0)-(98,3) = "def"
│ ├── operator_loc: (98,8)-(98,9) = "."
│ ├── lparen_loc: ∅
@ -480,6 +513,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (101,0)-(101,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -493,6 +527,7 @@
├── parameters: ∅
├── body: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (104,0)-(104,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -481,6 +481,7 @@
│ ├── pattern:
│ │ @ LambdaNode (location: (26,7)-(26,17))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── operator_loc: (26,7)-(26,9) = "->"
│ │ ├── opening_loc: (26,10)-(26,11) = "{"
│ │ ├── closing_loc: (26,16)-(26,17) = "}"
@ -1185,6 +1186,7 @@
│ │ ├── left:
│ │ │ @ LambdaNode (location: (52,7)-(52,17))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── operator_loc: (52,7)-(52,9) = "->"
│ │ │ ├── opening_loc: (52,10)-(52,11) = "{"
│ │ │ ├── closing_loc: (52,16)-(52,17) = "}"
@ -1198,6 +1200,7 @@
│ │ ├── right:
│ │ │ @ LambdaNode (location: (52,21)-(52,31))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── operator_loc: (52,21)-(52,23) = "->"
│ │ │ ├── opening_loc: (52,24)-(52,25) = "{"
│ │ │ ├── closing_loc: (52,30)-(52,31) = "}"
@ -2783,6 +2786,7 @@
│ ├── pattern:
│ │ @ LambdaNode (location: (125,7)-(125,17))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── operator_loc: (125,7)-(125,9) = "->"
│ │ ├── opening_loc: (125,10)-(125,11) = "{"
│ │ ├── closing_loc: (125,16)-(125,17) = "}"
@ -3449,6 +3453,7 @@
│ │ ├── pattern:
│ │ │ @ LambdaNode (location: (152,13)-(152,23))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── operator_loc: (152,13)-(152,15) = "->"
│ │ │ ├── opening_loc: (152,16)-(152,17) = "{"
│ │ │ ├── closing_loc: (152,22)-(152,23) = "}"
@ -4430,6 +4435,7 @@
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ LambdaNode (location: (179,13)-(179,23))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── operator_loc: (179,13)-(179,15) = "->"
│ │ │ │ ├── opening_loc: (179,16)-(179,17) = "{"
│ │ │ │ ├── closing_loc: (179,22)-(179,23) = "}"
@ -4636,6 +4642,7 @@
├── block:
│ @ BlockNode (location: (198,4)-(200,3))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (199,2)-(199,29))

View File

@ -5,6 +5,7 @@
└── body: (length: 10)
├── @ LambdaNode (location: (1,0)-(1,21))
│ ├── locals: [:a, :b, :c, :d]
│ ├── locals_body_index: 4
│ ├── operator_loc: (1,0)-(1,2) = "->"
│ ├── opening_loc: (1,16)-(1,17) = "{"
│ ├── closing_loc: (1,20)-(1,21) = "}"
@ -38,6 +39,7 @@
│ └── depth: 0
├── @ LambdaNode (location: (3,0)-(5,3))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── operator_loc: (3,0)-(3,2) = "->"
│ ├── opening_loc: (3,3)-(3,5) = "do"
│ ├── closing_loc: (5,0)-(5,3) = "end"
@ -56,6 +58,7 @@
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ LambdaNode (location: (7,0)-(11,3))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── operator_loc: (7,0)-(7,2) = "->"
│ ├── opening_loc: (7,3)-(7,5) = "do"
│ ├── closing_loc: (11,0)-(11,3) = "end"
@ -85,6 +88,7 @@
│ └── end_keyword_loc: (11,0)-(11,3) = "end"
├── @ LambdaNode (location: (13,0)-(13,10))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── operator_loc: (13,0)-(13,2) = "->"
│ ├── opening_loc: (13,3)-(13,4) = "{"
│ ├── closing_loc: (13,9)-(13,10) = "}"
@ -104,6 +108,7 @@
│ └── flags: variable_call
├── @ LambdaNode (location: (15,0)-(15,15))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── operator_loc: (15,0)-(15,2) = "->"
│ ├── opening_loc: (15,3)-(15,5) = "do"
│ ├── closing_loc: (15,12)-(15,15) = "end"
@ -123,6 +128,7 @@
│ └── flags: variable_call
├── @ LambdaNode (location: (17,0)-(17,29))
│ ├── locals: [:a, :b, :c, :d, :e]
│ ├── locals_body_index: 5
│ ├── operator_loc: (17,0)-(17,2) = "->"
│ ├── opening_loc: (17,24)-(17,25) = "{"
│ ├── closing_loc: (17,28)-(17,29) = "}"
@ -167,6 +173,7 @@
│ └── depth: 0
├── @ LambdaNode (location: (19,0)-(19,40))
│ ├── locals: [:a, :b, :c, :d, :e, :f, :g]
│ ├── locals_body_index: 7
│ ├── operator_loc: (19,0)-(19,2) = "->"
│ ├── opening_loc: (19,35)-(19,36) = "{"
│ ├── closing_loc: (19,39)-(19,40) = "}"
@ -219,6 +226,7 @@
│ └── depth: 0
├── @ LambdaNode (location: (21,0)-(23,3))
│ ├── locals: [:a, :b, :c, :d, :e, :f, :g]
│ ├── locals_body_index: 7
│ ├── operator_loc: (21,0)-(21,2) = "->"
│ ├── opening_loc: (21,35)-(21,37) = "do"
│ ├── closing_loc: (23,0)-(23,3) = "end"
@ -271,6 +279,7 @@
│ └── depth: 0
├── @ LambdaNode (location: (25,0)-(25,25))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── operator_loc: (25,0)-(25,2) = "->"
│ ├── opening_loc: (25,7)-(25,8) = "{"
│ ├── closing_loc: (25,24)-(25,25) = "}"
@ -295,6 +304,7 @@
│ └── body: (length: 1)
│ └── @ LambdaNode (location: (25,9)-(25,23))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── operator_loc: (25,9)-(25,11) = "->"
│ ├── opening_loc: (25,14)-(25,15) = "{"
│ ├── closing_loc: (25,22)-(25,23) = "}"
@ -338,6 +348,7 @@
│ └── flags: ∅
└── @ LambdaNode (location: (27,0)-(27,19))
├── locals: [:a, :b, :c]
├── locals_body_index: 3
├── operator_loc: (27,0)-(27,2) = "->"
├── opening_loc: (27,16)-(27,17) = "{"
├── closing_loc: (27,18)-(27,19) = "}"

View File

@ -326,6 +326,7 @@
├── block:
│ @ BlockNode (location: (40,4)-(40,24))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (40,6)-(40,22))

View File

@ -162,6 +162,7 @@
│ ├── block:
│ │ @ BlockNode (location: (18,4)-(20,3))
│ │ ├── locals: [:x]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (18,7)-(18,10))
│ │ │ ├── parameters:
@ -312,6 +313,7 @@
│ │ └── rescue_expression:
│ │ @ NilNode (location: (26,41)-(26,44))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (26,0)-(26,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -377,6 +379,7 @@
│ ├── ensure_clause: ∅
│ └── end_keyword_loc: (31,0)-(31,3) = "end"
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (28,0)-(28,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -160,6 +160,7 @@
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── def_keyword_loc: (52,2)-(52,5) = "def"
│ │ ├── operator_loc: (52,10)-(52,11) = "."
│ │ ├── lparen_loc: (52,12)-(52,13) = "("
@ -252,6 +253,7 @@
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── def_keyword_loc: (67,2)-(67,5) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: (67,7)-(67,8) = "("

View File

@ -28,6 +28,7 @@
│ └── operator_loc: (1,12)-(1,13) = "&"
├── body: ∅
├── locals: [:a, :b]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -22,6 +22,7 @@
│ └── operator_loc: (1,6)-(1,7) = "&"
├── body: ∅
├── locals: [:&]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,11))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,9))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:b, :c, :d, :e]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,20))
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,18))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,25))
│ ├── locals: [:b, :c, :d, :e, :f]
│ ├── locals_body_index: 5
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,3)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,16))
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,23))
│ ├── locals: [:kwargs]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,24))
│ ├── locals: [:a, :b]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,35))
│ ├── locals: [:a, :b, :c]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,42))
│ ├── locals: [:a, :b, :c, :d]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,27))
│ │ ├── parameters:

View File

@ -31,6 +31,7 @@
│ │ ├── block:
│ │ │ @ BlockNode (location: (1,14)-(1,26))
│ │ │ ├── locals: [:bar]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── parameters:
│ │ │ │ @ BlockParametersNode (location: (1,17)-(1,22))
│ │ │ │ ├── parameters:

View File

@ -41,6 +41,7 @@
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── locals: [:c]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
│ │ │ ├── operator_loc: ∅
│ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
@ -72,6 +73,7 @@
├── block:
│ @ BlockNode (location: (4,5)-(4,11))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (4,5)-(4,7) = "do"

View File

@ -39,6 +39,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,8)-(1,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,11)-(1,12))
@ -65,6 +66,7 @@
├── block:
│ @ BlockNode (location: (1,19)-(1,31))
│ ├── locals: [:f]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,22)-(1,25))
│ │ ├── parameters:

View File

@ -39,6 +39,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,8)-(1,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,11)-(1,12))
@ -78,6 +79,7 @@
├── block:
│ @ BlockNode (location: (1,21)-(1,33))
│ ├── locals: [:g]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,24)-(1,27))
│ │ ├── parameters:

View File

@ -39,6 +39,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,6)-(1,12))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,6)-(1,8) = "do"

View File

@ -39,6 +39,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,6)-(1,12))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,6)-(1,8) = "do"

View File

@ -53,6 +53,7 @@
├── block:
│ @ BlockNode (location: (2,4)-(2,10))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (2,4)-(2,6) = "do"

View File

@ -24,6 +24,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,5)-(1,7) = "do"

View File

@ -24,6 +24,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,5)-(1,7) = "do"

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b, :c]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,5)-(1,15))
│ ├── locals: [:k]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,7)-(1,13))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,5)-(1,16))
│ ├── locals: [:k]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,8)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,3)-(1,20))
│ ├── locals: [:kw]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,5)-(1,15))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,3)-(1,33))
│ ├── locals: [:kw, :kw2]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,5)-(1,28))
│ │ ├── parameters:

View File

@ -31,6 +31,7 @@
│ │ ├── block:
│ │ │ @ BlockNode (location: (1,13)-(1,25))
│ │ │ ├── locals: [:bar]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── parameters:
│ │ │ │ @ BlockParametersNode (location: (1,16)-(1,21))
│ │ │ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,22))
│ ├── locals: [:b, :c, :d, :e]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,20))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,15))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,13))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:

View File

@ -32,6 +32,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,15)-(1,27))
│ │ ├── locals: [:bar]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (1,18)-(1,23))
│ │ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,10))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,8))
│ │ ├── parameters: ∅

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:

View File

@ -21,6 +21,7 @@
├── block:
│ @ BlockNode (location: (1,5)-(1,7))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (1,5)-(1,6) = "{"

View File

@ -14,6 +14,7 @@
│ ├── block:
│ │ @ BlockNode (location: (1,1)-(1,7))
│ │ ├── locals: [:a]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (1,2)-(1,6))
│ │ │ ├── parameters:
@ -46,6 +47,7 @@
├── block:
│ @ BlockNode (location: (3,1)-(3,6))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (3,2)-(3,5))
│ │ ├── parameters:

View File

@ -41,12 +41,14 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (2,4)-(2,10))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
│ │ │ │ └── closing_loc: (2,7)-(2,10) = "end"
│ │ │ └── flags: ∅
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── def_keyword_loc: (1,8)-(1,11) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅

View File

@ -31,6 +31,7 @@
│ │ │ │ │ ├── block:
│ │ │ │ │ │ @ BlockNode (location: (1,17)-(4,4))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body:
│ │ │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3))
@ -42,6 +43,7 @@
│ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ ├── def_keyword_loc: (2,0)-(2,3) = "def"
│ │ │ │ │ │ │ ├── operator_loc: ∅
│ │ │ │ │ │ │ ├── lparen_loc: ∅

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,16))
│ ├── locals: [:a, :b]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b, :c]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,22))
│ ├── locals: [:a, :b, :c, :d]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,20))
│ │ ├── parameters:

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,19))
│ ├── locals: [:k, :v, :i]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,17))
│ │ ├── parameters:

View File

@ -35,6 +35,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (1,6)-(1,9) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
@ -73,6 +74,7 @@
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (6,6)-(6,9) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (6,11)-(6,12) = "("

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b, :c]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:

View File

@ -26,6 +26,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (1,11)-(1,17))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (1,11)-(1,13) = "do"

View File

@ -16,6 +16,7 @@
│ │ ├── elements: (length: 1)
│ │ │ └── @ LambdaNode (location: (1,3)-(1,10))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── operator_loc: (1,3)-(1,5) = "->"
│ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
│ │ │ ├── closing_loc: (1,9)-(1,10) = "}"
@ -34,6 +35,7 @@
├── block:
│ @ BlockNode (location: (1,12)-(2,3))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (1,12)-(1,14) = "do"

View File

@ -38,6 +38,7 @@
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (2,4)-(2,10))
│ │ │ │ ├── locals: []
│ │ │ │ ├── locals_body_index: 0
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"

View File

@ -14,6 +14,7 @@
│ ├── arguments: (length: 1)
│ │ └── @ LambdaNode (location: (1,2)-(1,13))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── operator_loc: (1,2)-(1,4) = "->"
│ │ ├── opening_loc: (1,5)-(1,7) = "do"
│ │ ├── closing_loc: (1,10)-(1,13) = "end"
@ -28,6 +29,7 @@
├── block:
│ @ BlockNode (location: (1,14)-(1,22))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (1,17)-(1,18))

View File

@ -14,6 +14,7 @@
│ ├── arguments: (length: 1)
│ │ └── @ LambdaNode (location: (1,2)-(1,10))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── operator_loc: (1,2)-(1,4) = "->"
│ │ ├── opening_loc: (1,5)-(1,6) = "{"
│ │ ├── closing_loc: (1,9)-(1,10) = "}"
@ -28,6 +29,7 @@
├── block:
│ @ BlockNode (location: (1,11)-(1,19))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (1,14)-(1,15))

View File

@ -520,6 +520,7 @@
│ │ │ ├── requireds: (length: 2)
│ │ │ │ ├── @ LambdaNode (location: (70,4)-(70,18))
│ │ │ │ │ ├── locals: [:b]
│ │ │ │ │ ├── locals_body_index: 1
│ │ │ │ │ ├── operator_loc: (70,4)-(70,6) = "->"
│ │ │ │ │ ├── opening_loc: (70,10)-(70,11) = "{"
│ │ │ │ │ ├── closing_loc: (70,17)-(70,18) = "}"

View File

@ -21,6 +21,7 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (6,2)-(6,5) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅

View File

@ -14,6 +14,7 @@
├── block:
│ @ BlockNode (location: (1,2)-(8,3))
│ ├── locals: [:v]
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (2,2)-(7,5))

View File

@ -26,6 +26,7 @@
│ └── block: ∅
├── body: ∅
├── locals: [:interp, :*, :args]
├── locals_body_index: 3
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,8)-(1,9) = "("

View File

@ -40,6 +40,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:x, :"..."]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -49,6 +49,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:x, :y, :z, :"..."]
├── locals_body_index: 4
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -10,6 +10,7 @@
├── parameters: ∅
├── body: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (4,0)-(4,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -27,6 +27,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -33,6 +33,7 @@
│ @ IntegerNode (location: (1,41)-(1,43))
│ └── flags: decimal
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -35,6 +35,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:"..."]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -35,6 +35,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:"..."]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -45,6 +45,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:testing]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,8)-(1,9) = "("

View File

@ -32,6 +32,7 @@
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b, :c]
├── locals_body_index: 3
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -28,6 +28,7 @@
│ └── block: ∅
├── body: ∅
├── locals: [:b, :c]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -28,6 +28,7 @@
│ └── block: ∅
├── body: ∅
├── locals: [:b, :**]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -32,6 +32,7 @@
│ ├── name: :kw
│ └── depth: 0
├── locals: [:kw]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,7)-(1,8) = "("

View File

@ -24,6 +24,7 @@
│ └── block: ∅
├── body: ∅
├── locals: [:a]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅

View File

@ -26,6 +26,7 @@
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b]
├── locals_body_index: 2
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -21,6 +21,7 @@
│ └── block: ∅
├── body: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,5)-(1,6) = "("

View File

@ -38,6 +38,7 @@
│ ├── block: ∅
│ └── flags: ∅
├── locals: [:cmd]
├── locals_body_index: 1
├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: (1,8)-(1,9) = "("

View File

@ -35,6 +35,7 @@
│ │ └── @ IntegerNode (location: (2,14)-(2,16))
│ │ └── flags: decimal
│ ├── locals: [:o]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (2,2)-(2,5) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: (2,8)-(2,9) = "("

Some files were not shown because too many files have changed in this diff Show More