diff options
author | Kevin Newton <kddnewton@gmail.com> | 2023-12-06 15:32:53 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-12-06 20:50:02 +0000 |
commit | fe6ee5e92148755b75ffd00ab29611b59a416d5a (patch) | |
tree | 9283cde10b67c8daec7c56511f58ed9133569377 /test/prism/snapshots/unparser/corpus | |
parent | cbb941f58a236d95d9e95c3f6dbd4510c04351f0 (diff) | |
download | ruby-fe6ee5e92148755b75ffd00ab29611b59a416d5a.tar.gz |
[ruby/prism] Move flag position consistently to front
https://github.com/ruby/prism/commit/6e69a81737
Diffstat (limited to 'test/prism/snapshots/unparser/corpus')
38 files changed, 4575 insertions, 4575 deletions
diff --git a/test/prism/snapshots/unparser/corpus/literal/assignment.txt b/test/prism/snapshots/unparser/corpus/literal/assignment.txt index 7890d308b2..fc88d69c5d 100644 --- a/test/prism/snapshots/unparser/corpus/literal/assignment.txt +++ b/test/prism/snapshots/unparser/corpus/literal/assignment.txt @@ -23,14 +23,14 @@ │ ├── operator_loc: (2,9)-(2,10) = "=" │ └── value: │ @ ArrayNode (location: (2,11)-(2,17)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (2,12)-(2,13)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (2,15)-(2,16)) │ │ └── flags: decimal │ ├── opening_loc: (2,11)-(2,12) = "[" - │ ├── closing_loc: (2,16)-(2,17) = "]" - │ └── flags: ∅ + │ └── closing_loc: (2,16)-(2,17) = "]" ├── @ MultiWriteNode (location: (3,0)-(3,13)) │ ├── lefts: (length: 2) │ │ ├── @ MultiTargetNode (location: (3,1)-(3,5)) @@ -69,10 +69,10 @@ │ ├── operator_loc: (4,5)-(4,6) = "=" │ └── value: │ @ ArrayNode (location: (4,7)-(4,9)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (4,7)-(4,8) = "[" - │ ├── closing_loc: (4,8)-(4,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (4,8)-(4,9) = "]" ├── @ MultiWriteNode (location: (5,0)-(5,15)) │ ├── lefts: (length: 0) │ ├── rest: @@ -88,14 +88,14 @@ │ ├── operator_loc: (5,7)-(5,8) = "=" │ └── value: │ @ ArrayNode (location: (5,9)-(5,15)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (5,10)-(5,11)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (5,13)-(5,14)) │ │ └── flags: decimal │ ├── opening_loc: (5,9)-(5,10) = "[" - │ ├── closing_loc: (5,14)-(5,15) = "]" - │ └── flags: ∅ + │ └── closing_loc: (5,14)-(5,15) = "]" ├── @ MultiWriteNode (location: (6,0)-(6,19)) │ ├── lefts: (length: 2) │ │ ├── @ ClassVariableTargetNode (location: (6,1)-(6,4)) @@ -109,14 +109,14 @@ │ ├── operator_loc: (6,11)-(6,12) = "=" │ └── value: │ @ ArrayNode (location: (6,13)-(6,19)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (6,14)-(6,15)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (6,17)-(6,18)) │ │ └── flags: decimal │ ├── opening_loc: (6,13)-(6,14) = "[" - │ ├── closing_loc: (6,18)-(6,19) = "]" - │ └── flags: ∅ + │ └── closing_loc: (6,18)-(6,19) = "]" ├── @ MultiWriteNode (location: (7,0)-(7,17)) │ ├── lefts: (length: 2) │ │ ├── @ InstanceVariableTargetNode (location: (7,1)-(7,3)) @@ -130,14 +130,14 @@ │ ├── operator_loc: (7,9)-(7,10) = "=" │ └── value: │ @ ArrayNode (location: (7,11)-(7,17)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (7,12)-(7,13)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (7,15)-(7,16)) │ │ └── flags: decimal │ ├── opening_loc: (7,11)-(7,12) = "[" - │ ├── closing_loc: (7,16)-(7,17) = "]" - │ └── flags: ∅ + │ └── closing_loc: (7,16)-(7,17) = "]" ├── @ MultiWriteNode (location: (8,0)-(8,25)) │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (8,1)-(8,2)) @@ -162,21 +162,21 @@ │ ├── operator_loc: (8,12)-(8,13) = "=" │ └── value: │ @ ArrayNode (location: (8,14)-(8,25)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (8,15)-(8,16)) │ │ │ └── flags: decimal │ │ └── @ ArrayNode (location: (8,18)-(8,24)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (8,19)-(8,20)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (8,22)-(8,23)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (8,18)-(8,19) = "[" - │ │ ├── closing_loc: (8,23)-(8,24) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (8,23)-(8,24) = "]" │ ├── opening_loc: (8,14)-(8,15) = "[" - │ ├── closing_loc: (8,24)-(8,25) = "]" - │ └── flags: ∅ + │ └── closing_loc: (8,24)-(8,25) = "]" ├── @ MultiWriteNode (location: (9,0)-(9,15)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (9,1)-(9,2)) @@ -192,14 +192,14 @@ │ ├── operator_loc: (9,7)-(9,8) = "=" │ └── value: │ @ ArrayNode (location: (9,9)-(9,15)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (9,10)-(9,11)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (9,13)-(9,14)) │ │ └── flags: decimal │ ├── opening_loc: (9,9)-(9,10) = "[" - │ ├── closing_loc: (9,14)-(9,15) = "]" - │ └── flags: ∅ + │ └── closing_loc: (9,14)-(9,15) = "]" ├── @ MultiWriteNode (location: (10,0)-(10,18)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (10,1)-(10,2)) @@ -218,14 +218,14 @@ │ ├── operator_loc: (10,10)-(10,11) = "=" │ └── value: │ @ ArrayNode (location: (10,12)-(10,18)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (10,13)-(10,14)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (10,16)-(10,17)) │ │ └── flags: decimal │ ├── opening_loc: (10,12)-(10,13) = "[" - │ ├── closing_loc: (10,17)-(10,18) = "]" - │ └── flags: ∅ + │ └── closing_loc: (10,17)-(10,18) = "]" ├── @ MultiWriteNode (location: (11,0)-(11,15)) │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (11,1)-(11,2)) @@ -241,14 +241,14 @@ │ ├── operator_loc: (11,7)-(11,8) = "=" │ └── value: │ @ ArrayNode (location: (11,9)-(11,15)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (11,10)-(11,11)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (11,13)-(11,14)) │ │ └── flags: decimal │ ├── opening_loc: (11,9)-(11,10) = "[" - │ ├── closing_loc: (11,14)-(11,15) = "]" - │ └── flags: ∅ + │ └── closing_loc: (11,14)-(11,15) = "]" ├── @ MultiWriteNode (location: (12,0)-(12,12)) │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (12,1)-(12,2)) @@ -284,6 +284,7 @@ ├── @ MultiWriteNode (location: (14,0)-(14,23)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (14,1)-(14,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (14,1)-(14,2)) │ │ │ │ ├── name: :a @@ -294,9 +295,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (14,8)-(14,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (14,8)-(14,9)) │ │ │ ├── name: :a @@ -307,8 +308,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: (14,0)-(14,1) = "(" @@ -316,17 +316,18 @@ │ ├── operator_loc: (14,15)-(14,16) = "=" │ └── value: │ @ ArrayNode (location: (14,17)-(14,23)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (14,18)-(14,19)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (14,21)-(14,22)) │ │ └── flags: decimal │ ├── opening_loc: (14,17)-(14,18) = "[" - │ ├── closing_loc: (14,22)-(14,23) = "]" - │ └── flags: ∅ + │ └── closing_loc: (14,22)-(14,23) = "]" ├── @ MultiWriteNode (location: (15,0)-(15,24)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (15,1)-(15,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (15,1)-(15,2)) │ │ │ │ ├── name: :a @@ -337,18 +338,18 @@ │ │ │ ├── opening_loc: (15,2)-(15,3) = "[" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (15,3)-(15,7)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7)) - │ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7)) + │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7)) + │ │ │ │ ├── name: :foo + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (15,7)-(15,8) = "]" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (15,10)-(15,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (15,10)-(15,11)) │ │ │ ├── name: :a @@ -359,13 +360,12 @@ │ │ ├── opening_loc: (15,11)-(15,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (15,12)-(15,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (15,12)-(15,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (15,12)-(15,13)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (15,13)-(15,14) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: (15,0)-(15,1) = "(" @@ -373,17 +373,18 @@ │ ├── operator_loc: (15,16)-(15,17) = "=" │ └── value: │ @ ArrayNode (location: (15,18)-(15,24)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (15,19)-(15,20)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (15,22)-(15,23)) │ │ └── flags: decimal │ ├── opening_loc: (15,18)-(15,19) = "[" - │ ├── closing_loc: (15,23)-(15,24) = "]" - │ └── flags: ∅ + │ └── closing_loc: (15,23)-(15,24) = "]" ├── @ MultiWriteNode (location: (16,0)-(16,21)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (16,1)-(16,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (16,1)-(16,2)) │ │ │ │ ├── name: :a @@ -394,14 +395,14 @@ │ │ │ ├── opening_loc: (16,2)-(16,3) = "[" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (16,3)-(16,4)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: (16,4)-(16,5) = "]" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (16,7)-(16,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (16,7)-(16,8)) │ │ │ ├── name: :a @@ -412,13 +413,12 @@ │ │ ├── opening_loc: (16,8)-(16,9) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (16,9)-(16,10)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (16,9)-(16,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (16,9)-(16,10)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (16,10)-(16,11) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: (16,0)-(16,1) = "(" @@ -426,14 +426,14 @@ │ ├── operator_loc: (16,13)-(16,14) = "=" │ └── value: │ @ ArrayNode (location: (16,15)-(16,21)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (16,16)-(16,17)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (16,19)-(16,20)) │ │ └── flags: decimal │ ├── opening_loc: (16,15)-(16,16) = "[" - │ ├── closing_loc: (16,20)-(16,21) = "]" - │ └── flags: ∅ + │ └── closing_loc: (16,20)-(16,21) = "]" ├── @ MultiWriteNode (location: (17,0)-(17,12)) │ ├── lefts: (length: 0) │ ├── rest: @@ -441,6 +441,7 @@ │ │ ├── operator_loc: (17,1)-(17,2) = "*" │ │ └── expression: │ │ @ CallNode (location: (17,2)-(17,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (17,2)-(17,3)) │ │ │ ├── name: :c @@ -451,8 +452,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: (17,0)-(17,1) = "(" │ ├── rparen_loc: (17,7)-(17,8) = ")" @@ -559,6 +559,7 @@ │ ├── name_loc: (25,0)-(25,3) = "foo" │ ├── value: │ │ @ CallNode (location: (25,6)-(25,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -566,10 +567,10 @@ │ │ ├── opening_loc: (25,9)-(25,10) = "(" │ │ ├── arguments: ∅ │ │ ├── closing_loc: (25,10)-(25,11) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (25,4)-(25,5) = "=" ├── @ CallNode (location: (26,0)-(26,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (26,0)-(26,3)) │ │ ├── name: :foo @@ -580,9 +581,9 @@ │ ├── opening_loc: (26,7)-(26,8) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (26,8)-(26,9) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (27,0)-(27,3)) │ │ ├── name: :foo @@ -593,16 +594,16 @@ │ ├── opening_loc: (27,7)-(27,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (27,8)-(27,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (27,8)-(27,9)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (27,11)-(27,12)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (27,8)-(27,9)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (27,11)-(27,12)) + │ │ └── flags: decimal │ ├── closing_loc: (27,12)-(27,13) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (28,0)-(28,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (28,0)-(28,3)) │ │ ├── name: :foo @@ -613,13 +614,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (28,7)-(28,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ TrueNode (location: (28,7)-(28,11)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ TrueNode (location: (28,7)-(28,11)) │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (29,0)-(29,3)) │ │ ├── name: :foo @@ -630,35 +631,35 @@ │ ├── opening_loc: (29,3)-(29,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (29,4)-(29,19)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SplatNode (location: (29,4)-(29,10)) - │ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*" - │ │ │ │ └── expression: - │ │ │ │ @ CallNode (location: (29,5)-(29,10)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :index - │ │ │ │ ├── message_loc: (29,5)-(29,10) = "index" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (29,14)-(29,19)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :value - │ │ │ ├── message_loc: (29,14)-(29,19) = "value" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SplatNode (location: (29,4)-(29,10)) + │ │ │ ├── operator_loc: (29,4)-(29,5) = "*" + │ │ │ └── expression: + │ │ │ @ CallNode (location: (29,5)-(29,10)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :index + │ │ │ ├── message_loc: (29,5)-(29,10) = "index" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (29,14)-(29,19)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :value + │ │ ├── message_loc: (29,14)-(29,19) = "value" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (29,10)-(29,11) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (30,0)-(30,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (30,0)-(30,3)) │ │ ├── name: :foo @@ -669,31 +670,31 @@ │ ├── opening_loc: (30,3)-(30,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (30,4)-(30,17)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ RangeNode (location: (30,4)-(30,8)) - │ │ │ │ ├── left: - │ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── right: - │ │ │ │ │ @ IntegerNode (location: (30,7)-(30,8)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── operator_loc: (30,5)-(30,7) = ".." - │ │ │ │ └── flags: ∅ - │ │ │ └── @ CallNode (location: (30,12)-(30,17)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :value - │ │ │ ├── message_loc: (30,12)-(30,17) = "value" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ RangeNode (location: (30,4)-(30,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── left: + │ │ │ │ @ IntegerNode (location: (30,4)-(30,5)) + │ │ │ │ └── flags: decimal + │ │ │ ├── right: + │ │ │ │ @ IntegerNode (location: (30,7)-(30,8)) + │ │ │ │ └── flags: decimal + │ │ │ └── operator_loc: (30,5)-(30,7) = ".." + │ │ └── @ CallNode (location: (30,12)-(30,17)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :value + │ │ ├── message_loc: (30,12)-(30,17) = "value" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (30,8)-(30,9) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (31,0)-(31,3)) │ │ ├── name: :foo @@ -704,14 +705,14 @@ │ ├── opening_loc: (31,3)-(31,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (31,8)-(31,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (31,8)-(31,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (31,8)-(31,9)) + │ │ └── flags: decimal │ ├── closing_loc: (31,4)-(31,5) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (32,0)-(32,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (32,0)-(32,3)) │ │ ├── name: :foo @@ -722,28 +723,28 @@ │ ├── opening_loc: (32,3)-(32,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (32,4)-(32,17)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8)) - │ │ │ │ ├── name: :b - │ │ │ │ └── depth: 0 - │ │ │ └── @ CallNode (location: (32,12)-(32,17)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :value - │ │ │ ├── message_loc: (32,12)-(32,17) = "value" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8)) + │ │ │ ├── name: :b + │ │ │ └── depth: 0 + │ │ └── @ CallNode (location: (32,12)-(32,17)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :value + │ │ ├── message_loc: (32,12)-(32,17) = "value" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (32,8)-(32,9) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (33,0)-(33,3)) │ │ ├── name: :foo @@ -754,31 +755,30 @@ │ ├── opening_loc: (33,3)-(33,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (33,4)-(33,18)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (33,4)-(33,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :index - │ │ │ │ ├── message_loc: (33,4)-(33,9) = "index" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (33,13)-(33,18)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :value - │ │ │ ├── message_loc: (33,13)-(33,18) = "value" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (33,4)-(33,9)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :index + │ │ │ ├── message_loc: (33,4)-(33,9) = "index" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (33,13)-(33,18)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :value + │ │ ├── message_loc: (33,13)-(33,18) = "value" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (33,9)-(33,10) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (34,0)-(34,7)) │ ├── name: :x │ ├── depth: 0 @@ -792,6 +792,7 @@ │ │ └── unescaped: "" │ └── operator_loc: (34,2)-(34,3) = "=" ├── @ CallNode (location: (35,0)-(35,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (35,0)-(35,1)) │ │ ├── name: :x @@ -802,18 +803,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (35,4)-(35,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (35,4)-(35,7)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (35,4)-(35,6) = "%(" - │ │ │ ├── content_loc: (35,6)-(35,6) = "" - │ │ │ ├── closing_loc: (35,6)-(35,7) = ")" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (35,4)-(35,7)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (35,4)-(35,6) = "%(" + │ │ ├── content_loc: (35,6)-(35,6) = "" + │ │ ├── closing_loc: (35,6)-(35,7) = ")" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (36,0)-(36,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (36,0)-(36,1)) │ │ ├── name: :x @@ -824,28 +825,28 @@ │ ├── opening_loc: (36,1)-(36,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (36,2)-(36,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (36,2)-(36,5)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (36,2)-(36,4) = "%(" - │ │ │ │ ├── content_loc: (36,4)-(36,4) = "" - │ │ │ │ ├── closing_loc: (36,4)-(36,5) = ")" - │ │ │ │ └── unescaped: "" - │ │ │ └── @ CallNode (location: (36,9)-(36,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (36,9)-(36,12) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (36,2)-(36,5)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (36,2)-(36,4) = "%(" + │ │ │ ├── content_loc: (36,4)-(36,4) = "" + │ │ │ ├── closing_loc: (36,4)-(36,5) = ")" + │ │ │ └── unescaped: "" + │ │ └── @ CallNode (location: (36,9)-(36,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (36,9)-(36,12) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (36,5)-(36,6) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ IndexOrWriteNode (location: (37,0)-(37,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (37,0)-(37,1)) │ │ ├── name: :a @@ -854,20 +855,20 @@ │ ├── opening_loc: (37,1)-(37,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (37,2)-(37,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (37,2)-(37,5)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (37,2)-(37,4) = "%(" - │ │ │ ├── content_loc: (37,4)-(37,4) = "" - │ │ │ ├── closing_loc: (37,4)-(37,5) = ")" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (37,2)-(37,5)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (37,2)-(37,4) = "%(" + │ │ ├── content_loc: (37,4)-(37,4) = "" + │ │ ├── closing_loc: (37,4)-(37,5) = ")" + │ │ └── unescaped: "" │ ├── closing_loc: (37,5)-(37,6) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (37,7)-(37,10) = "||=" │ └── value: │ @ CallNode (location: (37,11)-(37,14)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -875,8 +876,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ InstanceVariableOrWriteNode (location: (38,0)-(38,10)) │ ├── name: :@a │ ├── name_loc: (38,0)-(38,2) = "@a" @@ -915,6 +915,7 @@ │ │ └── closing_loc: (41,0)-(42,0) = "HEREDOC\n" │ └── operator_loc: (39,2)-(39,3) = "=" ├── @ CallNode (location: (42,0)-(42,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (42,0)-(42,1)) │ │ ├── name: :x @@ -925,32 +926,32 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (42,4)-(42,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14)) - │ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (43,0)-(43,2)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " " - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " " - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5)) - │ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{" - │ │ │ │ │ ├── statements: ∅ - │ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}" - │ │ │ │ └── @ StringNode (location: (43,5)-(44,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (43,5)-(44,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (44,0)-(45,0) = "HEREDOC\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14)) + │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (43,0)-(43,2)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (43,0)-(43,2) = " " + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " " + │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5)) + │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{" + │ │ │ │ ├── statements: ∅ + │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}" + │ │ │ └── @ StringNode (location: (43,5)-(44,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (43,5)-(44,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (44,0)-(45,0) = "HEREDOC\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (45,0)-(45,1)) │ │ ├── name: :x @@ -961,32 +962,32 @@ │ ├── opening_loc: (45,1)-(45,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (45,6)-(45,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16)) - │ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (46,0)-(46,2)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " " - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " " - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5)) - │ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{" - │ │ │ │ │ ├── statements: ∅ - │ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}" - │ │ │ │ └── @ StringNode (location: (46,5)-(47,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (46,5)-(47,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (47,0)-(48,0) = "HEREDOC\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16)) + │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (46,0)-(46,2)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (46,0)-(46,2) = " " + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " " + │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5)) + │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{" + │ │ │ │ ├── statements: ∅ + │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}" + │ │ │ └── @ StringNode (location: (46,5)-(47,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (46,5)-(47,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (47,0)-(48,0) = "HEREDOC\n" │ ├── closing_loc: (45,2)-(45,3) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ IndexOrWriteNode (location: (48,0)-(48,21)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (48,0)-(48,1)) │ │ ├── name: :a @@ -995,34 +996,34 @@ │ ├── opening_loc: (48,1)-(48,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (48,2)-(48,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12)) - │ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (49,0)-(49,2)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " " - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " " - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5)) - │ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{" - │ │ │ │ │ ├── statements: ∅ - │ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}" - │ │ │ │ └── @ StringNode (location: (49,5)-(50,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (49,5)-(50,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (50,0)-(51,0) = "HEREDOC\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12)) + │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (49,0)-(49,2)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (49,0)-(49,2) = " " + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " " + │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5)) + │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{" + │ │ │ │ ├── statements: ∅ + │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}" + │ │ │ └── @ StringNode (location: (49,5)-(50,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (49,5)-(50,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (50,0)-(51,0) = "HEREDOC\n" │ ├── closing_loc: (48,12)-(48,13) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (48,14)-(48,17) = "||=" │ └── value: │ @ CallNode (location: (48,18)-(48,21)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -1030,8 +1031,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ InstanceVariableOrWriteNode (location: (51,0)-(51,17)) ├── name: :@a ├── name_loc: (51,0)-(51,2) = "@a" diff --git a/test/prism/snapshots/unparser/corpus/literal/block.txt b/test/prism/snapshots/unparser/corpus/literal/block.txt index 610af9dd55..63fcfd23dd 100644 --- a/test/prism/snapshots/unparser/corpus/literal/block.txt +++ b/test/prism/snapshots/unparser/corpus/literal/block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(96,1)) └── body: (length: 30) ├── @ CallNode (location: (1,0)-(2,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,16 +12,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,4)-(2,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,4)-(1,5) = "{" - │ │ └── closing_loc: (2,0)-(2,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,4)-(2,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,4)-(1,5) = "{" + │ └── closing_loc: (2,0)-(2,1) = "}" ├── @ CallNode (location: (3,0)-(4,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -28,31 +29,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,4)-(4,1)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (3,6)-(3,9)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (3,7)-(3,8)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (3,6)-(3,7) = "|" - │ │ │ └── closing_loc: (3,8)-(3,9) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,4)-(3,5) = "{" - │ │ └── closing_loc: (4,0)-(4,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,4)-(4,1)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (3,6)-(3,9)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (3,7)-(3,8)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (3,6)-(3,7) = "|" + │ │ └── closing_loc: (3,8)-(3,9) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (3,4)-(3,5) = "{" + │ └── closing_loc: (4,0)-(4,1) = "}" ├── @ CallNode (location: (5,0)-(6,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -60,32 +61,32 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,4)-(6,1)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (5,6)-(5,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (5,7)-(5,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9)) - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (5,6)-(5,7) = "|" - │ │ │ └── closing_loc: (5,9)-(5,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,4)-(5,5) = "{" - │ │ └── closing_loc: (6,0)-(6,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,4)-(6,1)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (5,6)-(5,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (5,7)-(5,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9)) + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (5,6)-(5,7) = "|" + │ │ └── closing_loc: (5,9)-(5,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (5,4)-(5,5) = "{" + │ └── closing_loc: (6,0)-(6,1) = "}" ├── @ CallNode (location: (7,0)-(8,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -93,34 +94,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (7,4)-(8,1)) - │ │ ├── locals: [:a, :x] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (7,6)-(7,13)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (7,7)-(7,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9)) - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 1) - │ │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12)) - │ │ │ │ └── name: :x - │ │ │ ├── opening_loc: (7,6)-(7,7) = "|" - │ │ │ └── closing_loc: (7,12)-(7,13) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (7,4)-(7,5) = "{" - │ │ └── closing_loc: (8,0)-(8,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (7,4)-(8,1)) + │ ├── locals: [:a, :x] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (7,6)-(7,13)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (7,7)-(7,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9)) + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 1) + │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12)) + │ │ │ └── name: :x + │ │ ├── opening_loc: (7,6)-(7,7) = "|" + │ │ └── closing_loc: (7,12)-(7,13) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (7,4)-(7,5) = "{" + │ └── closing_loc: (8,0)-(8,1) = "}" ├── @ CallNode (location: (9,0)-(10,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -128,33 +129,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (9,4)-(10,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (9,6)-(9,12)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (9,7)-(9,11)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (9,6)-(9,7) = "|" - │ │ │ └── closing_loc: (9,11)-(9,12) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (9,4)-(9,5) = "{" - │ │ └── closing_loc: (10,0)-(10,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (9,4)-(10,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (9,6)-(9,12)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (9,7)-(9,11)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11)) + │ │ │ │ └── name: :b + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (9,6)-(9,7) = "|" + │ │ └── closing_loc: (9,11)-(9,12) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (9,4)-(9,5) = "{" + │ └── closing_loc: (10,0)-(10,1) = "}" ├── @ CallNode (location: (11,0)-(13,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -162,24 +163,24 @@ │ ├── opening_loc: (11,3)-(11,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (11,4)-(11,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (11,4)-(11,5)) + │ │ └── flags: decimal │ ├── closing_loc: (11,5)-(11,6) = ")" - │ ├── block: - │ │ @ BlockNode (location: (11,7)-(13,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (12,2)-(12,5)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ NilNode (location: (12,2)-(12,5)) - │ │ ├── opening_loc: (11,7)-(11,8) = "{" - │ │ └── closing_loc: (13,0)-(13,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (11,7)-(13,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (12,2)-(12,5)) + │ │ └── body: (length: 1) + │ │ └── @ NilNode (location: (12,2)-(12,5)) + │ ├── opening_loc: (11,7)-(11,8) = "{" + │ └── closing_loc: (13,0)-(13,1) = "}" ├── @ CallNode (location: (14,0)-(16,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -187,38 +188,38 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (14,4)-(16,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (14,6)-(14,13)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (14,7)-(14,12)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── name_loc: (14,11)-(14,12) = "b" - │ │ │ │ │ └── operator_loc: (14,10)-(14,11) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (14,6)-(14,7) = "|" - │ │ │ └── closing_loc: (14,12)-(14,13) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (15,2)-(15,5)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ NilNode (location: (15,2)-(15,5)) - │ │ ├── opening_loc: (14,4)-(14,5) = "{" - │ │ └── closing_loc: (16,0)-(16,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (14,4)-(16,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (14,6)-(14,13)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (14,7)-(14,12)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12)) + │ │ │ │ ├── name: :b + │ │ │ │ ├── name_loc: (14,11)-(14,12) = "b" + │ │ │ │ └── operator_loc: (14,10)-(14,11) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (14,6)-(14,7) = "|" + │ │ └── closing_loc: (14,12)-(14,13) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (15,2)-(15,5)) + │ │ └── body: (length: 1) + │ │ └── @ NilNode (location: (15,2)-(15,5)) + │ ├── opening_loc: (14,4)-(14,5) = "{" + │ └── closing_loc: (16,0)-(16,1) = "}" ├── @ CallNode (location: (17,0)-(19,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -226,38 +227,38 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (17,4)-(19,1)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (17,6)-(17,12)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (17,7)-(17,11)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11)) - │ │ │ │ │ ├── name: ∅ - │ │ │ │ │ ├── name_loc: ∅ - │ │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (17,6)-(17,7) = "|" - │ │ │ └── closing_loc: (17,11)-(17,12) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (18,2)-(18,5)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ NilNode (location: (18,2)-(18,5)) - │ │ ├── opening_loc: (17,4)-(17,5) = "{" - │ │ └── closing_loc: (19,0)-(19,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (17,4)-(19,1)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (17,6)-(17,12)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (17,7)-(17,11)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11)) + │ │ │ │ ├── name: ∅ + │ │ │ │ ├── name_loc: ∅ + │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (17,6)-(17,7) = "|" + │ │ └── closing_loc: (17,11)-(17,12) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (18,2)-(18,5)) + │ │ └── body: (length: 1) + │ │ └── @ NilNode (location: (18,2)-(18,5)) + │ ├── opening_loc: (17,4)-(17,5) = "{" + │ └── closing_loc: (19,0)-(19,1) = "}" ├── @ CallNode (location: (20,0)-(22,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -265,30 +266,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (20,4)-(22,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (21,2)-(21,5)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (21,2)-(21,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (21,2)-(21,5) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (20,4)-(20,5) = "{" - │ │ └── closing_loc: (22,0)-(22,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (20,4)-(22,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (21,2)-(21,5)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (21,2)-(21,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (21,2)-(21,5) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (20,4)-(20,5) = "{" + │ └── closing_loc: (22,0)-(22,1) = "}" ├── @ CallNode (location: (23,0)-(25,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -296,63 +298,63 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (23,3)-(23,4) = "." │ ├── name: :bar │ ├── message_loc: (23,4)-(23,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (23,8)-(25,1)) - │ │ ├── locals: [:a, :b, :c] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (23,10)-(23,21)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (23,11)-(23,20)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17)) - │ │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13)) - │ │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16)) - │ │ │ │ │ │ │ └── name: :b - │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ ├── rights: (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) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (23,10)-(23,11) = "|" - │ │ │ └── closing_loc: (23,20)-(23,21) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (24,2)-(24,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (24,2)-(24,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (24,2)-(24,3) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (23,8)-(23,9) = "{" - │ │ └── closing_loc: (25,0)-(25,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (23,8)-(25,1)) + │ ├── locals: [:a, :b, :c] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (23,10)-(23,21)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (23,11)-(23,20)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17)) + │ │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13)) + │ │ │ │ │ │ │ └── name: :a + │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16)) + │ │ │ │ │ │ └── name: :b + │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ ├── rights: (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) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (23,10)-(23,11) = "|" + │ │ └── closing_loc: (23,20)-(23,21) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (24,2)-(24,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (24,2)-(24,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (24,2)-(24,3) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (23,8)-(23,9) = "{" + │ └── closing_loc: (25,0)-(25,1) = "}" ├── @ CallNode (location: (26,0)-(27,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (26,0)-(26,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -360,45 +362,45 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (26,3)-(26,4) = "." │ ├── name: :bar │ ├── message_loc: (26,4)-(26,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (26,8)-(27,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (26,10)-(26,17)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (26,11)-(26,13)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13)) - │ │ │ │ │ ├── name: :a - │ │ │ │ │ ├── name_loc: (26,12)-(26,13) = "a" - │ │ │ │ │ └── operator_loc: (26,11)-(26,12) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 1) - │ │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16)) - │ │ │ │ └── name: :b - │ │ │ ├── opening_loc: (26,10)-(26,11) = "|" - │ │ │ └── closing_loc: (26,16)-(26,17) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (26,8)-(26,9) = "{" - │ │ └── closing_loc: (27,0)-(27,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (26,8)-(27,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (26,10)-(26,17)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (26,11)-(26,13)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13)) + │ │ │ │ ├── name: :a + │ │ │ │ ├── name_loc: (26,12)-(26,13) = "a" + │ │ │ │ └── operator_loc: (26,11)-(26,12) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 1) + │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16)) + │ │ │ └── name: :b + │ │ ├── opening_loc: (26,10)-(26,11) = "|" + │ │ └── closing_loc: (26,16)-(26,17) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (26,8)-(26,9) = "{" + │ └── closing_loc: (27,0)-(27,1) = "}" ├── @ CallNode (location: (28,0)-(29,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (28,0)-(28,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -406,43 +408,43 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (28,3)-(28,4) = "." │ ├── name: :bar │ ├── message_loc: (28,4)-(28,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (28,8)-(29,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (28,10)-(28,16)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (28,11)-(28,12)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 1) - │ │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15)) - │ │ │ │ └── name: :b - │ │ │ ├── opening_loc: (28,10)-(28,11) = "|" - │ │ │ └── closing_loc: (28,15)-(28,16) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (28,8)-(28,9) = "{" - │ │ └── closing_loc: (29,0)-(29,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (28,8)-(29,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (28,10)-(28,16)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (28,11)-(28,12)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 1) + │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15)) + │ │ │ └── name: :b + │ │ ├── opening_loc: (28,10)-(28,11) = "|" + │ │ └── closing_loc: (28,15)-(28,16) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (28,8)-(28,9) = "{" + │ └── closing_loc: (29,0)-(29,1) = "}" ├── @ CallNode (location: (30,0)-(31,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -450,35 +452,35 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (30,3)-(30,4) = "." │ ├── name: :bar │ ├── message_loc: (30,4)-(30,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (30,8)-(31,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (30,10)-(30,18)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 2) - │ │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17)) - │ │ │ │ └── name: :b - │ │ │ ├── opening_loc: (30,10)-(30,11) = "|" - │ │ │ └── closing_loc: (30,17)-(30,18) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (30,8)-(30,9) = "{" - │ │ └── closing_loc: (31,0)-(31,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (30,8)-(31,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (30,10)-(30,18)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 2) + │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14)) + │ │ │ │ └── name: :a + │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17)) + │ │ │ └── name: :b + │ │ ├── opening_loc: (30,10)-(30,11) = "|" + │ │ └── closing_loc: (30,17)-(30,18) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (30,8)-(30,9) = "{" + │ └── closing_loc: (31,0)-(31,1) = "}" ├── @ CallNode (location: (32,0)-(34,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (32,0)-(32,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -486,55 +488,55 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (32,3)-(32,4) = "." │ ├── name: :bar │ ├── message_loc: (32,4)-(32,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (32,8)-(34,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (32,10)-(32,13)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (32,11)-(32,12)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12)) - │ │ │ │ │ ├── name: ∅ - │ │ │ │ │ ├── name_loc: ∅ - │ │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (32,10)-(32,11) = "|" - │ │ │ └── closing_loc: (32,12)-(32,13) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (33,2)-(33,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (33,2)-(33,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (33,2)-(33,3) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (32,8)-(32,9) = "{" - │ │ └── closing_loc: (34,0)-(34,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (32,8)-(34,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (32,10)-(32,13)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (32,11)-(32,12)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12)) + │ │ │ │ ├── name: ∅ + │ │ │ │ ├── name_loc: ∅ + │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (32,10)-(32,11) = "|" + │ │ └── closing_loc: (32,12)-(32,13) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (33,2)-(33,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (33,2)-(33,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (33,2)-(33,3) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (32,8)-(32,9) = "{" + │ └── closing_loc: (34,0)-(34,1) = "}" ├── @ CallNode (location: (35,0)-(37,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -542,60 +544,60 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (35,3)-(35,4) = "." │ ├── name: :bar │ ├── message_loc: (35,4)-(35,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (35,8)-(37,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (35,10)-(35,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (35,11)-(35,14)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14)) - │ │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ │ ├── rest: - │ │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13)) - │ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*" - │ │ │ │ │ │ └── expression: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "(" - │ │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")" - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (35,10)-(35,11) = "|" - │ │ │ └── closing_loc: (35,14)-(35,15) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (36,2)-(36,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (36,2)-(36,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (36,2)-(36,3) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (35,8)-(35,9) = "{" - │ │ └── closing_loc: (37,0)-(37,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (35,8)-(37,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (35,10)-(35,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (35,11)-(35,14)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14)) + │ │ │ │ ├── lefts: (length: 0) + │ │ │ │ ├── rest: + │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13)) + │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*" + │ │ │ │ │ └── expression: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "(" + │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")" + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (35,10)-(35,11) = "|" + │ │ └── closing_loc: (35,14)-(35,15) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (36,2)-(36,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (36,2)-(36,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (36,2)-(36,3) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (35,8)-(35,9) = "{" + │ └── closing_loc: (37,0)-(37,1) = "}" ├── @ CallNode (location: (38,0)-(40,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (38,0)-(38,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -603,66 +605,66 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (38,3)-(38,4) = "." │ ├── name: :bar │ ├── message_loc: (38,4)-(38,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (38,8)-(40,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (38,10)-(38,17)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (38,11)-(38,16)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16)) - │ │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15)) - │ │ │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ │ │ ├── rest: - │ │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14)) - │ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*" - │ │ │ │ │ │ │ └── expression: ∅ - │ │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "(" - │ │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")" - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "(" - │ │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")" - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (38,10)-(38,11) = "|" - │ │ │ └── closing_loc: (38,16)-(38,17) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (39,2)-(39,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (39,2)-(39,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (39,2)-(39,3) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (38,8)-(38,9) = "{" - │ │ └── closing_loc: (40,0)-(40,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (38,8)-(40,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (38,10)-(38,17)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (38,11)-(38,16)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16)) + │ │ │ │ ├── lefts: (length: 1) + │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15)) + │ │ │ │ │ ├── lefts: (length: 0) + │ │ │ │ │ ├── rest: + │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14)) + │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*" + │ │ │ │ │ │ └── expression: ∅ + │ │ │ │ │ ├── rights: (length: 0) + │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "(" + │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")" + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "(" + │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")" + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (38,10)-(38,11) = "|" + │ │ └── closing_loc: (38,16)-(38,17) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (39,2)-(39,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (39,2)-(39,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (39,2)-(39,3) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (38,8)-(38,9) = "{" + │ └── closing_loc: (40,0)-(40,1) = "}" ├── @ CallNode (location: (41,0)-(43,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (41,0)-(41,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -670,68 +672,68 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (41,3)-(41,4) = "." │ ├── name: :bar │ ├── message_loc: (41,4)-(41,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (41,8)-(43,1)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (41,10)-(41,20)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (41,11)-(41,19)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19)) - │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13)) - │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18)) - │ │ │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ │ │ ├── rest: - │ │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17)) - │ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*" - │ │ │ │ │ │ │ └── expression: ∅ - │ │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "(" - │ │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")" - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "(" - │ │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")" - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (41,10)-(41,11) = "|" - │ │ │ └── closing_loc: (41,19)-(41,20) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (42,2)-(42,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (42,2)-(42,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (42,2)-(42,3) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (41,8)-(41,9) = "{" - │ │ └── closing_loc: (43,0)-(43,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (41,8)-(43,1)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (41,10)-(41,20)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (41,11)-(41,19)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19)) + │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13)) + │ │ │ │ │ │ └── name: :a + │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18)) + │ │ │ │ │ ├── lefts: (length: 0) + │ │ │ │ │ ├── rest: + │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17)) + │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*" + │ │ │ │ │ │ └── expression: ∅ + │ │ │ │ │ ├── rights: (length: 0) + │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "(" + │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")" + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "(" + │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")" + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (41,10)-(41,11) = "|" + │ │ └── closing_loc: (41,19)-(41,20) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (42,2)-(42,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (42,2)-(42,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (42,2)-(42,3) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (41,8)-(41,9) = "{" + │ └── closing_loc: (43,0)-(43,1) = "}" ├── @ CallNode (location: (44,0)-(46,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (44,0)-(44,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -739,63 +741,64 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (44,3)-(44,4) = "." │ ├── name: :bar │ ├── message_loc: (44,4)-(44,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (44,8)-(46,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (44,10)-(44,18)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (44,11)-(44,17)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17)) - │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13)) - │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16)) - │ │ │ │ │ │ └── name: :b - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "(" - │ │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")" - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (44,10)-(44,11) = "|" - │ │ │ └── closing_loc: (44,17)-(44,18) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (45,2)-(45,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (45,2)-(45,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (45,2)-(45,3) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (44,8)-(44,9) = "{" - │ │ └── closing_loc: (46,0)-(46,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (44,8)-(46,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (44,10)-(44,18)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (44,11)-(44,17)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17)) + │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13)) + │ │ │ │ │ │ └── name: :a + │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16)) + │ │ │ │ │ └── name: :b + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "(" + │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")" + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (44,10)-(44,11) = "|" + │ │ └── closing_loc: (44,17)-(44,18) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (45,2)-(45,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (45,2)-(45,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (45,2)-(45,3) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (44,8)-(44,9) = "{" + │ └── closing_loc: (46,0)-(46,1) = "}" ├── @ CallNode (location: (47,0)-(48,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (47,0)-(48,1)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (47,0)-(47,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -803,32 +806,30 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (47,3)-(47,4) = "." │ │ ├── name: :bar │ │ ├── message_loc: (47,4)-(47,7) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (47,8)-(48,1)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (47,8)-(47,9) = "{" - │ │ │ └── closing_loc: (48,0)-(48,1) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (47,8)-(48,1)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (47,8)-(47,9) = "{" + │ │ └── closing_loc: (48,0)-(48,1) = "}" │ ├── call_operator_loc: (48,1)-(48,2) = "." │ ├── name: :baz │ ├── message_loc: (48,2)-(48,5) = "baz" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (49,0)-(51,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -836,35 +837,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (49,2)-(51,3)) - │ │ ├── locals: [:e] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (50,0)-(51,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: ∅ - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (50,0)-(50,21)) - │ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 1) - │ │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16)) - │ │ │ │ │ └── name: :Exception - │ │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>" - │ │ │ │ ├── reference: - │ │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21)) - │ │ │ │ │ ├── name: :e - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end" - │ │ ├── opening_loc: (49,2)-(49,4) = "do" - │ │ └── closing_loc: (51,0)-(51,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (49,2)-(51,3)) + │ ├── locals: [:e] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (50,0)-(51,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (50,0)-(50,21)) + │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue" + │ │ │ ├── exceptions: (length: 1) + │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16)) + │ │ │ │ └── name: :Exception + │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>" + │ │ │ ├── reference: + │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21)) + │ │ │ │ ├── name: :e + │ │ │ │ └── depth: 0 + │ │ │ ├── statements: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (51,0)-(51,3) = "end" + │ ├── opening_loc: (49,2)-(49,4) = "do" + │ └── closing_loc: (51,0)-(51,3) = "end" ├── @ CallNode (location: (52,0)-(56,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -872,52 +873,52 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (52,2)-(56,3)) - │ │ ├── locals: [:bar] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (53,2)-(56,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (53,2)-(53,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (53,2)-(53,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (54,0)-(55,5)) - │ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 1) - │ │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16)) - │ │ │ │ │ └── name: :Exception - │ │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>" - │ │ │ │ ├── reference: - │ │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23)) - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (55,2)-(55,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5)) - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (56,0)-(56,3) = "end" - │ │ ├── opening_loc: (52,2)-(52,4) = "do" - │ │ └── closing_loc: (56,0)-(56,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (52,2)-(56,3)) + │ ├── locals: [:bar] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (53,2)-(56,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (53,2)-(53,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (53,2)-(53,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (53,2)-(53,5) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (54,0)-(55,5)) + │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue" + │ │ │ ├── exceptions: (length: 1) + │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16)) + │ │ │ │ └── name: :Exception + │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>" + │ │ │ ├── reference: + │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23)) + │ │ │ │ ├── name: :bar + │ │ │ │ └── depth: 0 + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (55,2)-(55,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5)) + │ │ │ │ ├── name: :bar + │ │ │ │ └── depth: 0 + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (56,0)-(56,3) = "end" + │ ├── opening_loc: (52,2)-(52,4) = "do" + │ └── closing_loc: (56,0)-(56,3) = "end" ├── @ CallNode (location: (57,0)-(61,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -925,69 +926,69 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (57,2)-(61,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (58,2)-(61,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (58,2)-(58,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (58,2)-(58,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (58,2)-(58,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (59,0)-(60,5)) - │ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 2) - │ │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16)) - │ │ │ │ │ │ └── name: :SomeError - │ │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22)) - │ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ CallNode (location: (59,19)-(59,22)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (60,2)-(60,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (60,2)-(60,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (61,0)-(61,3) = "end" - │ │ ├── opening_loc: (57,2)-(57,4) = "do" - │ │ └── closing_loc: (61,0)-(61,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (57,2)-(61,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (58,2)-(61,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (58,2)-(58,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (58,2)-(58,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (58,2)-(58,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (59,0)-(60,5)) + │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue" + │ │ │ ├── exceptions: (length: 2) + │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16)) + │ │ │ │ │ └── name: :SomeError + │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22)) + │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ CallNode (location: (59,19)-(59,22)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (60,2)-(60,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (60,2)-(60,5)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (61,0)-(61,3) = "end" + │ ├── opening_loc: (57,2)-(57,4) = "do" + │ └── closing_loc: (61,0)-(61,3) = "end" ├── @ CallNode (location: (62,0)-(66,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -995,72 +996,72 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (62,2)-(66,3)) - │ │ ├── locals: [:exception] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (63,2)-(66,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (63,2)-(63,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (63,2)-(63,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (63,2)-(63,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (64,0)-(65,5)) - │ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 2) - │ │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16)) - │ │ │ │ │ │ └── name: :SomeError - │ │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22)) - │ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ CallNode (location: (64,19)-(64,22)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>" - │ │ │ │ ├── reference: - │ │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35)) - │ │ │ │ │ ├── name: :exception - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (65,2)-(65,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (65,2)-(65,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (66,0)-(66,3) = "end" - │ │ ├── opening_loc: (62,2)-(62,4) = "do" - │ │ └── closing_loc: (66,0)-(66,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (62,2)-(66,3)) + │ ├── locals: [:exception] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (63,2)-(66,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (63,2)-(63,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (63,2)-(63,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (63,2)-(63,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (64,0)-(65,5)) + │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue" + │ │ │ ├── exceptions: (length: 2) + │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16)) + │ │ │ │ │ └── name: :SomeError + │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22)) + │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ CallNode (location: (64,19)-(64,22)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>" + │ │ │ ├── reference: + │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35)) + │ │ │ │ ├── name: :exception + │ │ │ │ └── depth: 0 + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (65,2)-(65,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (65,2)-(65,5)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (66,0)-(66,3) = "end" + │ ├── opening_loc: (62,2)-(62,4) = "do" + │ └── closing_loc: (66,0)-(66,3) = "end" ├── @ CallNode (location: (67,0)-(71,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1068,67 +1069,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (67,2)-(71,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (68,2)-(71,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (68,2)-(68,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (68,2)-(68,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (68,2)-(68,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (69,0)-(70,5)) - │ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 1) - │ │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11)) - │ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ CallNode (location: (69,8)-(69,11)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (70,2)-(70,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (70,2)-(70,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (71,0)-(71,3) = "end" - │ │ ├── opening_loc: (67,2)-(67,4) = "do" - │ │ └── closing_loc: (71,0)-(71,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (67,2)-(71,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (68,2)-(71,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (68,2)-(68,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (68,2)-(68,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (68,2)-(68,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (69,0)-(70,5)) + │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue" + │ │ │ ├── exceptions: (length: 1) + │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11)) + │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ CallNode (location: (69,8)-(69,11)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (70,2)-(70,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (70,2)-(70,5)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (71,0)-(71,3) = "end" + │ ├── opening_loc: (67,2)-(67,4) = "do" + │ └── closing_loc: (71,0)-(71,3) = "end" ├── @ CallNode (location: (72,0)-(75,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1136,44 +1137,44 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (72,2)-(75,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (73,2)-(75,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (73,2)-(73,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (73,2)-(73,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (73,2)-(73,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (74,0)-(74,16)) - │ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 1) - │ │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16)) - │ │ │ │ │ └── name: :LoadError - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (75,0)-(75,3) = "end" - │ │ ├── opening_loc: (72,2)-(72,4) = "do" - │ │ └── closing_loc: (75,0)-(75,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (72,2)-(75,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (73,2)-(75,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (73,2)-(73,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (73,2)-(73,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (73,2)-(73,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (74,0)-(74,16)) + │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue" + │ │ │ ├── exceptions: (length: 1) + │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16)) + │ │ │ │ └── name: :LoadError + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (75,0)-(75,3) = "end" + │ ├── opening_loc: (72,2)-(72,4) = "do" + │ └── closing_loc: (75,0)-(75,3) = "end" ├── @ CallNode (location: (76,0)-(81,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1181,58 +1182,58 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (76,2)-(81,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (77,2)-(81,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (77,2)-(77,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (77,2)-(77,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (77,2)-(77,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (78,0)-(78,6)) - │ │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 0) - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: - │ │ │ │ @ ElseNode (location: (79,0)-(81,3)) - │ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (80,2)-(80,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (80,2)-(80,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end" - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end" - │ │ ├── opening_loc: (76,2)-(76,4) = "do" - │ │ └── closing_loc: (81,0)-(81,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (76,2)-(81,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (77,2)-(81,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (77,2)-(77,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (77,2)-(77,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (77,2)-(77,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (78,0)-(78,6)) + │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue" + │ │ │ ├── exceptions: (length: 0) + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: + │ │ │ @ ElseNode (location: (79,0)-(81,3)) + │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (80,2)-(80,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (80,2)-(80,5)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end" + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (81,0)-(81,3) = "end" + │ ├── opening_loc: (76,2)-(76,4) = "do" + │ └── closing_loc: (81,0)-(81,3) = "end" ├── @ CallNode (location: (82,0)-(86,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1240,70 +1241,70 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (82,2)-(86,3)) - │ │ ├── locals: [:exception] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (83,2)-(86,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (83,2)-(83,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (83,2)-(83,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (83,2)-(83,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (84,0)-(85,5)) - │ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 1) - │ │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11)) - │ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ CallNode (location: (84,8)-(84,11)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>" - │ │ │ │ ├── reference: - │ │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24)) - │ │ │ │ │ ├── name: :exception - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (85,2)-(85,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (85,2)-(85,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (86,0)-(86,3) = "end" - │ │ ├── opening_loc: (82,2)-(82,4) = "do" - │ │ └── closing_loc: (86,0)-(86,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (82,2)-(86,3)) + │ ├── locals: [:exception] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (83,2)-(86,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (83,2)-(83,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (83,2)-(83,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (83,2)-(83,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (84,0)-(85,5)) + │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue" + │ │ │ ├── exceptions: (length: 1) + │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11)) + │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ CallNode (location: (84,8)-(84,11)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>" + │ │ │ ├── reference: + │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24)) + │ │ │ │ ├── name: :exception + │ │ │ │ └── depth: 0 + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (85,2)-(85,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (85,2)-(85,5)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (86,0)-(86,3) = "end" + │ ├── opening_loc: (82,2)-(82,4) = "do" + │ └── closing_loc: (86,0)-(86,3) = "end" ├── @ CallNode (location: (87,0)-(89,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1311,27 +1312,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (87,2)-(89,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (88,0)-(89,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: ∅ - │ │ │ ├── rescue_clause: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: - │ │ │ │ @ EnsureNode (location: (88,0)-(89,3)) - │ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure" - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end" - │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end" - │ │ ├── opening_loc: (87,2)-(87,4) = "do" - │ │ └── closing_loc: (89,0)-(89,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (87,2)-(89,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (88,0)-(89,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: ∅ + │ │ ├── rescue_clause: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: + │ │ │ @ EnsureNode (location: (88,0)-(89,3)) + │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure" + │ │ │ ├── statements: ∅ + │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end" + │ │ └── end_keyword_loc: (89,0)-(89,3) = "end" + │ ├── opening_loc: (87,2)-(87,4) = "do" + │ └── closing_loc: (89,0)-(89,3) = "end" ├── @ CallNode (location: (90,0)-(93,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1339,34 +1340,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (90,2)-(93,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (91,0)-(93,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: ∅ - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (91,0)-(91,6)) - │ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 0) - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: - │ │ │ │ @ EnsureNode (location: (92,0)-(93,3)) - │ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure" - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end" - │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end" - │ │ ├── opening_loc: (90,2)-(90,4) = "do" - │ │ └── closing_loc: (93,0)-(93,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (90,2)-(93,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (91,0)-(93,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (91,0)-(91,6)) + │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue" + │ │ │ ├── exceptions: (length: 0) + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: + │ │ │ @ EnsureNode (location: (92,0)-(93,3)) + │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure" + │ │ │ ├── statements: ∅ + │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end" + │ │ └── end_keyword_loc: (93,0)-(93,3) = "end" + │ ├── opening_loc: (90,2)-(90,4) = "do" + │ └── closing_loc: (93,0)-(93,3) = "end" └── @ CallNode (location: (94,0)-(96,1)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bar @@ -1374,35 +1375,34 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (94,4)-(96,1)) - │ ├── locals: [:_1, :_2] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ NumberedParametersNode (location: (94,4)-(96,1)) - │ │ └── maximum: 2 - │ ├── body: - │ │ @ StatementsNode (location: (95,2)-(95,9)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (95,2)-(95,9)) - │ │ ├── receiver: - │ │ │ @ LocalVariableReadNode (location: (95,2)-(95,4)) - │ │ │ ├── name: :_1 - │ │ │ └── depth: 0 - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (95,5)-(95,6) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (95,7)-(95,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9)) - │ │ │ │ ├── name: :_2 - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── opening_loc: (94,4)-(94,5) = "{" - │ └── closing_loc: (96,0)-(96,1) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (94,4)-(96,1)) + ├── locals: [:_1, :_2] + ├── locals_body_index: 2 + ├── parameters: + │ @ NumberedParametersNode (location: (94,4)-(96,1)) + │ └── maximum: 2 + ├── body: + │ @ StatementsNode (location: (95,2)-(95,9)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (95,2)-(95,9)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ LocalVariableReadNode (location: (95,2)-(95,4)) + │ │ ├── name: :_1 + │ │ └── depth: 0 + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (95,5)-(95,6) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (95,7)-(95,9)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9)) + │ │ ├── name: :_2 + │ │ └── depth: 0 + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (94,4)-(94,5) = "{" + └── closing_loc: (96,0)-(96,1) = "}" diff --git a/test/prism/snapshots/unparser/corpus/literal/case.txt b/test/prism/snapshots/unparser/corpus/literal/case.txt index 6d56f7edcc..4e07760e85 100644 --- a/test/prism/snapshots/unparser/corpus/literal/case.txt +++ b/test/prism/snapshots/unparser/corpus/literal/case.txt @@ -10,6 +10,7 @@ │ │ │ ├── keyword_loc: (2,0)-(2,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (2,5)-(2,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -17,12 +18,12 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (3,2)-(3,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -30,12 +31,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ WhenNode (location: (4,0)-(5,5)) │ │ ├── keyword_loc: (4,0)-(4,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (4,5)-(4,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -43,12 +44,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (5,2)-(5,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -56,14 +57,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (6,0)-(6,3) = "end" ├── @ CaseNode (location: (7,0)-(11,3)) │ ├── predicate: │ │ @ CallNode (location: (7,5)-(7,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -71,13 +72,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 2) │ │ ├── @ WhenNode (location: (8,0)-(8,8)) │ │ │ ├── keyword_loc: (8,0)-(8,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (8,5)-(8,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -85,13 +86,13 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── statements: ∅ │ │ └── @ WhenNode (location: (9,0)-(10,5)) │ │ ├── keyword_loc: (9,0)-(9,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (9,5)-(9,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -99,12 +100,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (10,2)-(10,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (10,2)-(10,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -112,14 +113,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (7,0)-(7,4) = "case" │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ CaseNode (location: (12,0)-(17,3)) │ ├── predicate: │ │ @ CallNode (location: (12,5)-(12,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -127,13 +128,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 2) │ │ ├── @ WhenNode (location: (13,0)-(14,5)) │ │ │ ├── keyword_loc: (13,0)-(13,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (13,5)-(13,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -141,12 +142,12 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (14,2)-(14,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (14,2)-(14,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -154,12 +155,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ WhenNode (location: (15,0)-(16,5)) │ │ ├── keyword_loc: (15,0)-(15,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (15,5)-(15,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -167,12 +168,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (16,2)-(16,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (16,2)-(16,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -180,14 +181,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (12,0)-(12,4) = "case" │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ CaseNode (location: (18,0)-(21,3)) │ ├── predicate: │ │ @ CallNode (location: (18,5)-(18,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -195,13 +196,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (19,0)-(20,8)) │ │ ├── keyword_loc: (19,0)-(19,4) = "when" │ │ ├── conditions: (length: 2) │ │ │ ├── @ CallNode (location: (19,5)-(19,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -209,9 +210,9 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── @ CallNode (location: (19,10)-(19,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -219,8 +220,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (20,2)-(20,8)) │ │ └── body: (length: 1) @@ -235,6 +235,7 @@ ├── @ CaseNode (location: (22,0)-(25,3)) │ ├── predicate: │ │ @ CallNode (location: (22,5)-(22,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -242,8 +243,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (23,0)-(24,8)) │ │ ├── keyword_loc: (23,0)-(23,4) = "when" @@ -252,6 +252,7 @@ │ │ │ ├── operator_loc: (23,5)-(23,6) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (23,6)-(23,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -259,8 +260,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (24,2)-(24,8)) │ │ └── body: (length: 1) @@ -275,6 +275,7 @@ ├── @ CaseNode (location: (26,0)-(31,3)) │ ├── predicate: │ │ @ CallNode (location: (26,5)-(26,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -282,13 +283,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (27,0)-(28,5)) │ │ ├── keyword_loc: (27,0)-(27,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (27,5)-(27,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -296,12 +297,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (28,2)-(28,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (28,2)-(28,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -309,8 +310,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (29,0)-(31,3)) │ │ ├── else_keyword_loc: (29,0)-(29,4) = "else" @@ -328,6 +328,7 @@ ├── @ CaseNode (location: (32,0)-(34,3)) │ ├── predicate: │ │ @ CallNode (location: (32,5)-(32,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -335,8 +336,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (33,0)-(33,15)) │ │ ├── keyword_loc: (33,0)-(33,4) = "when" @@ -345,8 +345,10 @@ │ │ │ ├── operator_loc: (33,5)-(33,6) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (33,6)-(33,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (33,6)-(33,9)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -354,29 +356,27 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :| │ │ │ ├── message_loc: (33,10)-(33,11) = "|" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (33,12)-(33,15)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (33,12)-(33,15)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (33,12)-(33,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── statements: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (32,0)-(32,4) = "case" @@ -384,6 +384,7 @@ └── @ CaseNode (location: (35,0)-(37,3)) ├── predicate: │ @ CallNode (location: (35,5)-(35,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -391,8 +392,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (36,0)-(36,15)) │ ├── keyword_loc: (36,0)-(36,4) = "when" @@ -401,8 +401,10 @@ │ │ ├── operator_loc: (36,5)-(36,6) = "*" │ │ └── expression: │ │ @ CallNode (location: (36,6)-(36,15)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (36,6)-(36,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -410,21 +412,19 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (36,9)-(36,10) = "." │ │ ├── name: :baz= │ │ ├── message_loc: (36,10)-(36,13) = "baz" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (36,14)-(36,15)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (36,14)-(36,15)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (36,14)-(36,15)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (35,0)-(35,4) = "case" diff --git a/test/prism/snapshots/unparser/corpus/literal/class.txt b/test/prism/snapshots/unparser/corpus/literal/class.txt index 63cb4a7d76..6698b6ac40 100644 --- a/test/prism/snapshots/unparser/corpus/literal/class.txt +++ b/test/prism/snapshots/unparser/corpus/literal/class.txt @@ -20,6 +20,7 @@ │ ├── operator_loc: (4,6)-(4,8) = "<<" │ ├── expression: │ │ @ CallNode (location: (4,9)-(4,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -27,8 +28,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ SingletonClassNode (location: (7,0)-(9,3)) @@ -37,6 +37,7 @@ │ ├── operator_loc: (7,6)-(7,8) = "<<" │ ├── expression: │ │ @ CallNode (location: (7,9)-(7,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -44,12 +45,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (8,2)-(8,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (8,2)-(8,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -57,8 +58,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (9,0)-(9,3) = "end" ├── @ ClassNode (location: (11,0)-(12,3)) │ ├── locals: [] @@ -169,6 +169,7 @@ │ │ @ StatementsNode (location: (27,2)-(31,5)) │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (27,2)-(27,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :include @@ -176,23 +177,22 @@ │ │ │ ├── opening_loc: (27,9)-(27,10) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (27,10)-(27,15)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (27,10)-(27,15)) - │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11)) - │ │ │ │ │ │ └── name: :B - │ │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "." - │ │ │ │ │ ├── name: :new - │ │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (27,10)-(27,15)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: + │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11)) + │ │ │ │ │ └── name: :B + │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "." + │ │ │ │ ├── name: :new + │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: (27,15)-(27,16) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ DefNode (location: (29,2)-(31,5)) │ │ ├── name: :foo │ │ ├── name_loc: (29,6)-(29,9) = "foo" diff --git a/test/prism/snapshots/unparser/corpus/literal/control.txt b/test/prism/snapshots/unparser/corpus/literal/control.txt index 9e4b52341e..3f667bd431 100644 --- a/test/prism/snapshots/unparser/corpus/literal/control.txt +++ b/test/prism/snapshots/unparser/corpus/literal/control.txt @@ -18,122 +18,122 @@ │ ├── keyword_loc: (6,0)-(6,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (6,7)-(6,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (6,7)-(6,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (6,7)-(6,8)) + │ └── flags: decimal ├── @ ReturnNode (location: (7,0)-(7,11)) │ ├── keyword_loc: (7,0)-(7,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (7,7)-(7,11)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (7,7)-(7,8)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (7,10)-(7,11)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (7,7)-(7,8)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (7,10)-(7,11)) + │ └── flags: decimal ├── @ ReturnNode (location: (8,0)-(8,19)) │ ├── keyword_loc: (8,0)-(8,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (8,7)-(8,19)) - │ ├── arguments: (length: 1) - │ │ └── @ IfNode (location: (8,7)-(8,19)) - │ │ ├── if_keyword_loc: ∅ - │ │ ├── predicate: - │ │ │ @ TrueNode (location: (8,7)-(8,11)) - │ │ ├── then_keyword_loc: (8,12)-(8,13) = "?" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (8,14)-(8,15)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (8,14)-(8,15)) - │ │ │ └── flags: decimal - │ │ ├── consequent: - │ │ │ @ ElseNode (location: (8,16)-(8,19)) - │ │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (8,18)-(8,19)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (8,18)-(8,19)) - │ │ │ │ └── flags: decimal - │ │ │ └── end_keyword_loc: ∅ - │ │ └── end_keyword_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IfNode (location: (8,7)-(8,19)) + │ ├── if_keyword_loc: ∅ + │ ├── predicate: + │ │ @ TrueNode (location: (8,7)-(8,11)) + │ ├── then_keyword_loc: (8,12)-(8,13) = "?" + │ ├── statements: + │ │ @ StatementsNode (location: (8,14)-(8,15)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (8,14)-(8,15)) + │ │ └── flags: decimal + │ ├── consequent: + │ │ @ ElseNode (location: (8,16)-(8,19)) + │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (8,18)-(8,19)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (8,18)-(8,19)) + │ │ │ └── flags: decimal + │ │ └── end_keyword_loc: ∅ + │ └── end_keyword_loc: ∅ ├── @ BreakNode (location: (9,0)-(9,18)) │ ├── arguments: │ │ @ ArgumentsNode (location: (9,6)-(9,18)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IfNode (location: (9,6)-(9,18)) - │ │ │ ├── if_keyword_loc: ∅ - │ │ │ ├── predicate: - │ │ │ │ @ TrueNode (location: (9,6)-(9,10)) - │ │ │ ├── then_keyword_loc: (9,11)-(9,12) = "?" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (9,13)-(9,14)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (9,13)-(9,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── consequent: - │ │ │ │ @ ElseNode (location: (9,15)-(9,18)) - │ │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (9,17)-(9,18)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── end_keyword_loc: ∅ - │ │ │ └── end_keyword_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IfNode (location: (9,6)-(9,18)) + │ │ ├── if_keyword_loc: ∅ + │ │ ├── predicate: + │ │ │ @ TrueNode (location: (9,6)-(9,10)) + │ │ ├── then_keyword_loc: (9,11)-(9,12) = "?" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (9,13)-(9,14)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (9,13)-(9,14)) + │ │ │ └── flags: decimal + │ │ ├── consequent: + │ │ │ @ ElseNode (location: (9,15)-(9,18)) + │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (9,17)-(9,18)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18)) + │ │ │ │ └── flags: decimal + │ │ │ └── end_keyword_loc: ∅ + │ │ └── end_keyword_loc: ∅ │ └── keyword_loc: (9,0)-(9,5) = "break" ├── @ NextNode (location: (10,0)-(10,17)) │ ├── arguments: │ │ @ ArgumentsNode (location: (10,5)-(10,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IfNode (location: (10,5)-(10,17)) - │ │ │ ├── if_keyword_loc: ∅ - │ │ │ ├── predicate: - │ │ │ │ @ TrueNode (location: (10,5)-(10,9)) - │ │ │ ├── then_keyword_loc: (10,10)-(10,11) = "?" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (10,12)-(10,13)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (10,12)-(10,13)) - │ │ │ │ └── flags: decimal - │ │ │ ├── consequent: - │ │ │ │ @ ElseNode (location: (10,14)-(10,17)) - │ │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (10,16)-(10,17)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── end_keyword_loc: ∅ - │ │ │ └── end_keyword_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IfNode (location: (10,5)-(10,17)) + │ │ ├── if_keyword_loc: ∅ + │ │ ├── predicate: + │ │ │ @ TrueNode (location: (10,5)-(10,9)) + │ │ ├── then_keyword_loc: (10,10)-(10,11) = "?" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (10,12)-(10,13)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (10,12)-(10,13)) + │ │ │ └── flags: decimal + │ │ ├── consequent: + │ │ │ @ ElseNode (location: (10,14)-(10,17)) + │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (10,16)-(10,17)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17)) + │ │ │ │ └── flags: decimal + │ │ │ └── end_keyword_loc: ∅ + │ │ └── end_keyword_loc: ∅ │ └── keyword_loc: (10,0)-(10,4) = "next" └── @ ReturnNode (location: (11,0)-(15,3)) ├── keyword_loc: (11,0)-(11,6) = "return" └── arguments: @ ArgumentsNode (location: (11,7)-(15,3)) - ├── arguments: (length: 2) - │ ├── @ TrueNode (location: (11,7)-(11,11)) - │ └── @ IfNode (location: (11,13)-(15,3)) - │ ├── if_keyword_loc: (11,13)-(11,15) = "if" - │ ├── predicate: - │ │ @ TrueNode (location: (11,16)-(11,20)) - │ ├── then_keyword_loc: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (12,2)-(12,3)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (12,2)-(12,3)) - │ │ └── flags: decimal - │ ├── consequent: - │ │ @ ElseNode (location: (13,0)-(15,3)) - │ │ ├── else_keyword_loc: (13,0)-(13,4) = "else" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (14,2)-(14,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (14,2)-(14,3)) - │ │ │ └── flags: decimal - │ │ └── end_keyword_loc: (15,0)-(15,3) = "end" - │ └── end_keyword_loc: (15,0)-(15,3) = "end" - └── flags: ∅ + ├── flags: ∅ + └── arguments: (length: 2) + ├── @ TrueNode (location: (11,7)-(11,11)) + └── @ IfNode (location: (11,13)-(15,3)) + ├── if_keyword_loc: (11,13)-(11,15) = "if" + ├── predicate: + │ @ TrueNode (location: (11,16)-(11,20)) + ├── then_keyword_loc: ∅ + ├── statements: + │ @ StatementsNode (location: (12,2)-(12,3)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (12,2)-(12,3)) + │ └── flags: decimal + ├── consequent: + │ @ ElseNode (location: (13,0)-(15,3)) + │ ├── else_keyword_loc: (13,0)-(13,4) = "else" + │ ├── statements: + │ │ @ StatementsNode (location: (14,2)-(14,3)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (14,2)-(14,3)) + │ │ └── flags: decimal + │ └── end_keyword_loc: (15,0)-(15,3) = "end" + └── end_keyword_loc: (15,0)-(15,3) = "end" diff --git a/test/prism/snapshots/unparser/corpus/literal/def.txt b/test/prism/snapshots/unparser/corpus/literal/def.txt index 1c8c461a8e..0648be1293 100644 --- a/test/prism/snapshots/unparser/corpus/literal/def.txt +++ b/test/prism/snapshots/unparser/corpus/literal/def.txt @@ -15,6 +15,7 @@ │ │ │ @ StatementsNode (location: (2,2)-(2,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -22,8 +23,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,3)) │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -34,6 +34,7 @@ │ │ │ │ @ StatementsNode (location: (4,2)-(4,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (4,2)-(4,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -41,8 +42,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (5,0)-(7,6)) @@ -51,6 +51,7 @@ │ │ │ │ @ StatementsNode (location: (6,2)-(6,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (6,2)-(6,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -58,8 +59,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (7,0)-(9,3)) @@ -68,6 +68,7 @@ │ │ │ │ @ StatementsNode (location: (8,2)-(8,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (8,2)-(8,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :d @@ -75,8 +76,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" │ ├── locals: [] @@ -101,6 +101,7 @@ │ │ │ └── @ RescueModifierNode (location: (12,2)-(12,12)) │ │ │ ├── expression: │ │ │ │ @ CallNode (location: (12,2)-(12,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -108,11 +109,11 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── keyword_loc: (12,4)-(12,10) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ CallNode (location: (12,11)-(12,12)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -120,8 +121,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (13,0)-(14,3)) │ │ │ ├── keyword_loc: (13,0)-(13,6) = "rescue" @@ -132,6 +132,7 @@ │ │ │ │ @ StatementsNode (location: (14,2)-(14,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (14,2)-(14,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -139,8 +140,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (15,0)-(17,6)) @@ -149,6 +149,7 @@ │ │ │ │ @ StatementsNode (location: (16,2)-(16,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (16,2)-(16,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -156,8 +157,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── end_keyword_loc: (17,0)-(17,6) = "ensure" │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (17,0)-(19,3)) @@ -166,6 +166,7 @@ │ │ │ │ @ StatementsNode (location: (18,2)-(18,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (18,2)-(18,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :d @@ -173,8 +174,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── end_keyword_loc: (19,0)-(19,3) = "end" │ │ └── end_keyword_loc: (19,0)-(19,3) = "end" │ ├── locals: [] @@ -236,6 +236,7 @@ │ │ @ StatementsNode (location: (28,2)-(28,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (28,2)-(28,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -243,8 +244,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (27,0)-(27,3) = "def" @@ -265,6 +265,7 @@ │ │ │ @ StatementsNode (location: (32,2)-(32,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (32,2)-(32,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -272,8 +273,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (33,0)-(34,5)) │ │ │ ├── keyword_loc: (33,0)-(33,6) = "rescue" @@ -284,6 +284,7 @@ │ │ │ │ @ StatementsNode (location: (34,2)-(34,5)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (34,2)-(34,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -291,8 +292,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: @@ -302,6 +302,7 @@ │ │ │ │ @ StatementsNode (location: (36,2)-(36,5)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (36,2)-(36,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -309,8 +310,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── end_keyword_loc: (37,0)-(37,3) = "end" │ │ └── end_keyword_loc: (37,0)-(37,3) = "end" │ ├── locals: [] @@ -333,6 +333,7 @@ │ │ │ @ StatementsNode (location: (40,2)-(40,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (40,2)-(40,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -340,8 +341,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rescue_clause: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: @@ -351,6 +351,7 @@ │ │ │ │ @ StatementsNode (location: (42,2)-(42,5)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (42,2)-(42,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -358,8 +359,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── end_keyword_loc: (43,0)-(43,3) = "end" │ │ └── end_keyword_loc: (43,0)-(43,3) = "end" │ ├── locals: [] @@ -382,6 +382,7 @@ │ │ │ @ StatementsNode (location: (46,2)-(46,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (46,2)-(46,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -389,8 +390,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (47,0)-(48,5)) │ │ │ ├── keyword_loc: (47,0)-(47,6) = "rescue" @@ -401,6 +401,7 @@ │ │ │ │ @ StatementsNode (location: (48,2)-(48,5)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (48,2)-(48,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -408,8 +409,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: ∅ @@ -536,6 +536,7 @@ │ │ │ │ @ StatementsNode (location: (63,15)-(63,23)) │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ CallNode (location: (63,15)-(63,18)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :baz @@ -543,8 +544,7 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ └── @ NilNode (location: (63,20)-(63,23)) │ │ │ ├── opening_loc: (63,14)-(63,15) = "(" │ │ │ └── closing_loc: (63,23)-(63,24) = ")" @@ -674,6 +674,7 @@ │ │ │ ├── name_loc: (77,8)-(77,12) = "bar:" │ │ │ └── value: │ │ │ @ CallNode (location: (77,13)-(77,16)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -681,8 +682,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── body: ∅ @@ -710,6 +710,7 @@ │ │ │ ├── name_loc: (80,8)-(80,12) = "bar:" │ │ │ └── value: │ │ │ @ CallNode (location: (80,13)-(80,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -717,8 +718,7 @@ │ │ │ ├── opening_loc: (80,16)-(80,17) = "(" │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: (80,17)-(80,18) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── body: ∅ @@ -751,6 +751,7 @@ │ │ @ StatementsNode (location: (84,2)-(84,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (84,2)-(84,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -758,8 +759,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (83,0)-(83,3) = "def" @@ -859,6 +859,7 @@ │ │ @ StatementsNode (location: (96,2)-(96,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (96,2)-(96,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -866,8 +867,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:baz, :bor] │ ├── locals_body_index: 2 │ ├── def_keyword_loc: (95,0)-(95,3) = "def" @@ -907,6 +907,7 @@ │ │ @ StatementsNode (location: (100,2)-(100,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (100,2)-(100,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -914,8 +915,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:baz, :bor, :block] │ ├── locals_body_index: 3 │ ├── def_keyword_loc: (99,0)-(99,3) = "def" @@ -984,6 +984,7 @@ │ │ @ StatementsNode (location: (108,2)-(108,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (108,2)-(108,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -991,8 +992,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:block] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (107,0)-(107,3) = "def" @@ -1043,6 +1043,7 @@ │ │ @ StatementsNode (location: (116,2)-(117,5)) │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (116,2)-(116,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1050,9 +1051,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (117,2)-(117,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -1060,8 +1061,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (115,0)-(115,3) = "def" diff --git a/test/prism/snapshots/unparser/corpus/literal/defined.txt b/test/prism/snapshots/unparser/corpus/literal/defined.txt index 11bf07c9fe..f2a19370e5 100644 --- a/test/prism/snapshots/unparser/corpus/literal/defined.txt +++ b/test/prism/snapshots/unparser/corpus/literal/defined.txt @@ -39,14 +39,14 @@ │ │ ├── operator_loc: (3,17)-(3,18) = "=" │ │ └── value: │ │ @ ArrayNode (location: (3,19)-(3,25)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (3,20)-(3,21)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (3,23)-(3,24)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (3,19)-(3,20) = "[" - │ │ ├── closing_loc: (3,24)-(3,25) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (3,24)-(3,25) = "]" │ ├── opening_loc: (3,9)-(3,10) = "(" │ └── closing_loc: (3,25)-(3,26) = ")" ├── rparen_loc: (3,26)-(3,27) = ")" diff --git a/test/prism/snapshots/unparser/corpus/literal/defs.txt b/test/prism/snapshots/unparser/corpus/literal/defs.txt index 3dd422c51a..8b8dcf2f28 100644 --- a/test/prism/snapshots/unparser/corpus/literal/defs.txt +++ b/test/prism/snapshots/unparser/corpus/literal/defs.txt @@ -28,6 +28,7 @@ │ │ @ StatementsNode (location: (5,2)-(5,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (4,0)-(4,3) = "def" @@ -55,6 +55,7 @@ │ │ @ StatementsNode (location: (9,2)-(10,5)) │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (9,2)-(9,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -62,9 +63,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (10,2)-(10,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -72,8 +73,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (8,0)-(8,3) = "def" @@ -93,6 +93,7 @@ │ │ @ StatementsNode (location: (14,2)-(14,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,2)-(14,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -100,8 +101,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (13,0)-(13,3) = "def" @@ -117,6 +117,7 @@ │ │ @ ParenthesesNode (location: (17,4)-(18,2)) │ │ ├── body: │ │ │ @ CallNode (location: (17,5)-(18,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -124,30 +125,29 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (17,9)-(18,1)) - │ │ │ │ ├── locals: [:bar] - │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ ├── parameters: - │ │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16)) - │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15)) - │ │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15)) - │ │ │ │ │ │ │ └── name: :bar - │ │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ │ └── block: ∅ - │ │ │ │ │ ├── locals: (length: 0) - │ │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|" - │ │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|" - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (17,9)-(17,10) = "{" - │ │ │ │ └── closing_loc: (18,0)-(18,1) = "}" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (17,9)-(18,1)) + │ │ │ ├── locals: [:bar] + │ │ │ ├── locals_body_index: 1 + │ │ │ ├── parameters: + │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16)) + │ │ │ │ ├── parameters: + │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15)) + │ │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15)) + │ │ │ │ │ │ └── name: :bar + │ │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ ├── posts: (length: 0) + │ │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── locals: (length: 0) + │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|" + │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|" + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (17,9)-(17,10) = "{" + │ │ │ └── closing_loc: (18,0)-(18,1) = "}" │ │ ├── opening_loc: (17,4)-(17,5) = "(" │ │ └── closing_loc: (18,1)-(18,2) = ")" │ ├── parameters: ∅ @@ -155,6 +155,7 @@ │ │ @ StatementsNode (location: (19,2)-(19,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (19,2)-(19,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -162,8 +163,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (17,0)-(17,3) = "def" @@ -179,6 +179,7 @@ │ │ @ ParenthesesNode (location: (22,4)-(22,12)) │ │ ├── body: │ │ │ @ CallNode (location: (22,5)-(22,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -186,13 +187,12 @@ │ │ │ ├── opening_loc: (22,8)-(22,9) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (22,9)-(22,10)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: (22,10)-(22,11) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (22,4)-(22,5) = "(" │ │ └── closing_loc: (22,11)-(22,12) = ")" │ ├── parameters: ∅ @@ -200,6 +200,7 @@ │ │ @ StatementsNode (location: (23,2)-(23,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (23,2)-(23,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -207,8 +208,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (22,0)-(22,3) = "def" @@ -224,6 +224,7 @@ │ │ @ ParenthesesNode (location: (26,4)-(26,18)) │ │ ├── body: │ │ │ @ CallNode (location: (26,5)-(26,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ConstantPathNode (location: (26,5)-(26,13)) │ │ │ │ ├── parent: @@ -239,8 +240,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (26,4)-(26,5) = "(" │ │ └── closing_loc: (26,17)-(26,18) = ")" │ ├── parameters: ∅ @@ -248,6 +248,7 @@ │ │ @ StatementsNode (location: (27,2)-(27,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (27,2)-(27,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -255,8 +256,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (26,0)-(26,3) = "def" @@ -286,6 +286,7 @@ │ │ @ StatementsNode (location: (31,2)-(31,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (31,2)-(31,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -293,8 +294,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (30,0)-(30,3) = "def" @@ -314,6 +314,7 @@ │ │ @ StatementsNode (location: (35,2)-(35,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (35,2)-(35,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -321,8 +322,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (34,0)-(34,3) = "def" @@ -336,6 +336,7 @@ ├── name_loc: (38,8)-(38,11) = "bar" ├── receiver: │ @ CallNode (location: (38,4)-(38,7)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -343,13 +344,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (39,2)-(39,5)) │ └── body: (length: 1) │ └── @ CallNode (location: (39,2)-(39,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :baz @@ -357,8 +358,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── locals: [] ├── locals_body_index: 0 ├── def_keyword_loc: (38,0)-(38,3) = "def" diff --git a/test/prism/snapshots/unparser/corpus/literal/dstr.txt b/test/prism/snapshots/unparser/corpus/literal/dstr.txt index 6bcdd0ce62..f4fbe11140 100644 --- a/test/prism/snapshots/unparser/corpus/literal/dstr.txt +++ b/test/prism/snapshots/unparser/corpus/literal/dstr.txt @@ -56,6 +56,7 @@ │ │ │ │ └── unescaped: "a\nb\n" │ │ │ └── closing_loc: (9,0)-(10,0) = " HEREDOC\n" │ │ └── @ CallNode (location: (10,2)-(10,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :x @@ -63,8 +64,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ InterpolatedStringNode (location: (12,0)-(12,10)) @@ -198,35 +198,36 @@ │ │ ├── keyword_loc: (27,2)-(27,8) = "return" │ │ └── arguments: │ │ @ ArgumentsNode (location: (27,9)-(27,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19)) - │ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (28,0)-(28,4)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " " - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " " - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9)) - │ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}" - │ │ │ │ └── @ StringNode (location: (28,9)-(29,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (28,9)-(29,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (29,0)-(30,0) = " HEREDOC\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19)) + │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (28,0)-(28,4)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (28,0)-(28,4) = " " + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " " + │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9)) + │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}" + │ │ │ └── @ StringNode (location: (28,9)-(29,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (28,9)-(29,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (29,0)-(30,0) = " HEREDOC\n" │ ├── consequent: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" ├── @ CallNode (location: (31,0)-(31,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -234,44 +235,44 @@ │ ├── opening_loc: (31,3)-(31,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (31,4)-(31,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14)) - │ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (32,0)-(32,2)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " " - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " " - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8)) - │ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}" - │ │ │ │ └── @ StringNode (location: (32,8)-(33,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (32,8)-(33,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (33,0)-(34,0) = "HEREDOC\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14)) + │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (32,0)-(32,2)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (32,0)-(32,2) = " " + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " " + │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8)) + │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar + │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}" + │ │ │ └── @ StringNode (location: (32,8)-(33,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (32,8)-(33,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (33,0)-(34,0) = "HEREDOC\n" │ ├── closing_loc: (31,14)-(31,15) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (34,0)-(37,1)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -279,62 +280,61 @@ ├── opening_loc: (34,3)-(34,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (34,4)-(34,14)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedStringNode (location: (34,4)-(34,14)) - │ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC" - │ │ ├── parts: (length: 3) - │ │ │ ├── @ StringNode (location: (35,0)-(35,2)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (35,0)-(35,2) = " " - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: " " - │ │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8)) - │ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (35,4)-(35,7)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,7)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── closing_loc: (35,7)-(35,8) = "}" - │ │ │ └── @ StringNode (location: (35,8)-(36,0)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── content_loc: (35,8)-(36,0) = "\n" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "\n" - │ │ └── closing_loc: (36,0)-(37,0) = "HEREDOC\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedStringNode (location: (34,4)-(34,14)) + │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC" + │ ├── parts: (length: 3) + │ │ ├── @ StringNode (location: (35,0)-(35,2)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (35,0)-(35,2) = " " + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: " " + │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8)) + │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (35,4)-(35,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (35,4)-(35,7)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── closing_loc: (35,7)-(35,8) = "}" + │ │ └── @ StringNode (location: (35,8)-(36,0)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: ∅ + │ │ ├── content_loc: (35,8)-(36,0) = "\n" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "\n" + │ └── closing_loc: (36,0)-(37,0) = "HEREDOC\n" ├── closing_loc: (34,14)-(34,15) = ")" - ├── block: - │ @ BlockNode (location: (34,16)-(37,1)) - │ ├── locals: [:x] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (34,18)-(34,21)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (34,19)-(34,20)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20)) - │ │ │ │ └── name: :x - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (34,18)-(34,19) = "|" - │ │ └── closing_loc: (34,20)-(34,21) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (34,16)-(34,17) = "{" - │ └── closing_loc: (37,0)-(37,1) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (34,16)-(37,1)) + ├── locals: [:x] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (34,18)-(34,21)) + │ ├── parameters: + │ │ @ ParametersNode (location: (34,19)-(34,20)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20)) + │ │ │ └── name: :x + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (34,18)-(34,19) = "|" + │ └── closing_loc: (34,20)-(34,21) = "|" + ├── body: ∅ + ├── opening_loc: (34,16)-(34,17) = "{" + └── closing_loc: (37,0)-(37,1) = "}" diff --git a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt index 0343232a5a..45b2ed0c94 100644 --- a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt +++ b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt @@ -11,14 +11,17 @@ │ │ │ @ StatementsNode (location: (1,4)-(1,22)) │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (1,4)-(1,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── left: │ │ │ │ @ ParenthesesNode (location: (1,4)-(1,12)) │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,11)) │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ CallNode (location: (1,5)-(1,6)) + │ │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :i @@ -26,21 +29,19 @@ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :== │ │ │ │ │ ├── message_loc: (1,7)-(1,9) = "==" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) + │ │ │ │ │ │ └── flags: decimal │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")" │ │ │ ├── right: @@ -49,8 +50,10 @@ │ │ │ │ │ @ StatementsNode (location: (1,15)-(1,21)) │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (1,15)-(1,21)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ CallNode (location: (1,15)-(1,16)) + │ │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :i @@ -58,25 +61,22 @@ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :== │ │ │ │ │ ├── message_loc: (1,17)-(1,19) = "==" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: │ │ │ │ │ │ @ ArgumentsNode (location: (1,20)-(1,21)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21)) - │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21)) + │ │ │ │ │ │ └── flags: decimal │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── opening_loc: (1,14)-(1,15) = "(" │ │ │ │ └── closing_loc: (1,21)-(1,22) = ")" - │ │ │ ├── operator_loc: (1,12)-(1,14) = ".." - │ │ │ └── flags: ∅ + │ │ │ └── operator_loc: (1,12)-(1,14) = ".." │ │ ├── opening_loc: (1,3)-(1,4) = "(" │ │ └── closing_loc: (1,22)-(1,23) = ")" │ ├── then_keyword_loc: ∅ @@ -84,6 +84,7 @@ │ │ @ StatementsNode (location: (2,2)-(2,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -91,8 +92,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" └── @ IfNode (location: (4,0)-(6,3)) @@ -103,14 +103,17 @@ │ │ @ StatementsNode (location: (4,4)-(4,23)) │ │ └── body: (length: 1) │ │ └── @ FlipFlopNode (location: (4,4)-(4,23)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ ParenthesesNode (location: (4,4)-(4,12)) │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (4,5)-(4,11)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (4,5)-(4,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ CallNode (location: (4,5)-(4,6)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :i @@ -118,21 +121,19 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :== │ │ │ │ ├── message_loc: (4,7)-(4,9) = "==" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (4,10)-(4,11)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11)) + │ │ │ │ │ └── flags: decimal │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── opening_loc: (4,4)-(4,5) = "(" │ │ │ └── closing_loc: (4,11)-(4,12) = ")" │ │ ├── right: @@ -141,8 +142,10 @@ │ │ │ │ @ StatementsNode (location: (4,16)-(4,22)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (4,16)-(4,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ CallNode (location: (4,16)-(4,17)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :i @@ -150,25 +153,22 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :== │ │ │ │ ├── message_loc: (4,18)-(4,20) = "==" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (4,21)-(4,22)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22)) + │ │ │ │ │ └── flags: decimal │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── opening_loc: (4,15)-(4,16) = "(" │ │ │ └── closing_loc: (4,22)-(4,23) = ")" - │ │ ├── operator_loc: (4,12)-(4,15) = "..." - │ │ └── flags: exclude_end + │ │ └── operator_loc: (4,12)-(4,15) = "..." │ ├── opening_loc: (4,3)-(4,4) = "(" │ └── closing_loc: (4,23)-(4,24) = ")" ├── then_keyword_loc: ∅ @@ -176,6 +176,7 @@ │ @ StatementsNode (location: (5,2)-(5,5)) │ └── body: (length: 1) │ └── @ CallNode (location: (5,2)-(5,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -183,7 +184,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: (6,0)-(6,3) = "end" diff --git a/test/prism/snapshots/unparser/corpus/literal/for.txt b/test/prism/snapshots/unparser/corpus/literal/for.txt index c2501a5440..626a97fe55 100644 --- a/test/prism/snapshots/unparser/corpus/literal/for.txt +++ b/test/prism/snapshots/unparser/corpus/literal/for.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(12,3)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(3,4)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -11,44 +12,43 @@ │ ├── opening_loc: (1,3)-(1,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(3,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForNode (location: (1,4)-(3,3)) - │ │ │ ├── index: - │ │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ ├── collection: - │ │ │ │ @ CallNode (location: (1,13)-(1,16)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (2,2)-(2,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (2,2)-(2,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (2,2)-(2,5) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── for_keyword_loc: (1,4)-(1,7) = "for" - │ │ │ ├── in_keyword_loc: (1,10)-(1,12) = "in" - │ │ │ ├── do_keyword_loc: (1,17)-(1,19) = "do" - │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForNode (location: (1,4)-(3,3)) + │ │ ├── index: + │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── collection: + │ │ │ @ CallNode (location: (1,13)-(1,16)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (1,13)-(1,16) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (2,2)-(2,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (2,2)-(2,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (2,2)-(2,5) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── for_keyword_loc: (1,4)-(1,7) = "for" + │ │ ├── in_keyword_loc: (1,10)-(1,12) = "in" + │ │ ├── do_keyword_loc: (1,17)-(1,19) = "do" + │ │ └── end_keyword_loc: (3,0)-(3,3) = "end" │ ├── closing_loc: (3,3)-(3,4) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ForNode (location: (4,0)-(6,3)) │ ├── index: │ │ @ LocalVariableTargetNode (location: (4,4)-(4,5)) @@ -56,6 +56,7 @@ │ │ └── depth: 0 │ ├── collection: │ │ @ CallNode (location: (4,9)-(4,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -63,12 +64,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -76,8 +77,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── for_keyword_loc: (4,0)-(4,3) = "for" │ ├── in_keyword_loc: (4,6)-(4,8) = "in" │ ├── do_keyword_loc: (4,13)-(4,15) = "do" @@ -101,6 +101,7 @@ │ │ └── rparen_loc: (7,10)-(7,11) = ")" │ ├── collection: │ │ @ CallNode (location: (7,15)-(7,18)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -108,12 +109,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── statements: │ │ @ StatementsNode (location: (8,2)-(8,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (8,2)-(8,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -121,8 +122,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── for_keyword_loc: (7,0)-(7,3) = "for" │ ├── in_keyword_loc: (7,12)-(7,14) = "in" │ ├── do_keyword_loc: (7,19)-(7,21) = "do" @@ -143,6 +143,7 @@ │ └── rparen_loc: (10,9)-(10,10) = ")" ├── collection: │ @ CallNode (location: (10,14)-(10,17)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -150,12 +151,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── statements: │ @ StatementsNode (location: (11,2)-(11,5)) │ └── body: (length: 1) │ └── @ CallNode (location: (11,2)-(11,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :baz @@ -163,8 +164,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── for_keyword_loc: (10,0)-(10,3) = "for" ├── in_keyword_loc: (10,11)-(10,13) = "in" ├── do_keyword_loc: (10,18)-(10,20) = "do" diff --git a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt index 2fe6ef2311..0ff57fb213 100644 --- a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt +++ b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt @@ -8,6 +8,7 @@ │ │ @ StatementsNode (location: (2,2)-(2,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -15,12 +16,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "BEGIN" │ ├── opening_loc: (1,6)-(1,7) = "{" │ └── closing_loc: (3,0)-(3,1) = "}" ├── @ CallNode (location: (4,0)-(4,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,13 +29,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ PostExecutionNode (location: (5,0)-(7,1)) ├── statements: │ @ StatementsNode (location: (6,2)-(6,5)) │ └── body: (length: 1) │ └── @ CallNode (location: (6,2)-(6,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :baz @@ -42,8 +43,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── keyword_loc: (5,0)-(5,3) = "END" ├── opening_loc: (5,4)-(5,5) = "{" └── closing_loc: (7,0)-(7,1) = "}" diff --git a/test/prism/snapshots/unparser/corpus/literal/if.txt b/test/prism/snapshots/unparser/corpus/literal/if.txt index dcf15b406a..cf49a6b328 100644 --- a/test/prism/snapshots/unparser/corpus/literal/if.txt +++ b/test/prism/snapshots/unparser/corpus/literal/if.txt @@ -7,16 +7,17 @@ │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ MatchLastLineNode (location: (1,3)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,3)-(1,4) = "/" │ │ ├── content_loc: (1,4)-(1,7) = "foo" │ │ ├── closing_loc: (1,7)-(1,8) = "/" - │ │ ├── unescaped: "foo" - │ │ └── flags: ∅ + │ │ └── unescaped: "foo" │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -24,8 +25,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ IfNode (location: (4,0)-(6,3)) @@ -91,6 +91,7 @@ │ ├── if_keyword_loc: (18,0)-(18,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (18,3)-(18,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -98,8 +99,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: ∅ │ ├── consequent: ∅ @@ -129,6 +129,7 @@ │ │ │ ├── name_loc: (22,2)-(22,5) = "foo" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (22,8)-(22,11)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -136,8 +137,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (22,6)-(22,7) = "=" │ │ ├── consequent: ∅ │ │ └── end_keyword_loc: ∅ @@ -168,6 +168,7 @@ │ │ │ ├── name_loc: (26,2)-(26,5) = "foo" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (26,8)-(26,11)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -175,8 +176,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (26,6)-(26,7) = "=" │ │ ├── consequent: ∅ │ │ └── end_keyword_loc: ∅ @@ -186,6 +186,7 @@ │ ├── keyword_loc: (28,0)-(28,6) = "unless" │ ├── predicate: │ │ @ CallNode (location: (28,7)-(28,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -193,8 +194,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (29,2)-(29,11)) @@ -205,6 +205,7 @@ │ │ ├── name_loc: (29,2)-(29,5) = "foo" │ │ ├── value: │ │ │ @ CallNode (location: (29,8)-(29,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -212,8 +213,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (29,6)-(29,7) = "=" │ ├── consequent: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" @@ -221,6 +221,7 @@ ├── if_keyword_loc: (31,0)-(31,2) = "if" ├── predicate: │ @ CallNode (location: (31,3)-(33,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -228,35 +229,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (31,7)-(33,1)) - │ │ ├── locals: [:pair] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (31,9)-(31,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (31,10)-(31,14)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14)) - │ │ │ │ │ └── name: :pair - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (31,9)-(31,10) = "|" - │ │ │ └── closing_loc: (31,14)-(31,15) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (32,2)-(32,6)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6)) - │ │ │ ├── name: :pair - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (31,7)-(31,8) = "{" - │ │ └── closing_loc: (33,0)-(33,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (31,7)-(33,1)) + │ ├── locals: [:pair] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (31,9)-(31,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (31,10)-(31,14)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14)) + │ │ │ │ └── name: :pair + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (31,9)-(31,10) = "|" + │ │ └── closing_loc: (31,14)-(31,15) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (32,2)-(32,6)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6)) + │ │ ├── name: :pair + │ │ └── depth: 0 + │ ├── opening_loc: (31,7)-(31,8) = "{" + │ └── closing_loc: (33,0)-(33,1) = "}" ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (34,2)-(35,5)) diff --git a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt index db2bd0414f..75f97923ad 100644 --- a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt +++ b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt @@ -34,6 +34,7 @@ │ │ @ StatementsNode (location: (10,2)-(10,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (10,2)-(10,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -41,8 +42,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -53,6 +53,7 @@ │ │ @ StatementsNode (location: (14,2)-(14,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,2)-(14,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -60,8 +61,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (15,0)-(16,3)) │ │ ├── keyword_loc: (15,0)-(15,6) = "rescue" @@ -72,6 +72,7 @@ │ │ │ @ StatementsNode (location: (16,2)-(16,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (16,2)-(16,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -79,8 +80,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -91,6 +91,7 @@ │ │ @ StatementsNode (location: (20,2)-(21,3)) │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (20,2)-(20,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -98,9 +99,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (21,2)-(21,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -108,8 +109,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (22,0)-(23,3)) │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue" @@ -120,6 +120,7 @@ │ │ │ @ StatementsNode (location: (23,2)-(23,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (23,2)-(23,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -127,8 +128,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -174,6 +174,7 @@ │ │ @ StatementsNode (location: (35,2)-(35,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (35,2)-(35,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -181,8 +182,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (36,0)-(39,3)) │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue" @@ -195,6 +195,7 @@ │ │ │ @ StatementsNode (location: (37,2)-(37,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (37,2)-(37,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -202,8 +203,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (38,0)-(39,3)) │ │ ├── keyword_loc: (38,0)-(38,6) = "rescue" @@ -216,6 +216,7 @@ │ │ │ @ StatementsNode (location: (39,2)-(39,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,2)-(39,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -223,8 +224,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -234,6 +234,7 @@ │ │ │ @ StatementsNode (location: (41,2)-(41,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (41,2)-(41,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -241,8 +242,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (42,0)-(42,3) = "end" │ └── end_keyword_loc: (42,0)-(42,3) = "end" ├── @ BeginNode (location: (44,0)-(53,3)) @@ -259,6 +259,7 @@ │ │ │ │ ├── name: :foo │ │ │ │ └── depth: 0 │ │ │ └── @ CallNode (location: (47,4)-(47,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -266,8 +267,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (48,2)-(48,8)) │ │ │ ├── keyword_loc: (48,2)-(48,8) = "rescue" @@ -289,6 +289,7 @@ │ │ │ @ StatementsNode (location: (51,2)-(52,5)) │ │ │ └── body: (length: 2) │ │ │ ├── @ CallNode (location: (51,2)-(51,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -296,9 +297,9 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── @ CallNode (location: (52,2)-(52,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -306,8 +307,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -320,6 +320,7 @@ │ │ └── @ RescueModifierNode (location: (56,2)-(56,35)) │ │ ├── expression: │ │ │ @ CallNode (location: (56,2)-(56,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -327,13 +328,12 @@ │ │ │ ├── opening_loc: (56,7)-(56,8) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (56,8)-(56,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17)) - │ │ │ │ │ └── name: :Exception - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17)) + │ │ │ │ └── name: :Exception │ │ │ ├── closing_loc: (56,17)-(56,18) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (56,19)-(56,25) = "rescue" │ │ └── rescue_expression: │ │ @ LocalVariableWriteNode (location: (56,26)-(56,35)) @@ -342,6 +342,7 @@ │ │ ├── name_loc: (56,26)-(56,29) = "foo" │ │ ├── value: │ │ │ @ CallNode (location: (56,32)-(56,35)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -349,8 +350,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (56,30)-(56,31) = "=" │ ├── rescue_clause: │ │ @ RescueNode (location: (57,0)-(57,16)) @@ -452,6 +452,7 @@ │ │ │ @ StatementsNode (location: (75,2)-(75,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (75,2)-(75,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -459,8 +460,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/lambda.txt b/test/prism/snapshots/unparser/corpus/literal/lambda.txt index 97b4cfcfe6..a8b58e5574 100644 --- a/test/prism/snapshots/unparser/corpus/literal/lambda.txt +++ b/test/prism/snapshots/unparser/corpus/literal/lambda.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(13,1)) └── body: (length: 6) ├── @ CallNode (location: (1,0)-(2,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :lambda @@ -11,16 +12,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,7)-(2,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,7)-(1,8) = "{" - │ │ └── closing_loc: (2,0)-(2,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,7)-(2,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,7)-(1,8) = "{" + │ └── closing_loc: (2,0)-(2,1) = "}" ├── @ CallNode (location: (3,0)-(5,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :lambda @@ -28,37 +29,36 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,7)-(5,1)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (3,9)-(3,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (3,10)-(3,14)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (3,9)-(3,10) = "|" - │ │ │ └── closing_loc: (3,14)-(3,15) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (4,2)-(4,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3)) - │ │ │ ├── name: :a - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (3,7)-(3,8) = "{" - │ │ └── closing_loc: (5,0)-(5,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,7)-(5,1)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (3,9)-(3,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (3,10)-(3,14)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14)) + │ │ │ │ └── name: :b + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (3,9)-(3,10) = "|" + │ │ └── closing_loc: (3,14)-(3,15) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (4,2)-(4,3)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3)) + │ │ ├── name: :a + │ │ └── depth: 0 + │ ├── opening_loc: (3,7)-(3,8) = "{" + │ └── closing_loc: (5,0)-(5,1) = "}" ├── @ LambdaNode (location: (6,0)-(7,1)) │ ├── locals: [] │ ├── locals_body_index: 0 diff --git a/test/prism/snapshots/unparser/corpus/literal/literal.txt b/test/prism/snapshots/unparser/corpus/literal/literal.txt index eb7e734787..472ecc3bed 100644 --- a/test/prism/snapshots/unparser/corpus/literal/literal.txt +++ b/test/prism/snapshots/unparser/corpus/literal/literal.txt @@ -88,6 +88,7 @@ │ │ └── operator_loc: (4,22)-(4,24) = "=>" │ └── closing_loc: (4,30)-(4,31) = "}" ├── @ ArrayNode (location: (5,0)-(5,12)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (5,1)-(5,6)) │ │ │ ├── flags: ∅ @@ -102,11 +103,12 @@ │ │ ├── closing_loc: (5,10)-(5,11) = ")" │ │ └── unescaped: "" │ ├── opening_loc: (5,0)-(5,1) = "[" - │ ├── closing_loc: (5,11)-(5,12) = "]" - │ └── flags: ∅ + │ └── closing_loc: (5,11)-(5,12) = "]" ├── @ CallNode (location: (6,0)-(6,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (6,0)-(6,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -114,42 +116,42 @@ │ │ ├── opening_loc: (6,1)-(6,2) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (6,2)-(6,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12)) - │ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC" - │ │ │ │ ├── parts: (length: 3) - │ │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " " - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: " " - │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5)) - │ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{" - │ │ │ │ │ │ ├── statements: ∅ - │ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}" - │ │ │ │ │ └── @ StringNode (location: (7,5)-(8,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "\n" - │ │ │ │ └── closing_loc: (8,0)-(9,0) = "HEREDOC\n" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12)) + │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC" + │ │ │ ├── parts: (length: 3) + │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " " + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: " " + │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5)) + │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{" + │ │ │ │ │ ├── statements: ∅ + │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}" + │ │ │ │ └── @ StringNode (location: (7,5)-(8,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "\n" + │ │ │ └── closing_loc: (8,0)-(9,0) = "HEREDOC\n" │ │ ├── closing_loc: (6,12)-(6,13) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (6,13)-(6,14) = "." │ ├── name: :a │ ├── message_loc: (6,14)-(6,15) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -157,25 +159,23 @@ │ │ ├── opening_loc: (9,1)-(9,2) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,2)-(9,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (9,2)-(9,5)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (9,2)-(9,4) = "%(" - │ │ │ │ ├── content_loc: (9,4)-(9,4) = "" - │ │ │ │ ├── closing_loc: (9,4)-(9,5) = ")" - │ │ │ │ └── unescaped: "" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (9,2)-(9,5)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (9,2)-(9,4) = "%(" + │ │ │ ├── content_loc: (9,4)-(9,4) = "" + │ │ │ ├── closing_loc: (9,4)-(9,5) = ")" + │ │ │ └── unescaped: "" │ │ ├── closing_loc: (9,5)-(9,6) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (9,6)-(9,7) = "." │ ├── name: :a │ ├── message_loc: (9,7)-(9,8) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ HashNode (location: (10,0)-(10,30)) │ ├── opening_loc: (10,0)-(10,1) = "{" │ ├── elements: (length: 2) @@ -212,6 +212,7 @@ │ │ └── @ AssocSplatNode (location: (10,23)-(10,28)) │ │ ├── value: │ │ │ @ CallNode (location: (10,25)-(10,28)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -219,8 +220,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (10,23)-(10,25) = "**" │ └── closing_loc: (10,29)-(10,30) = "}" ├── @ HashNode (location: (13,0)-(13,23)) @@ -245,6 +245,7 @@ │ │ └── @ AssocSplatNode (location: (13,16)-(13,21)) │ │ ├── value: │ │ │ @ CallNode (location: (13,18)-(13,21)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -252,8 +253,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (13,16)-(13,18) = "**" │ └── closing_loc: (13,22)-(13,23) = "}" ├── @ InterpolatedStringNode (location: (14,0)-(14,14)) @@ -290,6 +290,7 @@ ├── @ IntegerNode (location: (15,0)-(15,1)) │ └── flags: decimal ├── @ CallNode (location: (16,0)-(16,3)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (16,1)-(16,3)) │ │ └── flags: decimal @@ -299,8 +300,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ IntegerNode (location: (17,0)-(17,1)) │ └── flags: decimal ├── @ IntegerNode (location: (18,0)-(18,1)) @@ -370,6 +370,7 @@ │ │ │ @ StatementsNode (location: (29,10)-(29,13)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (29,10)-(29,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -377,8 +378,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (29,13)-(29,14) = "}" │ └── closing_loc: (29,14)-(29,15) = "\"" ├── @ InterpolatedStringNode (location: (30,0)-(30,12)) @@ -544,18 +544,19 @@ │ ├── closing_loc: (48,2)-(48,3) = "\"" │ └── unescaped: "" ├── @ RegularExpressionNode (location: (49,0)-(49,5)) + │ ├── flags: ∅ │ ├── opening_loc: (49,0)-(49,1) = "/" │ ├── content_loc: (49,1)-(49,4) = "foo" │ ├── closing_loc: (49,4)-(49,5) = "/" - │ ├── unescaped: "foo" - │ └── flags: ∅ + │ └── unescaped: "foo" ├── @ RegularExpressionNode (location: (50,0)-(50,28)) + │ ├── flags: ∅ │ ├── opening_loc: (50,0)-(50,1) = "/" │ ├── content_loc: (50,1)-(50,27) = "[^-+',.\\/:@[:alnum:]\\[\\]]+" │ ├── closing_loc: (50,27)-(50,28) = "/" - │ ├── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+" - │ └── flags: ∅ + │ └── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+" ├── @ InterpolatedRegularExpressionNode (location: (51,0)-(51,12)) + │ ├── flags: ∅ │ ├── opening_loc: (51,0)-(51,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (51,1)-(51,4)) @@ -572,9 +573,9 @@ │ │ │ └── @ InstanceVariableReadNode (location: (51,6)-(51,10)) │ │ │ └── name: :@bar │ │ └── closing_loc: (51,10)-(51,11) = "}" - │ ├── closing_loc: (51,11)-(51,12) = "/" - │ └── flags: ∅ + │ └── closing_loc: (51,11)-(51,12) = "/" ├── @ InterpolatedRegularExpressionNode (location: (52,0)-(52,15)) + │ ├── flags: ignore_case, extended, multi_line │ ├── opening_loc: (52,0)-(52,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (52,1)-(52,4)) @@ -591,9 +592,9 @@ │ │ │ └── @ InstanceVariableReadNode (location: (52,6)-(52,10)) │ │ │ └── name: :@bar │ │ └── closing_loc: (52,10)-(52,11) = "}" - │ ├── closing_loc: (52,11)-(52,15) = "/imx" - │ └── flags: ignore_case, extended, multi_line + │ └── closing_loc: (52,11)-(52,15) = "/imx" ├── @ InterpolatedRegularExpressionNode (location: (53,0)-(53,13)) + │ ├── flags: ∅ │ ├── opening_loc: (53,0)-(53,1) = "/" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (53,1)-(53,12)) @@ -608,32 +609,31 @@ │ │ │ ├── closing_loc: (53,10)-(53,11) = "\"" │ │ │ └── unescaped: "\u0000" │ │ └── closing_loc: (53,11)-(53,12) = "}" - │ ├── closing_loc: (53,12)-(53,13) = "/" - │ └── flags: ∅ + │ └── closing_loc: (53,12)-(53,13) = "/" ├── @ RegularExpressionNode (location: (54,0)-(54,4)) + │ ├── flags: ∅ │ ├── opening_loc: (54,0)-(54,1) = "/" │ ├── content_loc: (54,1)-(54,3) = "\\n" │ ├── closing_loc: (54,3)-(54,4) = "/" - │ ├── unescaped: "\\n" - │ └── flags: ∅ + │ └── unescaped: "\\n" ├── @ RegularExpressionNode (location: (55,0)-(55,4)) + │ ├── flags: ∅ │ ├── opening_loc: (55,0)-(55,1) = "/" │ ├── content_loc: (55,1)-(55,3) = "\\n" │ ├── closing_loc: (55,3)-(55,4) = "/" - │ ├── unescaped: "\\n" - │ └── flags: ∅ + │ └── unescaped: "\\n" ├── @ RegularExpressionNode (location: (56,0)-(56,5)) + │ ├── flags: extended │ ├── opening_loc: (56,0)-(56,1) = "/" │ ├── content_loc: (56,1)-(56,3) = "\\n" │ ├── closing_loc: (56,3)-(56,5) = "/x" - │ ├── unescaped: "\\n" - │ └── flags: extended + │ └── unescaped: "\\n" ├── @ RegularExpressionNode (location: (57,0)-(57,7)) + │ ├── flags: extended │ ├── opening_loc: (57,0)-(57,1) = "/" │ ├── content_loc: (57,1)-(57,5) = "\\/\\/" │ ├── closing_loc: (57,5)-(57,7) = "/x" - │ ├── unescaped: "//" - │ └── flags: extended + │ └── unescaped: "//" ├── @ InterpolatedSymbolNode (location: (58,0)-(58,15)) │ ├── opening_loc: (58,0)-(58,2) = ":\"" │ ├── parts: (length: 3) @@ -649,6 +649,7 @@ │ │ │ │ @ StatementsNode (location: (58,7)-(58,10)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (58,7)-(58,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -656,8 +657,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (58,10)-(58,11) = "}" │ │ └── @ StringNode (location: (58,11)-(58,14)) │ │ ├── flags: ∅ @@ -683,12 +683,14 @@ │ │ └── closing_loc: (59,9)-(59,10) = "}" │ └── closing_loc: (59,10)-(59,11) = "\"" ├── @ RangeNode (location: (60,0)-(60,14)) + │ ├── flags: ∅ │ ├── left: │ │ @ ParenthesesNode (location: (60,0)-(60,11)) │ │ ├── body: │ │ │ @ StatementsNode (location: (60,1)-(60,10)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (60,1)-(60,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ FloatNode (location: (60,1)-(60,4)) │ │ │ ├── call_operator_loc: ∅ @@ -697,20 +699,19 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (60,7)-(60,10)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10)) - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10)) │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (60,0)-(60,1) = "(" │ │ └── closing_loc: (60,10)-(60,11) = ")" │ ├── right: │ │ @ IntegerNode (location: (60,13)-(60,14)) │ │ └── flags: decimal - │ ├── operator_loc: (60,11)-(60,13) = ".." - │ └── flags: ∅ + │ └── operator_loc: (60,11)-(60,13) = ".." ├── @ RangeNode (location: (61,0)-(61,14)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (61,0)-(61,1)) │ │ └── flags: decimal @@ -720,6 +721,7 @@ │ │ │ @ StatementsNode (location: (61,4)-(61,13)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (61,4)-(61,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ FloatNode (location: (61,4)-(61,7)) │ │ │ ├── call_operator_loc: ∅ @@ -728,23 +730,23 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (61,10)-(61,13)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13)) - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13)) │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (61,3)-(61,4) = "(" │ │ └── closing_loc: (61,13)-(61,14) = ")" - │ ├── operator_loc: (61,1)-(61,3) = ".." - │ └── flags: ∅ + │ └── operator_loc: (61,1)-(61,3) = ".." ├── @ RangeNode (location: (62,0)-(62,16)) + │ ├── flags: ∅ │ ├── left: │ │ @ ParenthesesNode (location: (62,0)-(62,11)) │ │ ├── body: │ │ │ @ StatementsNode (location: (62,1)-(62,10)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (62,1)-(62,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ FloatNode (location: (62,1)-(62,4)) │ │ │ ├── call_operator_loc: ∅ @@ -753,31 +755,30 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (62,7)-(62,10)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10)) - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10)) │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (62,0)-(62,1) = "(" │ │ └── closing_loc: (62,10)-(62,11) = ")" │ ├── right: │ │ @ IntegerNode (location: (62,13)-(62,16)) │ │ └── flags: decimal - │ ├── operator_loc: (62,11)-(62,13) = ".." - │ └── flags: ∅ + │ └── operator_loc: (62,11)-(62,13) = ".." ├── @ FloatNode (location: (63,0)-(63,4)) ├── @ FloatNode (location: (64,0)-(64,3)) ├── @ ArrayNode (location: (65,0)-(65,6)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (65,1)-(65,2)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (65,4)-(65,5)) │ │ └── flags: decimal │ ├── opening_loc: (65,0)-(65,1) = "[" - │ ├── closing_loc: (65,5)-(65,6) = "]" - │ └── flags: ∅ + │ └── closing_loc: (65,5)-(65,6) = "]" ├── @ ArrayNode (location: (66,0)-(66,11)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (66,1)-(66,2)) │ │ │ └── flags: decimal @@ -786,6 +787,7 @@ │ │ │ ├── opening_loc: (66,4)-(66,5) = "(" │ │ │ └── closing_loc: (66,5)-(66,6) = ")" │ │ └── @ CallNode (location: (66,8)-(66,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :n2 @@ -793,24 +795,23 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (66,0)-(66,1) = "[" - │ ├── closing_loc: (66,10)-(66,11) = "]" - │ └── flags: ∅ + │ └── closing_loc: (66,10)-(66,11) = "]" ├── @ ArrayNode (location: (67,0)-(67,3)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ IntegerNode (location: (67,1)-(67,2)) │ │ └── flags: decimal │ ├── opening_loc: (67,0)-(67,1) = "[" - │ ├── closing_loc: (67,2)-(67,3) = "]" - │ └── flags: ∅ + │ └── closing_loc: (67,2)-(67,3) = "]" ├── @ ArrayNode (location: (68,0)-(68,2)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (68,0)-(68,1) = "[" - │ ├── closing_loc: (68,1)-(68,2) = "]" - │ └── flags: ∅ + │ └── closing_loc: (68,1)-(68,2) = "]" ├── @ ArrayNode (location: (69,0)-(69,10)) + │ ├── flags: contains_splat │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (69,1)-(69,2)) │ │ │ └── flags: decimal @@ -820,9 +821,9 @@ │ │ @ InstanceVariableReadNode (location: (69,5)-(69,9)) │ │ └── name: :@foo │ ├── opening_loc: (69,0)-(69,1) = "[" - │ ├── closing_loc: (69,9)-(69,10) = "]" - │ └── flags: contains_splat + │ └── closing_loc: (69,9)-(69,10) = "]" ├── @ ArrayNode (location: (70,0)-(70,10)) + │ ├── flags: contains_splat │ ├── elements: (length: 2) │ │ ├── @ SplatNode (location: (70,1)-(70,6)) │ │ │ ├── operator_loc: (70,1)-(70,2) = "*" @@ -832,9 +833,9 @@ │ │ └── @ IntegerNode (location: (70,8)-(70,9)) │ │ └── flags: decimal │ ├── opening_loc: (70,0)-(70,1) = "[" - │ ├── closing_loc: (70,9)-(70,10) = "]" - │ └── flags: contains_splat + │ └── closing_loc: (70,9)-(70,10) = "]" ├── @ ArrayNode (location: (71,0)-(71,14)) + │ ├── flags: contains_splat │ ├── elements: (length: 2) │ │ ├── @ SplatNode (location: (71,1)-(71,6)) │ │ │ ├── operator_loc: (71,1)-(71,2) = "*" @@ -847,8 +848,7 @@ │ │ @ InstanceVariableReadNode (location: (71,9)-(71,13)) │ │ └── name: :@baz │ ├── opening_loc: (71,0)-(71,1) = "[" - │ ├── closing_loc: (71,13)-(71,14) = "]" - │ └── flags: contains_splat + │ └── closing_loc: (71,13)-(71,14) = "]" ├── @ HashNode (location: (72,0)-(72,2)) │ ├── opening_loc: (72,0)-(72,1) = "{" │ ├── elements: (length: 0) @@ -923,6 +923,7 @@ │ │ │ │ │ ├── keyword_loc: (76,8)-(76,14) = "rescue" │ │ │ │ │ └── rescue_expression: │ │ │ │ │ @ CallNode (location: (76,15)-(76,18)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :foo @@ -930,8 +931,7 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── opening_loc: (76,5)-(76,6) = "(" │ │ │ │ └── closing_loc: (76,18)-(76,19) = ")" │ │ │ └── operator_loc: ∅ @@ -1046,6 +1046,7 @@ │ │ └── unescaped: "\na" │ └── closing_loc: (82,6)-(82,7) = "\"" ├── @ CallNode (location: (83,0)-(86,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1053,41 +1054,40 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (83,4)-(86,1)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (84,2)-(85,7)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7)) - │ │ │ ├── opening_loc: (84,2)-(84,3) = "\"" - │ │ │ ├── parts: (length: 4) - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6)) - │ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{" - │ │ │ │ │ ├── statements: ∅ - │ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}" - │ │ │ │ ├── @ StringNode (location: (84,6)-(85,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "\n" - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3)) - │ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{" - │ │ │ │ │ ├── statements: ∅ - │ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}" - │ │ │ │ └── @ StringNode (location: (85,3)-(85,6)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\na" - │ │ │ └── closing_loc: (85,6)-(85,7) = "\"" - │ │ ├── opening_loc: (83,4)-(83,5) = "{" - │ │ └── closing_loc: (86,0)-(86,1) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (83,4)-(86,1)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (84,2)-(85,7)) + │ │ └── body: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7)) + │ │ ├── opening_loc: (84,2)-(84,3) = "\"" + │ │ ├── parts: (length: 4) + │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6)) + │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{" + │ │ │ │ ├── statements: ∅ + │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}" + │ │ │ ├── @ StringNode (location: (84,6)-(85,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "\n" + │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3)) + │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{" + │ │ │ │ ├── statements: ∅ + │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}" + │ │ │ └── @ StringNode (location: (85,3)-(85,6)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\na" + │ │ └── closing_loc: (85,6)-(85,7) = "\"" + │ ├── opening_loc: (83,4)-(83,5) = "{" + │ └── closing_loc: (86,0)-(86,1) = "}" ├── @ SymbolNode (location: (87,0)-(88,2)) │ ├── opening_loc: (87,0)-(87,2) = ":\"" │ ├── value_loc: (87,2)-(88,1) = "a\\\\\nb" @@ -1108,6 +1108,7 @@ │ │ │ @ StatementsNode (location: (90,2)-(90,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (90,2)-(90,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1115,8 +1116,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (90,5)-(90,6) = "}" │ └── @ StringNode (location: (90,6)-(91,1)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/module.txt b/test/prism/snapshots/unparser/corpus/literal/module.txt index a417284cad..205f5453ed 100644 --- a/test/prism/snapshots/unparser/corpus/literal/module.txt +++ b/test/prism/snapshots/unparser/corpus/literal/module.txt @@ -58,6 +58,7 @@ │ @ StatementsNode (location: (11,2)-(15,5)) │ └── body: (length: 2) │ ├── @ CallNode (location: (11,2)-(11,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :include @@ -65,23 +66,22 @@ │ │ ├── opening_loc: (11,9)-(11,10) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (11,10)-(11,15)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (11,10)-(11,15)) - │ │ │ │ ├── receiver: - │ │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11)) - │ │ │ │ │ └── name: :B - │ │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "." - │ │ │ │ ├── name: :new - │ │ │ │ ├── message_loc: (11,12)-(11,15) = "new" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (11,10)-(11,15)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: + │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11)) + │ │ │ │ └── name: :B + │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "." + │ │ │ ├── name: :new + │ │ │ ├── message_loc: (11,12)-(11,15) = "new" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: (11,15)-(11,16) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── @ DefNode (location: (13,2)-(15,5)) │ ├── name: :foo │ ├── name_loc: (13,6)-(13,9) = "foo" diff --git a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt index 662caa0ced..764ae3adc2 100644 --- a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt +++ b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt @@ -53,6 +53,7 @@ │ ├── operator_loc: (6,2)-(6,5) = "&&=" │ ├── value: │ │ @ CallNode (location: (6,6)-(6,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -60,8 +61,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── name: :a │ └── depth: 0 ├── @ LocalVariableOrWriteNode (location: (7,0)-(7,7)) @@ -73,6 +73,7 @@ │ ├── name: :a │ └── depth: 0 ├── @ CallNode (location: (8,0)-(8,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (8,0)-(8,9)) │ │ ├── body: @@ -94,9 +95,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (9,0)-(9,10)) │ │ ├── body: @@ -120,39 +121,38 @@ │ ├── opening_loc: (9,10)-(9,11) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (9,11)-(9,17)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (9,11)-(9,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :k - │ │ │ │ ├── message_loc: (9,11)-(9,12) = "k" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (9,16)-(9,17)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :v - │ │ │ ├── message_loc: (9,16)-(9,17) = "v" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (9,11)-(9,12)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :k + │ │ │ ├── message_loc: (9,11)-(9,12) = "k" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (9,16)-(9,17)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :v + │ │ ├── message_loc: (9,16)-(9,17) = "v" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (9,12)-(9,13) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallOperatorWriteNode (location: (10,0)-(10,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (10,0)-(10,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (10,1)-(10,2) = "." │ ├── message_loc: (10,2)-(10,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator: :+ @@ -161,13 +161,13 @@ │ @ IntegerNode (location: (10,7)-(10,8)) │ └── flags: decimal ├── @ CallOperatorWriteNode (location: (11,0)-(11,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (11,0)-(11,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (11,1)-(11,2) = "." │ ├── message_loc: (11,2)-(11,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator: :- @@ -176,13 +176,13 @@ │ @ IntegerNode (location: (11,7)-(11,8)) │ └── flags: decimal ├── @ CallOperatorWriteNode (location: (12,0)-(12,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (12,0)-(12,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (12,1)-(12,2) = "." │ ├── message_loc: (12,2)-(12,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator: :** @@ -191,13 +191,13 @@ │ @ IntegerNode (location: (12,8)-(12,9)) │ └── flags: decimal ├── @ CallOperatorWriteNode (location: (13,0)-(13,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (13,0)-(13,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (13,1)-(13,2) = "." │ ├── message_loc: (13,2)-(13,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator: :* @@ -206,13 +206,13 @@ │ @ IntegerNode (location: (13,7)-(13,8)) │ └── flags: decimal ├── @ CallOperatorWriteNode (location: (14,0)-(14,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (14,0)-(14,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (14,1)-(14,2) = "." │ ├── message_loc: (14,2)-(14,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator: :/ @@ -221,18 +221,19 @@ │ @ IntegerNode (location: (14,7)-(14,8)) │ └── flags: decimal ├── @ CallAndWriteNode (location: (15,0)-(15,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (15,0)-(15,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (15,1)-(15,2) = "." │ ├── message_loc: (15,2)-(15,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator_loc: (15,4)-(15,7) = "&&=" │ └── value: │ @ CallNode (location: (15,8)-(15,9)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -240,16 +241,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallOrWriteNode (location: (16,0)-(16,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (16,0)-(16,1)) │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (16,1)-(16,2) = "." │ ├── message_loc: (16,2)-(16,3) = "b" - │ ├── flags: ∅ │ ├── read_name: :b │ ├── write_name: :b= │ ├── operator_loc: (16,4)-(16,7) = "||=" @@ -257,6 +257,7 @@ │ @ IntegerNode (location: (16,8)-(16,9)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (17,0)-(17,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (17,0)-(17,1)) │ │ ├── name: :a @@ -265,27 +266,27 @@ │ ├── opening_loc: (17,1)-(17,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (17,2)-(17,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (17,2)-(17,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (17,2)-(17,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (17,2)-(17,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (17,2)-(17,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (17,3)-(17,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (17,5)-(17,7) = "+=" │ └── value: │ @ IntegerNode (location: (17,8)-(17,9)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (18,0)-(18,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (18,0)-(18,1)) │ │ ├── name: :a @@ -294,27 +295,27 @@ │ ├── opening_loc: (18,1)-(18,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (18,2)-(18,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (18,2)-(18,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (18,2)-(18,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (18,2)-(18,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (18,2)-(18,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (18,3)-(18,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :- │ ├── operator_loc: (18,5)-(18,7) = "-=" │ └── value: │ @ IntegerNode (location: (18,8)-(18,9)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (19,0)-(19,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (19,0)-(19,1)) │ │ ├── name: :a @@ -323,27 +324,27 @@ │ ├── opening_loc: (19,1)-(19,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (19,2)-(19,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (19,2)-(19,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (19,2)-(19,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (19,2)-(19,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (19,2)-(19,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (19,3)-(19,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :** │ ├── operator_loc: (19,5)-(19,8) = "**=" │ └── value: │ @ IntegerNode (location: (19,9)-(19,10)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (20,0)-(20,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (20,0)-(20,1)) │ │ ├── name: :a @@ -352,27 +353,27 @@ │ ├── opening_loc: (20,1)-(20,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (20,2)-(20,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (20,2)-(20,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (20,2)-(20,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (20,2)-(20,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (20,2)-(20,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (20,3)-(20,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :* │ ├── operator_loc: (20,5)-(20,7) = "*=" │ └── value: │ @ IntegerNode (location: (20,8)-(20,9)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (21,0)-(21,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (21,0)-(21,1)) │ │ ├── name: :a @@ -381,27 +382,27 @@ │ ├── opening_loc: (21,1)-(21,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (21,2)-(21,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (21,2)-(21,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (21,2)-(21,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (21,2)-(21,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (21,2)-(21,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (21,3)-(21,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :/ │ ├── operator_loc: (21,5)-(21,7) = "/=" │ └── value: │ @ IntegerNode (location: (21,8)-(21,9)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (22,0)-(22,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (22,0)-(22,1)) │ │ ├── name: :a @@ -410,24 +411,24 @@ │ ├── opening_loc: (22,1)-(22,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (22,2)-(22,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (22,2)-(22,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (22,2)-(22,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (22,2)-(22,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (22,2)-(22,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (22,3)-(22,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (22,5)-(22,8) = "&&=" │ └── value: │ @ CallNode (location: (22,9)-(22,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -435,9 +436,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ IndexOrWriteNode (location: (23,0)-(23,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (23,0)-(23,1)) │ │ ├── name: :a @@ -446,28 +447,29 @@ │ ├── opening_loc: (23,1)-(23,2) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (23,2)-(23,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (23,2)-(23,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (23,2)-(23,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (23,2)-(23,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (23,2)-(23,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (23,3)-(23,4) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (23,5)-(23,8) = "||=" │ └── value: │ @ IntegerNode (location: (23,9)-(23,10)) │ └── flags: decimal └── @ CallOperatorWriteNode (location: (24,0)-(24,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (24,0)-(24,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -475,11 +477,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (24,3)-(24,4) = "." ├── message_loc: (24,4)-(24,5) = "A" - ├── flags: ∅ ├── read_name: :A ├── write_name: :A= ├── operator: :+ diff --git a/test/prism/snapshots/unparser/corpus/literal/pattern.txt b/test/prism/snapshots/unparser/corpus/literal/pattern.txt index 983ec43050..36f3c548ca 100644 --- a/test/prism/snapshots/unparser/corpus/literal/pattern.txt +++ b/test/prism/snapshots/unparser/corpus/literal/pattern.txt @@ -6,6 +6,7 @@ ├── @ CaseMatchNode (location: (1,0)-(33,3)) │ ├── predicate: │ │ @ CallNode (location: (1,5)-(1,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,8 +14,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 15) │ │ ├── @ InNode (location: (2,0)-(3,6)) │ │ │ ├── pattern: @@ -63,6 +63,7 @@ │ │ │ │ @ StatementsNode (location: (5,2)-(5,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (5,2)-(5,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :y @@ -70,8 +71,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── in_loc: (4,0)-(4,2) = "in" │ │ │ └── then_loc: (4,12)-(4,16) = "then" │ │ ├── @ InNode (location: (6,0)-(7,6)) @@ -336,6 +336,7 @@ ├── @ CaseMatchNode (location: (34,0)-(36,3)) │ ├── predicate: │ │ @ CallNode (location: (34,5)-(34,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -343,8 +344,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (35,0)-(35,17)) │ │ ├── pattern: @@ -378,6 +378,7 @@ ├── @ CaseMatchNode (location: (37,0)-(40,3)) │ ├── predicate: │ │ @ CallNode (location: (37,5)-(37,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -385,8 +386,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (38,0)-(38,4)) │ │ ├── pattern: diff --git a/test/prism/snapshots/unparser/corpus/literal/pragma.txt b/test/prism/snapshots/unparser/corpus/literal/pragma.txt index 6d76480eca..49a790c20f 100644 --- a/test/prism/snapshots/unparser/corpus/literal/pragma.txt +++ b/test/prism/snapshots/unparser/corpus/literal/pragma.txt @@ -8,6 +8,7 @@ │ └── filepath: "unparser/corpus/literal/pragma.txt" ├── @ SourceLineNode (location: (3,0)-(3,8)) └── @ CallNode (location: (4,0)-(4,7)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :__dir__ @@ -15,5 +16,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/range.txt b/test/prism/snapshots/unparser/corpus/literal/range.txt index 8d22fd530e..5bf208d962 100644 --- a/test/prism/snapshots/unparser/corpus/literal/range.txt +++ b/test/prism/snapshots/unparser/corpus/literal/range.txt @@ -8,42 +8,42 @@ │ │ @ StatementsNode (location: (1,1)-(1,4)) │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (1,1)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (1,1)-(1,2)) │ │ │ └── flags: decimal │ │ ├── right: ∅ - │ │ ├── operator_loc: (1,2)-(1,4) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (1,2)-(1,4) = ".." │ ├── opening_loc: (1,0)-(1,1) = "(" │ └── closing_loc: (1,4)-(1,5) = ")" ├── @ RangeNode (location: (2,0)-(2,4)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (2,0)-(2,1)) │ │ └── flags: decimal │ ├── right: │ │ @ IntegerNode (location: (2,3)-(2,4)) │ │ └── flags: decimal - │ ├── operator_loc: (2,1)-(2,3) = ".." - │ └── flags: ∅ + │ └── operator_loc: (2,1)-(2,3) = ".." ├── @ ParenthesesNode (location: (3,0)-(3,6)) │ ├── body: │ │ @ StatementsNode (location: (3,1)-(3,5)) │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (3,1)-(3,5)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ IntegerNode (location: (3,1)-(3,2)) │ │ │ └── flags: decimal │ │ ├── right: ∅ - │ │ ├── operator_loc: (3,2)-(3,5) = "..." - │ │ └── flags: exclude_end + │ │ └── operator_loc: (3,2)-(3,5) = "..." │ ├── opening_loc: (3,0)-(3,1) = "(" │ └── closing_loc: (3,5)-(3,6) = ")" └── @ RangeNode (location: (4,0)-(4,5)) + ├── flags: exclude_end ├── left: │ @ IntegerNode (location: (4,0)-(4,1)) │ └── flags: decimal ├── right: │ @ IntegerNode (location: (4,4)-(4,5)) │ └── flags: decimal - ├── operator_loc: (4,1)-(4,4) = "..." - └── flags: exclude_end + └── operator_loc: (4,1)-(4,4) = "..." diff --git a/test/prism/snapshots/unparser/corpus/literal/rescue.txt b/test/prism/snapshots/unparser/corpus/literal/rescue.txt index 3f0dfedd59..80fd34f321 100644 --- a/test/prism/snapshots/unparser/corpus/literal/rescue.txt +++ b/test/prism/snapshots/unparser/corpus/literal/rescue.txt @@ -6,6 +6,7 @@ ├── @ RescueModifierNode (location: (1,0)-(1,14)) │ ├── expression: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,11 +14,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (1,4)-(1,10) = "rescue" │ └── rescue_expression: │ @ CallNode (location: (1,11)-(1,14)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -25,11 +26,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ RescueModifierNode (location: (2,0)-(2,21)) │ ├── expression: │ │ @ CallNode (location: (2,0)-(2,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -37,26 +38,25 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (2,4)-(2,10) = "rescue" │ └── rescue_expression: │ @ ReturnNode (location: (2,11)-(2,21)) │ ├── keyword_loc: (2,11)-(2,17) = "return" │ └── arguments: │ @ ArgumentsNode (location: (2,18)-(2,21)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (2,18)-(2,21)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (2,18)-(2,21) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (2,18)-(2,21)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (2,18)-(2,21) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ └── @ LocalVariableWriteNode (location: (3,0)-(3,27)) ├── name: :x ├── depth: 0 @@ -69,6 +69,7 @@ │ │ └── @ RescueModifierNode (location: (3,5)-(3,26)) │ │ ├── expression: │ │ │ @ CallNode (location: (3,5)-(3,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -76,26 +77,25 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (3,9)-(3,15) = "rescue" │ │ └── rescue_expression: │ │ @ ReturnNode (location: (3,16)-(3,26)) │ │ ├── keyword_loc: (3,16)-(3,22) = "return" │ │ └── arguments: │ │ @ ArgumentsNode (location: (3,23)-(3,26)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,23)-(3,26)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (3,23)-(3,26) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,23)-(3,26)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (3,23)-(3,26) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── opening_loc: (3,4)-(3,5) = "(" │ └── closing_loc: (3,26)-(3,27) = ")" └── operator_loc: (3,2)-(3,3) = "=" diff --git a/test/prism/snapshots/unparser/corpus/literal/send.txt b/test/prism/snapshots/unparser/corpus/literal/send.txt index c372f967bb..d637c84518 100644 --- a/test/prism/snapshots/unparser/corpus/literal/send.txt +++ b/test/prism/snapshots/unparser/corpus/literal/send.txt @@ -35,6 +35,7 @@ │ │ │ │ ├── operator_loc: (2,18)-(2,19) = "=" │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (2,20)-(2,21)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -42,8 +43,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── opening_loc: (2,10)-(2,11) = "(" │ │ │ └── closing_loc: (2,21)-(2,22) = ")" │ │ ├── name: :foo @@ -68,6 +68,7 @@ │ │ │ │ └── flags: decimal │ │ │ └── operator_loc: (6,8)-(6,9) = "=" │ │ └── @ CallNode (location: (7,2)-(7,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (7,2)-(7,7)) │ │ │ ├── name: :local @@ -78,11 +79,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── end_keyword_loc: (8,0)-(8,3) = "end" │ └── name: :A ├── @ CallNode (location: (9,0)-(10,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ClassNode (location: (9,0)-(10,3)) │ │ ├── locals: [] @@ -101,9 +102,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(12,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ModuleNode (location: (11,0)-(12,3)) │ │ ├── locals: [] @@ -120,9 +121,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (13,0)-(15,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ BeginNode (location: (13,0)-(15,3)) │ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin" @@ -144,9 +145,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (16,0)-(19,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CaseNode (location: (16,0)-(19,3)) │ │ ├── predicate: @@ -180,6 +181,7 @@ │ │ │ ├── keyword_loc: (18,0)-(18,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (18,5)-(18,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -187,8 +189,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── statements: ∅ │ │ ├── consequent: ∅ │ │ ├── case_keyword_loc: (16,0)-(16,4) = "case" @@ -199,13 +200,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (20,0)-(22,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CaseNode (location: (20,0)-(22,3)) │ │ ├── predicate: │ │ │ @ CallNode (location: (20,5)-(20,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -213,13 +215,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── conditions: (length: 1) │ │ │ └── @ WhenNode (location: (21,0)-(21,8)) │ │ │ ├── keyword_loc: (21,0)-(21,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (21,5)-(21,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -227,8 +229,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── statements: ∅ │ │ ├── consequent: ∅ │ │ ├── case_keyword_loc: (20,0)-(20,4) = "case" @@ -239,9 +240,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (23,0)-(24,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SingletonClassNode (location: (23,0)-(24,3)) │ │ ├── locals: [] @@ -257,9 +258,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (25,0)-(26,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ DefNode (location: (25,0)-(26,3)) │ │ ├── name: :foo @@ -282,9 +283,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (27,0)-(28,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ DefNode (location: (27,0)-(28,3)) │ │ ├── name: :foo @@ -306,15 +307,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (29,0)-(30,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ UntilNode (location: (29,0)-(30,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (29,0)-(29,5) = "until" │ │ ├── closing_loc: (30,0)-(30,3) = "end" │ │ ├── predicate: │ │ │ @ CallNode (location: (29,6)-(29,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -322,25 +325,25 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── statements: ∅ - │ │ └── flags: ∅ + │ │ │ └── block: ∅ + │ │ └── statements: ∅ │ ├── call_operator_loc: (30,3)-(30,4) = "." │ ├── name: :bar │ ├── message_loc: (30,4)-(30,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(32,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ WhileNode (location: (31,0)-(32,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (31,0)-(31,5) = "while" │ │ ├── closing_loc: (32,0)-(32,3) = "end" │ │ ├── predicate: │ │ │ @ CallNode (location: (31,6)-(31,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -348,21 +351,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── statements: ∅ - │ │ └── flags: ∅ + │ │ │ └── block: ∅ + │ │ └── statements: ∅ │ ├── call_operator_loc: (32,3)-(32,4) = "." │ ├── name: :bar │ ├── message_loc: (32,4)-(32,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (33,0)-(34,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (33,0)-(34,1)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :loop @@ -370,29 +372,29 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (33,5)-(34,1)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (33,5)-(33,6) = "{" - │ │ │ └── closing_loc: (34,0)-(34,1) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (33,5)-(34,1)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (33,5)-(33,6) = "{" + │ │ └── closing_loc: (34,0)-(34,1) = "}" │ ├── call_operator_loc: (34,1)-(34,2) = "." │ ├── name: :bar │ ├── message_loc: (34,2)-(34,5) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(36,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IfNode (location: (35,0)-(36,3)) │ │ ├── if_keyword_loc: (35,0)-(35,2) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (35,3)-(35,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -400,8 +402,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── consequent: ∅ @@ -412,38 +413,38 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (37,0)-(37,15)) │ │ ├── body: │ │ │ @ StatementsNode (location: (37,1)-(37,14)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (37,1)-(37,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ RegularExpressionNode (location: (37,1)-(37,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (37,1)-(37,2) = "/" │ │ │ │ ├── content_loc: (37,2)-(37,5) = "bar" │ │ │ │ ├── closing_loc: (37,5)-(37,6) = "/" - │ │ │ │ ├── unescaped: "bar" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── unescaped: "bar" │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :=~ │ │ │ ├── message_loc: (37,7)-(37,9) = "=~" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (37,10)-(37,14)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14)) - │ │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":" - │ │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "foo" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14)) + │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":" + │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "foo" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (37,0)-(37,1) = "(" │ │ └── closing_loc: (37,14)-(37,15) = ")" │ ├── call_operator_loc: (37,15)-(37,16) = "." @@ -452,23 +453,23 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (38,0)-(38,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (38,0)-(38,6)) │ │ ├── body: │ │ │ @ StatementsNode (location: (38,1)-(38,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ RangeNode (location: (38,1)-(38,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── left: │ │ │ │ @ IntegerNode (location: (38,1)-(38,2)) │ │ │ │ └── flags: decimal │ │ │ ├── right: │ │ │ │ @ IntegerNode (location: (38,4)-(38,5)) │ │ │ │ └── flags: decimal - │ │ │ ├── operator_loc: (38,2)-(38,4) = ".." - │ │ │ └── flags: ∅ + │ │ │ └── operator_loc: (38,2)-(38,4) = ".." │ │ ├── opening_loc: (38,0)-(38,1) = "(" │ │ └── closing_loc: (38,5)-(38,6) = ")" │ ├── call_operator_loc: (38,6)-(38,7) = "." @@ -477,17 +478,19 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (39,0)-(39,14)) │ │ ├── body: │ │ │ @ StatementsNode (location: (39,1)-(39,13)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,1)-(39,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (39,1)-(39,4)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -495,25 +498,23 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :=~ │ │ │ ├── message_loc: (39,5)-(39,7) = "=~" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (39,8)-(39,13)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13)) - │ │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/" - │ │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar" - │ │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/" - │ │ │ │ │ ├── unescaped: "bar" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/" + │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar" + │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/" + │ │ │ │ └── unescaped: "bar" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (39,0)-(39,1) = "(" │ │ └── closing_loc: (39,13)-(39,14) = ")" │ ├── call_operator_loc: (39,14)-(39,15) = "." @@ -522,67 +523,68 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (40,0)-(40,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ RegularExpressionNode (location: (40,0)-(40,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (40,0)-(40,1) = "/" │ │ ├── content_loc: (40,1)-(40,4) = "bar" │ │ ├── closing_loc: (40,4)-(40,5) = "/" - │ │ ├── unescaped: "bar" - │ │ └── flags: ∅ + │ │ └── unescaped: "bar" │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (40,6)-(40,8) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (40,9)-(40,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (40,9)-(40,13)) - │ │ │ ├── opening_loc: (40,9)-(40,10) = ":" - │ │ │ ├── value_loc: (40,10)-(40,13) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (40,9)-(40,13)) + │ │ ├── opening_loc: (40,9)-(40,10) = ":" + │ │ ├── value_loc: (40,10)-(40,13) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ RegularExpressionNode (location: (41,0)-(41,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (41,0)-(41,1) = "/" │ │ ├── content_loc: (41,1)-(41,4) = "bar" │ │ ├── closing_loc: (41,4)-(41,5) = "/" - │ │ ├── unescaped: "bar" - │ │ └── flags: ∅ + │ │ └── unescaped: "bar" │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (41,6)-(41,8) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (41,9)-(41,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (41,9)-(41,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (41,9)-(41,12) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (41,9)-(41,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (41,9)-(41,12) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ RangeNode (location: (42,0)-(42,8)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (42,0)-(42,1)) │ │ └── flags: decimal │ ├── right: │ │ @ CallNode (location: (42,3)-(42,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (42,3)-(42,4)) │ │ │ └── flags: decimal @@ -592,11 +594,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── operator_loc: (42,1)-(42,3) = ".." - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (42,1)-(42,3) = ".." ├── @ CallNode (location: (43,0)-(43,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (43,0)-(43,1)) │ │ └── name: :A @@ -606,9 +607,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (44,0)-(44,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :FOO @@ -616,11 +617,12 @@ │ ├── opening_loc: (44,3)-(44,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (44,4)-(44,5) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,4)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -628,19 +630,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (45,1)-(45,3) = "&." │ ├── name: :b │ ├── message_loc: (45,3)-(45,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (46,0)-(46,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (46,0)-(46,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -648,17 +650,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (46,1)-(46,2) = "." │ ├── name: :foo │ ├── message_loc: (46,2)-(46,5) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -666,11 +667,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (48,0)-(48,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (48,0)-(48,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -678,61 +680,61 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :<< │ ├── message_loc: (48,4)-(48,6) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (48,7)-(48,18)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (48,7)-(48,18)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (48,8)-(48,17)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (48,8)-(48,17)) - │ │ │ │ ├── receiver: - │ │ │ │ │ @ CallNode (location: (48,8)-(48,11)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :* - │ │ │ │ ├── message_loc: (48,12)-(48,13) = "*" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (48,14)-(48,17)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :baz - │ │ │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (48,7)-(48,8) = "(" - │ │ │ └── closing_loc: (48,17)-(48,18) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (48,7)-(48,18)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (48,8)-(48,17)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (48,8)-(48,17)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: + │ │ │ │ @ CallNode (location: (48,8)-(48,11)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :* + │ │ │ ├── message_loc: (48,12)-(48,13) = "*" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (48,14)-(48,17)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (48,7)-(48,8) = "(" + │ │ └── closing_loc: (48,17)-(48,18) = ")" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (49,0)-(49,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (49,0)-(49,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -740,26 +742,25 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (49,4)-(49,6) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (49,7)-(49,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12)) - │ │ │ ├── opening_loc: (49,7)-(49,8) = "/" - │ │ │ ├── content_loc: (49,8)-(49,11) = "bar" - │ │ │ ├── closing_loc: (49,11)-(49,12) = "/" - │ │ │ ├── unescaped: "bar" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (49,7)-(49,8) = "/" + │ │ ├── content_loc: (49,8)-(49,11) = "bar" + │ │ ├── closing_loc: (49,11)-(49,12) = "/" + │ │ └── unescaped: "bar" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (50,0)-(50,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -767,42 +768,42 @@ │ ├── opening_loc: (50,3)-(50,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (50,17)-(50,18) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (50,4)-(50,17)) - │ │ ├── expression: - │ │ │ @ ParenthesesNode (location: (50,5)-(50,17)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (50,6)-(50,16)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ OrNode (location: (50,6)-(50,16)) - │ │ │ │ ├── left: - │ │ │ │ │ @ CallNode (location: (50,6)-(50,9)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── right: - │ │ │ │ │ @ CallNode (location: (50,13)-(50,16)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── operator_loc: (50,10)-(50,12) = "||" - │ │ │ ├── opening_loc: (50,5)-(50,6) = "(" - │ │ │ └── closing_loc: (50,16)-(50,17) = ")" - │ │ └── operator_loc: (50,4)-(50,5) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (50,4)-(50,17)) + │ ├── expression: + │ │ @ ParenthesesNode (location: (50,5)-(50,17)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (50,6)-(50,16)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ OrNode (location: (50,6)-(50,16)) + │ │ │ ├── left: + │ │ │ │ @ CallNode (location: (50,6)-(50,9)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo + │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── right: + │ │ │ │ @ CallNode (location: (50,13)-(50,16)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (50,10)-(50,12) = "||" + │ │ ├── opening_loc: (50,5)-(50,6) = "(" + │ │ └── closing_loc: (50,16)-(50,17) = ")" + │ └── operator_loc: (50,4)-(50,5) = "&" ├── @ CallNode (location: (51,0)-(51,10)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -810,22 +811,22 @@ │ ├── opening_loc: (51,3)-(51,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (51,10)-(51,11) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (51,4)-(51,10)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (51,5)-(51,10)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :block - │ │ │ ├── message_loc: (51,5)-(51,10) = "block" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (51,4)-(51,5) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (51,4)-(51,10)) + │ ├── expression: + │ │ @ CallNode (location: (51,5)-(51,10)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :block + │ │ ├── message_loc: (51,5)-(51,10) = "block" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (51,4)-(51,5) = "&" ├── @ CallNode (location: (52,0)-(52,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -833,38 +834,38 @@ │ ├── opening_loc: (52,3)-(52,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (52,4)-(52,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (52,4)-(52,9)) - │ │ │ ├── operator_loc: (52,4)-(52,5) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (52,5)-(52,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :args - │ │ │ ├── message_loc: (52,5)-(52,9) = "args" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (52,4)-(52,9)) + │ │ ├── operator_loc: (52,4)-(52,5) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (52,5)-(52,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :args + │ │ ├── message_loc: (52,5)-(52,9) = "args" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (52,17)-(52,18) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (52,11)-(52,17)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (52,12)-(52,17)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :block - │ │ │ ├── message_loc: (52,12)-(52,17) = "block" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (52,11)-(52,12) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (52,11)-(52,17)) + │ ├── expression: + │ │ @ CallNode (location: (52,12)-(52,17)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :block + │ │ ├── message_loc: (52,12)-(52,17) = "block" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (52,11)-(52,12) = "&" ├── @ CallNode (location: (53,0)-(53,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -872,25 +873,25 @@ │ ├── opening_loc: (53,3)-(53,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (53,4)-(53,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (53,4)-(53,14)) - │ │ │ ├── operator_loc: (53,4)-(53,5) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (53,5)-(53,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :arguments - │ │ │ ├── message_loc: (53,5)-(53,14) = "arguments" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (53,4)-(53,14)) + │ │ ├── operator_loc: (53,4)-(53,5) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (53,5)-(53,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :arguments + │ │ ├── message_loc: (53,5)-(53,14) = "arguments" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (53,14)-(53,15) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (54,0)-(54,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -898,16 +899,16 @@ │ ├── opening_loc: (54,3)-(54,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (54,4)-(54,8)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (54,4)-(54,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (54,7)-(54,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (54,4)-(54,5)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (54,7)-(54,8)) + │ │ └── flags: decimal │ ├── closing_loc: (54,8)-(54,9) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (55,0)-(55,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -915,22 +916,22 @@ │ ├── opening_loc: (55,3)-(55,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (55,4)-(55,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (55,4)-(55,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (55,4)-(55,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (55,4)-(55,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (55,4)-(55,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (55,7)-(55,8) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (56,0)-(56,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -938,35 +939,35 @@ │ ├── opening_loc: (56,3)-(56,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (56,4)-(56,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (56,4)-(56,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (56,4)-(56,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ SplatNode (location: (56,9)-(56,14)) - │ │ │ ├── operator_loc: (56,9)-(56,10) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (56,10)-(56,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :args - │ │ │ ├── message_loc: (56,10)-(56,14) = "args" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (56,4)-(56,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (56,4)-(56,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ SplatNode (location: (56,9)-(56,14)) + │ │ ├── operator_loc: (56,9)-(56,10) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (56,10)-(56,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :args + │ │ ├── message_loc: (56,10)-(56,14) = "args" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (56,14)-(56,15) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (57,0)-(57,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -974,43 +975,44 @@ │ ├── opening_loc: (57,3)-(57,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (57,4)-(57,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (57,4)-(57,16)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (57,4)-(57,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (57,4)-(57,7) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :=~ - │ │ │ ├── message_loc: (57,8)-(57,10) = "=~" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (57,11)-(57,16)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16)) - │ │ │ │ │ ├── opening_loc: (57,11)-(57,12) = "/" - │ │ │ │ │ ├── content_loc: (57,12)-(57,15) = "bar" - │ │ │ │ │ ├── closing_loc: (57,15)-(57,16) = "/" - │ │ │ │ │ ├── unescaped: "bar" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (57,4)-(57,16)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (57,4)-(57,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (57,4)-(57,7) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :=~ + │ │ ├── message_loc: (57,8)-(57,10) = "=~" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (57,11)-(57,16)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (57,11)-(57,12) = "/" + │ │ │ ├── content_loc: (57,12)-(57,15) = "bar" + │ │ │ ├── closing_loc: (57,15)-(57,16) = "/" + │ │ │ └── unescaped: "bar" + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (57,16)-(57,17) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (58,0)-(58,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (58,0)-(58,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1018,32 +1020,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (58,3)-(58,4) = "." │ ├── name: :bar │ ├── message_loc: (58,4)-(58,7) = "bar" │ ├── opening_loc: (58,7)-(58,8) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (58,12)-(58,13) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (58,8)-(58,12)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (58,9)-(58,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (58,9)-(58,12) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (58,8)-(58,9) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (58,8)-(58,12)) + │ ├── expression: + │ │ @ CallNode (location: (58,9)-(58,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (58,9)-(58,12) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (58,8)-(58,9) = "&" ├── @ CallNode (location: (59,0)-(59,26)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (59,0)-(59,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1051,58 +1053,58 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (59,3)-(59,4) = "." │ ├── name: :bar │ ├── message_loc: (59,4)-(59,7) = "bar" │ ├── opening_loc: (59,7)-(59,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (59,8)-(59,25)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ SplatNode (location: (59,8)-(59,13)) - │ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*" - │ │ │ │ └── expression: - │ │ │ │ @ CallNode (location: (59,9)-(59,13)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :arga - │ │ │ │ ├── message_loc: (59,9)-(59,13) = "arga" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── @ CallNode (location: (59,15)-(59,18)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (59,15)-(59,18) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ SplatNode (location: (59,20)-(59,25)) - │ │ │ ├── operator_loc: (59,20)-(59,21) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (59,21)-(59,25)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :argb - │ │ │ ├── message_loc: (59,21)-(59,25) = "argb" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ SplatNode (location: (59,8)-(59,13)) + │ │ │ ├── operator_loc: (59,8)-(59,9) = "*" + │ │ │ └── expression: + │ │ │ @ CallNode (location: (59,9)-(59,13)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :arga + │ │ │ ├── message_loc: (59,9)-(59,13) = "arga" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── @ CallNode (location: (59,15)-(59,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (59,15)-(59,18) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ SplatNode (location: (59,20)-(59,25)) + │ │ ├── operator_loc: (59,20)-(59,21) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (59,21)-(59,25)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :argb + │ │ ├── message_loc: (59,21)-(59,25) = "argb" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (59,25)-(59,26) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (60,0)-(60,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (60,0)-(60,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1110,35 +1112,35 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (60,3)-(60,4) = "." │ ├── name: :bar │ ├── message_loc: (60,4)-(60,7) = "bar" │ ├── opening_loc: (60,7)-(60,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (60,8)-(60,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (60,8)-(60,13)) - │ │ │ ├── operator_loc: (60,8)-(60,9) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (60,9)-(60,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :args - │ │ │ ├── message_loc: (60,9)-(60,13) = "args" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (60,8)-(60,13)) + │ │ ├── operator_loc: (60,8)-(60,9) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (60,9)-(60,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :args + │ │ ├── message_loc: (60,9)-(60,13) = "args" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (60,13)-(60,14) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (61,0)-(61,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (61,0)-(61,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1146,45 +1148,45 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (61,3)-(61,4) = "." │ ├── name: :bar │ ├── message_loc: (61,4)-(61,7) = "bar" │ ├── opening_loc: (61,7)-(61,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (61,8)-(61,18)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SplatNode (location: (61,8)-(61,13)) - │ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*" - │ │ │ │ └── expression: - │ │ │ │ @ CallNode (location: (61,9)-(61,13)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :args - │ │ │ │ ├── message_loc: (61,9)-(61,13) = "args" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (61,15)-(61,18)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (61,15)-(61,18) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SplatNode (location: (61,8)-(61,13)) + │ │ │ ├── operator_loc: (61,8)-(61,9) = "*" + │ │ │ └── expression: + │ │ │ @ CallNode (location: (61,9)-(61,13)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :args + │ │ │ ├── message_loc: (61,9)-(61,13) = "args" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (61,15)-(61,18)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (61,15)-(61,18) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (61,18)-(61,19) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (62,0)-(62,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (62,0)-(62,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1192,40 +1194,40 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (62,3)-(62,4) = "." │ ├── name: :bar │ ├── message_loc: (62,4)-(62,7) = "bar" │ ├── opening_loc: (62,7)-(62,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (62,8)-(62,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (62,8)-(62,12)) - │ │ │ ├── opening_loc: (62,8)-(62,9) = ":" - │ │ │ ├── value_loc: (62,9)-(62,12) = "baz" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "baz" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (62,8)-(62,12)) + │ │ ├── opening_loc: (62,8)-(62,9) = ":" + │ │ ├── value_loc: (62,9)-(62,12) = "baz" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "baz" │ ├── closing_loc: (62,18)-(62,19) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (62,14)-(62,18)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (62,15)-(62,18)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (62,15)-(62,18) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (62,14)-(62,15) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (62,14)-(62,18)) + │ ├── expression: + │ │ @ CallNode (location: (62,15)-(62,18)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (62,15)-(62,18) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (62,14)-(62,15) = "&" ├── @ CallNode (location: (63,0)-(63,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (63,0)-(63,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1233,43 +1235,43 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (63,3)-(63,4) = "." │ ├── name: :bar │ ├── message_loc: (63,4)-(63,7) = "bar" │ ├── opening_loc: (63,7)-(63,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (63,8)-(63,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (63,8)-(63,16)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (63,8)-(63,16)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (63,8)-(63,12)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz" - │ │ │ │ ├── closing_loc: (63,11)-(63,12) = ":" - │ │ │ │ └── unescaped: "baz" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (63,13)-(63,16)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :boz - │ │ │ │ ├── message_loc: (63,13)-(63,16) = "boz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (63,8)-(63,16)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (63,8)-(63,16)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (63,8)-(63,12)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (63,8)-(63,11) = "baz" + │ │ │ ├── closing_loc: (63,11)-(63,12) = ":" + │ │ │ └── unescaped: "baz" + │ │ ├── value: + │ │ │ @ CallNode (location: (63,13)-(63,16)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :boz + │ │ │ ├── message_loc: (63,13)-(63,16) = "boz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: ∅ │ ├── closing_loc: (63,16)-(63,17) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (64,0)-(64,26)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (64,0)-(64,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1277,54 +1279,54 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (64,3)-(64,4) = "." │ ├── name: :bar │ ├── message_loc: (64,4)-(64,7) = "bar" │ ├── opening_loc: (64,7)-(64,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (64,8)-(64,25)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (64,8)-(64,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (64,8)-(64,11) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ KeywordHashNode (location: (64,13)-(64,25)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (64,13)-(64,25)) - │ │ │ ├── key: - │ │ │ │ @ StringNode (location: (64,13)-(64,18)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (64,13)-(64,14) = "\"" - │ │ │ │ ├── content_loc: (64,14)-(64,17) = "baz" - │ │ │ │ ├── closing_loc: (64,17)-(64,18) = "\"" - │ │ │ │ └── unescaped: "baz" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (64,22)-(64,25)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :boz - │ │ │ │ ├── message_loc: (64,22)-(64,25) = "boz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (64,19)-(64,21) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (64,8)-(64,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (64,8)-(64,11) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ KeywordHashNode (location: (64,13)-(64,25)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (64,13)-(64,25)) + │ │ ├── key: + │ │ │ @ StringNode (location: (64,13)-(64,18)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (64,13)-(64,14) = "\"" + │ │ │ ├── content_loc: (64,14)-(64,17) = "baz" + │ │ │ ├── closing_loc: (64,17)-(64,18) = "\"" + │ │ │ └── unescaped: "baz" + │ │ ├── value: + │ │ │ @ CallNode (location: (64,22)-(64,25)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :boz + │ │ │ ├── message_loc: (64,22)-(64,25) = "boz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (64,19)-(64,21) = "=>" │ ├── closing_loc: (64,25)-(64,26) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (65,0)-(65,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (65,0)-(65,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1332,45 +1334,45 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (65,3)-(65,4) = "." │ ├── name: :bar │ ├── message_loc: (65,4)-(65,7) = "bar" │ ├── opening_loc: (65,7)-(65,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (65,8)-(65,18)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (65,8)-(65,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (65,8)-(65,11) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ SplatNode (location: (65,13)-(65,18)) - │ │ │ ├── operator_loc: (65,13)-(65,14) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (65,14)-(65,18)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :args - │ │ │ ├── message_loc: (65,14)-(65,18) = "args" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (65,8)-(65,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (65,8)-(65,11) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ SplatNode (location: (65,13)-(65,18)) + │ │ ├── operator_loc: (65,13)-(65,14) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (65,14)-(65,18)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :args + │ │ ├── message_loc: (65,14)-(65,18) = "args" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (65,18)-(65,19) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (66,0)-(66,27)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (66,0)-(66,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1378,58 +1380,58 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (66,3)-(66,4) = "." │ ├── name: :bar │ ├── message_loc: (66,4)-(66,7) = "bar" │ ├── opening_loc: (66,7)-(66,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (66,8)-(66,18)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (66,8)-(66,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (66,8)-(66,11) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ SplatNode (location: (66,13)-(66,18)) - │ │ │ ├── operator_loc: (66,13)-(66,14) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (66,14)-(66,18)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :args - │ │ │ ├── message_loc: (66,14)-(66,18) = "args" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (66,8)-(66,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (66,8)-(66,11) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ SplatNode (location: (66,13)-(66,18)) + │ │ ├── operator_loc: (66,13)-(66,14) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (66,14)-(66,18)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :args + │ │ ├── message_loc: (66,14)-(66,18) = "args" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (66,26)-(66,27) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (66,20)-(66,26)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (66,21)-(66,26)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :block - │ │ │ ├── message_loc: (66,21)-(66,26) = "block" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (66,20)-(66,21) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (66,20)-(66,26)) + │ ├── expression: + │ │ @ CallNode (location: (66,21)-(66,26)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :block + │ │ ├── message_loc: (66,21)-(66,26) = "block" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (66,20)-(66,21) = "&" ├── @ CallNode (location: (67,0)-(67,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (67,0)-(67,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1437,36 +1439,36 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (67,3)-(67,4) = "." │ ├── name: :bar │ ├── message_loc: (67,4)-(67,7) = "bar" │ ├── opening_loc: (67,7)-(67,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (67,8)-(67,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (67,8)-(67,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (67,8)-(67,11) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ HashNode (location: (67,13)-(67,15)) - │ │ │ ├── opening_loc: (67,13)-(67,14) = "{" - │ │ │ ├── elements: (length: 0) - │ │ │ └── closing_loc: (67,14)-(67,15) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (67,8)-(67,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (67,8)-(67,11) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ HashNode (location: (67,13)-(67,15)) + │ │ ├── opening_loc: (67,13)-(67,14) = "{" + │ │ ├── elements: (length: 0) + │ │ └── closing_loc: (67,14)-(67,15) = "}" │ ├── closing_loc: (67,15)-(67,16) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (68,0)-(68,26)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (68,0)-(68,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1474,55 +1476,55 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (68,3)-(68,4) = "." │ ├── name: :bar │ ├── message_loc: (68,4)-(68,7) = "bar" │ ├── opening_loc: (68,7)-(68,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (68,8)-(68,25)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ HashNode (location: (68,8)-(68,20)) - │ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{" - │ │ │ │ ├── elements: (length: 1) - │ │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo" - │ │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":" - │ │ │ │ │ │ └── unescaped: "foo" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (68,15)-(68,18)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :boz - │ │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── closing_loc: (68,19)-(68,20) = "}" - │ │ │ └── @ CallNode (location: (68,22)-(68,25)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :boz - │ │ │ ├── message_loc: (68,22)-(68,25) = "boz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ HashNode (location: (68,8)-(68,20)) + │ │ │ ├── opening_loc: (68,8)-(68,9) = "{" + │ │ │ ├── elements: (length: 1) + │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14)) + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo" + │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":" + │ │ │ │ │ └── unescaped: "foo" + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (68,15)-(68,18)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :boz + │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ └── operator_loc: ∅ + │ │ │ └── closing_loc: (68,19)-(68,20) = "}" + │ │ └── @ CallNode (location: (68,22)-(68,25)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :boz + │ │ ├── message_loc: (68,22)-(68,25) = "boz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (68,25)-(68,26) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (69,0)-(69,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (69,0)-(69,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1530,25 +1532,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (69,3)-(69,4) = "." │ ├── name: :bar= │ ├── message_loc: (69,4)-(69,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (69,8)-(69,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (69,8)-(69,12)) - │ │ │ ├── opening_loc: (69,8)-(69,9) = ":" - │ │ │ ├── value_loc: (69,9)-(69,12) = "baz" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "baz" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (69,8)-(69,12)) + │ │ ├── opening_loc: (69,8)-(69,9) = ":" + │ │ ├── value_loc: (69,9)-(69,12) = "baz" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "baz" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (70,0)-(70,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1556,35 +1557,36 @@ │ ├── opening_loc: (70,3)-(70,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (70,4)-(70,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (70,4)-(70,8)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (70,4)-(70,8)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (70,4)-(70,6)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (70,4)-(70,5) = "a" - │ │ │ │ ├── closing_loc: (70,5)-(70,6) = ":" - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (70,7)-(70,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (70,7)-(70,8) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (70,4)-(70,8)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (70,4)-(70,8)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (70,4)-(70,6)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (70,4)-(70,5) = "a" + │ │ │ ├── closing_loc: (70,5)-(70,6) = ":" + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ CallNode (location: (70,7)-(70,8)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (70,7)-(70,8) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: ∅ │ ├── closing_loc: (70,8)-(70,9) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (71,0)-(71,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (71,0)-(71,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1592,43 +1594,43 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (71,3)-(71,4) = "." │ ├── name: :& │ ├── message_loc: (71,4)-(71,5) = "&" │ ├── opening_loc: (71,5)-(71,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (71,6)-(71,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (71,6)-(71,10)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (71,6)-(71,10)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (71,6)-(71,8)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (71,6)-(71,7) = "a" - │ │ │ │ ├── closing_loc: (71,7)-(71,8) = ":" - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (71,9)-(71,10)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (71,9)-(71,10) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (71,6)-(71,10)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (71,6)-(71,10)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (71,6)-(71,8)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (71,6)-(71,7) = "a" + │ │ │ ├── closing_loc: (71,7)-(71,8) = ":" + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ CallNode (location: (71,9)-(71,10)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (71,9)-(71,10) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: ∅ │ ├── closing_loc: (71,10)-(71,11) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (72,0)-(72,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (72,0)-(72,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1636,37 +1638,37 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (72,3)-(72,4) = "." │ ├── name: :& │ ├── message_loc: (72,4)-(72,5) = "&" │ ├── opening_loc: (72,5)-(72,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (72,6)-(72,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (72,6)-(72,9)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (72,6)-(72,9)) - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (72,8)-(72,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (72,8)-(72,9) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (72,6)-(72,8) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (72,6)-(72,9)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (72,6)-(72,9)) + │ │ ├── value: + │ │ │ @ CallNode (location: (72,8)-(72,9)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a + │ │ │ ├── message_loc: (72,8)-(72,9) = "a" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (72,6)-(72,8) = "**" │ ├── closing_loc: (72,9)-(72,10) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (73,0)-(73,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (73,0)-(73,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1674,35 +1676,35 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (73,3)-(73,9) = "[*baz]" │ ├── opening_loc: (73,3)-(73,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (73,4)-(73,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (73,4)-(73,8)) - │ │ │ ├── operator_loc: (73,4)-(73,5) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (73,5)-(73,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (73,5)-(73,8) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (73,4)-(73,8)) + │ │ ├── operator_loc: (73,4)-(73,5) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (73,5)-(73,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (73,5)-(73,8) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (73,8)-(73,9) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (74,0)-(74,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (74,0)-(74,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1710,26 +1712,26 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (74,3)-(74,9) = "[1, 2]" │ ├── opening_loc: (74,3)-(74,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (74,4)-(74,8)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (74,4)-(74,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (74,7)-(74,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (74,4)-(74,5)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (74,7)-(74,8)) + │ │ └── flags: decimal │ ├── closing_loc: (74,8)-(74,9) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (75,0)-(75,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (75,0)-(75,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1737,17 +1739,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (75,3)-(75,5) = "[]" │ ├── opening_loc: (75,3)-(75,4) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (75,4)-(75,5) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (76,0)-(76,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SelfNode (location: (76,0)-(76,4)) │ ├── call_operator_loc: (76,4)-(76,5) = "." @@ -1756,9 +1757,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (77,0)-(77,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SelfNode (location: (77,0)-(77,4)) │ ├── call_operator_loc: (77,4)-(77,5) = "." @@ -1767,25 +1768,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (77,9)-(77,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (77,9)-(77,13)) - │ │ │ ├── opening_loc: (77,9)-(77,10) = ":" - │ │ │ ├── value_loc: (77,10)-(77,13) = "bar" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "bar" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (77,9)-(77,13)) + │ │ ├── opening_loc: (77,9)-(77,10) = ":" + │ │ ├── value_loc: (77,10)-(77,13) = "bar" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "bar" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (78,0)-(78,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (78,0)-(78,7)) │ │ ├── body: │ │ │ @ StatementsNode (location: (78,1)-(78,6)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (78,1)-(78,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (78,1)-(78,2)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -1793,29 +1796,27 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :+ │ │ │ ├── message_loc: (78,3)-(78,4) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (78,5)-(78,6)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (78,5)-(78,6)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (78,5)-(78,6)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (78,0)-(78,1) = "(" │ │ └── closing_loc: (78,6)-(78,7) = ")" │ ├── call_operator_loc: ∅ @@ -1824,59 +1825,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (78,10)-(78,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (78,10)-(78,17)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (78,11)-(78,16)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (78,11)-(78,16)) - │ │ │ │ ├── receiver: - │ │ │ │ │ @ CallNode (location: (78,11)-(78,12)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :c - │ │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :- - │ │ │ │ ├── message_loc: (78,13)-(78,14) = "-" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (78,15)-(78,16)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (78,10)-(78,11) = "(" - │ │ │ └── closing_loc: (78,16)-(78,17) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (78,10)-(78,17)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (78,11)-(78,16)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (78,11)-(78,16)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: + │ │ │ │ @ CallNode (location: (78,11)-(78,12)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :- + │ │ │ ├── message_loc: (78,13)-(78,14) = "-" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (78,15)-(78,16)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :d + │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (78,10)-(78,11) = "(" + │ │ └── closing_loc: (78,16)-(78,17) = ")" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (79,0)-(79,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (79,0)-(79,7)) │ │ ├── body: │ │ │ @ StatementsNode (location: (79,1)-(79,6)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (79,1)-(79,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (79,1)-(79,2)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -1884,29 +1887,27 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :+ │ │ │ ├── message_loc: (79,3)-(79,4) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (79,5)-(79,6)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (79,5)-(79,6)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (79,5)-(79,6)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (79,0)-(79,1) = "(" │ │ └── closing_loc: (79,6)-(79,7) = ")" │ ├── call_operator_loc: ∅ @@ -1915,63 +1916,65 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (79,10)-(79,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (79,10)-(79,19)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (79,10)-(79,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :c - │ │ │ │ ├── message_loc: (79,10)-(79,11) = "c" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: (79,11)-(79,12) = "." - │ │ │ ├── name: :- - │ │ │ ├── message_loc: (79,12)-(79,13) = "-" - │ │ │ ├── opening_loc: (79,13)-(79,14) = "(" - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (79,14)-(79,18)) - │ │ │ │ ├── arguments: (length: 2) - │ │ │ │ │ ├── @ CallNode (location: (79,14)-(79,15)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :e - │ │ │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── @ CallNode (location: (79,17)-(79,18)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :f - │ │ │ │ │ ├── message_loc: (79,17)-(79,18) = "f" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: (79,18)-(79,19) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (79,10)-(79,19)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (79,10)-(79,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (79,10)-(79,11) = "c" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: (79,11)-(79,12) = "." + │ │ ├── name: :- + │ │ ├── message_loc: (79,12)-(79,13) = "-" + │ │ ├── opening_loc: (79,13)-(79,14) = "(" + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (79,14)-(79,18)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ CallNode (location: (79,14)-(79,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :e + │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── @ CallNode (location: (79,17)-(79,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :f + │ │ │ ├── message_loc: (79,17)-(79,18) = "f" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: (79,18)-(79,19) = ")" + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (80,0)-(80,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (80,0)-(80,7)) │ │ ├── body: │ │ │ @ StatementsNode (location: (80,1)-(80,6)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (80,1)-(80,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (80,1)-(80,2)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -1979,29 +1982,27 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :+ │ │ │ ├── message_loc: (80,3)-(80,4) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (80,5)-(80,6)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (80,5)-(80,6)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (80,5)-(80,6)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (80,0)-(80,1) = "(" │ │ └── closing_loc: (80,6)-(80,7) = ")" │ ├── call_operator_loc: ∅ @@ -2010,48 +2011,48 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (80,10)-(80,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (80,10)-(80,17)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (80,10)-(80,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :c - │ │ │ │ ├── message_loc: (80,10)-(80,11) = "c" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: (80,11)-(80,12) = "." - │ │ │ ├── name: :- - │ │ │ ├── message_loc: (80,12)-(80,13) = "-" - │ │ │ ├── opening_loc: (80,13)-(80,14) = "(" - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (80,14)-(80,16)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SplatNode (location: (80,14)-(80,16)) - │ │ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ CallNode (location: (80,15)-(80,16)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :f - │ │ │ │ │ ├── message_loc: (80,15)-(80,16) = "f" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: (80,16)-(80,17) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (80,10)-(80,17)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (80,10)-(80,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (80,10)-(80,11) = "c" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: (80,11)-(80,12) = "." + │ │ ├── name: :- + │ │ ├── message_loc: (80,12)-(80,13) = "-" + │ │ ├── opening_loc: (80,13)-(80,14) = "(" + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (80,14)-(80,16)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SplatNode (location: (80,14)-(80,16)) + │ │ │ ├── operator_loc: (80,14)-(80,15) = "*" + │ │ │ └── expression: + │ │ │ @ CallNode (location: (80,15)-(80,16)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :f + │ │ │ ├── message_loc: (80,15)-(80,16) = "f" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: (80,16)-(80,17) = ")" + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (81,0)-(81,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -2059,29 +2060,30 @@ │ ├── opening_loc: (81,1)-(81,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (81,2)-(81,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (81,2)-(81,7)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (81,2)-(81,7)) - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (81,4)-(81,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (81,4)-(81,7) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (81,2)-(81,4) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (81,2)-(81,7)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (81,2)-(81,7)) + │ │ ├── value: + │ │ │ @ CallNode (location: (81,4)-(81,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (81,4)-(81,7) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (81,2)-(81,4) = "**" │ ├── closing_loc: (81,7)-(81,8) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (82,0)-(82,6)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (82,0)-(82,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2089,19 +2091,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (82,3)-(82,5) = "&." │ ├── name: :! │ ├── message_loc: (82,5)-(82,6) = "!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (83,0)-(83,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (83,0)-(83,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2109,32 +2111,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (83,3)-(83,4) = "." │ ├── name: :~ │ ├── message_loc: (83,4)-(83,5) = "~" │ ├── opening_loc: (83,5)-(83,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (83,6)-(83,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (83,6)-(83,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (83,6)-(83,7) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (83,6)-(83,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (83,6)-(83,7) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (83,7)-(83,8) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (84,0)-(84,7)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (84,0)-(84,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -2142,26 +2144,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (84,1)-(84,3) = "&." ├── name: :+ ├── message_loc: (84,3)-(84,4) = "+" ├── opening_loc: (84,4)-(84,5) = "(" ├── arguments: │ @ ArgumentsNode (location: (84,5)-(84,6)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (84,5)-(84,6)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :b - │ │ ├── message_loc: (84,5)-(84,6) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (84,5)-(84,6)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :b + │ ├── message_loc: (84,5)-(84,6) = "b" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (84,6)-(84,7) = ")" - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/since/27.txt b/test/prism/snapshots/unparser/corpus/literal/since/27.txt index 3d1763e9b4..2099e84209 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/27.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/27.txt @@ -16,6 +16,7 @@ │ @ StatementsNode (location: (2,2)-(2,9)) │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (2,2)-(2,4)) │ │ ├── name: :_1 @@ -26,24 +27,23 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (2,7)-(2,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9)) - │ │ │ ├── name: :_2 - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9)) + │ │ ├── name: :_2 + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ ParenthesesNode (location: (4,0)-(4,5)) ├── body: │ @ StatementsNode (location: (4,1)-(4,4)) │ └── body: (length: 1) │ └── @ RangeNode (location: (4,1)-(4,4)) + │ ├── flags: ∅ │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (4,3)-(4,4)) │ │ └── flags: decimal - │ ├── operator_loc: (4,1)-(4,3) = ".." - │ └── flags: ∅ + │ └── operator_loc: (4,1)-(4,3) = ".." ├── opening_loc: (4,0)-(4,1) = "(" └── closing_loc: (4,4)-(4,5) = ")" diff --git a/test/prism/snapshots/unparser/corpus/literal/since/31.txt b/test/prism/snapshots/unparser/corpus/literal/since/31.txt index 6756860cde..d5bc8d0903 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/31.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/31.txt @@ -24,6 +24,7 @@ │ │ @ StatementsNode (location: (2,2)-(2,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -31,11 +32,10 @@ │ │ ├── opening_loc: (2,5)-(2,6) = "(" │ │ ├── arguments: ∅ │ │ ├── closing_loc: (2,7)-(2,8) = ")" - │ │ ├── block: - │ │ │ @ BlockArgumentNode (location: (2,6)-(2,7)) - │ │ │ ├── expression: ∅ - │ │ │ └── operator_loc: (2,6)-(2,7) = "&" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockArgumentNode (location: (2,6)-(2,7)) + │ │ ├── expression: ∅ + │ │ └── operator_loc: (2,6)-(2,7) = "&" │ ├── locals: [:&] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -67,6 +67,7 @@ │ @ StatementsNode (location: (6,2)-(6,7)) │ └── body: (length: 1) │ └── @ CallNode (location: (6,2)-(6,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -74,11 +75,10 @@ │ ├── opening_loc: (6,5)-(6,6) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (6,7)-(6,8) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (6,6)-(6,7)) - │ │ ├── expression: ∅ - │ │ └── operator_loc: (6,6)-(6,7) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (6,6)-(6,7)) + │ ├── expression: ∅ + │ └── operator_loc: (6,6)-(6,7) = "&" ├── locals: [:a, :&] ├── locals_body_index: 2 ├── def_keyword_loc: (5,0)-(5,3) = "def" diff --git a/test/prism/snapshots/unparser/corpus/literal/since/32.txt b/test/prism/snapshots/unparser/corpus/literal/since/32.txt index 24ba7fb851..09bc0e1575 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/32.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/32.txt @@ -26,6 +26,7 @@ │ │ @ StatementsNode (location: (2,2)-(2,19)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -33,19 +34,18 @@ │ │ ├── opening_loc: (2,5)-(2,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (2,6)-(2,18)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14)) - │ │ │ │ │ ├── name: :argument - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18)) - │ │ │ │ ├── value: ∅ - │ │ │ │ └── operator_loc: (2,16)-(2,18) = "**" - │ │ │ └── flags: contains_keyword_splat + │ │ │ ├── flags: contains_keyword_splat + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14)) + │ │ │ │ ├── name: :argument + │ │ │ │ └── depth: 0 + │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18)) + │ │ │ └── elements: (length: 1) + │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18)) + │ │ │ ├── value: ∅ + │ │ │ └── operator_loc: (2,16)-(2,18) = "**" │ │ ├── closing_loc: (2,18)-(2,19) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:argument, :**] │ ├── locals_body_index: 2 │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -77,6 +77,7 @@ │ @ StatementsNode (location: (6,2)-(6,18)) │ └── body: (length: 1) │ └── @ CallNode (location: (6,2)-(6,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -84,17 +85,16 @@ │ ├── opening_loc: (6,5)-(6,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (6,6)-(6,17)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14)) - │ │ │ │ ├── name: :argument - │ │ │ │ └── depth: 0 - │ │ │ └── @ SplatNode (location: (6,16)-(6,17)) - │ │ │ ├── operator_loc: (6,16)-(6,17) = "*" - │ │ │ └── expression: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14)) + │ │ │ ├── name: :argument + │ │ │ └── depth: 0 + │ │ └── @ SplatNode (location: (6,16)-(6,17)) + │ │ ├── operator_loc: (6,16)-(6,17) = "*" + │ │ └── expression: ∅ │ ├── closing_loc: (6,17)-(6,18) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:argument, :*] ├── locals_body_index: 2 ├── def_keyword_loc: (5,0)-(5,3) = "def" diff --git a/test/prism/snapshots/unparser/corpus/literal/super.txt b/test/prism/snapshots/unparser/corpus/literal/super.txt index 8bc734749b..c4f3c0efca 100644 --- a/test/prism/snapshots/unparser/corpus/literal/super.txt +++ b/test/prism/snapshots/unparser/corpus/literal/super.txt @@ -16,18 +16,18 @@ │ ├── lparen_loc: (3,5)-(3,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (3,6)-(3,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,6)-(3,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (3,6)-(3,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,6)-(3,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (3,6)-(3,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── rparen_loc: (3,7)-(3,8) = ")" │ └── block: ∅ ├── @ SuperNode (location: (4,0)-(4,11)) @@ -35,28 +35,28 @@ │ ├── lparen_loc: (4,5)-(4,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (4,6)-(4,10)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (4,6)-(4,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (4,6)-(4,7) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (4,9)-(4,10)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (4,9)-(4,10) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (4,6)-(4,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a + │ │ │ ├── message_loc: (4,6)-(4,7) = "a" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (4,9)-(4,10)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (4,9)-(4,10) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── rparen_loc: (4,10)-(4,11) = ")" │ └── block: ∅ ├── @ SuperNode (location: (5,0)-(5,13)) @@ -68,6 +68,7 @@ │ @ BlockArgumentNode (location: (5,6)-(5,12)) │ ├── expression: │ │ @ CallNode (location: (5,7)-(5,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :block @@ -75,31 +76,31 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── operator_loc: (5,6)-(5,7) = "&" ├── @ SuperNode (location: (6,0)-(6,16)) │ ├── keyword_loc: (6,0)-(6,5) = "super" │ ├── lparen_loc: (6,5)-(6,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (6,6)-(6,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (6,6)-(6,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (6,6)-(6,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (6,6)-(6,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (6,6)-(6,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── rparen_loc: (6,15)-(6,16) = ")" │ └── block: │ @ BlockArgumentNode (location: (6,9)-(6,15)) │ ├── expression: │ │ @ CallNode (location: (6,10)-(6,15)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :block @@ -107,45 +108,44 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── operator_loc: (6,9)-(6,10) = "&" ├── @ SuperNode (location: (7,0)-(9,2)) │ ├── keyword_loc: (7,0)-(7,5) = "super" │ ├── lparen_loc: (7,5)-(7,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,6)-(9,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (7,6)-(9,1)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (7,6)-(7,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (7,8)-(9,1)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (8,2)-(8,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (8,2)-(8,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── message_loc: (8,2)-(8,5) = "foo" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── opening_loc: (7,8)-(7,9) = "{" - │ │ │ │ └── closing_loc: (9,0)-(9,1) = "}" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (7,6)-(9,1)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (7,6)-(7,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (7,8)-(9,1)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (8,2)-(8,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (8,2)-(8,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (8,2)-(8,5) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (7,8)-(7,9) = "{" + │ │ └── closing_loc: (9,0)-(9,1) = "}" │ ├── rparen_loc: (9,1)-(9,2) = ")" │ └── block: ∅ ├── @ ForwardingSuperNode (location: (10,0)-(12,1)) @@ -158,6 +158,7 @@ │ │ @ StatementsNode (location: (11,2)-(11,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,2)-(11,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -165,8 +166,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (10,6)-(10,7) = "{" │ └── closing_loc: (12,0)-(12,1) = "}" ├── @ SuperNode (location: (13,0)-(15,1)) @@ -174,18 +174,18 @@ │ ├── lparen_loc: (13,5)-(13,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (13,6)-(13,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (13,6)-(13,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (13,6)-(13,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (13,6)-(13,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (13,6)-(13,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── rparen_loc: (13,7)-(13,8) = ")" │ └── block: │ @ BlockNode (location: (13,9)-(15,1)) @@ -196,6 +196,7 @@ │ │ @ StatementsNode (location: (14,2)-(14,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,2)-(14,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -203,8 +204,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (13,9)-(13,10) = "{" │ └── closing_loc: (15,0)-(15,1) = "}" ├── @ SuperNode (location: (16,0)-(18,1)) @@ -221,6 +221,7 @@ │ │ @ StatementsNode (location: (17,2)-(17,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (17,2)-(17,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -228,8 +229,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (16,8)-(16,9) = "{" │ └── closing_loc: (18,0)-(18,1) = "}" └── @ SuperNode (location: (19,0)-(21,1)) @@ -237,28 +237,28 @@ ├── lparen_loc: (19,5)-(19,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (19,6)-(19,10)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (19,6)-(19,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (19,6)-(19,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ CallNode (location: (19,9)-(19,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :b - │ │ ├── message_loc: (19,9)-(19,10) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (19,6)-(19,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (19,6)-(19,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ CallNode (location: (19,9)-(19,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :b + │ ├── message_loc: (19,9)-(19,10) = "b" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── rparen_loc: (19,10)-(19,11) = ")" └── block: @ BlockNode (location: (19,12)-(21,1)) @@ -269,6 +269,7 @@ │ @ StatementsNode (location: (20,2)-(20,5)) │ └── body: (length: 1) │ └── @ CallNode (location: (20,2)-(20,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -276,7 +277,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── opening_loc: (19,12)-(19,13) = "{" └── closing_loc: (21,0)-(21,1) = "}" diff --git a/test/prism/snapshots/unparser/corpus/literal/unary.txt b/test/prism/snapshots/unparser/corpus/literal/unary.txt index 1828fc9926..97eec0c01e 100644 --- a/test/prism/snapshots/unparser/corpus/literal/unary.txt +++ b/test/prism/snapshots/unparser/corpus/literal/unary.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(8,9)) └── body: (length: 8) ├── @ CallNode (location: (1,0)-(1,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (1,1)-(1,2)) │ │ └── flags: decimal @@ -13,15 +14,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (2,1)-(2,5)) │ │ ├── body: │ │ │ @ StatementsNode (location: (2,2)-(2,4)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ IntegerNode (location: (2,3)-(2,4)) │ │ │ │ └── flags: decimal @@ -31,8 +33,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (2,1)-(2,2) = "(" │ │ └── closing_loc: (2,4)-(2,5) = ")" │ ├── call_operator_loc: ∅ @@ -41,15 +42,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (3,1)-(3,16)) │ │ ├── body: │ │ │ @ StatementsNode (location: (3,2)-(3,15)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ParenthesesNode (location: (3,3)-(3,15)) │ │ │ │ ├── body: @@ -58,6 +60,7 @@ │ │ │ │ │ └── @ OrNode (location: (3,4)-(3,14)) │ │ │ │ │ ├── left: │ │ │ │ │ │ @ CallNode (location: (3,4)-(3,7)) + │ │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :foo @@ -65,10 +68,10 @@ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ ├── right: │ │ │ │ │ │ @ CallNode (location: (3,11)-(3,14)) + │ │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :bar @@ -76,8 +79,7 @@ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ └── operator_loc: (3,8)-(3,10) = "||" │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" │ │ │ │ └── closing_loc: (3,14)-(3,15) = ")" @@ -87,8 +89,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (3,1)-(3,2) = "(" │ │ └── closing_loc: (3,15)-(3,16) = ")" │ ├── call_operator_loc: ∅ @@ -97,17 +98,19 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (4,0)-(4,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (4,1)-(4,9)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ParenthesesNode (location: (4,1)-(4,5)) │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (4,2)-(4,4)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (4,2)-(4,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ IntegerNode (location: (4,3)-(4,4)) │ │ │ │ │ └── flags: decimal @@ -117,8 +120,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── opening_loc: (4,1)-(4,2) = "(" │ │ │ └── closing_loc: (4,4)-(4,5) = ")" │ │ ├── call_operator_loc: (4,5)-(4,6) = "." @@ -127,19 +129,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (4,0)-(4,1) = "!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,1)-(5,2)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -147,19 +149,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :~ │ ├── message_loc: (5,0)-(5,1) = "~" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (6,0)-(6,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (6,1)-(6,2)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -167,19 +169,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :-@ │ ├── message_loc: (6,0)-(6,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (7,1)-(7,2)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -187,27 +189,29 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :+@ │ ├── message_loc: (7,0)-(7,1) = "+" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (8,0)-(8,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (8,1)-(8,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (8,1)-(8,5)) │ │ ├── body: │ │ │ @ StatementsNode (location: (8,2)-(8,4)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (8,2)-(8,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (8,3)-(8,4)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -215,16 +219,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :-@ │ │ │ ├── message_loc: (8,2)-(8,3) = "-" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (8,1)-(8,2) = "(" │ │ └── closing_loc: (8,4)-(8,5) = ")" │ ├── call_operator_loc: (8,5)-(8,6) = "." @@ -233,13 +235,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :-@ ├── message_loc: (8,0)-(8,1) = "-" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/variables.txt b/test/prism/snapshots/unparser/corpus/literal/variables.txt index c894d5803e..a667bc7e8b 100644 --- a/test/prism/snapshots/unparser/corpus/literal/variables.txt +++ b/test/prism/snapshots/unparser/corpus/literal/variables.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(10,17)) └── body: (length: 10) ├── @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,8 +12,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ InstanceVariableReadNode (location: (2,0)-(2,2)) │ └── name: :@a ├── @ ClassVariableReadNode (location: (3,0)-(3,3)) diff --git a/test/prism/snapshots/unparser/corpus/literal/while.txt b/test/prism/snapshots/unparser/corpus/literal/while.txt index c5221a0a18..0758d82127 100644 --- a/test/prism/snapshots/unparser/corpus/literal/while.txt +++ b/test/prism/snapshots/unparser/corpus/literal/while.txt @@ -13,6 +13,7 @@ │ │ @ StatementsNode (location: (2,2)-(6,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(6,3)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -20,59 +21,58 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (2,6)-(6,3)) - │ │ │ ├── locals: [:bar, :foo] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (2,8)-(2,13)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (2,9)-(2,12)) - │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12)) - │ │ │ │ │ │ └── name: :bar - │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (2,8)-(2,9) = "|" - │ │ │ │ └── closing_loc: (2,12)-(2,13) = "|" - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,4)-(5,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ WhileNode (location: (3,4)-(5,7)) - │ │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while" - │ │ │ │ ├── closing_loc: (5,4)-(5,7) = "end" - │ │ │ │ ├── predicate: - │ │ │ │ │ @ CallNode (location: (3,10)-(3,13)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (4,6)-(4,15)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── depth: 0 - │ │ │ │ │ ├── name_loc: (4,6)-(4,9) = "foo" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15)) - │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ └── depth: 0 - │ │ │ │ │ └── operator_loc: (4,10)-(4,11) = "=" - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (2,6)-(2,7) = "{" - │ │ │ └── closing_loc: (6,2)-(6,3) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (2,6)-(6,3)) + │ │ ├── locals: [:bar, :foo] + │ │ ├── locals_body_index: 1 + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (2,8)-(2,13)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (2,9)-(2,12)) + │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12)) + │ │ │ │ │ └── name: :bar + │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (2,8)-(2,9) = "|" + │ │ │ └── closing_loc: (2,12)-(2,13) = "|" + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,4)-(5,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ WhileNode (location: (3,4)-(5,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while" + │ │ │ ├── closing_loc: (5,4)-(5,7) = "end" + │ │ │ ├── predicate: + │ │ │ │ @ CallNode (location: (3,10)-(3,13)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo + │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── statements: + │ │ │ @ StatementsNode (location: (4,6)-(4,15)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15)) + │ │ │ ├── name: :foo + │ │ │ ├── depth: 0 + │ │ │ ├── name_loc: (4,6)-(4,9) = "foo" + │ │ │ ├── value: + │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15)) + │ │ │ │ ├── name: :bar + │ │ │ │ └── depth: 0 + │ │ │ └── operator_loc: (4,10)-(4,11) = "=" + │ │ ├── opening_loc: (2,6)-(2,7) = "{" + │ │ └── closing_loc: (6,2)-(6,3) = "}" │ ├── end_keyword_loc: (7,0)-(7,3) = "end" │ └── name: :A ├── @ DefNode (location: (9,0)-(11,3)) @@ -84,10 +84,12 @@ │ │ @ StatementsNode (location: (10,2)-(10,28)) │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (10,2)-(10,28)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (10,12)-(10,17) = "while" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ CallNode (location: (10,18)-(10,28)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (10,18)-(10,21)) │ │ │ │ ├── name: :foo @@ -98,41 +100,39 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (10,25)-(10,28)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (10,25)-(10,28)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (10,25)-(10,28)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (10,2)-(10,11)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11)) - │ │ │ ├── name: :foo - │ │ │ ├── depth: 0 - │ │ │ ├── name_loc: (10,2)-(10,5) = "foo" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (10,8)-(10,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (10,8)-(10,11) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (10,6)-(10,7) = "=" - │ │ └── flags: ∅ + │ │ │ └── block: ∅ + │ │ └── statements: + │ │ @ StatementsNode (location: (10,2)-(10,11)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11)) + │ │ ├── name: :foo + │ │ ├── depth: 0 + │ │ ├── name_loc: (10,2)-(10,5) = "foo" + │ │ ├── value: + │ │ │ @ CallNode (location: (10,8)-(10,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (10,8)-(10,11) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (10,6)-(10,7) = "=" │ ├── locals: [:foo] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (9,0)-(9,3) = "def" @@ -151,32 +151,32 @@ │ │ @ StatementsNode (location: (14,2)-(14,21)) │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (14,2)-(14,21)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (14,12)-(14,17) = "while" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ LocalVariableReadNode (location: (14,18)-(14,21)) │ │ │ ├── name: :foo │ │ │ └── depth: 0 - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (14,2)-(14,11)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11)) - │ │ │ ├── name: :foo - │ │ │ ├── depth: 0 - │ │ │ ├── name_loc: (14,2)-(14,5) = "foo" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (14,8)-(14,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (14,8)-(14,11) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (14,6)-(14,7) = "=" - │ │ └── flags: ∅ + │ │ └── statements: + │ │ @ StatementsNode (location: (14,2)-(14,11)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11)) + │ │ ├── name: :foo + │ │ ├── depth: 0 + │ │ ├── name_loc: (14,2)-(14,5) = "foo" + │ │ ├── value: + │ │ │ @ CallNode (location: (14,8)-(14,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (14,8)-(14,11) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (14,6)-(14,7) = "=" │ ├── end_keyword_loc: (15,0)-(15,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (17,0)-(19,3)) @@ -189,32 +189,32 @@ │ │ @ StatementsNode (location: (18,2)-(18,21)) │ │ └── body: (length: 1) │ │ └── @ UntilNode (location: (18,2)-(18,21)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (18,12)-(18,17) = "until" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ LocalVariableReadNode (location: (18,18)-(18,21)) │ │ │ ├── name: :foo │ │ │ └── depth: 0 - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (18,2)-(18,11)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11)) - │ │ │ ├── name: :foo - │ │ │ ├── depth: 0 - │ │ │ ├── name_loc: (18,2)-(18,5) = "foo" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (18,8)-(18,11)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (18,8)-(18,11) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (18,6)-(18,7) = "=" - │ │ └── flags: ∅ + │ │ └── statements: + │ │ @ StatementsNode (location: (18,2)-(18,11)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11)) + │ │ ├── name: :foo + │ │ ├── depth: 0 + │ │ ├── name_loc: (18,2)-(18,5) = "foo" + │ │ ├── value: + │ │ │ @ CallNode (location: (18,8)-(18,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (18,8)-(18,11) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (18,6)-(18,7) = "=" │ ├── end_keyword_loc: (19,0)-(19,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (21,0)-(25,3)) @@ -227,10 +227,12 @@ │ │ @ StatementsNode (location: (22,2)-(24,5)) │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (22,2)-(24,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (22,2)-(22,7) = "while" │ │ ├── closing_loc: (24,2)-(24,5) = "end" │ │ ├── predicate: │ │ │ @ CallNode (location: (22,8)-(22,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -238,28 +240,26 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (23,4)-(23,13)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13)) - │ │ │ ├── name: :foo - │ │ │ ├── depth: 0 - │ │ │ ├── name_loc: (23,4)-(23,7) = "foo" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (23,10)-(23,13)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (23,8)-(23,9) = "=" - │ │ └── flags: ∅ + │ │ │ └── block: ∅ + │ │ └── statements: + │ │ @ StatementsNode (location: (23,4)-(23,13)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13)) + │ │ ├── name: :foo + │ │ ├── depth: 0 + │ │ ├── name_loc: (23,4)-(23,7) = "foo" + │ │ ├── value: + │ │ │ @ CallNode (location: (23,10)-(23,13)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (23,10)-(23,13) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (23,8)-(23,9) = "=" │ ├── end_keyword_loc: (25,0)-(25,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (27,0)-(33,3)) @@ -272,6 +272,7 @@ │ │ @ StatementsNode (location: (28,2)-(32,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (28,2)-(32,3)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :each @@ -279,66 +280,65 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (28,7)-(32,3)) - │ │ │ ├── locals: [:baz, :foo] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (28,9)-(28,14)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (28,10)-(28,13)) - │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13)) - │ │ │ │ │ │ └── name: :baz - │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (28,9)-(28,10) = "|" - │ │ │ │ └── closing_loc: (28,13)-(28,14) = "|" - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (29,4)-(31,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ WhileNode (location: (29,4)-(31,7)) - │ │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while" - │ │ │ │ ├── closing_loc: (31,4)-(31,7) = "end" - │ │ │ │ ├── predicate: - │ │ │ │ │ @ CallNode (location: (29,10)-(29,13)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (30,6)-(30,15)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── depth: 0 - │ │ │ │ │ ├── name_loc: (30,6)-(30,9) = "foo" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (30,12)-(30,15)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── operator_loc: (30,10)-(30,11) = "=" - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (28,7)-(28,8) = "{" - │ │ │ └── closing_loc: (32,2)-(32,3) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (28,7)-(32,3)) + │ │ ├── locals: [:baz, :foo] + │ │ ├── locals_body_index: 1 + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (28,9)-(28,14)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (28,10)-(28,13)) + │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13)) + │ │ │ │ │ └── name: :baz + │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (28,9)-(28,10) = "|" + │ │ │ └── closing_loc: (28,13)-(28,14) = "|" + │ │ ├── body: + │ │ │ @ StatementsNode (location: (29,4)-(31,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ WhileNode (location: (29,4)-(31,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while" + │ │ │ ├── closing_loc: (31,4)-(31,7) = "end" + │ │ │ ├── predicate: + │ │ │ │ @ CallNode (location: (29,10)-(29,13)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo + │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── statements: + │ │ │ @ StatementsNode (location: (30,6)-(30,15)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15)) + │ │ │ ├── name: :foo + │ │ │ ├── depth: 0 + │ │ │ ├── name_loc: (30,6)-(30,9) = "foo" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (30,12)-(30,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (30,10)-(30,11) = "=" + │ │ ├── opening_loc: (28,7)-(28,8) = "{" + │ │ └── closing_loc: (32,2)-(32,3) = "}" │ ├── end_keyword_loc: (33,0)-(33,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (35,0)-(41,3)) @@ -351,6 +351,7 @@ │ │ @ StatementsNode (location: (36,2)-(40,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (36,2)-(40,3)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :each @@ -358,59 +359,58 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (36,7)-(40,3)) - │ │ │ ├── locals: [:foo] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (36,9)-(36,14)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (36,10)-(36,13)) - │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13)) - │ │ │ │ │ │ └── name: :foo - │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (36,9)-(36,10) = "|" - │ │ │ │ └── closing_loc: (36,13)-(36,14) = "|" - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (37,4)-(39,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ WhileNode (location: (37,4)-(39,7)) - │ │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while" - │ │ │ │ ├── closing_loc: (39,4)-(39,7) = "end" - │ │ │ │ ├── predicate: - │ │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (38,6)-(38,15)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── depth: 0 - │ │ │ │ │ ├── name_loc: (38,6)-(38,9) = "foo" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (38,12)-(38,15)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── operator_loc: (38,10)-(38,11) = "=" - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (36,7)-(36,8) = "{" - │ │ │ └── closing_loc: (40,2)-(40,3) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (36,7)-(40,3)) + │ │ ├── locals: [:foo] + │ │ ├── locals_body_index: 1 + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (36,9)-(36,14)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (36,10)-(36,13)) + │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13)) + │ │ │ │ │ └── name: :foo + │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (36,9)-(36,10) = "|" + │ │ │ └── closing_loc: (36,13)-(36,14) = "|" + │ │ ├── body: + │ │ │ @ StatementsNode (location: (37,4)-(39,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ WhileNode (location: (37,4)-(39,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while" + │ │ │ ├── closing_loc: (39,4)-(39,7) = "end" + │ │ │ ├── predicate: + │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13)) + │ │ │ │ ├── name: :foo + │ │ │ │ └── depth: 0 + │ │ │ └── statements: + │ │ │ @ StatementsNode (location: (38,6)-(38,15)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15)) + │ │ │ ├── name: :foo + │ │ │ ├── depth: 0 + │ │ │ ├── name_loc: (38,6)-(38,9) = "foo" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (38,12)-(38,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (38,10)-(38,11) = "=" + │ │ ├── opening_loc: (36,7)-(36,8) = "{" + │ │ └── closing_loc: (40,2)-(40,3) = "}" │ ├── end_keyword_loc: (41,0)-(41,3) = "end" │ └── name: :A ├── @ LocalVariableWriteNode (location: (42,0)-(44,14)) @@ -423,10 +423,12 @@ │ │ │ @ StatementsNode (location: (42,5)-(44,13)) │ │ │ └── body: (length: 1) │ │ │ └── @ WhileNode (location: (42,5)-(44,13)) + │ │ │ ├── flags: begin_modifier │ │ │ ├── keyword_loc: (44,4)-(44,9) = "while" │ │ │ ├── closing_loc: ∅ │ │ │ ├── predicate: │ │ │ │ @ CallNode (location: (44,10)-(44,13)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -434,39 +436,39 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (42,5)-(44,3)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ BeginNode (location: (42,5)-(44,3)) - │ │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (43,2)-(43,5)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (43,2)-(43,5)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── rescue_clause: ∅ - │ │ │ │ ├── else_clause: ∅ - │ │ │ │ ├── ensure_clause: ∅ - │ │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end" - │ │ │ └── flags: begin_modifier + │ │ │ │ └── block: ∅ + │ │ │ └── statements: + │ │ │ @ StatementsNode (location: (42,5)-(44,3)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ BeginNode (location: (42,5)-(44,3)) + │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (43,2)-(43,5)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (43,2)-(43,5)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo + │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── rescue_clause: ∅ + │ │ │ ├── else_clause: ∅ + │ │ │ ├── ensure_clause: ∅ + │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end" │ │ ├── opening_loc: (42,4)-(42,5) = "(" │ │ └── closing_loc: (44,13)-(44,14) = ")" │ └── operator_loc: (42,2)-(42,3) = "=" ├── @ WhileNode (location: (45,0)-(47,13)) + │ ├── flags: begin_modifier │ ├── keyword_loc: (47,4)-(47,9) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (47,10)-(47,13)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -474,36 +476,36 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── statements: - │ │ @ StatementsNode (location: (45,0)-(47,3)) - │ │ └── body: (length: 1) - │ │ └── @ BeginNode (location: (45,0)-(47,3)) - │ │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (46,2)-(46,5)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (46,2)-(46,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (46,2)-(46,5) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (47,0)-(47,3) = "end" - │ └── flags: begin_modifier + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (45,0)-(47,3)) + │ └── body: (length: 1) + │ └── @ BeginNode (location: (45,0)-(47,3)) + │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (46,2)-(46,5)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (46,2)-(46,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (46,2)-(46,5) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (47,0)-(47,3) = "end" ├── @ UntilNode (location: (48,0)-(51,13)) + │ ├── flags: begin_modifier │ ├── keyword_loc: (51,4)-(51,9) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (51,10)-(51,13)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -511,46 +513,46 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── statements: - │ │ @ StatementsNode (location: (48,0)-(51,3)) - │ │ └── body: (length: 1) - │ │ └── @ BeginNode (location: (48,0)-(51,3)) - │ │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (49,2)-(50,5)) - │ │ │ └── body: (length: 2) - │ │ │ ├── @ CallNode (location: (49,2)-(49,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (49,2)-(49,5) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (50,2)-(50,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (50,2)-(50,5) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (51,0)-(51,3) = "end" - │ └── flags: begin_modifier + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (48,0)-(51,3)) + │ └── body: (length: 1) + │ └── @ BeginNode (location: (48,0)-(51,3)) + │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (49,2)-(50,5)) + │ │ └── body: (length: 2) + │ │ ├── @ CallNode (location: (49,2)-(49,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (49,2)-(49,5) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (50,2)-(50,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (50,2)-(50,5) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (51,0)-(51,3) = "end" ├── @ WhileNode (location: (52,0)-(55,13)) + │ ├── flags: begin_modifier │ ├── keyword_loc: (55,4)-(55,9) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (55,10)-(55,13)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -558,60 +560,59 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── statements: - │ │ @ StatementsNode (location: (52,0)-(55,3)) - │ │ └── body: (length: 1) - │ │ └── @ BeginNode (location: (52,0)-(55,3)) - │ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (53,2)-(54,5)) - │ │ │ └── body: (length: 2) - │ │ │ ├── @ CallNode (location: (53,2)-(53,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (54,2)-(54,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (54,2)-(54,5) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (55,0)-(55,3) = "end" - │ └── flags: begin_modifier + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (52,0)-(55,3)) + │ └── body: (length: 1) + │ └── @ BeginNode (location: (52,0)-(55,3)) + │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (53,2)-(54,5)) + │ │ └── body: (length: 2) + │ │ ├── @ CallNode (location: (53,2)-(53,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (53,2)-(53,5) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (54,2)-(54,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (54,2)-(54,5) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (55,0)-(55,3) = "end" ├── @ WhileNode (location: (56,0)-(57,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (56,0)-(56,5) = "while" │ ├── closing_loc: (57,0)-(57,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (56,6)-(56,11)) - │ ├── statements: ∅ - │ └── flags: ∅ + │ └── statements: ∅ ├── @ WhileNode (location: (58,0)-(60,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (58,0)-(58,5) = "while" │ ├── closing_loc: (60,0)-(60,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (58,6)-(58,11)) - │ ├── statements: - │ │ @ StatementsNode (location: (59,2)-(59,3)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (59,2)-(59,3)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (59,2)-(59,3)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (59,2)-(59,3)) + │ └── flags: decimal ├── @ WhileNode (location: (61,0)-(64,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (61,0)-(61,5) = "while" │ ├── closing_loc: (64,0)-(64,3) = "end" │ ├── predicate: @@ -620,6 +621,7 @@ │ │ │ @ StatementsNode (location: (61,7)-(62,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (61,7)-(62,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -627,45 +629,44 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (61,11)-(62,1)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (61,11)-(61,12) = "{" - │ │ │ │ └── closing_loc: (62,0)-(62,1) = "}" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (61,11)-(62,1)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (61,11)-(61,12) = "{" + │ │ │ └── closing_loc: (62,0)-(62,1) = "}" │ │ ├── opening_loc: (61,6)-(61,7) = "(" │ │ └── closing_loc: (62,1)-(62,2) = ")" - │ ├── statements: - │ │ @ StatementsNode (location: (63,2)-(63,7)) - │ │ └── body: (length: 1) - │ │ └── @ SymbolNode (location: (63,2)-(63,7)) - │ │ ├── opening_loc: (63,2)-(63,3) = ":" - │ │ ├── value_loc: (63,3)-(63,7) = "body" - │ │ ├── closing_loc: ∅ - │ │ └── unescaped: "body" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (63,2)-(63,7)) + │ └── body: (length: 1) + │ └── @ SymbolNode (location: (63,2)-(63,7)) + │ ├── opening_loc: (63,2)-(63,3) = ":" + │ ├── value_loc: (63,3)-(63,7) = "body" + │ ├── closing_loc: ∅ + │ └── unescaped: "body" ├── @ UntilNode (location: (65,0)-(66,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (65,0)-(65,5) = "until" │ ├── closing_loc: (66,0)-(66,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (65,6)-(65,11)) - │ ├── statements: ∅ - │ └── flags: ∅ + │ └── statements: ∅ ├── @ UntilNode (location: (67,0)-(69,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (67,0)-(67,5) = "until" │ ├── closing_loc: (69,0)-(69,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (67,6)-(67,11)) - │ ├── statements: - │ │ @ StatementsNode (location: (68,2)-(68,3)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (68,2)-(68,3)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (68,2)-(68,3)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (68,2)-(68,3)) + │ └── flags: decimal └── @ UntilNode (location: (70,0)-(73,3)) + ├── flags: ∅ ├── keyword_loc: (70,0)-(70,5) = "until" ├── closing_loc: (73,0)-(73,3) = "end" ├── predicate: @@ -674,6 +675,7 @@ │ │ @ StatementsNode (location: (70,7)-(71,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (70,7)-(71,1)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -681,23 +683,21 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (70,11)-(71,1)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (70,11)-(70,12) = "{" - │ │ │ └── closing_loc: (71,0)-(71,1) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (70,11)-(71,1)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (70,11)-(70,12) = "{" + │ │ └── closing_loc: (71,0)-(71,1) = "}" │ ├── opening_loc: (70,6)-(70,7) = "(" │ └── closing_loc: (71,1)-(71,2) = ")" - ├── statements: - │ @ StatementsNode (location: (72,2)-(72,7)) - │ └── body: (length: 1) - │ └── @ SymbolNode (location: (72,2)-(72,7)) - │ ├── opening_loc: (72,2)-(72,3) = ":" - │ ├── value_loc: (72,3)-(72,7) = "body" - │ ├── closing_loc: ∅ - │ └── unescaped: "body" - └── flags: ∅ + └── statements: + @ StatementsNode (location: (72,2)-(72,7)) + └── body: (length: 1) + └── @ SymbolNode (location: (72,2)-(72,7)) + ├── opening_loc: (72,2)-(72,3) = ":" + ├── value_loc: (72,3)-(72,7) = "body" + ├── closing_loc: ∅ + └── unescaped: "body" diff --git a/test/prism/snapshots/unparser/corpus/literal/yield.txt b/test/prism/snapshots/unparser/corpus/literal/yield.txt index dcedb07426..a1c0f25855 100644 --- a/test/prism/snapshots/unparser/corpus/literal/yield.txt +++ b/test/prism/snapshots/unparser/corpus/literal/yield.txt @@ -13,44 +13,44 @@ │ ├── lparen_loc: (2,5)-(2,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (2,6)-(2,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (2,6)-(2,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (2,6)-(2,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (2,6)-(2,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (2,6)-(2,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ └── rparen_loc: (2,7)-(2,8) = ")" └── @ YieldNode (location: (3,0)-(3,11)) ├── keyword_loc: (3,0)-(3,5) = "yield" ├── lparen_loc: (3,5)-(3,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (3,6)-(3,10)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (3,6)-(3,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (3,6)-(3,7) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ CallNode (location: (3,9)-(3,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :b - │ │ ├── message_loc: (3,9)-(3,10) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (3,6)-(3,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (3,6)-(3,7) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ CallNode (location: (3,9)-(3,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :b + │ ├── message_loc: (3,9)-(3,10) = "b" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ └── rparen_loc: (3,10)-(3,11) = ")" diff --git a/test/prism/snapshots/unparser/corpus/semantic/and.txt b/test/prism/snapshots/unparser/corpus/semantic/and.txt index 51ef6ff0a4..c0682a5ecb 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/and.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/and.txt @@ -6,8 +6,10 @@ ├── @ OrNode (location: (1,0)-(1,14)) │ ├── left: │ │ @ RangeNode (location: (1,0)-(1,5)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -15,10 +17,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (1,4)-(1,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -26,14 +28,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (1,1)-(1,4) = "..." - │ │ └── flags: exclude_end + │ │ │ └── block: ∅ + │ │ └── operator_loc: (1,1)-(1,4) = "..." │ ├── right: │ │ @ RangeNode (location: (1,9)-(1,14)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ CallNode (location: (1,9)-(1,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -41,10 +43,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (1,13)-(1,14)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -52,16 +54,16 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (1,10)-(1,13) = "..." - │ │ └── flags: exclude_end + │ │ │ └── block: ∅ + │ │ └── operator_loc: (1,10)-(1,13) = "..." │ └── operator_loc: (1,6)-(1,8) = "or" ├── @ AndNode (location: (2,0)-(2,15)) │ ├── left: │ │ @ RangeNode (location: (2,0)-(2,5)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ CallNode (location: (2,0)-(2,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -69,10 +71,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (2,4)-(2,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -80,14 +82,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (2,1)-(2,4) = "..." - │ │ └── flags: exclude_end + │ │ │ └── block: ∅ + │ │ └── operator_loc: (2,1)-(2,4) = "..." │ ├── right: │ │ @ RangeNode (location: (2,10)-(2,15)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ CallNode (location: (2,10)-(2,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -95,10 +97,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (2,14)-(2,15)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -106,10 +108,8 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (2,11)-(2,14) = "..." - │ │ └── flags: exclude_end + │ │ │ └── block: ∅ + │ │ └── operator_loc: (2,11)-(2,14) = "..." │ └── operator_loc: (2,6)-(2,9) = "and" ├── @ IfNode (location: (4,0)-(5,3)) │ ├── if_keyword_loc: (4,0)-(4,2) = "if" @@ -117,8 +117,10 @@ │ │ @ OrNode (location: (4,3)-(4,17)) │ │ ├── left: │ │ │ @ FlipFlopNode (location: (4,3)-(4,8)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: │ │ │ │ @ CallNode (location: (4,3)-(4,4)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -126,10 +128,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (4,7)-(4,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -137,14 +139,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (4,4)-(4,7) = "..." - │ │ │ └── flags: exclude_end + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (4,4)-(4,7) = "..." │ │ ├── right: │ │ │ @ FlipFlopNode (location: (4,12)-(4,17)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: │ │ │ │ @ CallNode (location: (4,12)-(4,13)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -152,10 +154,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (4,16)-(4,17)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :d @@ -163,10 +165,8 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (4,13)-(4,16) = "..." - │ │ │ └── flags: exclude_end + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (4,13)-(4,16) = "..." │ │ └── operator_loc: (4,9)-(4,11) = "or" │ ├── then_keyword_loc: ∅ │ ├── statements: ∅ @@ -178,8 +178,10 @@ │ @ AndNode (location: (7,3)-(7,18)) │ ├── left: │ │ @ FlipFlopNode (location: (7,3)-(7,8)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ CallNode (location: (7,3)-(7,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -187,10 +189,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (7,7)-(7,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -198,14 +200,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (7,4)-(7,7) = "..." - │ │ └── flags: exclude_end + │ │ │ └── block: ∅ + │ │ └── operator_loc: (7,4)-(7,7) = "..." │ ├── right: │ │ @ FlipFlopNode (location: (7,13)-(7,18)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ CallNode (location: (7,13)-(7,14)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -213,10 +215,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (7,17)-(7,18)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -224,10 +226,8 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (7,14)-(7,17) = "..." - │ │ └── flags: exclude_end + │ │ │ └── block: ∅ + │ │ └── operator_loc: (7,14)-(7,17) = "..." │ └── operator_loc: (7,9)-(7,12) = "and" ├── then_keyword_loc: ∅ ├── statements: ∅ diff --git a/test/prism/snapshots/unparser/corpus/semantic/block.txt b/test/prism/snapshots/unparser/corpus/semantic/block.txt index 94f03c9746..9f490a4ce7 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/block.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(26,3)) └── body: (length: 6) ├── @ CallNode (location: (1,0)-(2,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,16 +12,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,4)-(2,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,4)-(1,6) = "do" - │ │ └── closing_loc: (2,0)-(2,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,4)-(2,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,4)-(1,6) = "do" + │ └── closing_loc: (2,0)-(2,3) = "end" ├── @ CallNode (location: (4,0)-(6,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -28,30 +29,30 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (4,4)-(6,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (5,0)-(6,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: ∅ - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (5,0)-(5,6)) - │ │ │ │ ├── keyword_loc: (5,0)-(5,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 0) - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (6,0)-(6,3) = "end" - │ │ ├── opening_loc: (4,4)-(4,6) = "do" - │ │ └── closing_loc: (6,0)-(6,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (4,4)-(6,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (5,0)-(6,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (5,0)-(5,6)) + │ │ │ ├── keyword_loc: (5,0)-(5,6) = "rescue" + │ │ │ ├── exceptions: (length: 0) + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (6,0)-(6,3) = "end" + │ ├── opening_loc: (4,4)-(4,6) = "do" + │ └── closing_loc: (6,0)-(6,3) = "end" ├── @ CallNode (location: (8,0)-(11,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -59,25 +60,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (8,4)-(11,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (9,2)-(10,5)) - │ │ │ └── body: (length: 2) - │ │ │ ├── @ RescueModifierNode (location: (9,2)-(9,16)) - │ │ │ │ ├── expression: - │ │ │ │ │ @ NilNode (location: (9,2)-(9,5)) - │ │ │ │ ├── keyword_loc: (9,6)-(9,12) = "rescue" - │ │ │ │ └── rescue_expression: - │ │ │ │ @ NilNode (location: (9,13)-(9,16)) - │ │ │ └── @ NilNode (location: (10,2)-(10,5)) - │ │ ├── opening_loc: (8,4)-(8,6) = "do" - │ │ └── closing_loc: (11,0)-(11,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (8,4)-(11,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (9,2)-(10,5)) + │ │ └── body: (length: 2) + │ │ ├── @ RescueModifierNode (location: (9,2)-(9,16)) + │ │ │ ├── expression: + │ │ │ │ @ NilNode (location: (9,2)-(9,5)) + │ │ │ ├── keyword_loc: (9,6)-(9,12) = "rescue" + │ │ │ └── rescue_expression: + │ │ │ @ NilNode (location: (9,13)-(9,16)) + │ │ └── @ NilNode (location: (10,2)-(10,5)) + │ ├── opening_loc: (8,4)-(8,6) = "do" + │ └── closing_loc: (11,0)-(11,3) = "end" ├── @ CallNode (location: (13,0)-(14,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -85,31 +86,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (13,4)-(14,3)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (13,7)-(13,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (13,8)-(13,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (13,7)-(13,8) = "|" - │ │ │ └── closing_loc: (13,9)-(13,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (13,4)-(13,6) = "do" - │ │ └── closing_loc: (14,0)-(14,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (13,4)-(14,3)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (13,7)-(13,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (13,8)-(13,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (13,7)-(13,8) = "|" + │ │ └── closing_loc: (13,9)-(13,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (13,4)-(13,6) = "do" + │ └── closing_loc: (14,0)-(14,3) = "end" ├── @ CallNode (location: (16,0)-(20,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -117,45 +118,45 @@ │ ├── opening_loc: (16,3)-(16,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (16,4)-(16,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (16,4)-(16,10)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (16,4)-(16,10) = "<<-DOC" - │ │ │ ├── content_loc: (17,0)-(18,0) = " b\n" - │ │ │ ├── closing_loc: (18,0)-(19,0) = "DOC\n" - │ │ │ └── unescaped: " b\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (16,4)-(16,10)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (16,4)-(16,10) = "<<-DOC" + │ │ ├── content_loc: (17,0)-(18,0) = " b\n" + │ │ ├── closing_loc: (18,0)-(19,0) = "DOC\n" + │ │ └── unescaped: " b\n" │ ├── closing_loc: (16,10)-(16,11) = ")" - │ ├── block: - │ │ @ BlockNode (location: (16,12)-(20,3)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (16,15)-(16,18)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (16,16)-(16,17)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (16,16)-(16,17)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (16,15)-(16,16) = "|" - │ │ │ └── closing_loc: (16,17)-(16,18) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (19,2)-(19,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (19,2)-(19,3)) - │ │ │ ├── name: :a - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (16,12)-(16,14) = "do" - │ │ └── closing_loc: (20,0)-(20,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (16,12)-(20,3)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (16,15)-(16,18)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (16,16)-(16,17)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (16,16)-(16,17)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (16,15)-(16,16) = "|" + │ │ └── closing_loc: (16,17)-(16,18) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (19,2)-(19,3)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (19,2)-(19,3)) + │ │ ├── name: :a + │ │ └── depth: 0 + │ ├── opening_loc: (16,12)-(16,14) = "do" + │ └── closing_loc: (20,0)-(20,3) = "end" └── @ CallNode (location: (22,0)-(26,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -163,33 +164,32 @@ ├── opening_loc: (22,3)-(22,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (22,4)-(22,10)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (22,4)-(22,10)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (22,4)-(22,10) = "<<-DOC" - │ │ ├── content_loc: (23,0)-(24,0) = " b\n" - │ │ ├── closing_loc: (24,0)-(25,0) = "DOC\n" - │ │ └── unescaped: " b\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (22,4)-(22,10)) + │ ├── flags: ∅ + │ ├── opening_loc: (22,4)-(22,10) = "<<-DOC" + │ ├── content_loc: (23,0)-(24,0) = " b\n" + │ ├── closing_loc: (24,0)-(25,0) = "DOC\n" + │ └── unescaped: " b\n" ├── closing_loc: (22,10)-(22,11) = ")" - ├── block: - │ @ BlockNode (location: (22,12)-(26,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (25,2)-(25,3)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (25,2)-(25,3)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (25,2)-(25,3) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (22,12)-(22,14) = "do" - │ └── closing_loc: (26,0)-(26,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (22,12)-(26,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (25,2)-(25,3)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (25,2)-(25,3)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (25,2)-(25,3) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (22,12)-(22,14) = "do" + └── closing_loc: (26,0)-(26,3) = "end" diff --git a/test/prism/snapshots/unparser/corpus/semantic/def.txt b/test/prism/snapshots/unparser/corpus/semantic/def.txt index 952c486c88..1219d65b4d 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/def.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/def.txt @@ -16,8 +16,10 @@ │ │ │ @ StatementsNode (location: (2,3)-(2,8)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,3)-(2,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (2,3)-(2,4)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -25,29 +27,27 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :- │ │ │ ├── message_loc: (2,5)-(2,6) = "-" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (2,7)-(2,8)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (2,7)-(2,8)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (2,7)-(2,8) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (2,7)-(2,8)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (2,7)-(2,8) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── opening_loc: (2,2)-(2,3) = "(" │ │ └── closing_loc: (2,8)-(2,9) = ")" │ ├── locals: [] @@ -69,6 +69,7 @@ │ └── @ RescueModifierNode (location: (6,2)-(6,20)) │ ├── expression: │ │ @ CallNode (location: (6,2)-(6,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -76,8 +77,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (6,4)-(6,10) = "rescue" │ └── rescue_expression: │ @ ConstantReadNode (location: (6,11)-(6,20)) diff --git a/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt b/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt index 00abd39b81..e87557841f 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt @@ -41,6 +41,7 @@ │ │ @ StatementsNode (location: (11,2)-(11,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,2)-(11,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -48,8 +49,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -60,6 +60,7 @@ │ │ @ StatementsNode (location: (15,2)-(15,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (15,2)-(15,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -67,8 +68,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (16,0)-(17,3)) │ │ ├── keyword_loc: (16,0)-(16,6) = "rescue" @@ -79,6 +79,7 @@ │ │ │ @ StatementsNode (location: (17,2)-(17,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (17,2)-(17,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -86,8 +87,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -98,6 +98,7 @@ │ │ @ StatementsNode (location: (21,2)-(22,3)) │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (21,2)-(21,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -105,9 +106,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (22,2)-(22,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -115,8 +116,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (23,0)-(24,3)) │ │ ├── keyword_loc: (23,0)-(23,6) = "rescue" @@ -127,6 +127,7 @@ │ │ │ @ StatementsNode (location: (24,2)-(24,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (24,2)-(24,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -134,8 +135,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -186,6 +186,7 @@ │ @ StatementsNode (location: (35,2)-(35,3)) │ └── body: (length: 1) │ └── @ CallNode (location: (35,2)-(35,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -193,8 +194,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (36,0)-(39,3)) │ ├── keyword_loc: (36,0)-(36,6) = "rescue" @@ -207,6 +207,7 @@ │ │ @ StatementsNode (location: (37,2)-(37,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (37,2)-(37,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -214,8 +215,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: │ @ RescueNode (location: (38,0)-(39,3)) │ ├── keyword_loc: (38,0)-(38,6) = "rescue" @@ -228,6 +228,7 @@ │ │ @ StatementsNode (location: (39,2)-(39,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (39,2)-(39,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c @@ -235,8 +236,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: @@ -246,6 +246,7 @@ │ │ @ StatementsNode (location: (41,2)-(41,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (41,2)-(41,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -253,7 +254,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (42,0)-(42,3) = "end" └── end_keyword_loc: (42,0)-(42,3) = "end" diff --git a/test/prism/snapshots/unparser/corpus/semantic/literal.txt b/test/prism/snapshots/unparser/corpus/semantic/literal.txt index 221be0775c..c4bb54a9ec 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/literal.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/literal.txt @@ -24,18 +24,19 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── @ RegularExpressionNode (location: (9,0)-(9,5)) + │ ├── flags: ∅ │ ├── opening_loc: (9,0)-(9,3) = "%r(" │ ├── content_loc: (9,3)-(9,4) = "/" │ ├── closing_loc: (9,4)-(9,5) = ")" - │ ├── unescaped: "/" - │ └── flags: ∅ + │ └── unescaped: "/" ├── @ RegularExpressionNode (location: (10,0)-(10,6)) + │ ├── flags: ∅ │ ├── opening_loc: (10,0)-(10,3) = "%r(" │ ├── content_loc: (10,3)-(10,5) = "\\)" │ ├── closing_loc: (10,5)-(10,6) = ")" - │ ├── unescaped: "\\)" - │ └── flags: ∅ + │ └── unescaped: "\\)" ├── @ InterpolatedRegularExpressionNode (location: (11,0)-(11,14)) + │ ├── flags: ∅ │ ├── opening_loc: (11,0)-(11,3) = "%r(" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (11,3)-(11,10)) @@ -52,11 +53,11 @@ │ │ ├── content_loc: (11,10)-(11,13) = "baz" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" - │ ├── closing_loc: (11,13)-(11,14) = ")" - │ └── flags: ∅ + │ └── closing_loc: (11,13)-(11,14) = ")" ├── @ FloatNode (location: (12,0)-(12,16)) ├── @ FloatNode (location: (13,0)-(13,17)) └── @ CallNode (location: (14,0)-(14,10)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :w @@ -64,31 +65,30 @@ ├── opening_loc: (14,1)-(14,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (14,2)-(14,9)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (14,2)-(14,9)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (14,2)-(14,5) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (14,6)-(14,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (14,6)-(14,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (14,6)-(14,9) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (14,2)-(14,9)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (14,2)-(14,5) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (14,6)-(14,9)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (14,6)-(14,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (14,6)-(14,9) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (14,9)-(14,10) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/unparser/corpus/semantic/send.txt b/test/prism/snapshots/unparser/corpus/semantic/send.txt index 7f359ed765..8cb28a8e57 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/send.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/send.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(6,15)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -21,20 +22,23 @@ │ ├── opening_loc: (2,3)-(2,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (2,4)-(2,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (2,4)-(2,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (2,4)-(2,5)) + │ │ └── flags: decimal │ ├── closing_loc: (2,5)-(2,6) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (4,0)-(4,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (4,0)-(4,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (4,0)-(4,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (4,0)-(4,1)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -42,61 +46,59 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: (4,1)-(4,2) = "." │ │ │ ├── name: :=== │ │ │ ├── message_loc: (4,2)-(4,5) = "===" │ │ │ ├── opening_loc: (4,5)-(4,6) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (4,6)-(4,7)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (4,6)-(4,7)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (4,6)-(4,7) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (4,6)-(4,7)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (4,6)-(4,7) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: (4,7)-(4,8) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (4,8)-(4,9) = "." │ │ ├── name: :c │ │ ├── message_loc: (4,9)-(4,10) = "c" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :== │ ├── message_loc: (4,11)-(4,13) = "==" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (4,14)-(4,15)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (4,14)-(4,15)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (4,14)-(4,15) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (4,14)-(4,15)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (4,14)-(4,15) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (6,0)-(6,15)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (6,0)-(6,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -104,59 +106,57 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :== ├── message_loc: (6,2)-(6,4) = "==" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (6,5)-(6,15)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (6,5)-(6,15)) - │ │ ├── receiver: - │ │ │ @ CallNode (location: (6,5)-(6,8)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (6,5)-(6,6)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :d - │ │ │ │ ├── message_loc: (6,5)-(6,6) = "d" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: (6,6)-(6,7) = "." - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (6,7)-(6,8) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── call_operator_loc: (6,8)-(6,9) = "." - │ │ ├── name: :=== - │ │ ├── message_loc: (6,9)-(6,12) = "===" - │ │ ├── opening_loc: (6,12)-(6,13) = "(" - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (6,13)-(6,14)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (6,13)-(6,14)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :c - │ │ │ │ ├── message_loc: (6,13)-(6,14) = "c" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: (6,14)-(6,15) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (6,5)-(6,15)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ CallNode (location: (6,5)-(6,8)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (6,5)-(6,6)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d + │ │ │ ├── message_loc: (6,5)-(6,6) = "d" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: (6,6)-(6,7) = "." + │ │ ├── name: :c + │ │ ├── message_loc: (6,7)-(6,8) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── call_operator_loc: (6,8)-(6,9) = "." + │ ├── name: :=== + │ ├── message_loc: (6,9)-(6,12) = "===" + │ ├── opening_loc: (6,12)-(6,13) = "(" + │ ├── arguments: + │ │ @ ArgumentsNode (location: (6,13)-(6,14)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (6,13)-(6,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (6,13)-(6,14) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: (6,14)-(6,15) = ")" + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/unparser/corpus/semantic/while.txt b/test/prism/snapshots/unparser/corpus/semantic/while.txt index 50427884dc..23466c147e 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/while.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/while.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(25,3)) └── body: (length: 7) ├── @ UntilNode (location: (1,0)-(1,13)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,2)-(1,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,8)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b? @@ -15,34 +17,34 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,11)-(1,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,11)-(1,12) = "{" - │ │ │ └── closing_loc: (1,12)-(1,13) = "}" - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (1,0)-(1,1)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,0)-(1,1)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (1,0)-(1,1) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,11)-(1,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,11)-(1,12) = "{" + │ │ └── closing_loc: (1,12)-(1,13) = "}" + │ └── statements: + │ @ StatementsNode (location: (1,0)-(1,1)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (1,0)-(1,1) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ UntilNode (location: (3,0)-(5,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,0)-(3,5) = "until" │ ├── closing_loc: (5,0)-(5,3) = "end" │ ├── predicate: │ │ @ CallNode (location: (3,6)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b? @@ -50,63 +52,63 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (3,9)-(3,11)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (3,9)-(3,10) = "{" - │ │ │ └── closing_loc: (3,10)-(3,11) = "}" - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (4,2)-(4,3)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (4,2)-(4,3)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (4,2)-(4,3) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (3,9)-(3,11)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (3,9)-(3,10) = "{" + │ │ └── closing_loc: (3,10)-(3,11) = "}" + │ └── statements: + │ @ StatementsNode (location: (4,2)-(4,3)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (4,2)-(4,3)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (4,2)-(4,3) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ WhileNode (location: (7,0)-(7,19)) + │ ├── flags: ∅ │ ├── keyword_loc: (7,10)-(7,15) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ LocalVariableReadNode (location: (7,16)-(7,19)) │ │ ├── name: :foo │ │ └── depth: 0 - │ ├── statements: - │ │ @ StatementsNode (location: (7,0)-(7,9)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableWriteNode (location: (7,0)-(7,9)) - │ │ ├── name: :foo - │ │ ├── depth: 0 - │ │ ├── name_loc: (7,0)-(7,3) = "foo" - │ │ ├── value: - │ │ │ @ CallNode (location: (7,6)-(7,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (7,6)-(7,9) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (7,4)-(7,5) = "=" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (7,0)-(7,9)) + │ └── body: (length: 1) + │ └── @ LocalVariableWriteNode (location: (7,0)-(7,9)) + │ ├── name: :foo + │ ├── depth: 0 + │ ├── name_loc: (7,0)-(7,3) = "foo" + │ ├── value: + │ │ @ CallNode (location: (7,6)-(7,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (7,6)-(7,9) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (7,4)-(7,5) = "=" ├── @ UntilNode (location: (9,0)-(9,18)) + │ ├── flags: ∅ │ ├── keyword_loc: (9,2)-(9,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ AndNode (location: (9,8)-(9,18)) │ │ ├── left: │ │ │ @ CallNode (location: (9,8)-(9,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -114,10 +116,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (9,13)-(9,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -125,31 +127,30 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (9,15)-(9,18)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (9,15)-(9,16) = "{" - │ │ │ │ └── closing_loc: (9,17)-(9,18) = "}" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (9,15)-(9,18)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (9,15)-(9,16) = "{" + │ │ │ └── closing_loc: (9,17)-(9,18) = "}" │ │ └── operator_loc: (9,10)-(9,12) = "&&" - │ ├── statements: - │ │ @ StatementsNode (location: (9,0)-(9,1)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (9,0)-(9,1)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (9,0)-(9,1) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (9,0)-(9,1)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (9,0)-(9,1)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (9,0)-(9,1) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ WhileNode (location: (11,0)-(13,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (11,0)-(11,5) = "while" │ ├── closing_loc: (13,0)-(13,3) = "end" │ ├── predicate: @@ -159,6 +160,7 @@ │ │ ├── name_loc: (11,6)-(11,7) = "a" │ │ ├── value: │ │ │ @ CallNode (location: (11,10)-(11,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -166,21 +168,21 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (11,8)-(11,9) = "=" - │ ├── statements: - │ │ @ StatementsNode (location: (12,2)-(12,3)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (12,2)-(12,3)) - │ │ ├── name: :a - │ │ └── depth: 0 - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (12,2)-(12,3)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (12,2)-(12,3)) + │ ├── name: :a + │ └── depth: 0 ├── @ UntilNode (location: (15,0)-(18,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (15,2)-(15,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (15,8)-(18,3)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -188,43 +190,41 @@ │ │ ├── opening_loc: (15,9)-(15,10) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (15,10)-(15,16)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (15,10)-(15,16)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (15,10)-(15,16) = "<<-FOO" - │ │ │ │ ├── content_loc: (16,0)-(16,0) = "" - │ │ │ │ ├── closing_loc: (16,0)-(17,0) = "FOO\n" - │ │ │ │ └── unescaped: "" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (15,10)-(15,16)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (15,10)-(15,16) = "<<-FOO" + │ │ │ ├── content_loc: (16,0)-(16,0) = "" + │ │ │ ├── closing_loc: (16,0)-(17,0) = "FOO\n" + │ │ │ └── unescaped: "" │ │ ├── closing_loc: (15,16)-(15,17) = ")" - │ │ ├── block: - │ │ │ @ BlockNode (location: (15,18)-(18,3)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (17,2)-(17,3)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (17,2)-(17,3)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :c - │ │ │ │ ├── message_loc: (17,2)-(17,3) = "c" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── opening_loc: (15,18)-(15,20) = "do" - │ │ │ └── closing_loc: (18,0)-(18,3) = "end" - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (15,0)-(15,1)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (15,0)-(15,1)) - │ │ ├── name: :a - │ │ └── depth: 0 - │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (15,18)-(18,3)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (17,2)-(17,3)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (17,2)-(17,3)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (17,2)-(17,3) = "c" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (15,18)-(15,20) = "do" + │ │ └── closing_loc: (18,0)-(18,3) = "end" + │ └── statements: + │ @ StatementsNode (location: (15,0)-(15,1)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (15,0)-(15,1)) + │ ├── name: :a + │ └── depth: 0 └── @ ModuleNode (location: (20,0)-(25,3)) ├── locals: [:foo] ├── module_keyword_loc: (20,0)-(20,6) = "module" @@ -240,6 +240,7 @@ │ │ ├── name_loc: (21,2)-(21,5) = "foo" │ │ ├── value: │ │ │ @ CallNode (location: (21,8)-(21,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :exp @@ -247,35 +248,34 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (21,6)-(21,7) = "=" │ └── @ WhileNode (location: (22,2)-(24,5)) + │ ├── flags: ∅ │ ├── keyword_loc: (22,2)-(22,7) = "while" │ ├── closing_loc: (24,2)-(24,5) = "end" │ ├── predicate: │ │ @ LocalVariableReadNode (location: (22,8)-(22,11)) │ │ ├── name: :foo │ │ └── depth: 0 - │ ├── statements: - │ │ @ StatementsNode (location: (23,4)-(23,13)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13)) - │ │ ├── name: :foo - │ │ ├── depth: 0 - │ │ ├── name_loc: (23,4)-(23,7) = "foo" - │ │ ├── value: - │ │ │ @ CallNode (location: (23,10)-(23,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (23,10)-(23,13) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (23,8)-(23,9) = "=" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (23,4)-(23,13)) + │ └── body: (length: 1) + │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13)) + │ ├── name: :foo + │ ├── depth: 0 + │ ├── name_loc: (23,4)-(23,7) = "foo" + │ ├── value: + │ │ @ CallNode (location: (23,10)-(23,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (23,10)-(23,13) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (23,8)-(23,9) = "=" ├── end_keyword_loc: (25,0)-(25,3) = "end" └── name: :A |