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 | |
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')
657 files changed, 25463 insertions, 25474 deletions
diff --git a/test/prism/snapshots/arithmetic.txt b/test/prism/snapshots/arithmetic.txt index ff0638b007..8eebc70dca 100644 --- a/test/prism/snapshots/arithmetic.txt +++ b/test/prism/snapshots/arithmetic.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(13,8)) └── body: (length: 7) ├── @ CallNode (location: (1,0)-(1,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,36 +12,38 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,8)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (1,5)-(1,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (1,5)-(1,8) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :! - │ │ │ ├── message_loc: (1,4)-(1,5) = "!" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,8)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (1,5)-(1,8)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (1,5)-(1,8) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! + │ │ ├── message_loc: (1,4)-(1,5) = "!" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (3,1)-(3,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -48,42 +51,42 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :-@ │ │ ├── message_loc: (3,0)-(3,1) = "-" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :* │ ├── message_loc: (3,4)-(3,5) = "*" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,5)-(3,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,5)-(3,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (3,5)-(3,8) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,5)-(3,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (3,5)-(3,8) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,4)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (5,1)-(5,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -91,38 +94,36 @@ │ │ │ ├── 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: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :** │ ├── message_loc: (5,4)-(5,6) = "**" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,6)-(5,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (5,6)-(5,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (5,6)-(5,9) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (5,6)-(5,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (5,6)-(5,9) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -130,36 +131,38 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,4)-(7,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (7,4)-(7,8)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (7,5)-(7,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (7,5)-(7,8) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :~ - │ │ │ ├── message_loc: (7,4)-(7,5) = "~" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (7,4)-(7,8)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (7,5)-(7,8)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (7,5)-(7,8) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :~ + │ │ ├── message_loc: (7,4)-(7,5) = "~" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (9,0)-(9,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -167,53 +170,52 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :<< │ │ ├── message_loc: (9,4)-(9,6) = "<<" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,7)-(9,10)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (9,7)-(9,10)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (9,7)-(9,10) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (9,7)-(9,10)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (9,7)-(9,10) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :<< │ ├── message_loc: (9,11)-(9,13) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (9,14)-(9,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (9,14)-(9,17)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (9,14)-(9,17) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (9,14)-(9,17)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (9,14)-(9,17) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (11,1)-(11,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (11,1)-(11,2)) │ │ │ └── flags: decimal @@ -223,22 +225,21 @@ │ │ ├── opening_loc: ∅ │ │ ├── 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: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :-@ │ ├── message_loc: (11,0)-(11,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (13,0)-(13,8)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (13,0)-(13,2)) │ └── flags: decimal @@ -248,5 +249,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/arrays.txt b/test/prism/snapshots/arrays.txt index c3d4ba1e6c..8460cbcbdc 100644 --- a/test/prism/snapshots/arrays.txt +++ b/test/prism/snapshots/arrays.txt @@ -4,11 +4,13 @@ @ StatementsNode (location: (1,0)-(142,32)) └── body: (length: 59) ├── @ ArrayNode (location: (1,0)-(1,4)) + │ ├── flags: contains_splat │ ├── elements: (length: 1) │ │ └── @ SplatNode (location: (1,1)-(1,3)) │ │ ├── operator_loc: (1,1)-(1,2) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,2)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -16,14 +18,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (1,3)-(1,4) = "]" - │ └── flags: contains_splat + │ └── closing_loc: (1,3)-(1,4) = "]" ├── @ CallNode (location: (3,0)-(3,23)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -31,51 +33,50 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[]= │ ├── message_loc: (3,3)-(3,13) = "[bar, baz]" │ ├── opening_loc: (3,3)-(3,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (3,4)-(3,23)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ CallNode (location: (3,4)-(3,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (3,4)-(3,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── @ CallNode (location: (3,9)-(3,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (3,9)-(3,12) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ ArrayNode (location: (3,16)-(3,23)) - │ │ │ ├── elements: (length: 3) - │ │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── @ IntegerNode (location: (3,19)-(3,20)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (3,22)-(3,23)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ CallNode (location: (3,4)-(3,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (3,4)-(3,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── @ CallNode (location: (3,9)-(3,12)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (3,9)-(3,12) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ ArrayNode (location: (3,16)-(3,23)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 3) + │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17)) + │ │ │ │ └── flags: decimal + │ │ │ ├── @ IntegerNode (location: (3,19)-(3,20)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (3,22)-(3,23)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: ∅ + │ │ └── closing_loc: ∅ │ ├── closing_loc: (3,12)-(3,13) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ArrayNode (location: (5,0)-(5,13)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (5,1)-(5,12)) │ │ └── elements: (length: 1) @@ -88,6 +89,7 @@ │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ ArrayNode (location: (5,4)-(5,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (5,5)-(5,7)) │ │ │ │ │ ├── opening_loc: (5,5)-(5,6) = ":" @@ -100,13 +102,12 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "c" │ │ │ ├── opening_loc: (5,4)-(5,5) = "[" - │ │ │ ├── closing_loc: (5,11)-(5,12) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (5,11)-(5,12) = "]" │ │ └── operator_loc: ∅ │ ├── opening_loc: (5,0)-(5,1) = "[" - │ ├── closing_loc: (5,12)-(5,13) = "]" - │ └── flags: ∅ + │ └── closing_loc: (5,12)-(5,13) = "]" ├── @ ArrayNode (location: (9,0)-(15,1)) + │ ├── flags: ∅ │ ├── elements: (length: 5) │ │ ├── @ SymbolNode (location: (9,1)-(9,3)) │ │ │ ├── opening_loc: (9,1)-(9,2) = ":" @@ -131,9 +132,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "d" │ ├── opening_loc: (9,0)-(9,1) = "[" - │ ├── closing_loc: (15,0)-(15,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (15,0)-(15,1) = "]" ├── @ ArrayNode (location: (18,0)-(26,1)) + │ ├── flags: ∅ │ ├── elements: (length: 5) │ │ ├── @ SymbolNode (location: (18,1)-(18,3)) │ │ │ ├── opening_loc: (18,1)-(18,2) = ":" @@ -158,15 +159,16 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "d" │ ├── opening_loc: (18,0)-(18,1) = "[" - │ ├── closing_loc: (26,0)-(26,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (26,0)-(26,1) = "]" ├── @ ArrayNode (location: (28,0)-(28,12)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (28,1)-(28,11)) │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (28,1)-(28,11)) │ │ ├── key: │ │ │ @ CallNode (location: (28,1)-(28,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -174,10 +176,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (28,8)-(28,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -185,17 +187,18 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (28,5)-(28,7) = "=>" │ ├── opening_loc: (28,0)-(28,1) = "[" - │ ├── closing_loc: (28,11)-(28,12) = "]" - │ └── flags: ∅ + │ └── closing_loc: (28,11)-(28,12) = "]" ├── @ CallNode (location: (30,0)-(30,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (30,0)-(30,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -203,65 +206,65 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[] │ │ ├── message_loc: (30,3)-(30,8) = "[bar]" │ │ ├── opening_loc: (30,3)-(30,4) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (30,4)-(30,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (30,4)-(30,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (30,4)-(30,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (30,4)-(30,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (30,4)-(30,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: (30,7)-(30,8) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[]= │ ├── message_loc: (30,8)-(30,13) = "[baz]" │ ├── opening_loc: (30,8)-(30,9) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (30,9)-(30,19)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (30,9)-(30,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (30,9)-(30,12) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (30,16)-(30,19)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :qux - │ │ │ ├── message_loc: (30,16)-(30,19) = "qux" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (30,9)-(30,12)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (30,9)-(30,12) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (30,16)-(30,19)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :qux + │ │ ├── message_loc: (30,16)-(30,19) = "qux" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (30,12)-(30,13) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (32,0)-(32,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (32,0)-(32,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (32,0)-(32,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -269,58 +272,57 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[] │ │ ├── message_loc: (32,3)-(32,8) = "[bar]" │ │ ├── opening_loc: (32,3)-(32,4) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (32,4)-(32,7)) - │ │ │ ├── arguments: (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 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (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) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (32,8)-(32,13) = "[baz]" │ ├── opening_loc: (32,8)-(32,9) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (32,9)-(32,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (32,9)-(32,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (32,9)-(32,12) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (32,9)-(32,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (32,9)-(32,12) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (32,12)-(32,13) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ArrayNode (location: (34,0)-(35,1)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (34,0)-(34,1) = "[" - │ ├── closing_loc: (35,0)-(35,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (35,0)-(35,1) = "]" ├── @ CallNode (location: (37,0)-(37,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (37,0)-(37,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -328,42 +330,42 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (37,3)-(37,13) = "[bar, baz]" │ ├── opening_loc: (37,3)-(37,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (37,4)-(37,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (37,4)-(37,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (37,4)-(37,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (37,9)-(37,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (37,9)-(37,12) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (37,4)-(37,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (37,4)-(37,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (37,9)-(37,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (37,9)-(37,12) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (37,12)-(37,13) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -371,54 +373,54 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[]= │ ├── message_loc: (39,3)-(39,13) = "[bar, baz]" │ ├── opening_loc: (39,3)-(39,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (39,4)-(39,19)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ CallNode (location: (39,4)-(39,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (39,4)-(39,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── @ CallNode (location: (39,9)-(39,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (39,9)-(39,12) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (39,16)-(39,19)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :qux - │ │ │ ├── message_loc: (39,16)-(39,19) = "qux" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ CallNode (location: (39,4)-(39,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (39,4)-(39,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── @ CallNode (location: (39,9)-(39,12)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (39,9)-(39,12) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (39,16)-(39,19)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :qux + │ │ ├── message_loc: (39,16)-(39,19) = "qux" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (39,12)-(39,13) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ MultiWriteNode (location: (41,0)-(41,21)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (41,0)-(41,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (41,0)-(41,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -426,24 +428,24 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :[]= │ │ │ ├── message_loc: (41,3)-(41,6) = "[0]" │ │ │ ├── opening_loc: (41,3)-(41,4) = "[" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (41,4)-(41,5)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (41,4)-(41,5)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (41,4)-(41,5)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: (41,5)-(41,6) = "]" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (41,8)-(41,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (41,8)-(41,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -451,21 +453,19 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[]= │ │ ├── message_loc: (41,11)-(41,14) = "[0]" │ │ ├── opening_loc: (41,11)-(41,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (41,12)-(41,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (41,12)-(41,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (41,12)-(41,13)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (41,13)-(41,14) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ @@ -473,17 +473,19 @@ │ ├── operator_loc: (41,15)-(41,16) = "=" │ └── value: │ @ ArrayNode (location: (41,17)-(41,21)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (41,17)-(41,18)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (41,20)-(41,21)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ CallNode (location: (43,0)-(43,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (43,0)-(43,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -491,65 +493,65 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (43,3)-(43,19) = "[bar[baz] = qux]" │ ├── opening_loc: (43,3)-(43,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (43,4)-(43,18)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (43,4)-(43,18)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (43,4)-(43,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (43,4)-(43,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :[]= - │ │ │ ├── message_loc: (43,7)-(43,12) = "[baz]" - │ │ │ ├── opening_loc: (43,7)-(43,8) = "[" - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (43,8)-(43,18)) - │ │ │ │ ├── arguments: (length: 2) - │ │ │ │ │ ├── @ CallNode (location: (43,8)-(43,11)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :baz - │ │ │ │ │ │ ├── message_loc: (43,8)-(43,11) = "baz" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── @ CallNode (location: (43,15)-(43,18)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :qux - │ │ │ │ │ ├── message_loc: (43,15)-(43,18) = "qux" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: (43,11)-(43,12) = "]" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (43,4)-(43,18)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (43,4)-(43,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (43,4)-(43,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :[]= + │ │ ├── message_loc: (43,7)-(43,12) = "[baz]" + │ │ ├── opening_loc: (43,7)-(43,8) = "[" + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (43,8)-(43,18)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ CallNode (location: (43,8)-(43,11)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz + │ │ │ │ ├── message_loc: (43,8)-(43,11) = "baz" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── @ CallNode (location: (43,15)-(43,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :qux + │ │ │ ├── message_loc: (43,15)-(43,18) = "qux" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: (43,11)-(43,12) = "]" + │ │ └── block: ∅ │ ├── closing_loc: (43,18)-(43,19) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -557,32 +559,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (45,3)-(45,8) = "[bar]" │ ├── opening_loc: (45,3)-(45,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (45,4)-(45,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (45,4)-(45,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (45,4)-(45,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (45,4)-(45,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (45,4)-(45,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (45,7)-(45,8) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (47,0)-(47,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -590,40 +592,39 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[]= │ ├── message_loc: (47,3)-(47,8) = "[bar]" │ ├── opening_loc: (47,3)-(47,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (47,4)-(47,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (47,4)-(47,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (47,4)-(47,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (47,11)-(47,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (47,11)-(47,14) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (47,4)-(47,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (47,4)-(47,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (47,11)-(47,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (47,11)-(47,14) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (47,7)-(47,8) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ArrayNode (location: (49,0)-(49,6)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (49,1)-(49,5)) │ │ └── elements: (length: 1) @@ -635,15 +636,16 @@ │ │ │ └── closing_loc: (49,4)-(49,5) = "}" │ │ └── operator_loc: (49,1)-(49,3) = "**" │ ├── opening_loc: (49,0)-(49,1) = "[" - │ ├── closing_loc: (49,5)-(49,6) = "]" - │ └── flags: ∅ + │ └── closing_loc: (49,5)-(49,6) = "]" ├── @ ArrayNode (location: (51,0)-(51,6)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (51,1)-(51,5)) │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (51,1)-(51,5)) │ │ ├── value: │ │ │ @ CallNode (location: (51,3)-(51,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :kw @@ -651,13 +653,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (51,1)-(51,3) = "**" │ ├── opening_loc: (51,0)-(51,1) = "[" - │ ├── closing_loc: (51,5)-(51,6) = "]" - │ └── flags: ∅ + │ └── closing_loc: (51,5)-(51,6) = "]" ├── @ ArrayNode (location: (53,0)-(53,9)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (53,1)-(53,2)) │ │ │ └── flags: decimal @@ -666,6 +667,7 @@ │ │ └── @ AssocSplatNode (location: (53,4)-(53,8)) │ │ ├── value: │ │ │ @ CallNode (location: (53,6)-(53,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :kw @@ -673,13 +675,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (53,4)-(53,6) = "**" │ ├── opening_loc: (53,0)-(53,1) = "[" - │ ├── closing_loc: (53,8)-(53,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (53,8)-(53,9) = "]" ├── @ ArrayNode (location: (55,0)-(55,21)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (55,1)-(55,2)) │ │ │ └── flags: decimal @@ -688,6 +689,7 @@ │ │ ├── @ AssocSplatNode (location: (55,4)-(55,8)) │ │ │ ├── value: │ │ │ │ @ CallNode (location: (55,6)-(55,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :kw @@ -695,8 +697,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (55,4)-(55,6) = "**" │ │ ├── @ AssocSplatNode (location: (55,10)-(55,14)) │ │ │ ├── value: @@ -708,6 +709,7 @@ │ │ └── @ AssocSplatNode (location: (55,16)-(55,20)) │ │ ├── value: │ │ │ @ CallNode (location: (55,18)-(55,20)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :kw @@ -715,19 +717,19 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (55,16)-(55,18) = "**" │ ├── opening_loc: (55,0)-(55,1) = "[" - │ ├── closing_loc: (55,20)-(55,21) = "]" - │ └── flags: ∅ + │ └── closing_loc: (55,20)-(55,21) = "]" ├── @ ArrayNode (location: (57,0)-(59,1)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (58,2)-(58,12)) │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (58,2)-(58,12)) │ │ ├── key: │ │ │ @ CallNode (location: (58,2)-(58,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -735,10 +737,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (58,9)-(58,12)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -746,13 +748,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (58,6)-(58,8) = "=>" │ ├── opening_loc: (57,0)-(57,1) = "[" - │ ├── closing_loc: (59,0)-(59,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (59,0)-(59,1) = "]" ├── @ ArrayNode (location: (62,0)-(62,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (62,3)-(62,6)) │ │ │ ├── opening_loc: ∅ @@ -770,9 +771,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (62,0)-(62,3) = "%i#" - │ ├── closing_loc: (62,16)-(62,17) = "#" - │ └── flags: ∅ + │ └── closing_loc: (62,16)-(62,17) = "#" ├── @ ArrayNode (location: (64,0)-(64,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (64,3)-(64,6)) │ │ │ ├── flags: ∅ @@ -793,8 +794,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (64,0)-(64,3) = "%w#" - │ ├── closing_loc: (64,16)-(64,17) = "#" - │ └── flags: ∅ + │ └── closing_loc: (64,16)-(64,17) = "#" ├── @ XStringNode (location: (66,0)-(66,17)) │ ├── flags: ∅ │ ├── opening_loc: (66,0)-(66,3) = "%x#" @@ -802,6 +802,7 @@ │ ├── closing_loc: (66,16)-(66,17) = "#" │ └── unescaped: "one two three" ├── @ ArrayNode (location: (69,0)-(69,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (69,3)-(69,6)) │ │ │ ├── opening_loc: ∅ @@ -819,9 +820,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (69,0)-(69,3) = "%i@" - │ ├── closing_loc: (69,16)-(69,17) = "@" - │ └── flags: ∅ + │ └── closing_loc: (69,16)-(69,17) = "@" ├── @ ArrayNode (location: (71,0)-(71,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (71,3)-(71,6)) │ │ │ ├── flags: ∅ @@ -842,8 +843,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (71,0)-(71,3) = "%w@" - │ ├── closing_loc: (71,16)-(71,17) = "@" - │ └── flags: ∅ + │ └── closing_loc: (71,16)-(71,17) = "@" ├── @ XStringNode (location: (73,0)-(73,17)) │ ├── flags: ∅ │ ├── opening_loc: (73,0)-(73,3) = "%x@" @@ -851,6 +851,7 @@ │ ├── closing_loc: (73,16)-(73,17) = "@" │ └── unescaped: "one two three" ├── @ ArrayNode (location: (76,0)-(76,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (76,3)-(76,6)) │ │ │ ├── opening_loc: ∅ @@ -868,9 +869,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (76,0)-(76,3) = "%i{" - │ ├── closing_loc: (76,16)-(76,17) = "}" - │ └── flags: ∅ + │ └── closing_loc: (76,16)-(76,17) = "}" ├── @ ArrayNode (location: (78,0)-(78,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (78,3)-(78,6)) │ │ │ ├── flags: ∅ @@ -891,8 +892,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (78,0)-(78,3) = "%w{" - │ ├── closing_loc: (78,16)-(78,17) = "}" - │ └── flags: ∅ + │ └── closing_loc: (78,16)-(78,17) = "}" ├── @ XStringNode (location: (80,0)-(80,17)) │ ├── flags: ∅ │ ├── opening_loc: (80,0)-(80,3) = "%x{" @@ -900,6 +900,7 @@ │ ├── closing_loc: (80,16)-(80,17) = "}" │ └── unescaped: "one two three" ├── @ ArrayNode (location: (82,0)-(82,7)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (82,3)-(82,6)) │ │ ├── flags: ∅ @@ -908,11 +909,12 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\\C:" │ ├── opening_loc: (82,0)-(82,3) = "%w[" - │ ├── closing_loc: (82,6)-(82,7) = "]" - │ └── flags: ∅ + │ └── closing_loc: (82,6)-(82,7) = "]" ├── @ CallNode (location: (84,0)-(84,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (84,0)-(84,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -920,39 +922,40 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[]= │ ├── message_loc: (84,3)-(84,9) = "[&bar]" │ ├── opening_loc: (84,3)-(84,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (84,12)-(84,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (84,12)-(84,13)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (84,12)-(84,13)) + │ │ └── flags: decimal │ ├── closing_loc: (84,8)-(84,9) = "]" - │ ├── block: - │ │ @ BlockArgumentNode (location: (84,4)-(84,8)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (84,5)-(84,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (84,5)-(84,8) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (84,4)-(84,5) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (84,4)-(84,8)) + │ ├── expression: + │ │ @ CallNode (location: (84,5)-(84,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (84,5)-(84,8) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (84,4)-(84,5) = "&" ├── @ CallNode (location: (86,0)-(86,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (86,0)-(86,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (86,0)-(86,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -960,42 +963,39 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (86,3)-(86,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (86,4)-(86,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[]= │ ├── message_loc: (86,7)-(86,13) = "[&bar]" │ ├── opening_loc: (86,7)-(86,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (86,16)-(86,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (86,16)-(86,17)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (86,16)-(86,17)) + │ │ └── flags: decimal │ ├── closing_loc: (86,12)-(86,13) = "]" - │ ├── block: - │ │ @ BlockArgumentNode (location: (86,8)-(86,12)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (86,9)-(86,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (86,9)-(86,12) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (86,8)-(86,9) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (86,8)-(86,12)) + │ ├── expression: + │ │ @ CallNode (location: (86,9)-(86,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (86,9)-(86,12) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (86,8)-(86,9) = "&" ├── @ DefNode (location: (88,0)-(90,3)) │ ├── name: :foo │ ├── name_loc: (88,4)-(88,7) = "foo" @@ -1017,8 +1017,10 @@ │ │ @ StatementsNode (location: (89,2)-(89,12)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (89,2)-(89,12)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (89,2)-(89,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1026,24 +1028,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[]= │ │ ├── message_loc: (89,5)-(89,8) = "[&]" │ │ ├── opening_loc: (89,5)-(89,6) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (89,11)-(89,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (89,11)-(89,12)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (89,11)-(89,12)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (89,7)-(89,8) = "]" - │ │ ├── block: - │ │ │ @ BlockArgumentNode (location: (89,6)-(89,7)) - │ │ │ ├── expression: ∅ - │ │ │ └── operator_loc: (89,6)-(89,7) = "&" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockArgumentNode (location: (89,6)-(89,7)) + │ │ ├── expression: ∅ + │ │ └── operator_loc: (89,6)-(89,7) = "&" │ ├── locals: [:&] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (88,0)-(88,3) = "def" @@ -1053,8 +1053,10 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (90,0)-(90,3) = "end" ├── @ IndexOperatorWriteNode (location: (92,0)-(92,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (92,0)-(92,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1062,22 +1064,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (92,3)-(92,4) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (92,4)-(92,5) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (92,6)-(92,8) = "+=" │ └── value: │ @ IntegerNode (location: (92,9)-(92,10)) │ └── flags: decimal ├── @ IndexOrWriteNode (location: (94,0)-(94,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (94,0)-(94,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1085,21 +1087,21 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (94,3)-(94,4) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (94,4)-(94,5) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (94,6)-(94,9) = "||=" │ └── value: │ @ IntegerNode (location: (94,10)-(94,11)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (96,0)-(96,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (96,0)-(96,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1107,23 +1109,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (96,3)-(96,4) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (96,4)-(96,5) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (96,6)-(96,9) = "&&=" │ └── value: │ @ IntegerNode (location: (96,10)-(96,11)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (98,0)-(98,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (98,0)-(98,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (98,0)-(98,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1131,32 +1134,32 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (98,3)-(98,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (98,4)-(98,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (98,7)-(98,8) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (98,8)-(98,9) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (98,10)-(98,12) = "+=" │ └── value: │ @ IntegerNode (location: (98,13)-(98,14)) │ └── flags: decimal ├── @ IndexOrWriteNode (location: (100,0)-(100,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (100,0)-(100,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (100,0)-(100,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1164,31 +1167,31 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (100,3)-(100,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (100,4)-(100,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (100,7)-(100,8) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (100,8)-(100,9) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (100,10)-(100,13) = "||=" │ └── value: │ @ IntegerNode (location: (100,14)-(100,15)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (102,0)-(102,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (102,0)-(102,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (102,0)-(102,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1196,29 +1199,28 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (102,3)-(102,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (102,4)-(102,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (102,7)-(102,8) = "[" │ ├── arguments: ∅ │ ├── closing_loc: (102,8)-(102,9) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (102,10)-(102,13) = "&&=" │ └── value: │ @ IntegerNode (location: (102,14)-(102,15)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (104,0)-(104,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (104,0)-(104,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1226,35 +1228,35 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (104,3)-(104,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (104,4)-(104,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (104,4)-(104,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (104,4)-(104,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (104,4)-(104,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (104,4)-(104,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (104,7)-(104,8) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (104,9)-(104,11) = "+=" │ └── value: │ @ IntegerNode (location: (104,12)-(104,13)) │ └── flags: decimal ├── @ IndexOrWriteNode (location: (106,0)-(106,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (106,0)-(106,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1262,34 +1264,34 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (106,3)-(106,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (106,4)-(106,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (106,4)-(106,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (106,4)-(106,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (106,4)-(106,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (106,4)-(106,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (106,7)-(106,8) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (106,9)-(106,12) = "||=" │ └── value: │ @ IntegerNode (location: (106,13)-(106,14)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (108,0)-(108,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (108,0)-(108,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1297,36 +1299,37 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (108,3)-(108,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (108,4)-(108,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (108,4)-(108,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (108,4)-(108,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (108,4)-(108,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (108,4)-(108,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (108,7)-(108,8) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (108,9)-(108,12) = "&&=" │ └── value: │ @ IntegerNode (location: (108,13)-(108,14)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (110,0)-(110,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (110,0)-(110,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (110,0)-(110,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1334,45 +1337,45 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (110,3)-(110,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (110,4)-(110,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (110,7)-(110,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (110,8)-(110,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (110,8)-(110,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (110,8)-(110,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (110,8)-(110,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (110,8)-(110,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (110,11)-(110,12) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (110,13)-(110,15) = "+=" │ └── value: │ @ IntegerNode (location: (110,16)-(110,17)) │ └── flags: decimal ├── @ IndexOrWriteNode (location: (112,0)-(112,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (112,0)-(112,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (112,0)-(112,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1380,44 +1383,44 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (112,3)-(112,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (112,4)-(112,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (112,7)-(112,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (112,8)-(112,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (112,8)-(112,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (112,8)-(112,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (112,8)-(112,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (112,8)-(112,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (112,11)-(112,12) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (112,13)-(112,16) = "||=" │ └── value: │ @ IntegerNode (location: (112,17)-(112,18)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (114,0)-(114,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (114,0)-(114,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (114,0)-(114,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1425,42 +1428,41 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (114,3)-(114,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (114,4)-(114,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (114,7)-(114,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (114,8)-(114,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (114,8)-(114,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (114,8)-(114,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (114,8)-(114,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (114,8)-(114,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (114,11)-(114,12) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator_loc: (114,13)-(114,16) = "&&=" │ └── value: │ @ IntegerNode (location: (114,17)-(114,18)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (116,0)-(116,19)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (116,0)-(116,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1468,29 +1470,29 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (116,3)-(116,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (116,4)-(116,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (116,4)-(116,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (116,4)-(116,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (116,4)-(116,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (116,4)-(116,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (116,13)-(116,14) = "]" │ ├── block: │ │ @ BlockArgumentNode (location: (116,9)-(116,13)) │ │ ├── expression: │ │ │ @ CallNode (location: (116,10)-(116,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1498,18 +1500,18 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (116,9)-(116,10) = "&" - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (116,15)-(116,17) = "+=" │ └── value: │ @ IntegerNode (location: (116,18)-(116,19)) │ └── flags: decimal ├── @ IndexOrWriteNode (location: (118,0)-(118,20)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (118,0)-(118,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1517,29 +1519,29 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (118,3)-(118,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (118,4)-(118,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (118,4)-(118,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (118,4)-(118,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (118,4)-(118,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (118,4)-(118,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (118,13)-(118,14) = "]" │ ├── block: │ │ @ BlockArgumentNode (location: (118,9)-(118,13)) │ │ ├── expression: │ │ │ @ CallNode (location: (118,10)-(118,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1547,17 +1549,17 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (118,9)-(118,10) = "&" - │ ├── flags: ∅ │ ├── operator_loc: (118,15)-(118,18) = "||=" │ └── value: │ @ IntegerNode (location: (118,19)-(118,20)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (120,0)-(120,20)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (120,0)-(120,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1565,29 +1567,29 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (120,3)-(120,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (120,4)-(120,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (120,4)-(120,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (120,4)-(120,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (120,4)-(120,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (120,4)-(120,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (120,13)-(120,14) = "]" │ ├── block: │ │ @ BlockArgumentNode (location: (120,9)-(120,13)) │ │ ├── expression: │ │ │ @ CallNode (location: (120,10)-(120,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1595,19 +1597,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (120,9)-(120,10) = "&" - │ ├── flags: ∅ │ ├── operator_loc: (120,15)-(120,18) = "&&=" │ └── value: │ @ IntegerNode (location: (120,19)-(120,20)) │ └── flags: decimal ├── @ IndexOperatorWriteNode (location: (122,0)-(122,23)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (122,0)-(122,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (122,0)-(122,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1615,37 +1618,36 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (122,3)-(122,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (122,4)-(122,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (122,7)-(122,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (122,8)-(122,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (122,8)-(122,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (122,8)-(122,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (122,8)-(122,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (122,8)-(122,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (122,17)-(122,18) = "]" │ ├── block: │ │ @ BlockArgumentNode (location: (122,13)-(122,17)) │ │ ├── expression: │ │ │ @ CallNode (location: (122,14)-(122,17)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1653,20 +1655,21 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (122,13)-(122,14) = "&" - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (122,19)-(122,21) = "+=" │ └── value: │ @ IntegerNode (location: (122,22)-(122,23)) │ └── flags: decimal ├── @ IndexOrWriteNode (location: (124,0)-(124,24)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (124,0)-(124,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (124,0)-(124,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1674,37 +1677,36 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (124,3)-(124,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (124,4)-(124,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (124,7)-(124,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (124,8)-(124,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (124,8)-(124,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (124,8)-(124,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (124,8)-(124,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (124,8)-(124,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (124,17)-(124,18) = "]" │ ├── block: │ │ @ BlockArgumentNode (location: (124,13)-(124,17)) │ │ ├── expression: │ │ │ @ CallNode (location: (124,14)-(124,17)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1712,19 +1714,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (124,13)-(124,14) = "&" - │ ├── flags: ∅ │ ├── operator_loc: (124,19)-(124,22) = "||=" │ └── value: │ @ IntegerNode (location: (124,23)-(124,24)) │ └── flags: decimal ├── @ IndexAndWriteNode (location: (126,0)-(126,24)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (126,0)-(126,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (126,0)-(126,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -1732,37 +1735,36 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (126,3)-(126,4) = "." │ │ ├── name: :foo │ │ ├── message_loc: (126,4)-(126,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (126,7)-(126,8) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (126,8)-(126,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (126,8)-(126,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (126,8)-(126,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (126,8)-(126,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (126,8)-(126,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (126,17)-(126,18) = "]" │ ├── block: │ │ @ BlockArgumentNode (location: (126,13)-(126,17)) │ │ ├── expression: │ │ │ @ CallNode (location: (126,14)-(126,17)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1770,10 +1772,8 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (126,13)-(126,14) = "&" - │ ├── flags: ∅ │ ├── operator_loc: (126,19)-(126,22) = "&&=" │ └── value: │ @ IntegerNode (location: (126,23)-(126,24)) @@ -1799,8 +1799,10 @@ │ │ @ StatementsNode (location: (128,10)-(128,14)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (128,10)-(128,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (128,10)-(128,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -1808,22 +1810,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[] │ │ ├── message_loc: (128,11)-(128,14) = "[*]" │ │ ├── opening_loc: (128,11)-(128,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (128,12)-(128,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SplatNode (location: (128,12)-(128,13)) - │ │ │ │ ├── operator_loc: (128,12)-(128,13) = "*" - │ │ │ │ └── expression: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SplatNode (location: (128,12)-(128,13)) + │ │ │ ├── operator_loc: (128,12)-(128,13) = "*" + │ │ │ └── expression: ∅ │ │ ├── closing_loc: (128,13)-(128,14) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (128,0)-(128,3) = "def" @@ -1853,8 +1853,10 @@ │ │ @ StatementsNode (location: (130,10)-(130,17)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (130,10)-(130,17)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (130,10)-(130,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -1862,24 +1864,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[] │ │ ├── message_loc: (130,11)-(130,17) = "[1, *]" │ │ ├── opening_loc: (130,11)-(130,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (130,12)-(130,16)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (130,12)-(130,13)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ SplatNode (location: (130,15)-(130,16)) - │ │ │ │ ├── operator_loc: (130,15)-(130,16) = "*" - │ │ │ │ └── expression: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ IntegerNode (location: (130,12)-(130,13)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ SplatNode (location: (130,15)-(130,16)) + │ │ │ ├── operator_loc: (130,15)-(130,16) = "*" + │ │ │ └── expression: ∅ │ │ ├── closing_loc: (130,16)-(130,17) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (130,0)-(130,3) = "def" @@ -1909,8 +1909,10 @@ │ │ @ StatementsNode (location: (132,10)-(132,18)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (132,10)-(132,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (132,10)-(132,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -1918,24 +1920,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[]= │ │ ├── message_loc: (132,11)-(132,14) = "[*]" │ │ ├── opening_loc: (132,11)-(132,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (132,12)-(132,18)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ SplatNode (location: (132,12)-(132,13)) - │ │ │ │ │ ├── operator_loc: (132,12)-(132,13) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ └── @ IntegerNode (location: (132,17)-(132,18)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ SplatNode (location: (132,12)-(132,13)) + │ │ │ │ ├── operator_loc: (132,12)-(132,13) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ └── @ IntegerNode (location: (132,17)-(132,18)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (132,13)-(132,14) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (132,0)-(132,3) = "def" @@ -1965,8 +1965,10 @@ │ │ @ StatementsNode (location: (134,10)-(134,21)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (134,10)-(134,21)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (134,10)-(134,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -1974,26 +1976,24 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[]= │ │ ├── message_loc: (134,11)-(134,17) = "[1, *]" │ │ ├── opening_loc: (134,11)-(134,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (134,12)-(134,21)) - │ │ │ ├── arguments: (length: 3) - │ │ │ │ ├── @ IntegerNode (location: (134,12)-(134,13)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── @ SplatNode (location: (134,15)-(134,16)) - │ │ │ │ │ ├── operator_loc: (134,15)-(134,16) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ └── @ IntegerNode (location: (134,20)-(134,21)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 3) + │ │ │ ├── @ IntegerNode (location: (134,12)-(134,13)) + │ │ │ │ └── flags: decimal + │ │ │ ├── @ SplatNode (location: (134,15)-(134,16)) + │ │ │ │ ├── operator_loc: (134,15)-(134,16) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ └── @ IntegerNode (location: (134,20)-(134,21)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (134,16)-(134,17) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (134,0)-(134,3) = "def" @@ -2023,8 +2023,10 @@ │ │ @ StatementsNode (location: (136,10)-(136,19)) │ │ └── body: (length: 1) │ │ └── @ IndexOperatorWriteNode (location: (136,10)-(136,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (136,10)-(136,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -2032,20 +2034,18 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── opening_loc: (136,11)-(136,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (136,12)-(136,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SplatNode (location: (136,12)-(136,13)) - │ │ │ │ ├── operator_loc: (136,12)-(136,13) = "*" - │ │ │ │ └── expression: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SplatNode (location: (136,12)-(136,13)) + │ │ │ ├── operator_loc: (136,12)-(136,13) = "*" + │ │ │ └── expression: ∅ │ │ ├── closing_loc: (136,13)-(136,14) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ │ │ ├── operator: :+ │ │ ├── operator_loc: (136,15)-(136,17) = "+=" │ │ └── value: @@ -2080,8 +2080,10 @@ │ │ @ StatementsNode (location: (138,10)-(138,23)) │ │ └── body: (length: 1) │ │ └── @ IndexAndWriteNode (location: (138,10)-(138,23)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (138,10)-(138,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -2089,22 +2091,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── opening_loc: (138,11)-(138,12) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (138,12)-(138,16)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (138,12)-(138,13)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ SplatNode (location: (138,15)-(138,16)) - │ │ │ │ ├── operator_loc: (138,15)-(138,16) = "*" - │ │ │ │ └── expression: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ IntegerNode (location: (138,12)-(138,13)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ SplatNode (location: (138,15)-(138,16)) + │ │ │ ├── operator_loc: (138,15)-(138,16) = "*" + │ │ │ └── expression: ∅ │ │ ├── closing_loc: (138,16)-(138,17) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ │ │ ├── operator_loc: (138,18)-(138,21) = "&&=" │ │ └── value: │ │ @ IntegerNode (location: (138,22)-(138,23)) @@ -2145,8 +2145,10 @@ │ │ │ ├── operator_loc: (140,17)-(140,19) = "=>" │ │ │ ├── reference: │ │ │ │ @ CallNode (location: (140,20)-(140,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ CallNode (location: (140,20)-(140,21)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :a @@ -2154,22 +2156,20 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :[]= │ │ │ │ ├── message_loc: (140,21)-(140,24) = "[*]" │ │ │ │ ├── opening_loc: (140,21)-(140,22) = "[" │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (140,22)-(140,23)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ SplatNode (location: (140,22)-(140,23)) - │ │ │ │ │ │ ├── operator_loc: (140,22)-(140,23) = "*" - │ │ │ │ │ │ └── expression: ∅ - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ SplatNode (location: (140,22)-(140,23)) + │ │ │ │ │ ├── operator_loc: (140,22)-(140,23) = "*" + │ │ │ │ │ └── expression: ∅ │ │ │ │ ├── closing_loc: (140,23)-(140,24) = "]" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── statements: ∅ │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ @@ -2211,8 +2211,10 @@ │ │ ├── operator_loc: (142,17)-(142,19) = "=>" │ │ ├── reference: │ │ │ @ CallNode (location: (142,20)-(142,27)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (142,20)-(142,21)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -2220,24 +2222,22 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :[]= │ │ │ ├── message_loc: (142,21)-(142,27) = "[1, *]" │ │ │ ├── opening_loc: (142,21)-(142,22) = "[" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (142,22)-(142,26)) - │ │ │ │ ├── arguments: (length: 2) - │ │ │ │ │ ├── @ IntegerNode (location: (142,22)-(142,23)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── @ SplatNode (location: (142,25)-(142,26)) - │ │ │ │ │ ├── operator_loc: (142,25)-(142,26) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 2) + │ │ │ │ ├── @ IntegerNode (location: (142,22)-(142,23)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ └── @ SplatNode (location: (142,25)-(142,26)) + │ │ │ │ ├── operator_loc: (142,25)-(142,26) = "*" + │ │ │ │ └── expression: ∅ │ │ │ ├── closing_loc: (142,26)-(142,27) = "]" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── statements: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ diff --git a/test/prism/snapshots/begin_ensure.txt b/test/prism/snapshots/begin_ensure.txt index 45115c7567..d2e764e007 100644 --- a/test/prism/snapshots/begin_ensure.txt +++ b/test/prism/snapshots/begin_ensure.txt @@ -9,6 +9,7 @@ │ │ @ StatementsNode (location: (2,0)-(2,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,0)-(2,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -16,8 +17,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -27,6 +27,7 @@ │ │ │ @ StatementsNode (location: (4,0)-(4,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (4,0)-(4,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -34,8 +35,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ BeginNode (location: (7,0)-(7,24)) @@ -44,6 +44,7 @@ │ │ @ StatementsNode (location: (7,7)-(7,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,7)-(7,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -51,8 +52,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -62,6 +62,7 @@ │ │ │ @ StatementsNode (location: (7,18)-(7,19)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (7,18)-(7,19)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -69,8 +70,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (7,21)-(7,24) = "end" │ └── end_keyword_loc: (7,21)-(7,24) = "end" ├── @ BeginNode (location: (9,0)-(11,4)) @@ -79,6 +79,7 @@ │ │ @ StatementsNode (location: (9,6)-(9,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,6)-(9,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -86,8 +87,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -97,6 +97,7 @@ │ │ │ @ StatementsNode (location: (10,8)-(10,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (10,8)-(10,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -104,8 +105,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (11,1)-(11,4) = "end" │ └── end_keyword_loc: (11,1)-(11,4) = "end" ├── @ BeginNode (location: (13,0)-(13,22)) @@ -114,6 +114,7 @@ │ │ @ StatementsNode (location: (13,6)-(13,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (13,6)-(13,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -121,8 +122,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -132,6 +132,7 @@ │ │ │ @ StatementsNode (location: (13,16)-(13,17)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (13,16)-(13,17)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -139,8 +140,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (13,19)-(13,22) = "end" │ └── end_keyword_loc: (13,19)-(13,22) = "end" └── @ BeginNode (location: (15,0)-(21,15)) @@ -154,6 +154,7 @@ │ │ @ StatementsNode (location: (15,11)-(21,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (15,11)-(21,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ SymbolNode (location: (15,11)-(15,13)) │ │ │ ├── opening_loc: (15,11)-(15,12) = ":" @@ -166,82 +167,81 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (15,16)-(21,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ BeginNode (location: (15,16)-(21,7)) - │ │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin" - │ │ │ │ ├── statements: ∅ - │ │ │ │ ├── rescue_clause: ∅ - │ │ │ │ ├── else_clause: ∅ - │ │ │ │ ├── ensure_clause: - │ │ │ │ │ @ EnsureNode (location: (15,22)-(21,7)) - │ │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3)) - │ │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35)) - │ │ │ │ │ │ │ └── name: :Module - │ │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "." - │ │ │ │ │ │ ├── name: :new - │ │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: - │ │ │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5)) - │ │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5)) - │ │ │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin" - │ │ │ │ │ │ │ │ ├── statements: - │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9)) - │ │ │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9)) - │ │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break" - │ │ │ │ │ │ │ │ ├── rescue_clause: ∅ - │ │ │ │ │ │ │ │ ├── else_clause: ∅ - │ │ │ │ │ │ │ │ ├── ensure_clause: - │ │ │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5)) - │ │ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure" - │ │ │ │ │ │ │ │ │ ├── statements: - │ │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7)) - │ │ │ │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7)) - │ │ │ │ │ │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17)) - │ │ │ │ │ │ │ │ │ │ │ └── name: :Module - │ │ │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "." - │ │ │ │ │ │ │ │ │ │ ├── name: :new - │ │ │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new" - │ │ │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7)) - │ │ │ │ │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do" - │ │ │ │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end" - │ │ │ │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end" - │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end" - │ │ │ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do" - │ │ │ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end" - │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ BeginNode (location: (15,16)-(21,7)) + │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin" + │ │ │ ├── statements: ∅ + │ │ │ ├── rescue_clause: ∅ + │ │ │ ├── else_clause: ∅ + │ │ │ ├── ensure_clause: + │ │ │ │ @ EnsureNode (location: (15,22)-(21,7)) + │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: + │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35)) + │ │ │ │ │ │ └── name: :Module + │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "." + │ │ │ │ │ ├── name: :new + │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: + │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5)) + │ │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5)) + │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin" + │ │ │ │ │ │ ├── statements: + │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9)) + │ │ │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9)) + │ │ │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break" + │ │ │ │ │ │ ├── rescue_clause: ∅ + │ │ │ │ │ │ ├── else_clause: ∅ + │ │ │ │ │ │ ├── ensure_clause: + │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5)) + │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure" + │ │ │ │ │ │ │ ├── statements: + │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7)) + │ │ │ │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7)) + │ │ │ │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ │ │ │ ├── receiver: + │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17)) + │ │ │ │ │ │ │ │ │ └── name: :Module + │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "." + │ │ │ │ │ │ │ │ ├── name: :new + │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new" + │ │ │ │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ │ │ │ └── block: + │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7)) + │ │ │ │ │ │ │ │ ├── locals: [] + │ │ │ │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do" + │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end" + │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end" + │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end" + │ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do" + │ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end" + │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end" + │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/begin_rescue.txt b/test/prism/snapshots/begin_rescue.txt index d2338e7da9..f9cbe096a2 100644 --- a/test/prism/snapshots/begin_rescue.txt +++ b/test/prism/snapshots/begin_rescue.txt @@ -9,6 +9,7 @@ │ │ @ StatementsNode (location: (1,7)-(1,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,7)-(1,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -16,8 +17,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (1,10)-(1,19)) │ │ ├── keyword_loc: (1,10)-(1,16) = "rescue" @@ -28,6 +28,7 @@ │ │ │ @ StatementsNode (location: (1,18)-(1,19)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,18)-(1,19)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -35,8 +36,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (1,21)-(1,33)) @@ -45,6 +45,7 @@ │ │ │ @ StatementsNode (location: (1,27)-(1,28)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,27)-(1,28)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -52,8 +53,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (1,30)-(1,33) = "end" │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (1,30)-(1,33) = "end" @@ -63,6 +63,7 @@ │ │ @ StatementsNode (location: (3,7)-(3,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,7)-(3,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -70,8 +71,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (3,10)-(3,19)) │ │ ├── keyword_loc: (3,10)-(3,16) = "rescue" @@ -82,6 +82,7 @@ │ │ │ @ StatementsNode (location: (3,18)-(3,19)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,18)-(3,19)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -89,8 +90,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (3,21)-(3,36)) @@ -99,6 +99,7 @@ │ │ │ @ StatementsNode (location: (3,27)-(3,28)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,27)-(3,28)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -106,8 +107,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (3,30)-(3,36) = "ensure" │ ├── ensure_clause: │ │ @ EnsureNode (location: (3,30)-(3,44)) @@ -116,6 +116,7 @@ │ │ │ @ StatementsNode (location: (3,38)-(3,39)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,38)-(3,39)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -123,8 +124,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (3,41)-(3,44) = "end" │ └── end_keyword_loc: (3,41)-(3,44) = "end" ├── @ BeginNode (location: (5,0)-(7,3)) @@ -133,6 +133,7 @@ │ │ @ StatementsNode (location: (6,0)-(6,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (6,0)-(6,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -140,8 +141,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -152,6 +152,7 @@ │ │ @ StatementsNode (location: (9,7)-(9,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,7)-(9,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -159,8 +160,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -171,6 +171,7 @@ │ │ @ StatementsNode (location: (11,6)-(11,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,6)-(11,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -178,8 +179,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -190,6 +190,7 @@ │ │ @ StatementsNode (location: (14,6)-(14,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,6)-(14,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -197,8 +198,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -209,6 +209,7 @@ │ │ @ StatementsNode (location: (17,0)-(17,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (17,0)-(17,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -216,8 +217,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (18,0)-(23,1)) │ │ ├── keyword_loc: (18,0)-(18,6) = "rescue" @@ -228,6 +228,7 @@ │ │ │ @ StatementsNode (location: (19,0)-(19,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (19,0)-(19,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -235,8 +236,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (20,0)-(23,1)) │ │ ├── keyword_loc: (20,0)-(20,6) = "rescue" @@ -247,6 +247,7 @@ │ │ │ @ StatementsNode (location: (21,0)-(21,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (21,0)-(21,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -254,8 +255,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (22,0)-(23,1)) │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue" @@ -266,6 +266,7 @@ │ │ │ @ StatementsNode (location: (23,0)-(23,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (23,0)-(23,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -273,8 +274,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -285,6 +285,7 @@ │ │ @ StatementsNode (location: (27,2)-(27,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (27,2)-(27,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -292,8 +293,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (28,0)-(31,3)) │ │ ├── keyword_loc: (28,0)-(28,6) = "rescue" @@ -309,6 +309,7 @@ │ │ │ @ StatementsNode (location: (29,2)-(29,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (29,2)-(29,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -316,8 +317,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (30,0)-(31,3)) │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue" @@ -335,6 +335,7 @@ │ │ │ @ StatementsNode (location: (31,2)-(31,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (31,2)-(31,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -342,8 +343,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -354,6 +354,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 @@ -361,8 +362,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (36,0)-(37,3)) │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue" @@ -378,6 +378,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 @@ -385,8 +386,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -396,6 +396,7 @@ │ │ │ @ StatementsNode (location: (39,2)-(39,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,2)-(39,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -403,8 +404,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (40,0)-(40,3) = "end" │ └── end_keyword_loc: (40,0)-(40,3) = "end" ├── @ StringNode (location: (42,0)-(42,6)) @@ -419,6 +419,7 @@ │ │ @ StatementsNode (location: (45,0)-(45,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (45,0)-(45,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -426,8 +427,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (46,0)-(47,1)) │ │ ├── keyword_loc: (46,0)-(46,6) = "rescue" @@ -438,6 +438,7 @@ │ │ │ @ StatementsNode (location: (47,0)-(47,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (47,0)-(47,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -445,8 +446,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -457,6 +457,7 @@ │ │ @ StatementsNode (location: (50,6)-(50,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (50,6)-(50,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -464,8 +465,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (50,8)-(50,16)) │ │ ├── keyword_loc: (50,8)-(50,14) = "rescue" @@ -476,6 +476,7 @@ │ │ │ @ StatementsNode (location: (50,15)-(50,16)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (50,15)-(50,16)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -483,8 +484,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -495,6 +495,7 @@ │ │ @ StatementsNode (location: (53,0)-(53,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (53,0)-(53,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -502,8 +503,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (53,2)-(54,1)) │ │ ├── keyword_loc: (53,2)-(53,8) = "rescue" @@ -514,6 +514,7 @@ │ │ │ @ StatementsNode (location: (54,0)-(54,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (54,0)-(54,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -521,8 +522,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -533,6 +533,7 @@ │ │ @ StatementsNode (location: (57,0)-(57,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (57,0)-(57,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -540,8 +541,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (58,0)-(59,1)) │ │ ├── keyword_loc: (58,0)-(58,6) = "rescue" @@ -554,6 +554,7 @@ │ │ │ @ StatementsNode (location: (59,0)-(59,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (59,0)-(59,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -561,8 +562,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -573,6 +573,7 @@ │ │ @ StatementsNode (location: (63,0)-(63,1)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (63,0)-(63,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -580,8 +581,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (64,0)-(65,1)) │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue" @@ -596,6 +596,7 @@ │ │ │ @ StatementsNode (location: (65,0)-(65,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (65,0)-(65,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -603,8 +604,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -615,6 +615,7 @@ │ │ @ StatementsNode (location: (69,2)-(69,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (69,2)-(69,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -622,8 +623,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (70,0)-(71,3)) │ │ ├── keyword_loc: (70,0)-(70,6) = "rescue" @@ -641,6 +641,7 @@ │ │ │ @ StatementsNode (location: (71,2)-(71,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (71,2)-(71,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -648,8 +649,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -660,6 +660,7 @@ │ @ StatementsNode (location: (75,2)-(75,3)) │ └── body: (length: 1) │ └── @ CallNode (location: (75,2)-(75,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -667,8 +668,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (76,0)-(77,3)) │ ├── keyword_loc: (76,0)-(76,6) = "rescue" @@ -684,6 +684,7 @@ │ │ @ StatementsNode (location: (77,2)-(77,3)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (77,2)-(77,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -691,8 +692,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/blocks.txt b/test/prism/snapshots/blocks.txt index d667f39b8f..c490e8be19 100644 --- a/test/prism/snapshots/blocks.txt +++ b/test/prism/snapshots/blocks.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(54,17)) └── body: (length: 20) ├── @ CallNode (location: (1,0)-(1,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,51 +15,51 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (1,3)-(1,8) = "[bar]" │ ├── opening_loc: (1,3)-(1,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (1,4)-(1,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,4)-(1,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (1,7)-(1,8) = "]" - │ ├── block: - │ │ @ BlockNode (location: (1,9)-(1,16)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,11)-(1,14)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,11)-(1,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (1,11)-(1,14) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (1,9)-(1,10) = "{" - │ │ └── closing_loc: (1,15)-(1,16) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,9)-(1,16)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (1,11)-(1,14)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,11)-(1,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (1,11)-(1,14) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (1,9)-(1,10) = "{" + │ └── closing_loc: (1,15)-(1,16) = "}" ├── @ CallNode (location: (3,0)-(5,3)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -65,51 +67,51 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (3,3)-(3,8) = "[bar]" │ ├── opening_loc: (3,3)-(3,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (3,4)-(3,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,4)-(3,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (3,4)-(3,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,4)-(3,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (3,4)-(3,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (3,7)-(3,8) = "]" - │ ├── block: - │ │ @ BlockNode (location: (3,9)-(5,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (4,0)-(4,3)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (4,0)-(4,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (4,0)-(4,3) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (3,9)-(3,11) = "do" - │ │ └── closing_loc: (5,0)-(5,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,9)-(5,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (4,0)-(4,3)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (4,0)-(4,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (4,0)-(4,3) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (3,9)-(3,11) = "do" + │ └── closing_loc: (5,0)-(5,3) = "end" ├── @ CallNode (location: (7,0)-(7,35)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :x @@ -117,58 +119,57 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (7,1)-(7,2) = "." │ ├── name: :reduce │ ├── message_loc: (7,2)-(7,8) = "reduce" │ ├── opening_loc: (7,8)-(7,9) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,9)-(7,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (7,9)-(7,10)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (7,9)-(7,10)) + │ │ └── flags: decimal │ ├── closing_loc: (7,10)-(7,11) = ")" - │ ├── block: - │ │ @ BlockNode (location: (7,12)-(7,35)) - │ │ ├── locals: [:x, :memo] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (7,14)-(7,23)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (7,15)-(7,22)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (7,15)-(7,16)) - │ │ │ │ │ │ └── name: :x - │ │ │ │ │ └── @ RequiredParameterNode (location: (7,18)-(7,22)) - │ │ │ │ │ └── name: :memo - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (7,14)-(7,15) = "|" - │ │ │ └── closing_loc: (7,22)-(7,23) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (7,24)-(7,33)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableOperatorWriteNode (location: (7,24)-(7,33)) - │ │ │ ├── name_loc: (7,24)-(7,28) = "memo" - │ │ │ ├── operator_loc: (7,29)-(7,31) = "+=" - │ │ │ ├── value: - │ │ │ │ @ LocalVariableReadNode (location: (7,32)-(7,33)) - │ │ │ │ ├── name: :x - │ │ │ │ └── depth: 0 - │ │ │ ├── name: :memo - │ │ │ ├── operator: :+ - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (7,12)-(7,13) = "{" - │ │ └── closing_loc: (7,34)-(7,35) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (7,12)-(7,35)) + │ ├── locals: [:x, :memo] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (7,14)-(7,23)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (7,15)-(7,22)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (7,15)-(7,16)) + │ │ │ │ │ └── name: :x + │ │ │ │ └── @ RequiredParameterNode (location: (7,18)-(7,22)) + │ │ │ │ └── name: :memo + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (7,14)-(7,15) = "|" + │ │ └── closing_loc: (7,22)-(7,23) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (7,24)-(7,33)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableOperatorWriteNode (location: (7,24)-(7,33)) + │ │ ├── name_loc: (7,24)-(7,28) = "memo" + │ │ ├── operator_loc: (7,29)-(7,31) = "+=" + │ │ ├── value: + │ │ │ @ LocalVariableReadNode (location: (7,32)-(7,33)) + │ │ │ ├── name: :x + │ │ │ └── depth: 0 + │ │ ├── name: :memo + │ │ ├── operator: :+ + │ │ └── depth: 0 + │ ├── opening_loc: (7,12)-(7,13) = "{" + │ └── closing_loc: (7,34)-(7,35) = "}" ├── @ CallNode (location: (9,0)-(9,10)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -176,16 +177,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (9,4)-(9,10)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (9,4)-(9,6) = "do" - │ │ └── closing_loc: (9,7)-(9,10) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (9,4)-(9,10)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (9,4)-(9,6) = "do" + │ └── closing_loc: (9,7)-(9,10) = "end" ├── @ CallNode (location: (11,0)-(11,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -193,45 +194,45 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (11,4)-(11,21)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (11,4)-(11,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (11,4)-(11,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ ParenthesesNode (location: (11,9)-(11,21)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (11,10)-(11,20)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (11,10)-(11,20)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (11,10)-(11,13) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (11,14)-(11,20)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (11,14)-(11,16) = "do" - │ │ │ │ │ └── closing_loc: (11,17)-(11,20) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (11,9)-(11,10) = "(" - │ │ │ └── closing_loc: (11,20)-(11,21) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (11,4)-(11,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (11,4)-(11,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ ParenthesesNode (location: (11,9)-(11,21)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (11,10)-(11,20)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (11,10)-(11,20)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (11,10)-(11,13) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (11,14)-(11,20)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (11,14)-(11,16) = "do" + │ │ │ └── closing_loc: (11,17)-(11,20) = "end" + │ │ ├── opening_loc: (11,9)-(11,10) = "(" + │ │ └── closing_loc: (11,20)-(11,21) = ")" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -239,29 +240,29 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,4)-(13,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (13,4)-(13,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (13,4)-(13,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (13,4)-(13,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (13,4)-(13,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (13,8)-(13,14)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (13,8)-(13,10) = "do" - │ │ └── closing_loc: (13,11)-(13,14) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (13,8)-(13,14)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (13,8)-(13,10) = "do" + │ └── closing_loc: (13,11)-(13,14) = "end" ├── @ CallNode (location: (15,0)-(15,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -269,42 +270,42 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (15,4)-(15,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (15,4)-(15,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (15,4)-(15,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (15,8)-(15,11)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (15,8)-(15,11)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (15,8)-(15,11) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (15,4)-(15,11)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (15,4)-(15,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (15,8)-(15,11)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (15,8)-(15,11)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (15,8)-(15,11) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (15,12)-(15,18)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (15,12)-(15,14) = "do" - │ │ └── closing_loc: (15,15)-(15,18) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (15,12)-(15,18)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (15,12)-(15,14) = "do" + │ └── closing_loc: (15,15)-(15,18) = "end" ├── @ CallNode (location: (17,0)-(18,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -312,59 +313,59 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (17,4)-(18,3)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (17,7)-(17,17)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (17,8)-(17,16)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (17,8)-(17,16)) - │ │ │ │ │ ├── name: :a - │ │ │ │ │ ├── name_loc: (17,8)-(17,9) = "a" - │ │ │ │ │ ├── operator_loc: (17,10)-(17,11) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ CallNode (location: (17,12)-(17,16)) - │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ @ CallNode (location: (17,12)-(17,13)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :b - │ │ │ │ │ │ ├── message_loc: (17,12)-(17,13) = "b" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :[] - │ │ │ │ │ ├── message_loc: (17,13)-(17,16) = "[1]" - │ │ │ │ │ ├── opening_loc: (17,13)-(17,14) = "[" - │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ @ ArgumentsNode (location: (17,14)-(17,15)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15)) - │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]" - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (17,7)-(17,8) = "|" - │ │ │ └── closing_loc: (17,16)-(17,17) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (17,4)-(17,6) = "do" - │ │ └── closing_loc: (18,0)-(18,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (17,4)-(18,3)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (17,7)-(17,17)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (17,8)-(17,16)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (17,8)-(17,16)) + │ │ │ │ ├── name: :a + │ │ │ │ ├── name_loc: (17,8)-(17,9) = "a" + │ │ │ │ ├── operator_loc: (17,10)-(17,11) = "=" + │ │ │ │ └── value: + │ │ │ │ @ CallNode (location: (17,12)-(17,16)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: + │ │ │ │ │ @ CallNode (location: (17,12)-(17,13)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :b + │ │ │ │ │ ├── message_loc: (17,12)-(17,13) = "b" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :[] + │ │ │ │ ├── message_loc: (17,13)-(17,16) = "[1]" + │ │ │ │ ├── opening_loc: (17,13)-(17,14) = "[" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (17,14)-(17,15)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]" + │ │ │ │ └── block: ∅ + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (17,7)-(17,8) = "|" + │ │ └── closing_loc: (17,16)-(17,17) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (17,4)-(17,6) = "do" + │ └── closing_loc: (18,0)-(18,3) = "end" ├── @ CallNode (location: (20,0)-(22,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -372,30 +373,30 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (20,4)-(22,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (21,0)-(22,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: ∅ - │ │ │ ├── rescue_clause: - │ │ │ │ @ RescueNode (location: (21,0)-(21,6)) - │ │ │ │ ├── keyword_loc: (21,0)-(21,6) = "rescue" - │ │ │ │ ├── exceptions: (length: 0) - │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ ├── reference: ∅ - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── consequent: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (22,0)-(22,3) = "end" - │ │ ├── opening_loc: (20,4)-(20,6) = "do" - │ │ └── closing_loc: (22,0)-(22,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (20,4)-(22,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (21,0)-(22,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: ∅ + │ │ ├── rescue_clause: + │ │ │ @ RescueNode (location: (21,0)-(21,6)) + │ │ │ ├── keyword_loc: (21,0)-(21,6) = "rescue" + │ │ │ ├── exceptions: (length: 0) + │ │ │ ├── operator_loc: ∅ + │ │ │ ├── reference: ∅ + │ │ │ ├── statements: ∅ + │ │ │ └── consequent: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (22,0)-(22,3) = "end" + │ ├── opening_loc: (20,4)-(20,6) = "do" + │ └── closing_loc: (22,0)-(22,3) = "end" ├── @ CallNode (location: (24,0)-(29,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -403,56 +404,57 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (24,4)-(29,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (25,2)-(28,5)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (25,2)-(28,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (25,2)-(25,5) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (25,6)-(28,5)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (26,4)-(27,7)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (26,4)-(27,7)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── message_loc: (26,4)-(26,7) = "baz" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (26,8)-(27,7)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (26,8)-(26,10) = "do" - │ │ │ │ │ │ └── closing_loc: (27,4)-(27,7) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── opening_loc: (25,6)-(25,8) = "do" - │ │ │ │ └── closing_loc: (28,2)-(28,5) = "end" - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (24,4)-(24,6) = "do" - │ │ └── closing_loc: (29,0)-(29,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (24,4)-(29,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (25,2)-(28,5)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (25,2)-(28,5)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (25,2)-(25,5) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (25,6)-(28,5)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (26,4)-(27,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (26,4)-(27,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (26,4)-(26,7) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (26,8)-(27,7)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (26,8)-(26,10) = "do" + │ │ │ └── closing_loc: (27,4)-(27,7) = "end" + │ │ ├── opening_loc: (25,6)-(25,8) = "do" + │ │ └── closing_loc: (28,2)-(28,5) = "end" + │ ├── opening_loc: (24,4)-(24,6) = "do" + │ └── closing_loc: (29,0)-(29,3) = "end" ├── @ CallNode (location: (31,0)-(31,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -460,49 +462,48 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (31,3)-(31,8) = "[bar]" │ ├── opening_loc: (31,3)-(31,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (31,4)-(31,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (31,4)-(31,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (31,4)-(31,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (31,4)-(31,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (31,4)-(31,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (31,7)-(31,8) = "]" - │ ├── block: - │ │ @ BlockNode (location: (31,9)-(31,16)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (31,11)-(31,14)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (31,11)-(31,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (31,11)-(31,14) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (31,9)-(31,10) = "{" - │ │ └── closing_loc: (31,15)-(31,16) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (31,9)-(31,16)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (31,11)-(31,14)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (31,11)-(31,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (31,11)-(31,14) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (31,9)-(31,10) = "{" + │ └── closing_loc: (31,15)-(31,16) = "}" ├── @ CallNode (location: (33,0)-(33,24)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -510,46 +511,46 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (33,4)-(33,24)) - │ │ ├── locals: [:x, :y, :z] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (33,6)-(33,20)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (33,7)-(33,19)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (33,7)-(33,8)) - │ │ │ │ │ └── name: :x - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (33,10)-(33,15)) - │ │ │ │ │ ├── name: :y - │ │ │ │ │ ├── name_loc: (33,10)-(33,11) = "y" - │ │ │ │ │ ├── operator_loc: (33,12)-(33,13) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (33,14)-(33,15)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 1) - │ │ │ │ │ └── @ RequiredKeywordParameterNode (location: (33,17)-(33,19)) - │ │ │ │ │ ├── name: :z - │ │ │ │ │ └── name_loc: (33,17)-(33,19) = "z:" - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (33,6)-(33,7) = "|" - │ │ │ └── closing_loc: (33,19)-(33,20) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (33,21)-(33,22)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (33,21)-(33,22)) - │ │ │ ├── name: :x - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (33,4)-(33,5) = "{" - │ │ └── closing_loc: (33,23)-(33,24) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (33,4)-(33,24)) + │ ├── locals: [:x, :y, :z] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (33,6)-(33,20)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (33,7)-(33,19)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (33,7)-(33,8)) + │ │ │ │ └── name: :x + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (33,10)-(33,15)) + │ │ │ │ ├── name: :y + │ │ │ │ ├── name_loc: (33,10)-(33,11) = "y" + │ │ │ │ ├── operator_loc: (33,12)-(33,13) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (33,14)-(33,15)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 1) + │ │ │ │ └── @ RequiredKeywordParameterNode (location: (33,17)-(33,19)) + │ │ │ │ ├── name: :z + │ │ │ │ └── name_loc: (33,17)-(33,19) = "z:" + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (33,6)-(33,7) = "|" + │ │ └── closing_loc: (33,19)-(33,20) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (33,21)-(33,22)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (33,21)-(33,22)) + │ │ ├── name: :x + │ │ └── depth: 0 + │ ├── opening_loc: (33,4)-(33,5) = "{" + │ └── closing_loc: (33,23)-(33,24) = "}" ├── @ CallNode (location: (35,0)-(35,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -557,30 +558,29 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (35,4)-(35,11)) - │ │ ├── locals: [:x] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (35,6)-(35,9)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (35,7)-(35,8)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (35,7)-(35,8)) - │ │ │ │ │ └── name: :x - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (35,6)-(35,7) = "|" - │ │ │ └── closing_loc: (35,8)-(35,9) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (35,4)-(35,5) = "{" - │ │ └── closing_loc: (35,10)-(35,11) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (35,4)-(35,11)) + │ ├── locals: [:x] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (35,6)-(35,9)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (35,7)-(35,8)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (35,7)-(35,8)) + │ │ │ │ └── name: :x + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (35,6)-(35,7) = "|" + │ │ └── closing_loc: (35,8)-(35,9) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (35,4)-(35,5) = "{" + │ └── closing_loc: (35,10)-(35,11) = "}" ├── @ LocalVariableWriteNode (location: (37,0)-(37,8)) │ ├── name: :fork │ ├── depth: 0 @@ -590,6 +590,7 @@ │ │ └── flags: decimal │ └── operator_loc: (37,5)-(37,6) = "=" ├── @ CallNode (location: (38,0)-(39,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fork @@ -597,31 +598,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (38,5)-(39,3)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (38,8)-(38,11)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (38,9)-(38,10)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (38,9)-(38,10)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (38,8)-(38,9) = "|" - │ │ │ └── closing_loc: (38,10)-(38,11) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (38,5)-(38,7) = "do" - │ │ └── closing_loc: (39,0)-(39,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (38,5)-(39,3)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (38,8)-(38,11)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (38,9)-(38,10)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (38,9)-(38,10)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (38,8)-(38,9) = "|" + │ │ └── closing_loc: (38,10)-(38,11) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (38,5)-(38,7) = "do" + │ └── closing_loc: (39,0)-(39,3) = "end" ├── @ CallNode (location: (41,0)-(41,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fork @@ -629,31 +630,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (41,5)-(41,12)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (41,7)-(41,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (41,8)-(41,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (41,8)-(41,9)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (41,7)-(41,8) = "|" - │ │ │ └── closing_loc: (41,9)-(41,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (41,5)-(41,6) = "{" - │ │ └── closing_loc: (41,11)-(41,12) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (41,5)-(41,12)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (41,7)-(41,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (41,8)-(41,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (41,8)-(41,9)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (41,7)-(41,8) = "|" + │ │ └── closing_loc: (41,9)-(41,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (41,5)-(41,6) = "{" + │ └── closing_loc: (41,11)-(41,12) = "}" ├── @ CallNode (location: (43,0)-(44,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :C @@ -661,16 +662,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (43,2)-(44,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (43,2)-(43,4) = "do" - │ │ └── closing_loc: (44,0)-(44,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (43,2)-(44,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (43,2)-(43,4) = "do" + │ └── closing_loc: (44,0)-(44,3) = "end" ├── @ CallNode (location: (46,0)-(46,4)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :C @@ -678,16 +679,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (46,2)-(46,4)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (46,2)-(46,3) = "{" - │ │ └── closing_loc: (46,3)-(46,4) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (46,2)-(46,4)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (46,2)-(46,3) = "{" + │ └── closing_loc: (46,3)-(46,4) = "}" ├── @ CallNode (location: (48,0)-(52,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -695,54 +696,54 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (48,4)-(52,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (48,4)-(52,1)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :lambda - │ │ │ ├── message_loc: (48,4)-(48,10) = "lambda" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (48,11)-(52,1)) - │ │ │ │ ├── locals: [:a, :b] - │ │ │ │ ├── locals_body_index: 2 - │ │ │ │ ├── parameters: - │ │ │ │ │ @ BlockParametersNode (location: (48,13)-(51,3)) - │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ @ ParametersNode (location: (49,2)-(50,6)) - │ │ │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ │ ├── keywords: (length: 2) - │ │ │ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (49,2)-(49,6)) - │ │ │ │ │ │ │ │ ├── name: :a - │ │ │ │ │ │ │ │ ├── name_loc: (49,2)-(49,4) = "a:" - │ │ │ │ │ │ │ │ └── value: - │ │ │ │ │ │ │ │ @ IntegerNode (location: (49,5)-(49,6)) - │ │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (50,2)-(50,6)) - │ │ │ │ │ │ │ ├── name: :b - │ │ │ │ │ │ │ ├── name_loc: (50,2)-(50,4) = "b:" - │ │ │ │ │ │ │ └── value: - │ │ │ │ │ │ │ @ IntegerNode (location: (50,5)-(50,6)) - │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ │ └── block: ∅ - │ │ │ │ │ ├── locals: (length: 0) - │ │ │ │ │ ├── opening_loc: (48,13)-(48,14) = "|" - │ │ │ │ │ └── closing_loc: (51,2)-(51,3) = "|" - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (48,11)-(48,12) = "{" - │ │ │ │ └── closing_loc: (52,0)-(52,1) = "}" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (48,4)-(52,1)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :lambda + │ │ ├── message_loc: (48,4)-(48,10) = "lambda" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (48,11)-(52,1)) + │ │ ├── locals: [:a, :b] + │ │ ├── locals_body_index: 2 + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (48,13)-(51,3)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (49,2)-(50,6)) + │ │ │ │ ├── requireds: (length: 0) + │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 2) + │ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (49,2)-(49,6)) + │ │ │ │ │ │ ├── name: :a + │ │ │ │ │ │ ├── name_loc: (49,2)-(49,4) = "a:" + │ │ │ │ │ │ └── value: + │ │ │ │ │ │ @ IntegerNode (location: (49,5)-(49,6)) + │ │ │ │ │ │ └── flags: decimal + │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (50,2)-(50,6)) + │ │ │ │ │ ├── name: :b + │ │ │ │ │ ├── name_loc: (50,2)-(50,4) = "b:" + │ │ │ │ │ └── value: + │ │ │ │ │ @ IntegerNode (location: (50,5)-(50,6)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (48,13)-(48,14) = "|" + │ │ │ └── closing_loc: (51,2)-(51,3) = "|" + │ │ ├── body: ∅ + │ │ ├── opening_loc: (48,11)-(48,12) = "{" + │ │ └── closing_loc: (52,0)-(52,1) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (54,0)-(54,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -750,28 +751,27 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (54,4)-(54,17)) - │ ├── locals: [:bar] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (54,7)-(54,13)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (54,8)-(54,12)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (54,8)-(54,11)) - │ │ │ │ └── name: :bar - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: - │ │ │ │ @ ImplicitRestNode (location: (54,11)-(54,12)) - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (54,7)-(54,8) = "|" - │ │ └── closing_loc: (54,12)-(54,13) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (54,4)-(54,6) = "do" - │ └── closing_loc: (54,14)-(54,17) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (54,4)-(54,17)) + ├── locals: [:bar] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (54,7)-(54,13)) + │ ├── parameters: + │ │ @ ParametersNode (location: (54,8)-(54,12)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (54,8)-(54,11)) + │ │ │ └── name: :bar + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ ImplicitRestNode (location: (54,11)-(54,12)) + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (54,7)-(54,8) = "|" + │ └── closing_loc: (54,12)-(54,13) = "|" + ├── body: ∅ + ├── opening_loc: (54,4)-(54,6) = "do" + └── closing_loc: (54,14)-(54,17) = "end" diff --git a/test/prism/snapshots/boolean_operators.txt b/test/prism/snapshots/boolean_operators.txt index a8e3918f81..82d85a9cbb 100644 --- a/test/prism/snapshots/boolean_operators.txt +++ b/test/prism/snapshots/boolean_operators.txt @@ -8,6 +8,7 @@ │ ├── operator_loc: (1,2)-(1,5) = "&&=" │ ├── value: │ │ @ CallNode (location: (1,6)-(1,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -15,8 +16,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── name: :a │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,6)) @@ -24,6 +24,7 @@ │ ├── operator_loc: (3,2)-(3,4) = "+=" │ ├── value: │ │ @ CallNode (location: (3,5)-(3,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -31,8 +32,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── name: :a │ ├── operator: :+ │ └── depth: 0 @@ -41,6 +41,7 @@ ├── operator_loc: (5,2)-(5,5) = "||=" ├── value: │ @ CallNode (location: (5,6)-(5,7)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -48,7 +49,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/break.txt b/test/prism/snapshots/break.txt index f54f6c5202..d605851d63 100644 --- a/test/prism/snapshots/break.txt +++ b/test/prism/snapshots/break.txt @@ -9,125 +9,127 @@ ├── @ BreakNode (location: (3,0)-(3,19)) │ ├── arguments: │ │ @ ArgumentsNode (location: (3,6)-(3,19)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ ParenthesesNode (location: (3,6)-(3,9)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (3,7)-(3,8)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── opening_loc: (3,6)-(3,7) = "(" - │ │ │ │ └── closing_loc: (3,8)-(3,9) = ")" - │ │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (3,12)-(3,13)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── opening_loc: (3,11)-(3,12) = "(" - │ │ │ │ └── closing_loc: (3,13)-(3,14) = ")" - │ │ │ └── @ ParenthesesNode (location: (3,16)-(3,19)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,17)-(3,18)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (3,16)-(3,17) = "(" - │ │ │ └── closing_loc: (3,18)-(3,19) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ ParenthesesNode (location: (3,6)-(3,9)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (3,7)-(3,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (3,6)-(3,7) = "(" + │ │ │ └── closing_loc: (3,8)-(3,9) = ")" + │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (3,12)-(3,13)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (3,11)-(3,12) = "(" + │ │ │ └── closing_loc: (3,13)-(3,14) = ")" + │ │ └── @ ParenthesesNode (location: (3,16)-(3,19)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,17)-(3,18)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,17)-(3,18)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (3,16)-(3,17) = "(" + │ │ └── closing_loc: (3,18)-(3,19) = ")" │ └── keyword_loc: (3,0)-(3,5) = "break" ├── @ BreakNode (location: (5,0)-(5,7)) │ ├── arguments: │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,6)-(5,7)) + │ │ └── flags: decimal │ └── keyword_loc: (5,0)-(5,5) = "break" ├── @ BreakNode (location: (7,0)-(8,1)) │ ├── arguments: │ │ @ ArgumentsNode (location: (7,6)-(8,1)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (7,6)-(7,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (7,9)-(7,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (8,0)-(8,1)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (7,6)-(7,7)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (7,9)-(7,10)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (8,0)-(8,1)) + │ │ └── flags: decimal │ └── keyword_loc: (7,0)-(7,5) = "break" ├── @ BreakNode (location: (10,0)-(10,13)) │ ├── arguments: │ │ @ ArgumentsNode (location: (10,6)-(10,13)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (10,6)-(10,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (10,9)-(10,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (10,12)-(10,13)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (10,6)-(10,7)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (10,9)-(10,10)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (10,12)-(10,13)) + │ │ └── flags: decimal │ └── keyword_loc: (10,0)-(10,5) = "break" ├── @ BreakNode (location: (12,0)-(12,15)) │ ├── arguments: │ │ @ ArgumentsNode (location: (12,6)-(12,15)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ArrayNode (location: (12,6)-(12,15)) - │ │ │ ├── elements: (length: 3) - │ │ │ │ ├── @ IntegerNode (location: (12,7)-(12,8)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── @ IntegerNode (location: (12,10)-(12,11)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (12,13)-(12,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (12,6)-(12,7) = "[" - │ │ │ ├── closing_loc: (12,14)-(12,15) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ArrayNode (location: (12,6)-(12,15)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 3) + │ │ │ ├── @ IntegerNode (location: (12,7)-(12,8)) + │ │ │ │ └── flags: decimal + │ │ │ ├── @ IntegerNode (location: (12,10)-(12,11)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (12,13)-(12,14)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (12,6)-(12,7) = "[" + │ │ └── closing_loc: (12,14)-(12,15) = "]" │ └── keyword_loc: (12,0)-(12,5) = "break" ├── @ BreakNode (location: (14,0)-(17,1)) │ ├── arguments: │ │ @ ArgumentsNode (location: (14,5)-(17,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (14,5)-(17,1)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (15,2)-(16,3)) - │ │ │ │ └── body: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (14,5)-(14,6) = "(" - │ │ │ └── closing_loc: (17,0)-(17,1) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (14,5)-(17,1)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (15,2)-(16,3)) + │ │ │ └── body: (length: 2) + │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (16,2)-(16,3)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (14,5)-(14,6) = "(" + │ │ └── closing_loc: (17,0)-(17,1) = ")" │ └── keyword_loc: (14,0)-(14,5) = "break" ├── @ BreakNode (location: (19,0)-(19,7)) │ ├── arguments: │ │ @ ArgumentsNode (location: (19,5)-(19,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (19,5)-(19,7)) - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" - │ │ │ └── closing_loc: (19,6)-(19,7) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (19,5)-(19,7)) + │ │ ├── body: ∅ + │ │ ├── opening_loc: (19,5)-(19,6) = "(" + │ │ └── closing_loc: (19,6)-(19,7) = ")" │ └── keyword_loc: (19,0)-(19,5) = "break" ├── @ BreakNode (location: (21,0)-(21,8)) │ ├── arguments: │ │ @ ArgumentsNode (location: (21,5)-(21,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (21,5)-(21,8)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (21,6)-(21,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (21,6)-(21,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (21,5)-(21,6) = "(" - │ │ │ └── closing_loc: (21,7)-(21,8) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (21,5)-(21,8)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (21,6)-(21,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (21,6)-(21,7)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (21,5)-(21,6) = "(" + │ │ └── closing_loc: (21,7)-(21,8) = ")" │ └── keyword_loc: (21,0)-(21,5) = "break" ├── @ CallNode (location: (23,0)-(23,22)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -135,41 +137,41 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (23,4)-(23,16)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (23,6)-(23,14)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ BreakNode (location: (23,6)-(23,14)) - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── keyword_loc: (23,6)-(23,11) = "break" - │ │ │ ├── opening_loc: (23,4)-(23,5) = "{" - │ │ │ └── closing_loc: (23,15)-(23,16) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (23,4)-(23,16)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (23,6)-(23,14)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ BreakNode (location: (23,6)-(23,14)) + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14)) + │ │ │ │ └── flags: decimal + │ │ │ └── keyword_loc: (23,6)-(23,11) = "break" + │ │ ├── opening_loc: (23,4)-(23,5) = "{" + │ │ └── closing_loc: (23,15)-(23,16) = "}" │ ├── call_operator_loc: ∅ │ ├── name: :== │ ├── message_loc: (23,17)-(23,19) = "==" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (23,20)-(23,22)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (23,20)-(23,22)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (23,20)-(23,22)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (25,0)-(25,23)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (25,0)-(25,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -177,45 +179,43 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (25,4)-(25,17)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (25,6)-(25,9)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (25,7)-(25,8)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (25,6)-(25,7) = "|" - │ │ │ └── closing_loc: (25,8)-(25,9) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (25,10)-(25,15)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ BreakNode (location: (25,10)-(25,15)) - │ │ │ ├── arguments: ∅ - │ │ │ └── keyword_loc: (25,10)-(25,15) = "break" - │ │ ├── opening_loc: (25,4)-(25,5) = "{" - │ │ └── closing_loc: (25,16)-(25,17) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (25,4)-(25,17)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (25,6)-(25,9)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (25,7)-(25,8)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (25,6)-(25,7) = "|" + │ │ └── closing_loc: (25,8)-(25,9) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (25,10)-(25,15)) + │ │ └── body: (length: 1) + │ │ └── @ BreakNode (location: (25,10)-(25,15)) + │ │ ├── arguments: ∅ + │ │ └── keyword_loc: (25,10)-(25,15) = "break" + │ ├── opening_loc: (25,4)-(25,5) = "{" + │ └── closing_loc: (25,16)-(25,17) = "}" ├── call_operator_loc: ∅ ├── name: :== ├── message_loc: (25,18)-(25,20) = "==" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (25,21)-(25,23)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (25,21)-(25,23)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (25,21)-(25,23)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/case.txt b/test/prism/snapshots/case.txt index badeaa07cc..f841fcb269 100644 --- a/test/prism/snapshots/case.txt +++ b/test/prism/snapshots/case.txt @@ -35,6 +35,7 @@ │ │ │ @ StatementsNode (location: (5,22)-(5,30)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (5,22)-(5,30)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :puts @@ -42,16 +43,15 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (5,27)-(5,30)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30)) - │ │ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":" - │ │ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "hi" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30)) + │ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":" + │ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "hi" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ WhenNode (location: (5,32)-(5,53)) │ │ ├── keyword_loc: (5,32)-(5,36) = "when" │ │ ├── conditions: (length: 1) @@ -60,6 +60,7 @@ │ │ @ StatementsNode (location: (5,44)-(5,53)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,44)-(5,53)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -67,16 +68,15 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,49)-(5,53)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (5,49)-(5,53)) - │ │ │ │ ├── opening_loc: (5,49)-(5,50) = ":" - │ │ │ │ ├── value_loc: (5,50)-(5,53) = "bye" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "bye" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SymbolNode (location: (5,49)-(5,53)) + │ │ │ ├── opening_loc: (5,49)-(5,50) = ":" + │ │ │ ├── value_loc: (5,50)-(5,53) = "bye" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "bye" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (5,0)-(5,4) = "case" │ └── end_keyword_loc: (5,55)-(5,58) = "end" @@ -90,6 +90,7 @@ │ │ │ ├── operator_loc: (7,11)-(7,12) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (7,12)-(7,15)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -97,8 +98,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (7,0)-(7,4) = "case" @@ -137,6 +137,7 @@ ├── @ CaseNode (location: (15,0)-(15,36)) │ ├── predicate: │ │ @ CallNode (location: (15,5)-(15,9)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :this @@ -144,8 +145,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (15,11)-(15,31)) │ │ ├── keyword_loc: (15,11)-(15,15) = "when" @@ -165,8 +165,10 @@ │ │ ├── keyword_loc: (18,0)-(18,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (18,5)-(18,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (18,5)-(18,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -174,29 +176,27 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :== │ │ │ ├── message_loc: (18,9)-(18,11) = "==" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (18,12)-(18,15)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (18,12)-(18,15)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (18,12)-(18,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── statements: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (17,0)-(17,4) = "case" @@ -208,6 +208,7 @@ │ │ ├── keyword_loc: (22,0)-(22,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (22,5)-(22,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -215,8 +216,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: ∅ │ ├── consequent: │ │ @ ElseNode (location: (23,0)-(25,3)) @@ -228,6 +228,7 @@ ├── @ CaseNode (location: (27,0)-(30,6)) │ ├── predicate: │ │ @ CallNode (location: (27,5)-(27,9)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :type @@ -235,8 +236,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (28,3)-(28,10)) │ │ ├── keyword_loc: (28,3)-(28,7) = "when" diff --git a/test/prism/snapshots/classes.txt b/test/prism/snapshots/classes.txt index 06cdf40cd2..7bb029234d 100644 --- a/test/prism/snapshots/classes.txt +++ b/test/prism/snapshots/classes.txt @@ -108,8 +108,10 @@ │ ├── operator_loc: (11,6)-(11,8) = "<<" │ ├── expression: │ │ @ CallNode (location: (11,9)-(11,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (11,13)-(11,16)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -117,16 +119,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (11,9)-(11,12) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (12,0)-(12,3) = "end" ├── @ ClassNode (location: (14,0)-(14,40)) @@ -210,8 +210,10 @@ │ ├── operator_loc: (18,6)-(18,8) = "<<" │ ├── expression: │ │ @ CallNode (location: (18,9)-(18,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (18,9)-(18,12)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -219,16 +221,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (18,12)-(18,13) = "." │ │ ├── name: :bar │ │ ├── message_loc: (18,13)-(18,16) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ SingletonClassNode (location: (21,0)-(21,20)) @@ -237,8 +237,10 @@ │ ├── operator_loc: (21,6)-(21,8) = "<<" │ ├── expression: │ │ @ CallNode (location: (21,9)-(21,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (21,9)-(21,12)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -246,16 +248,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (21,12)-(21,13) = "." │ │ ├── name: :bar │ │ ├── message_loc: (21,13)-(21,16) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (21,17)-(21,20) = "end" ├── @ SingletonClassNode (location: (23,0)-(24,3)) @@ -284,6 +284,7 @@ │ │ @ StatementsNode (location: (29,0)-(29,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (29,0)-(29,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (29,0)-(29,1)) │ │ │ └── flags: decimal @@ -293,13 +294,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (29,4)-(29,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (29,4)-(29,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (29,4)-(29,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" ├── @ SingletonClassNode (location: (32,0)-(32,23)) │ ├── locals: [] @@ -311,6 +311,7 @@ │ │ @ StatementsNode (location: (32,14)-(32,19)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (32,14)-(32,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (32,14)-(32,15)) │ │ │ └── flags: decimal @@ -320,13 +321,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (32,18)-(32,19)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (32,18)-(32,19)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (32,18)-(32,19)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── end_keyword_loc: (32,20)-(32,23) = "end" └── @ ClassNode (location: (34,0)-(35,3)) ├── locals: [] @@ -337,6 +337,7 @@ ├── inheritance_operator_loc: (34,8)-(34,9) = "<" ├── superclass: │ @ CallNode (location: (34,10)-(34,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (34,10)-(34,11)) │ │ └── name: :B @@ -346,13 +347,12 @@ │ ├── opening_loc: (34,11)-(34,12) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (34,12)-(34,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (34,12)-(34,13)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (34,12)-(34,13)) + │ │ └── flags: decimal │ ├── closing_loc: (34,13)-(34,14) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── body: ∅ ├── end_keyword_loc: (35,0)-(35,3) = "end" └── name: :A diff --git a/test/prism/snapshots/command_method_call.txt b/test/prism/snapshots/command_method_call.txt index c93aaec5b2..e5cb5202bf 100644 --- a/test/prism/snapshots/command_method_call.txt +++ b/test/prism/snapshots/command_method_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(41,10)) └── body: (length: 21) ├── @ CallNode (location: (1,0)-(1,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,14 +12,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -26,30 +27,30 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,4)-(3,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,4)-(3,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (3,4)-(3,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (3,8)-(3,9)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,4)-(3,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (3,4)-(3,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (3,8)-(3,9)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) + │ │ │ └── flags: decimal + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ IfNode (location: (5,0)-(5,14)) │ ├── if_keyword_loc: (5,6)-(5,8) = "if" │ ├── predicate: │ │ @ CallNode (location: (5,9)-(5,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -57,18 +58,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,13)-(5,14)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (5,13)-(5,14)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (5,13)-(5,14)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,0)-(5,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,0)-(5,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -76,19 +77,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,4)-(5,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (5,4)-(5,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (5,4)-(5,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ UnlessNode (location: (7,0)-(7,18)) │ ├── keyword_loc: (7,6)-(7,12) = "unless" │ ├── predicate: │ │ @ CallNode (location: (7,13)-(7,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -96,18 +97,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,17)-(7,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (7,17)-(7,18)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (7,17)-(7,18)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (7,0)-(7,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,0)-(7,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -115,20 +116,21 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,4)-(7,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (7,4)-(7,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ WhileNode (location: (9,0)-(9,17)) + │ ├── flags: ∅ │ ├── keyword_loc: (9,6)-(9,11) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (9,12)-(9,17)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -136,37 +138,37 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,16)-(9,17)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (9,16)-(9,17)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (9,16)-(9,17)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (9,0)-(9,5)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (9,0)-(9,5)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (9,0)-(9,3) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (9,4)-(9,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (9,4)-(9,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (9,0)-(9,5)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (9,0)-(9,5)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (9,0)-(9,3) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (9,4)-(9,5)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (9,4)-(9,5)) + │ │ └── flags: decimal + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ UntilNode (location: (11,0)-(11,17)) + │ ├── flags: ∅ │ ├── keyword_loc: (11,6)-(11,11) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (11,12)-(11,17)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -174,35 +176,34 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (11,16)-(11,17)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (11,16)-(11,17)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (11,16)-(11,17)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (11,0)-(11,5)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (11,0)-(11,5)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (11,0)-(11,3) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (11,4)-(11,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (11,0)-(11,5)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (11,0)-(11,5)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (11,0)-(11,3) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (11,4)-(11,5)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (11,4)-(11,5)) + │ │ └── flags: decimal + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ RescueModifierNode (location: (13,0)-(13,18)) │ ├── expression: │ │ @ CallNode (location: (13,0)-(13,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -210,16 +211,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (13,4)-(13,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (13,4)-(13,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (13,4)-(13,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (13,6)-(13,12) = "rescue" │ └── rescue_expression: │ @ CallNode (location: (13,13)-(13,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -227,16 +228,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,17)-(13,18)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (13,17)-(13,18)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (13,17)-(13,18)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -244,37 +246,36 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (15,3)-(15,10) = "[bar 1]" │ ├── opening_loc: (15,3)-(15,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (15,4)-(15,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (15,4)-(15,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (15,4)-(15,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (15,8)-(15,9)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (15,8)-(15,9)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (15,4)-(15,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (15,4)-(15,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (15,8)-(15,9)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (15,8)-(15,9)) + │ │ │ └── flags: decimal + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (15,9)-(15,10) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ AndNode (location: (17,0)-(17,15)) │ ├── left: │ │ @ CallNode (location: (17,0)-(17,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -282,15 +283,15 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (17,4)-(17,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (17,4)-(17,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (17,4)-(17,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (17,10)-(17,15)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -298,17 +299,17 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (17,14)-(17,15)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (17,14)-(17,15)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (17,6)-(17,9) = "and" ├── @ OrNode (location: (19,0)-(19,14)) │ ├── left: │ │ @ CallNode (location: (19,0)-(19,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -316,15 +317,15 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (19,4)-(19,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (19,4)-(19,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (19,4)-(19,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (19,9)-(19,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -332,17 +333,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (19,13)-(19,14)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (19,13)-(19,14)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (19,13)-(19,14)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (19,6)-(19,8) = "or" ├── @ CallNode (location: (21,0)-(21,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (21,4)-(21,9)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -350,21 +352,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (21,8)-(21,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (21,8)-(21,9)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (21,8)-(21,9)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (21,0)-(21,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (23,0)-(23,17)) │ ├── name: :foo │ ├── depth: 0 @@ -376,6 +376,7 @@ │ │ ├── name_loc: (23,6)-(23,9) = "bar" │ │ ├── value: │ │ │ @ CallNode (location: (23,12)-(23,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -383,13 +384,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (23,16)-(23,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── operator_loc: (23,10)-(23,11) = "=" │ └── operator_loc: (23,4)-(23,5) = "=" ├── @ DefNode (location: (25,0)-(25,15)) @@ -401,6 +401,7 @@ │ │ @ StatementsNode (location: (25,10)-(25,15)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,10)-(25,15)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -408,13 +409,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (25,14)-(25,15)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (25,14)-(25,15)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (25,14)-(25,15)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (25,0)-(25,3) = "def" @@ -424,6 +424,7 @@ │ ├── equal_loc: (25,8)-(25,9) = "=" │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (27,0)-(27,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (27,0)-(27,1)) │ │ └── flags: decimal @@ -433,16 +434,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (27,6)-(27,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (27,6)-(27,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (27,6)-(27,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (29,0)-(29,1)) │ │ │ └── flags: decimal @@ -452,26 +454,27 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (29,5)-(29,6) = "." │ ├── name: :bar │ ├── message_loc: (29,6)-(29,9) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (29,10)-(29,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (29,10)-(29,11)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (29,10)-(29,11)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (31,0)-(31,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ IntegerNode (location: (31,0)-(31,1)) │ │ │ │ └── flags: decimal @@ -481,37 +484,36 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[] │ │ ├── message_loc: (31,5)-(31,8) = "[2]" │ │ ├── opening_loc: (31,5)-(31,6) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (31,6)-(31,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (31,6)-(31,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (31,6)-(31,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (31,7)-(31,8) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (31,8)-(31,9) = "." │ ├── name: :bar │ ├── message_loc: (31,9)-(31,12) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (31,13)-(31,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (31,13)-(31,14)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (31,13)-(31,14)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (33,0)-(33,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (33,0)-(33,1)) │ │ │ └── flags: decimal @@ -521,29 +523,29 @@ │ │ ├── opening_loc: (33,5)-(33,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (33,6)-(33,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (33,6)-(33,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (33,6)-(33,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (33,7)-(33,8) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (33,8)-(33,9) = "." │ ├── name: :bar │ ├── message_loc: (33,9)-(33,12) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (33,13)-(33,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (33,13)-(33,14)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (33,13)-(33,14)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,9)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (35,0)-(35,1)) │ │ │ └── flags: decimal @@ -553,31 +555,31 @@ │ │ ├── opening_loc: (35,5)-(35,6) = "(" │ │ ├── arguments: ∅ │ │ ├── closing_loc: (35,8)-(35,9) = ")" - │ │ ├── block: - │ │ │ @ BlockArgumentNode (location: (35,6)-(35,8)) - │ │ │ ├── expression: - │ │ │ │ @ IntegerNode (location: (35,7)-(35,8)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (35,6)-(35,7) = "&" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockArgumentNode (location: (35,6)-(35,8)) + │ │ ├── expression: + │ │ │ @ IntegerNode (location: (35,7)-(35,8)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (35,6)-(35,7) = "&" │ ├── call_operator_loc: (35,9)-(35,10) = "." │ ├── name: :bar │ ├── message_loc: (35,10)-(35,13) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (35,14)-(35,15)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (35,14)-(35,15)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (35,14)-(35,15)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ AndNode (location: (37,0)-(37,17)) │ ├── left: │ │ @ CallNode (location: (37,0)-(37,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (37,1)-(37,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -585,25 +587,25 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (37,5)-(37,6)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (37,0)-(37,1) = "!" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (37,11)-(37,17)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (37,12)-(37,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -611,27 +613,27 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (37,16)-(37,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (37,11)-(37,12) = "!" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (37,7)-(37,10) = "and" ├── @ OrNode (location: (39,0)-(39,16)) │ ├── left: │ │ @ CallNode (location: (39,0)-(39,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (39,1)-(39,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -639,25 +641,25 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (39,5)-(39,6)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (39,0)-(39,1) = "!" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (39,10)-(39,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (39,11)-(39,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -665,27 +667,28 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (39,15)-(39,16)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (39,10)-(39,11) = "!" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (39,7)-(39,9) = "or" └── @ CallNode (location: (41,0)-(41,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (41,4)-(41,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (41,5)-(41,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -693,26 +696,23 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (41,9)-(41,10)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (41,9)-(41,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (41,9)-(41,10)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (41,4)-(41,5) = "!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (41,0)-(41,3) = "not" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/comments.txt b/test/prism/snapshots/comments.txt index c12dc9911a..5d0b626d90 100644 --- a/test/prism/snapshots/comments.txt +++ b/test/prism/snapshots/comments.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(24,5)) └── body: (length: 9) ├── @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -21,9 +22,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c @@ -31,9 +32,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (6,0)-(6,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :d @@ -41,11 +42,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (8,0)-(10,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (8,0)-(8,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :e @@ -53,19 +55,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (10,2)-(10,3) = "." │ ├── name: :f │ ├── message_loc: (10,3)-(10,4) = "f" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (12,0)-(14,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (12,0)-(12,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :g @@ -73,19 +75,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (14,0)-(14,1) = "." │ ├── name: :h │ ├── message_loc: (14,1)-(14,2) = "h" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (16,0)-(17,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (16,0)-(16,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :i @@ -93,19 +95,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (17,0)-(17,1) = "." │ ├── name: :j │ ├── message_loc: (17,1)-(17,2) = "j" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (19,0)-(20,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :k @@ -113,19 +115,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (20,2)-(20,3) = "." │ ├── name: :l │ ├── message_loc: (20,3)-(20,4) = "l" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (22,0)-(24,5)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (22,0)-(22,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -133,13 +135,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (24,2)-(24,4) = "&." ├── name: :n ├── message_loc: (24,4)-(24,5) = "n" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/constants.txt b/test/prism/snapshots/constants.txt index 354153ddf3..7abd8cf69e 100644 --- a/test/prism/snapshots/constants.txt +++ b/test/prism/snapshots/constants.txt @@ -28,6 +28,7 @@ ├── @ ConstantPathNode (location: (5,0)-(5,4)) │ ├── parent: │ │ @ CallNode (location: (5,0)-(5,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── child: │ │ @ ConstantReadNode (location: (5,3)-(5,4)) │ │ └── name: :B @@ -65,6 +65,7 @@ ├── @ ConstantReadNode (location: (11,0)-(11,3)) │ └── name: :ABC ├── @ CallNode (location: (13,0)-(13,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -72,14 +73,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,4)-(13,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (13,4)-(13,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (13,4)-(13,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -87,25 +88,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (15,4)-(15,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (15,4)-(15,8)) - │ │ │ ├── operator_loc: (15,4)-(15,5) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (15,5)-(15,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (15,5)-(15,8) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (15,4)-(15,8)) + │ │ ├── operator_loc: (15,4)-(15,5) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (15,5)-(15,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (15,5)-(15,8) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -113,27 +114,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (17,4)-(17,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (17,4)-(17,9)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (17,4)-(17,9)) - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (17,6)-(17,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (17,6)-(17,9) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (17,4)-(17,6) = "**" - │ │ └── flags: contains_keyword_splat - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (17,4)-(17,9)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (17,4)-(17,9)) + │ │ ├── value: + │ │ │ @ CallNode (location: (17,6)-(17,9)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (17,6)-(17,9) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (17,4)-(17,6) = "**" + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -141,22 +142,22 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockArgumentNode (location: (19,4)-(19,8)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (19,5)-(19,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (19,5)-(19,8) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (19,4)-(19,5) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (19,4)-(19,8)) + │ ├── expression: + │ │ @ CallNode (location: (19,5)-(19,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (19,5)-(19,8) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (19,4)-(19,5) = "&" ├── @ CallNode (location: (21,0)-(21,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (21,0)-(21,3)) │ │ └── name: :Foo @@ -166,25 +167,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,9)-(21,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (21,9)-(21,13)) - │ │ │ ├── operator_loc: (21,9)-(21,10) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (21,10)-(21,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (21,10)-(21,13) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (21,9)-(21,13)) + │ │ ├── operator_loc: (21,9)-(21,10) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (21,10)-(21,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (21,10)-(21,13) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (23,0)-(23,3)) │ │ └── name: :Foo @@ -194,27 +195,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (23,9)-(23,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (23,9)-(23,14)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (23,9)-(23,14)) - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (23,11)-(23,14)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (23,11)-(23,14) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (23,9)-(23,11) = "**" - │ │ └── flags: contains_keyword_splat - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (23,9)-(23,14)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (23,9)-(23,14)) + │ │ ├── value: + │ │ │ @ CallNode (location: (23,11)-(23,14)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (23,11)-(23,14) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (23,9)-(23,11) = "**" + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (25,0)-(25,3)) │ │ └── name: :Foo @@ -224,22 +225,22 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockArgumentNode (location: (25,9)-(25,13)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (25,10)-(25,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (25,10)-(25,13) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (25,9)-(25,10) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (25,9)-(25,13)) + │ ├── expression: + │ │ @ CallNode (location: (25,10)-(25,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (25,10)-(25,13) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (25,9)-(25,10) = "&" ├── @ CallNode (location: (27,0)-(27,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantPathNode (location: (27,0)-(27,3)) │ │ ├── parent: ∅ @@ -253,8 +254,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathWriteNode (location: (29,0)-(29,7)) │ ├── target: │ │ @ ConstantPathNode (location: (29,0)-(29,3)) @@ -304,6 +304,7 @@ │ │ └── name: :A │ └── delimiter_loc: (35,0)-(35,2) = "::" ├── @ CallNode (location: (37,0)-(37,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (37,0)-(37,1)) │ │ └── name: :A @@ -313,9 +314,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantPathNode (location: (39,0)-(39,4)) │ │ ├── parent: @@ -331,9 +332,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (41,0)-(41,1)) │ │ └── name: :A @@ -343,9 +344,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (43,0)-(43,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (43,0)-(43,1)) │ │ └── name: :A @@ -355,9 +356,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (45,0)-(45,1)) │ │ └── name: :A @@ -367,9 +368,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (47,0)-(47,1)) │ │ └── name: :A @@ -379,9 +380,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (49,0)-(49,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (49,0)-(49,1)) │ │ └── name: :A @@ -391,9 +392,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (51,0)-(51,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (51,0)-(51,1)) │ │ └── name: :A @@ -403,9 +404,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (53,0)-(53,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (53,0)-(53,1)) │ │ └── name: :A @@ -415,9 +416,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (55,0)-(55,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (55,0)-(55,1)) │ │ └── name: :A @@ -427,9 +428,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (57,0)-(57,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (57,0)-(57,1)) │ │ └── name: :A @@ -439,9 +440,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (59,0)-(59,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (59,0)-(59,1)) │ │ └── name: :A @@ -451,9 +452,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (61,0)-(61,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (61,0)-(61,1)) │ │ └── name: :A @@ -463,9 +464,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (63,0)-(63,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (63,0)-(63,1)) │ │ └── name: :A @@ -475,8 +476,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathNode (location: (65,0)-(67,1)) │ ├── parent: │ │ @ ConstantReadNode (location: (65,0)-(65,1)) @@ -486,6 +486,7 @@ │ │ └── name: :C │ └── delimiter_loc: (65,1)-(65,3) = "::" ├── @ CallNode (location: (69,0)-(69,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (69,0)-(69,1)) │ │ └── name: :A @@ -495,9 +496,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (71,0)-(71,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (71,0)-(71,1)) │ │ └── name: :A @@ -507,9 +508,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (73,0)-(73,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (73,0)-(73,1)) │ │ └── name: :A @@ -519,8 +520,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathNode (location: (75,0)-(75,8)) │ ├── parent: │ │ @ ConstantReadNode (location: (75,0)-(75,1)) @@ -530,6 +530,7 @@ │ │ └── name: :BEGIN │ └── delimiter_loc: (75,1)-(75,3) = "::" ├── @ CallNode (location: (77,0)-(77,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (77,0)-(77,1)) │ │ └── name: :A @@ -539,9 +540,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (79,0)-(79,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (79,0)-(79,1)) │ │ └── name: :A @@ -551,9 +552,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (81,0)-(81,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (81,0)-(81,1)) │ │ └── name: :A @@ -563,9 +564,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (83,0)-(83,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (83,0)-(83,1)) │ │ └── name: :A @@ -575,9 +576,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (85,0)-(85,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (85,0)-(85,1)) │ │ └── name: :A @@ -587,9 +588,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (87,0)-(87,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (87,0)-(87,1)) │ │ └── name: :A @@ -599,9 +600,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (89,0)-(89,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (89,0)-(89,1)) │ │ └── name: :A @@ -611,9 +612,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (91,0)-(91,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (91,0)-(91,1)) │ │ └── name: :A @@ -623,8 +624,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathNode (location: (93,0)-(93,6)) │ ├── parent: │ │ @ ConstantReadNode (location: (93,0)-(93,1)) @@ -634,6 +634,7 @@ │ │ └── name: :END │ └── delimiter_loc: (93,1)-(93,3) = "::" ├── @ CallNode (location: (95,0)-(95,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (95,0)-(95,1)) │ │ └── name: :A @@ -643,9 +644,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (97,0)-(97,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (97,0)-(97,1)) │ │ └── name: :A @@ -655,9 +656,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (99,0)-(99,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (99,0)-(99,1)) │ │ └── name: :A @@ -667,9 +668,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (101,0)-(101,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (101,0)-(101,1)) │ │ └── name: :A @@ -679,9 +680,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (103,0)-(103,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (103,0)-(103,1)) │ │ └── name: :A @@ -691,9 +692,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (105,0)-(105,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (105,0)-(105,1)) │ │ └── name: :A @@ -703,9 +704,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (107,0)-(107,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (107,0)-(107,1)) │ │ └── name: :A @@ -715,9 +716,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (109,0)-(109,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (109,0)-(109,1)) │ │ └── name: :A @@ -727,9 +728,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (111,0)-(111,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (111,0)-(111,1)) │ │ └── name: :A @@ -739,9 +740,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (113,0)-(113,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (113,0)-(113,1)) │ │ └── name: :A @@ -751,9 +752,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (115,0)-(115,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (115,0)-(115,1)) │ │ └── name: :A @@ -763,9 +764,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (117,0)-(117,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (117,0)-(117,1)) │ │ └── name: :A @@ -775,9 +776,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (119,0)-(119,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (119,0)-(119,1)) │ │ └── name: :A @@ -787,9 +788,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (121,0)-(121,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (121,0)-(121,1)) │ │ └── name: :A @@ -799,9 +800,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (123,0)-(123,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (123,0)-(123,1)) │ │ └── name: :A @@ -811,9 +812,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (125,0)-(125,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (125,0)-(125,1)) │ │ └── name: :A @@ -823,9 +824,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (127,0)-(127,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (127,0)-(127,1)) │ │ └── name: :A @@ -835,9 +836,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (129,0)-(129,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (129,0)-(129,1)) │ │ └── name: :A @@ -847,9 +848,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (131,0)-(131,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (131,0)-(131,1)) │ │ └── name: :A @@ -859,9 +860,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (133,0)-(133,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (133,0)-(133,1)) │ │ └── name: :A @@ -871,9 +872,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (135,0)-(135,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (135,0)-(135,1)) │ │ └── name: :A @@ -883,9 +884,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (137,0)-(137,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (137,0)-(137,1)) │ │ └── name: :A @@ -895,9 +896,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (139,0)-(139,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (139,0)-(139,1)) │ │ └── name: :A @@ -907,9 +908,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (141,0)-(141,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (141,0)-(141,1)) │ │ └── name: :A @@ -919,9 +920,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (143,0)-(143,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (143,0)-(143,1)) │ │ └── name: :A @@ -931,9 +932,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (145,0)-(145,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (145,0)-(145,1)) │ │ └── name: :A @@ -943,9 +944,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (147,0)-(147,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (147,0)-(147,1)) │ │ └── name: :A @@ -955,9 +956,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (149,0)-(149,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (149,0)-(149,1)) │ │ └── name: :A @@ -967,9 +968,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (151,0)-(151,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (151,0)-(151,1)) │ │ └── name: :A @@ -979,9 +980,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (153,0)-(153,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (153,0)-(153,1)) │ │ └── name: :A @@ -991,9 +992,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (155,0)-(155,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (155,0)-(155,1)) │ │ └── name: :A @@ -1003,9 +1004,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (157,0)-(157,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (157,0)-(157,1)) │ │ └── name: :A @@ -1015,22 +1016,22 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (157,4)-(157,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (157,4)-(157,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :i - │ │ │ ├── message_loc: (157,4)-(157,5) = "i" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (157,4)-(157,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :i + │ │ ├── message_loc: (157,4)-(157,5) = "i" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (159,0)-(159,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (159,0)-(159,1)) │ │ └── name: :A @@ -1040,22 +1041,22 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (159,4)-(159,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (159,4)-(159,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :w - │ │ │ ├── message_loc: (159,4)-(159,5) = "w" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (159,4)-(159,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :w + │ │ ├── message_loc: (159,4)-(159,5) = "w" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (161,0)-(161,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (161,0)-(161,1)) │ │ └── name: :A @@ -1065,22 +1066,22 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (161,4)-(161,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (161,4)-(161,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :x - │ │ │ ├── message_loc: (161,4)-(161,5) = "x" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (161,4)-(161,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :x + │ │ ├── message_loc: (161,4)-(161,5) = "x" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ CallNode (location: (163,0)-(163,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (163,0)-(163,1)) │ │ └── name: :A @@ -1090,14 +1091,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (163,4)-(163,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ConstantReadNode (location: (163,4)-(163,5)) - │ │ │ └── name: :I - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ConstantReadNode (location: (163,4)-(163,5)) + │ │ └── name: :I │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (165,0)-(165,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (165,0)-(165,1)) │ │ └── name: :A @@ -1107,14 +1108,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (165,4)-(165,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ConstantReadNode (location: (165,4)-(165,5)) - │ │ │ └── name: :W - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ConstantReadNode (location: (165,4)-(165,5)) + │ │ └── name: :W │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (167,0)-(167,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (167,0)-(167,1)) │ │ └── name: :A @@ -1124,9 +1125,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (169,0)-(169,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (169,0)-(169,1)) │ │ └── name: :A @@ -1136,9 +1137,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (171,0)-(171,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (171,0)-(171,1)) │ │ └── name: :A @@ -1148,9 +1149,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (173,0)-(173,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (173,0)-(173,1)) │ │ └── name: :A @@ -1160,9 +1161,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (175,0)-(175,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (175,0)-(175,1)) │ │ └── name: :A @@ -1172,9 +1173,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (177,0)-(177,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (177,0)-(177,1)) │ │ └── name: :A @@ -1184,11 +1185,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathNode (location: (179,0)-(180,1)) │ ├── parent: │ │ @ CallNode (location: (179,0)-(179,4)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ConstantReadNode (location: (179,0)-(179,1)) │ │ │ └── name: :A @@ -1198,15 +1199,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── child: │ │ @ ConstantReadNode (location: (180,0)-(180,1)) │ │ └── name: :C │ └── delimiter_loc: (179,4)-(179,6) = "::" └── @ RangeNode (location: (182,0)-(184,10)) + ├── flags: ∅ ├── left: │ @ CallNode (location: (182,0)-(182,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (182,0)-(182,1)) │ │ └── name: :A @@ -1216,10 +1218,10 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── right: │ @ CallNode (location: (184,0)-(184,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (184,0)-(184,1)) │ │ └── name: :A @@ -1229,7 +1231,5 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ - ├── operator_loc: (182,4)-(182,6) = ".." - └── flags: ∅ + │ └── block: ∅ + └── operator_loc: (182,4)-(182,6) = ".." diff --git a/test/prism/snapshots/dash_heredocs.txt b/test/prism/snapshots/dash_heredocs.txt index ebb14c3a49..60973c73db 100644 --- a/test/prism/snapshots/dash_heredocs.txt +++ b/test/prism/snapshots/dash_heredocs.txt @@ -10,6 +10,7 @@ │ ├── closing_loc: (3,0)-(4,0) = "EOF\n" │ └── unescaped: " a\n" ├── @ CallNode (location: (5,0)-(5,20)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ StringNode (location: (5,0)-(5,8)) │ │ ├── flags: ∅ @@ -23,17 +24,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,11)-(5,20)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (5,11)-(5,20)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND" - │ │ │ ├── content_loc: (8,0)-(9,0) = " b\n" - │ │ │ ├── closing_loc: (9,0)-(10,0) = "SECOND\n" - │ │ │ └── unescaped: " b\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (5,11)-(5,20)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND" + │ │ ├── content_loc: (8,0)-(9,0) = " b\n" + │ │ ├── closing_loc: (9,0)-(10,0) = "SECOND\n" + │ │ └── unescaped: " b\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ InterpolatedXStringNode (location: (11,0)-(11,8)) │ ├── opening_loc: (11,0)-(11,8) = "<<-`EOF`" │ ├── parts: (length: 3) @@ -49,6 +49,7 @@ │ │ │ │ @ StatementsNode (location: (13,2)-(13,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (13,2)-(13,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -56,8 +57,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (13,3)-(13,4) = "}" │ │ └── @ StringNode (location: (13,4)-(14,0)) │ │ ├── flags: ∅ @@ -93,6 +93,7 @@ │ │ │ │ @ StatementsNode (location: (27,2)-(27,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (27,2)-(27,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -100,8 +101,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (27,3)-(27,4) = "}" │ │ └── @ StringNode (location: (27,4)-(28,0)) │ │ ├── flags: ∅ @@ -125,6 +125,7 @@ │ │ │ │ @ StatementsNode (location: (32,2)-(32,3)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (32,2)-(32,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -132,8 +133,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (32,3)-(32,4) = "}" │ │ └── @ StringNode (location: (32,4)-(33,0)) │ │ ├── flags: ∅ @@ -167,6 +167,7 @@ │ ├── closing_loc: (47,0)-(48,0) = "EOF\n" │ └── unescaped: " a \#{1}\n" ├── @ CallNode (location: (49,0)-(49,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ StringNode (location: (49,0)-(49,4)) │ │ ├── flags: ∅ @@ -180,36 +181,36 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (49,7)-(49,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11)) - │ │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (52,0)-(53,2)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n " - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " b\n " - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3)) - │ │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}" - │ │ │ │ └── @ StringNode (location: (54,3)-(55,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (54,3)-(55,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (55,0)-(56,0) = "B\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11)) + │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (52,0)-(53,2)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n " + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " b\n " + │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3)) + │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}" + │ │ │ └── @ StringNode (location: (54,3)-(55,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (54,3)-(55,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (55,0)-(56,0) = "B\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (57,0)-(57,11)) + ├── flags: ∅ ├── receiver: │ @ StringNode (location: (57,0)-(57,4)) │ ├── flags: ∅ @@ -223,32 +224,31 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (57,7)-(57,11)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedStringNode (location: (57,7)-(57,11)) - │ │ ├── opening_loc: (57,7)-(57,11) = "<<-B" - │ │ ├── parts: (length: 3) - │ │ │ ├── @ StringNode (location: (60,0)-(61,2)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (60,0)-(61,2) = " b\n " - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: " b\n " - │ │ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4)) - │ │ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (62,2)-(62,3)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── closing_loc: (62,3)-(62,4) = "}" - │ │ │ └── @ StringNode (location: (62,4)-(63,0)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── content_loc: (62,4)-(63,0) = "\n" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "\n" - │ │ └── closing_loc: (63,0)-(64,0) = "B\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedStringNode (location: (57,7)-(57,11)) + │ ├── opening_loc: (57,7)-(57,11) = "<<-B" + │ ├── parts: (length: 3) + │ │ ├── @ StringNode (location: (60,0)-(61,2)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (60,0)-(61,2) = " b\n " + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: " b\n " + │ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4)) + │ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (62,2)-(62,3)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3)) + │ │ │ │ └── flags: decimal + │ │ │ └── closing_loc: (62,3)-(62,4) = "}" + │ │ └── @ StringNode (location: (62,4)-(63,0)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: ∅ + │ │ ├── content_loc: (62,4)-(63,0) = "\n" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "\n" + │ └── closing_loc: (63,0)-(64,0) = "B\n" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/defined.txt b/test/prism/snapshots/defined.txt index e4f872bc8f..521cb1cdd7 100644 --- a/test/prism/snapshots/defined.txt +++ b/test/prism/snapshots/defined.txt @@ -41,6 +41,7 @@ │ │ @ AndNode (location: (5,9)-(5,20)) │ │ ├── left: │ │ │ @ CallNode (location: (5,9)-(5,12)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -48,10 +49,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (5,17)-(5,20)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -59,8 +60,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (5,13)-(5,16) = "and" │ ├── rparen_loc: (5,20)-(5,21) = ")" │ └── keyword_loc: (5,0)-(5,8) = "defined?" diff --git a/test/prism/snapshots/dos_endings.txt b/test/prism/snapshots/dos_endings.txt index f0622a2434..4500bf7881 100644 --- a/test/prism/snapshots/dos_endings.txt +++ b/test/prism/snapshots/dos_endings.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(17,20)) └── body: (length: 5) ├── @ CallNode (location: (1,0)-(2,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :puts @@ -11,28 +12,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,5)-(2,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (1,5)-(1,9)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\"" - │ │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi" - │ │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" - │ │ │ │ │ └── unescaped: "hi" - │ │ │ │ └── @ StringNode (location: (2,5)-(2,12)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (2,5)-(2,6) = "\"" - │ │ │ │ ├── content_loc: (2,6)-(2,11) = "there" - │ │ │ │ ├── closing_loc: (2,11)-(2,12) = "\"" - │ │ │ │ └── unescaped: "there" - │ │ │ └── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12)) + │ │ ├── opening_loc: ∅ + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (1,5)-(1,9)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\"" + │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi" + │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" + │ │ │ │ └── unescaped: "hi" + │ │ │ └── @ StringNode (location: (2,5)-(2,12)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (2,5)-(2,6) = "\"" + │ │ │ ├── content_loc: (2,6)-(2,11) = "there" + │ │ │ ├── closing_loc: (2,11)-(2,12) = "\"" + │ │ │ └── unescaped: "there" + │ │ └── closing_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ArrayNode (location: (4,0)-(5,2)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (4,3)-(5,1)) │ │ ├── opening_loc: ∅ @@ -40,8 +41,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (4,0)-(4,3) = "%I{" - │ ├── closing_loc: (5,1)-(5,2) = "}" - │ └── flags: ∅ + │ └── closing_loc: (5,1)-(5,2) = "}" ├── @ StringNode (location: (7,0)-(7,4)) │ ├── flags: ∅ │ ├── opening_loc: (7,0)-(7,4) = "<<-E" @@ -66,6 +66,7 @@ ├── name_loc: (17,0)-(17,1) = "a" ├── value: │ @ CallNode (location: (17,4)-(17,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -73,35 +74,34 @@ │ ├── opening_loc: (17,7)-(17,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (17,8)-(17,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (17,8)-(17,19)) - │ │ │ ├── receiver: - │ │ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14)) - │ │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF" - │ │ │ │ ├── parts: (length: 2) - │ │ │ │ │ ├── @ StringNode (location: (18,0)-(19,0)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "\n" - │ │ │ │ │ └── @ StringNode (location: (19,0)-(20,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "baz\r\n" - │ │ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n" - │ │ │ ├── call_operator_loc: (17,14)-(17,15) = "." - │ │ │ ├── name: :chop - │ │ │ ├── message_loc: (17,15)-(17,19) = "chop" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (17,8)-(17,19)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14)) + │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF" + │ │ │ ├── parts: (length: 2) + │ │ │ │ ├── @ StringNode (location: (18,0)-(19,0)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "\n" + │ │ │ │ └── @ StringNode (location: (19,0)-(20,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "baz\r\n" + │ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n" + │ │ ├── call_operator_loc: (17,14)-(17,15) = "." + │ │ ├── name: :chop + │ │ ├── message_loc: (17,15)-(17,19) = "chop" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (17,19)-(17,20) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── operator_loc: (17,2)-(17,3) = "=" diff --git a/test/prism/snapshots/endless_methods.txt b/test/prism/snapshots/endless_methods.txt index 4ca6781a5a..0ff973c119 100644 --- a/test/prism/snapshots/endless_methods.txt +++ b/test/prism/snapshots/endless_methods.txt @@ -30,6 +30,7 @@ │ │ @ StatementsNode (location: (3,10)-(3,14)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,10)-(3,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :A @@ -37,17 +38,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,12)-(3,14)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (3,12)-(3,14)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (3,12)-(3,13) = "\"" - │ │ │ │ ├── content_loc: (3,13)-(3,13) = "" - │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "\"" - │ │ │ │ └── unescaped: "" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (3,12)-(3,14)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (3,12)-(3,13) = "\"" + │ │ │ ├── content_loc: (3,13)-(3,13) = "" + │ │ │ ├── closing_loc: (3,13)-(3,14) = "\"" + │ │ │ └── unescaped: "" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (3,0)-(3,3) = "def" @@ -65,8 +65,10 @@ │ @ StatementsNode (location: (5,13)-(5,22)) │ └── body: (length: 1) │ └── @ CallNode (location: (5,13)-(5,22)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,13)-(5,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (5,13)-(5,14)) │ │ │ └── flags: decimal @@ -76,26 +78,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,17)-(5,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (5,17)-(5,18)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (5,17)-(5,18)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :+ │ ├── message_loc: (5,19)-(5,20) = "+" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,21)-(5,22)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,21)-(5,22)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,21)-(5,22)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [] ├── locals_body_index: 0 ├── def_keyword_loc: (5,0)-(5,3) = "def" diff --git a/test/prism/snapshots/endless_range_in_conditional.txt b/test/prism/snapshots/endless_range_in_conditional.txt index 2c13dc28de..eb5b321c94 100644 --- a/test/prism/snapshots/endless_range_in_conditional.txt +++ b/test/prism/snapshots/endless_range_in_conditional.txt @@ -7,14 +7,14 @@ │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ FlipFlopNode (location: (1,3)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (1,3)-(1,4)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (1,6)-(1,7)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (1,4)-(1,6) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (1,4)-(1,6) = ".." │ ├── then_keyword_loc: ∅ │ ├── statements: ∅ │ ├── consequent: ∅ @@ -23,12 +23,12 @@ │ ├── if_keyword_loc: (2,0)-(2,2) = "if" │ ├── predicate: │ │ @ FlipFlopNode (location: (2,3)-(2,6)) + │ │ ├── flags: ∅ │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (2,5)-(2,6)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (2,3)-(2,5) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (2,3)-(2,5) = ".." │ ├── then_keyword_loc: ∅ │ ├── statements: ∅ │ ├── consequent: ∅ @@ -37,12 +37,12 @@ ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (3,3)-(3,6)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (3,3)-(3,4)) │ │ └── flags: decimal │ ├── right: ∅ - │ ├── operator_loc: (3,4)-(3,6) = ".." - │ └── flags: ∅ + │ └── operator_loc: (3,4)-(3,6) = ".." ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/for.txt b/test/prism/snapshots/for.txt index bb3274b1be..b2aeb8fccf 100644 --- a/test/prism/snapshots/for.txt +++ b/test/prism/snapshots/for.txt @@ -10,14 +10,14 @@ │ │ └── depth: 0 │ ├── collection: │ │ @ RangeNode (location: (1,9)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (1,10)-(1,12) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (1,10)-(1,12) = ".." │ ├── statements: │ │ @ StatementsNode (location: (2,0)-(2,1)) │ │ └── body: (length: 1) @@ -35,14 +35,14 @@ │ │ └── depth: 0 │ ├── collection: │ │ @ RangeNode (location: (5,9)-(5,14)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (5,9)-(5,10)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (5,12)-(5,14)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (5,10)-(5,12) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (5,10)-(5,12) = ".." │ ├── statements: │ │ @ StatementsNode (location: (5,16)-(5,17)) │ │ └── body: (length: 1) @@ -69,14 +69,14 @@ │ │ └── rparen_loc: ∅ │ ├── collection: │ │ @ RangeNode (location: (7,11)-(7,16)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (7,11)-(7,12)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (7,14)-(7,16)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (7,12)-(7,14) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (7,12)-(7,14) = ".." │ ├── statements: │ │ @ StatementsNode (location: (8,0)-(8,1)) │ │ └── body: (length: 1) @@ -106,14 +106,14 @@ │ │ └── rparen_loc: ∅ │ ├── collection: │ │ @ RangeNode (location: (11,13)-(11,18)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (11,13)-(11,14)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (11,16)-(11,18)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (11,14)-(11,16) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (11,14)-(11,16) = ".." │ ├── statements: │ │ @ StatementsNode (location: (12,0)-(12,1)) │ │ └── body: (length: 1) @@ -131,14 +131,14 @@ │ │ └── depth: 0 │ ├── collection: │ │ @ RangeNode (location: (15,9)-(15,14)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (15,9)-(15,10)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (15,12)-(15,14)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (15,10)-(15,12) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (15,10)-(15,12) = ".." │ ├── statements: │ │ @ StatementsNode (location: (16,0)-(16,1)) │ │ └── body: (length: 1) @@ -156,14 +156,14 @@ │ └── depth: 0 ├── collection: │ @ RangeNode (location: (19,9)-(19,14)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (19,9)-(19,10)) │ │ └── flags: decimal │ ├── right: │ │ @ IntegerNode (location: (19,12)-(19,14)) │ │ └── flags: decimal - │ ├── operator_loc: (19,10)-(19,12) = ".." - │ └── flags: ∅ + │ └── operator_loc: (19,10)-(19,12) = ".." ├── statements: │ @ StatementsNode (location: (19,16)-(19,17)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/hashes.txt b/test/prism/snapshots/hashes.txt index 49db4e1c25..c777e8932e 100644 --- a/test/prism/snapshots/hashes.txt +++ b/test/prism/snapshots/hashes.txt @@ -17,6 +17,7 @@ │ │ ├── @ AssocNode (location: (6,2)-(6,8)) │ │ │ ├── key: │ │ │ │ @ CallNode (location: (6,2)-(6,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -24,10 +25,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (6,7)-(6,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -35,12 +36,12 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (6,4)-(6,6) = "=>" │ │ └── @ AssocNode (location: (6,10)-(6,16)) │ │ ├── key: │ │ │ @ CallNode (location: (6,10)-(6,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -48,10 +49,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (6,15)-(6,16)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -59,8 +60,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (6,12)-(6,14) = "=>" │ └── closing_loc: (6,17)-(6,18) = "}" ├── @ HashNode (location: (8,0)-(8,15)) @@ -69,6 +69,7 @@ │ │ ├── @ AssocNode (location: (8,2)-(8,8)) │ │ │ ├── key: │ │ │ │ @ CallNode (location: (8,2)-(8,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -76,10 +77,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (8,7)-(8,8)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -87,12 +88,12 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (8,4)-(8,6) = "=>" │ │ └── @ AssocSplatNode (location: (8,10)-(8,13)) │ │ ├── value: │ │ │ @ CallNode (location: (8,12)-(8,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -100,8 +101,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (8,10)-(8,12) = "**" │ └── closing_loc: (8,14)-(8,15) = "}" ├── @ HashNode (location: (10,0)-(16,5)) @@ -116,6 +116,7 @@ │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (11,9)-(11,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -123,8 +124,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (12,6)-(12,10)) │ │ ├── key: @@ -135,6 +135,7 @@ │ │ │ └── unescaped: "c" │ │ ├── value: │ │ │ @ CallNode (location: (12,9)-(12,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -142,8 +143,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: ∅ │ └── closing_loc: (16,4)-(16,5) = "}" ├── @ HashNode (location: (18,0)-(18,25)) @@ -158,6 +158,7 @@ │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (18,5)-(18,6)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -165,8 +166,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ ├── @ AssocNode (location: (18,8)-(18,12)) │ │ │ ├── key: @@ -177,6 +177,7 @@ │ │ │ │ └── unescaped: "c" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (18,11)-(18,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :d @@ -184,12 +185,12 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ ├── @ AssocSplatNode (location: (18,14)-(18,17)) │ │ │ ├── value: │ │ │ │ @ CallNode (location: (18,16)-(18,17)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :e @@ -197,8 +198,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (18,14)-(18,16) = "**" │ │ └── @ AssocNode (location: (18,19)-(18,23)) │ │ ├── key: @@ -209,6 +209,7 @@ │ │ │ └── unescaped: "f" │ │ ├── value: │ │ │ @ CallNode (location: (18,22)-(18,23)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :g @@ -216,8 +217,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: ∅ │ └── closing_loc: (18,24)-(18,25) = "}" ├── @ HashNode (location: (20,0)-(20,12)) @@ -232,8 +232,10 @@ │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ CallNode (location: (20,7)-(20,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (20,8)-(20,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b? @@ -241,16 +243,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :! │ │ │ ├── message_loc: (20,7)-(20,8) = "!" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── operator_loc: ∅ │ └── closing_loc: (20,11)-(20,12) = "}" ├── @ LocalVariableWriteNode (location: (22,0)-(22,5)) @@ -262,6 +262,7 @@ │ │ └── flags: decimal │ └── operator_loc: (22,2)-(22,3) = "=" └── @ CallNode (location: (23,0)-(26,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -269,88 +270,87 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (23,4)-(26,3)) - │ ├── locals: [:b] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (24,2)-(25,20)) - │ │ └── body: (length: 2) - │ │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7)) - │ │ │ ├── name: :b - │ │ │ ├── depth: 0 - │ │ │ ├── name_loc: (24,2)-(24,3) = "b" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (24,6)-(24,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (24,4)-(24,5) = "=" - │ │ └── @ HashNode (location: (25,2)-(25,20)) - │ │ ├── opening_loc: (25,2)-(25,3) = "{" - │ │ ├── elements: (length: 4) - │ │ │ ├── @ AssocNode (location: (25,4)-(25,6)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a" - │ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":" - │ │ │ │ │ └── unescaped: "a" - │ │ │ │ ├── value: - │ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6)) - │ │ │ │ │ └── value: - │ │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6)) - │ │ │ │ │ ├── name: :a - │ │ │ │ │ └── depth: 1 - │ │ │ │ └── operator_loc: ∅ - │ │ │ ├── @ AssocNode (location: (25,8)-(25,10)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (25,8)-(25,10)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b" - │ │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10)) - │ │ │ │ │ └── value: - │ │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── operator_loc: ∅ - │ │ │ ├── @ AssocNode (location: (25,12)-(25,14)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (25,12)-(25,14)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c" - │ │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":" - │ │ │ │ │ └── unescaped: "c" - │ │ │ │ ├── value: - │ │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14)) - │ │ │ │ │ └── value: - │ │ │ │ │ @ CallNode (location: (25,12)-(25,14)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :c - │ │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── @ AssocNode (location: (25,16)-(25,18)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (25,16)-(25,18)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (25,16)-(25,17) = "D" - │ │ │ │ ├── closing_loc: (25,17)-(25,18) = ":" - │ │ │ │ └── unescaped: "D" - │ │ │ ├── value: - │ │ │ │ @ ImplicitNode (location: (25,16)-(25,18)) - │ │ │ │ └── value: - │ │ │ │ @ ConstantReadNode (location: (25,16)-(25,18)) - │ │ │ │ └── name: :D - │ │ │ └── operator_loc: ∅ - │ │ └── closing_loc: (25,19)-(25,20) = "}" - │ ├── opening_loc: (23,4)-(23,6) = "do" - │ └── closing_loc: (26,0)-(26,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (23,4)-(26,3)) + ├── locals: [:b] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (24,2)-(25,20)) + │ └── body: (length: 2) + │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7)) + │ │ ├── name: :b + │ │ ├── depth: 0 + │ │ ├── name_loc: (24,2)-(24,3) = "b" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (24,6)-(24,7)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (24,4)-(24,5) = "=" + │ └── @ HashNode (location: (25,2)-(25,20)) + │ ├── opening_loc: (25,2)-(25,3) = "{" + │ ├── elements: (length: 4) + │ │ ├── @ AssocNode (location: (25,4)-(25,6)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (25,4)-(25,6)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a" + │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":" + │ │ │ │ └── unescaped: "a" + │ │ │ ├── value: + │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6)) + │ │ │ │ └── value: + │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6)) + │ │ │ │ ├── name: :a + │ │ │ │ └── depth: 1 + │ │ │ └── operator_loc: ∅ + │ │ ├── @ AssocNode (location: (25,8)-(25,10)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (25,8)-(25,10)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b" + │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10)) + │ │ │ │ └── value: + │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10)) + │ │ │ │ ├── name: :b + │ │ │ │ └── depth: 0 + │ │ │ └── operator_loc: ∅ + │ │ ├── @ AssocNode (location: (25,12)-(25,14)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (25,12)-(25,14)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c" + │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":" + │ │ │ │ └── unescaped: "c" + │ │ │ ├── value: + │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14)) + │ │ │ │ └── value: + │ │ │ │ @ CallNode (location: (25,12)-(25,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: ∅ + │ │ └── @ AssocNode (location: (25,16)-(25,18)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (25,16)-(25,18)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (25,16)-(25,17) = "D" + │ │ │ ├── closing_loc: (25,17)-(25,18) = ":" + │ │ │ └── unescaped: "D" + │ │ ├── value: + │ │ │ @ ImplicitNode (location: (25,16)-(25,18)) + │ │ │ └── value: + │ │ │ @ ConstantReadNode (location: (25,16)-(25,18)) + │ │ │ └── name: :D + │ │ └── operator_loc: ∅ + │ └── closing_loc: (25,19)-(25,20) = "}" + ├── opening_loc: (23,4)-(23,6) = "do" + └── closing_loc: (26,0)-(26,3) = "end" diff --git a/test/prism/snapshots/heredoc_with_comment.txt b/test/prism/snapshots/heredoc_with_comment.txt index f0dfa47d6c..117fdc117a 100644 --- a/test/prism/snapshots/heredoc_with_comment.txt +++ b/test/prism/snapshots/heredoc_with_comment.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: │ @ StringNode (location: (1,0)-(1,9)) │ ├── flags: ∅ @@ -17,5 +18,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/heredoc_with_comment_at_start.txt b/test/prism/snapshots/heredoc_with_comment_at_start.txt deleted file mode 100644 index d9dfa8541e..0000000000 --- a/test/prism/snapshots/heredoc_with_comment_at_start.txt +++ /dev/null @@ -1,11 +0,0 @@ -@ ProgramNode (location: (1,0)-(1,9)) -├── locals: [] -└── statements: - @ StatementsNode (location: (1,0)-(1,9)) - └── body: (length: 1) - └── @ StringNode (location: (1,0)-(1,9)) - ├── flags: ∅ - ├── opening_loc: (1,0)-(1,9) = "<<-TARGET" - ├── content_loc: (2,0)-(3,0) = " data\r\n" - ├── closing_loc: (3,0)-(4,0) = "TARGET\r\n" - └── unescaped: " data\r\n" diff --git a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt index 4350b4f325..5d17559ed4 100644 --- a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt +++ b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,25)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,25)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ StringNode (location: (1,0)-(1,9)) │ │ ├── flags: ∅ @@ -17,24 +18,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,15)-(1,25)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21)) - │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "/" - │ │ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{" - │ │ │ │ ├── closing_loc: (1,20)-(1,21) = "/" - │ │ │ │ ├── unescaped: "^\\s{" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ StringNode (location: (1,23)-(1,25)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,23)-(1,24) = "'" - │ │ │ ├── content_loc: (1,24)-(1,24) = "" - │ │ │ ├── closing_loc: (1,24)-(1,25) = "'" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,15)-(1,16) = "/" + │ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{" + │ │ │ ├── closing_loc: (1,20)-(1,21) = "/" + │ │ │ └── unescaped: "^\\s{" + │ │ └── @ StringNode (location: (1,23)-(1,25)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,23)-(1,24) = "'" + │ │ ├── content_loc: (1,24)-(1,24) = "" + │ │ ├── closing_loc: (1,24)-(1,25) = "'" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,25)) + ├── flags: ∅ ├── receiver: │ @ StringNode (location: (5,0)-(5,9)) │ ├── flags: ∅ @@ -48,20 +49,19 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (5,15)-(5,25)) - │ ├── arguments: (length: 2) - │ │ ├── @ RegularExpressionNode (location: (5,15)-(5,21)) - │ │ │ ├── opening_loc: (5,15)-(5,16) = "/" - │ │ │ ├── content_loc: (5,16)-(5,20) = "^\\s{" - │ │ │ ├── closing_loc: (5,20)-(5,21) = "/" - │ │ │ ├── unescaped: "^\\s{" - │ │ │ └── flags: ∅ - │ │ └── @ StringNode (location: (5,23)-(5,25)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (5,23)-(5,24) = "'" - │ │ ├── content_loc: (5,24)-(5,24) = "" - │ │ ├── closing_loc: (5,24)-(5,25) = "'" - │ │ └── unescaped: "" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ RegularExpressionNode (location: (5,15)-(5,21)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (5,15)-(5,16) = "/" + │ │ ├── content_loc: (5,16)-(5,20) = "^\\s{" + │ │ ├── closing_loc: (5,20)-(5,21) = "/" + │ │ └── unescaped: "^\\s{" + │ └── @ StringNode (location: (5,23)-(5,25)) + │ ├── flags: ∅ + │ ├── opening_loc: (5,23)-(5,24) = "'" + │ ├── content_loc: (5,24)-(5,24) = "" + │ ├── closing_loc: (5,24)-(5,25) = "'" + │ └── unescaped: "" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/if.txt b/test/prism/snapshots/if.txt index c368b5c73e..e6e92a67b4 100644 --- a/test/prism/snapshots/if.txt +++ b/test/prism/snapshots/if.txt @@ -130,6 +130,7 @@ │ ├── if_keyword_loc: (16,0)-(16,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (16,3)-(16,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :exit_loop @@ -137,8 +138,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (16,13)-(16,17) = "then" │ ├── statements: │ │ @ StatementsNode (location: (16,18)-(16,26)) @@ -146,10 +146,10 @@ │ │ └── @ BreakNode (location: (16,18)-(16,26)) │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (16,24)-(16,26)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (16,24)-(16,26)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (16,24)-(16,26)) + │ │ │ └── flags: decimal │ │ └── keyword_loc: (16,18)-(16,23) = "break" │ ├── consequent: ∅ │ └── end_keyword_loc: (16,27)-(16,30) = "end" @@ -157,6 +157,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 @@ -164,13 +165,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (19,0)-(19,4) = "then" │ ├── statements: │ │ @ StatementsNode (location: (19,5)-(19,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (19,5)-(19,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -178,14 +179,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ IfNode (location: (22,0)-(22,11)) │ ├── if_keyword_loc: (22,7)-(22,9) = "if" │ ├── predicate: │ │ @ CallNode (location: (22,10)-(22,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c @@ -193,8 +194,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (22,0)-(22,6)) @@ -203,6 +203,7 @@ │ │ ├── if_keyword_loc: (22,2)-(22,4) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (22,5)-(22,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -210,13 +211,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (22,0)-(22,1)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (22,0)-(22,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -224,8 +225,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── consequent: ∅ │ │ └── end_keyword_loc: ∅ │ ├── consequent: ∅ @@ -239,6 +239,7 @@ │ │ @ StatementsNode (location: (25,2)-(25,6)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,2)-(25,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -246,34 +247,33 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (25,4)-(25,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocNode (location: (25,4)-(25,6)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b" - │ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6)) - │ │ │ │ │ └── value: - │ │ │ │ │ @ CallNode (location: (25,4)-(25,6)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6)) + │ │ │ └── elements: (length: 1) + │ │ │ └── @ AssocNode (location: (25,4)-(25,6)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (25,4)-(25,6)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b" + │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6)) + │ │ │ │ └── value: + │ │ │ │ @ CallNode (location: (25,4)-(25,6)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (26,0)-(27,3)) │ │ ├── else_keyword_loc: (26,0)-(26,4) = "else" @@ -286,6 +286,7 @@ │ │ @ MatchPredicateNode (location: (29,3)-(29,12)) │ │ ├── value: │ │ │ @ CallNode (location: (29,3)-(29,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :type @@ -293,8 +294,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── pattern: │ │ │ @ IntegerNode (location: (29,11)-(29,12)) │ │ │ └── flags: decimal @@ -308,6 +308,7 @@ │ │ │ @ MatchPredicateNode (location: (30,6)-(30,15)) │ │ │ ├── value: │ │ │ │ @ CallNode (location: (30,6)-(30,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :type @@ -315,8 +316,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── pattern: │ │ │ │ @ ConstantReadNode (location: (30,14)-(30,15)) │ │ │ │ └── name: :B @@ -336,6 +336,7 @@ │ @ StatementsNode (location: (34,2)-(35,5)) │ └── body: (length: 1) │ └── @ CallNode (location: (34,2)-(35,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :lambda @@ -343,30 +344,29 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (34,9)-(35,5)) - │ │ ├── locals: [:_] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (34,12)-(34,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (34,13)-(34,14)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14)) - │ │ │ │ │ └── name: :_ - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (34,12)-(34,13) = "|" - │ │ │ └── closing_loc: (34,14)-(34,15) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (34,9)-(34,11) = "do" - │ │ └── closing_loc: (35,2)-(35,5) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (34,9)-(35,5)) + │ ├── locals: [:_] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (34,12)-(34,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (34,13)-(34,14)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14)) + │ │ │ │ └── name: :_ + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (34,12)-(34,13) = "|" + │ │ └── closing_loc: (34,14)-(34,15) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (34,9)-(34,11) = "do" + │ └── closing_loc: (35,2)-(35,5) = "end" ├── consequent: │ @ IfNode (location: (36,0)-(42,3)) │ ├── if_keyword_loc: (36,0)-(36,5) = "elsif" @@ -378,6 +378,7 @@ │ │ @ StatementsNode (location: (37,2)-(38,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (37,2)-(38,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :lambda @@ -385,30 +386,29 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (37,9)-(38,5)) - │ │ │ ├── locals: [:_] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (37,12)-(37,15)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (37,13)-(37,14)) - │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14)) - │ │ │ │ │ │ └── name: :_ - │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (37,12)-(37,13) = "|" - │ │ │ │ └── closing_loc: (37,14)-(37,15) = "|" - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (37,9)-(37,11) = "do" - │ │ │ └── closing_loc: (38,2)-(38,5) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (37,9)-(38,5)) + │ │ ├── locals: [:_] + │ │ ├── locals_body_index: 1 + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (37,12)-(37,15)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (37,13)-(37,14)) + │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14)) + │ │ │ │ │ └── name: :_ + │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (37,12)-(37,13) = "|" + │ │ │ └── closing_loc: (37,14)-(37,15) = "|" + │ │ ├── body: ∅ + │ │ ├── opening_loc: (37,9)-(37,11) = "do" + │ │ └── closing_loc: (38,2)-(38,5) = "end" │ ├── consequent: │ │ @ ElseNode (location: (39,0)-(42,3)) │ │ ├── else_keyword_loc: (39,0)-(39,4) = "else" @@ -416,6 +416,7 @@ │ │ │ @ StatementsNode (location: (40,2)-(41,5)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (40,2)-(41,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :lambda @@ -423,30 +424,29 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (40,9)-(41,5)) - │ │ │ │ ├── locals: [:_] - │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ ├── parameters: - │ │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15)) - │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14)) - │ │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14)) - │ │ │ │ │ │ │ └── name: :_ - │ │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ │ └── block: ∅ - │ │ │ │ │ ├── locals: (length: 0) - │ │ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|" - │ │ │ │ │ └── closing_loc: (40,14)-(40,15) = "|" - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (40,9)-(40,11) = "do" - │ │ │ │ └── closing_loc: (41,2)-(41,5) = "end" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (40,9)-(41,5)) + │ │ │ ├── locals: [:_] + │ │ │ ├── locals_body_index: 1 + │ │ │ ├── parameters: + │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15)) + │ │ │ │ ├── parameters: + │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14)) + │ │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14)) + │ │ │ │ │ │ └── name: :_ + │ │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ ├── posts: (length: 0) + │ │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── locals: (length: 0) + │ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|" + │ │ │ │ └── closing_loc: (40,14)-(40,15) = "|" + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (40,9)-(40,11) = "do" + │ │ │ └── closing_loc: (41,2)-(41,5) = "end" │ │ └── end_keyword_loc: (42,0)-(42,3) = "end" │ └── end_keyword_loc: (42,0)-(42,3) = "end" └── end_keyword_loc: (42,0)-(42,3) = "end" diff --git a/test/prism/snapshots/integer_operations.txt b/test/prism/snapshots/integer_operations.txt index 8fe3c2420f..c8b76cacfa 100644 --- a/test/prism/snapshots/integer_operations.txt +++ b/test/prism/snapshots/integer_operations.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(63,7)) └── body: (length: 32) ├── @ CallNode (location: (1,0)-(1,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (1,1)-(1,2)) │ │ └── flags: decimal @@ -13,9 +14,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (3,1)-(3,2)) │ │ └── flags: decimal @@ -25,9 +26,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (5,0)-(5,1)) │ │ └── flags: decimal @@ -37,14 +38,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,5)-(5,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,5)-(5,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (7,0)-(7,1)) │ │ └── flags: decimal @@ -54,14 +55,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,5)-(7,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (7,5)-(7,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (7,5)-(7,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (9,0)-(9,1)) │ │ └── flags: decimal @@ -71,14 +72,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (9,4)-(9,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (9,4)-(9,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (9,4)-(9,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (11,0)-(11,1)) │ │ └── flags: decimal @@ -88,14 +89,14 @@ │ ├── opening_loc: ∅ │ ├── 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: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (13,0)-(13,1)) │ │ └── flags: decimal @@ -105,14 +106,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,4)-(13,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (13,4)-(13,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (13,4)-(13,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (15,0)-(15,1)) │ │ └── flags: decimal @@ -122,14 +123,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (15,3)-(15,4)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (15,3)-(15,4)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (15,3)-(15,4)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (17,0)-(17,1)) │ │ └── flags: decimal @@ -139,14 +140,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (17,4)-(17,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (17,4)-(17,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (17,4)-(17,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (19,0)-(19,1)) │ │ └── flags: decimal @@ -156,14 +157,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (19,4)-(19,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (19,4)-(19,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (19,4)-(19,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (21,0)-(21,1)) │ │ └── flags: decimal @@ -173,16 +174,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,4)-(21,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (21,4)-(21,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (21,4)-(21,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (23,0)-(23,1)) │ │ │ └── flags: decimal @@ -192,27 +194,26 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (23,2)-(23,3)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (23,2)-(23,3)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (23,2)-(23,3)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :/ │ ├── message_loc: (23,3)-(23,4) = "/" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (23,4)-(23,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (23,4)-(23,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (23,4)-(23,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (25,0)-(25,1)) │ │ └── flags: decimal @@ -222,14 +223,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (25,4)-(25,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (25,4)-(25,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (25,4)-(25,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (27,0)-(27,1)) │ │ └── flags: decimal @@ -239,14 +240,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (27,5)-(27,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (27,5)-(27,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (27,5)-(27,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (29,0)-(29,1)) │ │ └── flags: decimal @@ -256,14 +257,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (29,5)-(29,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (29,5)-(29,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (29,5)-(29,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (31,0)-(31,1)) │ │ └── flags: decimal @@ -273,14 +274,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (31,6)-(31,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (31,6)-(31,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (31,6)-(31,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (33,0)-(33,1)) │ │ └── flags: decimal @@ -290,14 +291,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (33,5)-(33,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (33,5)-(33,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (33,5)-(33,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (35,0)-(35,1)) │ │ └── flags: decimal @@ -307,14 +308,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (35,6)-(35,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (35,6)-(35,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (35,6)-(35,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (37,0)-(37,1)) │ │ └── flags: decimal @@ -324,14 +325,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (37,5)-(37,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (37,5)-(37,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (37,5)-(37,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (39,0)-(39,1)) │ │ └── flags: decimal @@ -341,14 +342,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (39,4)-(39,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (39,4)-(39,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (39,4)-(39,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (41,0)-(41,1)) │ │ └── flags: decimal @@ -358,14 +359,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (41,5)-(41,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (41,5)-(41,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (41,5)-(41,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (43,0)-(43,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (43,0)-(43,1)) │ │ └── flags: decimal @@ -375,14 +376,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (43,5)-(43,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (43,5)-(43,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (43,5)-(43,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (45,0)-(45,1)) │ │ └── flags: decimal @@ -392,14 +393,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (45,4)-(45,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (45,4)-(45,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (45,4)-(45,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (47,0)-(47,1)) │ │ └── flags: decimal @@ -409,13 +410,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (47,4)-(47,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (47,4)-(47,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (47,4)-(47,5)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ AndNode (location: (49,0)-(49,6)) │ ├── left: │ │ @ IntegerNode (location: (49,0)-(49,1)) @@ -433,6 +433,7 @@ │ │ └── flags: decimal │ └── operator_loc: (51,2)-(51,5) = "and" ├── @ CallNode (location: (53,0)-(53,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (53,0)-(53,1)) │ │ └── flags: decimal @@ -442,31 +443,32 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (53,4)-(53,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (53,4)-(53,10)) - │ │ │ ├── receiver: - │ │ │ │ @ IntegerNode (location: (53,4)-(53,5)) - │ │ │ │ └── flags: decimal - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :** - │ │ │ ├── message_loc: (53,6)-(53,8) = "**" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (53,9)-(53,10)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (53,9)-(53,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (53,4)-(53,10)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ IntegerNode (location: (53,4)-(53,5)) + │ │ │ └── flags: decimal + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :** + │ │ ├── message_loc: (53,6)-(53,8) = "**" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (53,9)-(53,10)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (53,9)-(53,10)) + │ │ │ └── flags: decimal + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (55,0)-(55,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (55,0)-(55,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (55,0)-(55,1)) │ │ │ └── flags: decimal @@ -476,26 +478,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (55,4)-(55,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (55,4)-(55,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (55,4)-(55,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :+ │ ├── message_loc: (55,6)-(55,7) = "+" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (55,8)-(55,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (55,8)-(55,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (55,8)-(55,9)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ OrNode (location: (57,0)-(57,6)) │ ├── left: │ │ @ IntegerNode (location: (57,0)-(57,1)) @@ -513,6 +513,7 @@ │ │ └── flags: decimal │ └── operator_loc: (59,2)-(59,4) = "||" ├── @ CallNode (location: (61,0)-(61,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (61,0)-(61,1)) │ │ └── flags: decimal @@ -522,33 +523,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (61,4)-(61,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (61,4)-(61,9)) - │ │ │ ├── receiver: - │ │ │ │ @ IntegerNode (location: (61,4)-(61,5)) - │ │ │ │ └── flags: decimal - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :* - │ │ │ ├── message_loc: (61,6)-(61,7) = "*" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (61,8)-(61,9)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (61,8)-(61,9)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (61,4)-(61,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ IntegerNode (location: (61,4)-(61,5)) + │ │ │ └── flags: decimal + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :* + │ │ ├── message_loc: (61,6)-(61,7) = "*" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (61,8)-(61,9)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (61,8)-(61,9)) + │ │ │ └── flags: decimal + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ ParenthesesNode (location: (63,0)-(63,7)) ├── body: │ @ StatementsNode (location: (63,1)-(63,6)) │ └── body: (length: 1) │ └── @ CallNode (location: (63,1)-(63,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (63,1)-(63,2)) │ │ └── flags: decimal @@ -558,12 +559,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (63,5)-(63,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (63,5)-(63,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (63,5)-(63,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── opening_loc: (63,0)-(63,1) = "(" └── closing_loc: (63,6)-(63,7) = ")" diff --git a/test/prism/snapshots/keyword_method_names.txt b/test/prism/snapshots/keyword_method_names.txt index 7b2a222fa5..0361ac729a 100644 --- a/test/prism/snapshots/keyword_method_names.txt +++ b/test/prism/snapshots/keyword_method_names.txt @@ -33,6 +33,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ CallNode (location: (7,0)-(10,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :private @@ -40,44 +41,43 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,8)-(10,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ DefNode (location: (7,8)-(10,3)) - │ │ │ ├── name: :foo - │ │ │ ├── name_loc: (7,12)-(7,15) = "foo" - │ │ │ ├── receiver: ∅ - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (8,2)-(9,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (8,2)-(9,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (8,6)-(9,5)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do" - │ │ │ │ │ └── closing_loc: (9,2)-(9,5) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def" - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── lparen_loc: ∅ - │ │ │ ├── rparen_loc: ∅ - │ │ │ ├── equal_loc: ∅ - │ │ │ └── end_keyword_loc: (10,0)-(10,3) = "end" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ DefNode (location: (7,8)-(10,3)) + │ │ ├── name: :foo + │ │ ├── name_loc: (7,12)-(7,15) = "foo" + │ │ ├── receiver: ∅ + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (8,2)-(9,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (8,2)-(9,5)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (8,2)-(8,5) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (8,6)-(9,5)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (8,6)-(8,8) = "do" + │ │ │ └── closing_loc: (9,2)-(9,5) = "end" + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def" + │ │ ├── operator_loc: ∅ + │ │ ├── lparen_loc: ∅ + │ │ ├── rparen_loc: ∅ + │ │ ├── equal_loc: ∅ + │ │ └── end_keyword_loc: (10,0)-(10,3) = "end" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ DefNode (location: (12,0)-(13,3)) │ ├── name: :m │ ├── name_loc: (12,4)-(12,5) = "m" diff --git a/test/prism/snapshots/lambda.txt b/test/prism/snapshots/lambda.txt index f1bf71a82b..52edf26b52 100644 --- a/test/prism/snapshots/lambda.txt +++ b/test/prism/snapshots/lambda.txt @@ -60,6 +60,7 @@ │ │ │ │ │ │ @ StatementsNode (location: (5,10)-(5,11)) │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ CallNode (location: (5,10)-(5,11)) + │ │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :a @@ -67,8 +68,7 @@ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ └── closing_loc: (5,11)-(5,12) = "}" │ │ │ │ └── closing_loc: (5,12)-(5,13) = "\"" │ │ │ ├── keyword_rest: ∅ @@ -97,8 +97,10 @@ │ │ │ │ ├── name_loc: (7,3)-(7,5) = "a:" │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (7,6)-(7,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ CallNode (location: (7,6)-(7,7)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :b @@ -106,21 +108,19 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :* │ │ │ │ ├── message_loc: (7,8)-(7,9) = "*" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (7,10)-(7,11)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11)) + │ │ │ │ │ └── flags: decimal │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── keyword_rest: ∅ │ │ │ └── block: ∅ │ │ ├── locals: (length: 0) @@ -145,6 +145,7 @@ │ │ │ │ ├── operator_loc: (9,7)-(9,8) = "=" │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (9,9)-(9,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -152,8 +153,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -183,6 +183,7 @@ │ │ │ ├── name_loc: (11,3)-(11,7) = "foo:" │ │ │ └── value: │ │ │ @ CallNode (location: (11,8)-(11,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -190,8 +191,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── locals: (length: 0) diff --git a/test/prism/snapshots/method_calls.txt b/test/prism/snapshots/method_calls.txt index fdd4a0338f..ad84800ab3 100644 --- a/test/prism/snapshots/method_calls.txt +++ b/test/prism/snapshots/method_calls.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(149,18)) └── body: (length: 63) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,28 +15,28 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :bar │ ├── message_loc: (1,4)-(1,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,8)-(1,14)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,8)-(1,10) = "%{" - │ │ │ ├── content_loc: (1,10)-(1,13) = "baz" - │ │ │ ├── closing_loc: (1,13)-(1,14) = "}" - │ │ │ └── unescaped: "baz" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,8)-(1,14)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,8)-(1,10) = "%{" + │ │ ├── content_loc: (1,10)-(1,13) = "baz" + │ │ ├── closing_loc: (1,13)-(1,14) = "}" + │ │ └── unescaped: "baz" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -42,42 +44,42 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,1)-(3,2) = "." │ ├── name: :b │ ├── message_loc: (3,2)-(3,3) = "b" │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (3,4)-(3,8)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (3,4)-(3,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :c - │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (3,7)-(3,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (3,7)-(3,8) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (3,4)-(3,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (3,4)-(3,5) = "c" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (3,7)-(3,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (3,7)-(3,8) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (3,8)-(3,9) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -85,21 +87,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (5,1)-(5,2) = "." │ ├── name: :b │ ├── message_loc: (5,2)-(5,3) = "b" │ ├── opening_loc: (5,3)-(5,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (5,4)-(5,5) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(9,7)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (7,0)-(8,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (7,0)-(7,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -107,25 +110,23 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (8,2)-(8,3) = "." │ │ ├── name: :bar │ │ ├── message_loc: (8,3)-(8,6) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (9,2)-(9,4) = "&." │ ├── name: :baz │ ├── message_loc: (9,4)-(9,7) = "baz" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a! @@ -133,11 +134,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (13,0)-(13,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -145,19 +147,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (13,1)-(13,2) = "." │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (13,2)-(13,3) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (13,3)-(13,4) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -165,28 +167,28 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (15,1)-(15,2) = "." │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (15,2)-(15,3) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (15,3)-(15,10)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (15,3)-(15,4)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (15,6)-(15,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (15,9)-(15,10)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (15,3)-(15,4)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (15,6)-(15,7)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (15,9)-(15,10)) + │ │ └── flags: decimal │ ├── closing_loc: (15,10)-(15,11) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (17,0)-(17,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -194,19 +196,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (17,1)-(17,3) = "::" │ ├── name: :b │ ├── message_loc: (17,3)-(17,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -214,32 +216,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (19,1)-(19,3) = "::" │ ├── name: :b │ ├── message_loc: (19,3)-(19,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (19,5)-(19,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (19,5)-(19,6)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (19,5)-(19,6) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (19,5)-(19,6)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (19,5)-(19,6) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (21,0)-(21,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -247,22 +249,21 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (21,3)-(21,4) = "." │ ├── name: :bar= │ ├── message_loc: (21,4)-(21,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,10)-(21,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (21,10)-(21,11)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (21,10)-(21,11)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a? @@ -270,9 +271,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -280,22 +281,22 @@ │ ├── opening_loc: (25,1)-(25,2) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (25,8)-(25,9) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (25,2)-(25,8)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (25,3)-(25,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :block - │ │ │ ├── message_loc: (25,3)-(25,8) = "block" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (25,2)-(25,3) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (25,2)-(25,8)) + │ ├── expression: + │ │ @ CallNode (location: (25,3)-(25,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :block + │ │ ├── message_loc: (25,3)-(25,8) = "block" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (25,2)-(25,3) = "&" ├── @ CallNode (location: (27,0)-(27,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -303,31 +304,33 @@ │ ├── opening_loc: (27,1)-(27,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (27,2)-(27,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (27,2)-(27,10)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (27,2)-(27,10)) - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (27,4)-(27,10)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :kwargs - │ │ │ │ ├── message_loc: (27,4)-(27,10) = "kwargs" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── operator_loc: (27,2)-(27,4) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (27,2)-(27,10)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (27,2)-(27,10)) + │ │ ├── value: + │ │ │ @ CallNode (location: (27,4)-(27,10)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :kwargs + │ │ │ ├── message_loc: (27,4)-(27,10) = "kwargs" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (27,2)-(27,4) = "**" │ ├── closing_loc: (27,10)-(27,11) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,3)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (29,0)-(29,1)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -335,25 +338,23 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (29,1)-(29,2) = "." │ │ ├── name: :b │ │ ├── message_loc: (29,2)-(29,3) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: (29,3)-(29,4) = "." │ ├── name: :c │ ├── message_loc: (29,4)-(29,5) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -361,32 +362,32 @@ │ ├── opening_loc: (31,1)-(31,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (31,2)-(31,6)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (31,2)-(31,3)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (31,2)-(31,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (31,5)-(31,6)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (31,5)-(31,6) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (31,2)-(31,3)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (31,2)-(31,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (31,5)-(31,6)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (31,5)-(31,6) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (31,6)-(31,7) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -394,9 +395,9 @@ │ ├── opening_loc: (33,1)-(33,2) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (33,2)-(33,3) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -404,25 +405,25 @@ │ ├── opening_loc: (35,1)-(35,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (35,2)-(35,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (35,2)-(35,7)) - │ │ │ ├── operator_loc: (35,2)-(35,3) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (35,3)-(35,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :args - │ │ │ ├── message_loc: (35,3)-(35,7) = "args" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (35,2)-(35,7)) + │ │ ├── operator_loc: (35,2)-(35,3) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (35,3)-(35,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :args + │ │ ├── message_loc: (35,3)-(35,7) = "args" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (35,7)-(35,8) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -430,34 +431,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (37,2)-(37,6)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (37,2)-(37,3)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (37,2)-(37,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (37,5)-(37,6)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (37,5)-(37,6) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (37,2)-(37,3)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (37,2)-(37,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (37,5)-(37,6)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (37,5)-(37,6) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -465,44 +467,44 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (39,1)-(39,2) = "." │ ├── name: :b │ ├── message_loc: (39,2)-(39,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (39,4)-(39,8)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (39,4)-(39,5)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :c - │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ CallNode (location: (39,7)-(39,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (39,7)-(39,8) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (39,4)-(39,5)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (39,4)-(39,5) = "c" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ CallNode (location: (39,7)-(39,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (39,7)-(39,8) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ MultiWriteNode (location: (41,0)-(41,23)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (41,0)-(41,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (41,0)-(41,3)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -510,19 +512,19 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: (41,3)-(41,4) = "." │ │ │ ├── name: :foo= │ │ │ ├── message_loc: (41,4)-(41,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (41,9)-(41,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (41,9)-(41,12)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -530,16 +532,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (41,12)-(41,13) = "." │ │ ├── name: :bar= │ │ ├── message_loc: (41,13)-(41,16) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ @@ -547,17 +547,19 @@ │ ├── operator_loc: (41,17)-(41,18) = "=" │ └── value: │ @ ArrayNode (location: (41,19)-(41,23)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (41,19)-(41,20)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (41,22)-(41,23)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ CallNode (location: (43,0)-(43,4)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (43,0)-(43,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -565,19 +567,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (43,1)-(43,3) = "&." │ ├── name: :b │ ├── message_loc: (43,3)-(43,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,5)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -585,19 +587,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (45,1)-(45,3) = "&." │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (45,3)-(45,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (45,4)-(45,5) = ")" - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,7)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (47,0)-(47,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -605,32 +607,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (47,1)-(47,3) = "&." │ ├── name: :b │ ├── message_loc: (47,3)-(47,4) = "b" │ ├── opening_loc: (47,4)-(47,5) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (47,5)-(47,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (47,5)-(47,6)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (47,5)-(47,6) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (47,5)-(47,6)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (47,5)-(47,6) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (47,6)-(47,7) = ")" - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (49,0)-(49,6)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (49,0)-(49,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -638,16 +640,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (49,1)-(49,3) = "&." │ ├── name: :b │ ├── message_loc: (49,3)-(49,4) = "b" │ ├── opening_loc: (49,4)-(49,5) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (49,5)-(49,6) = ")" - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ IfNode (location: (51,0)-(51,33)) │ ├── if_keyword_loc: (51,11)-(51,13) = "if" │ ├── predicate: @@ -656,6 +656,7 @@ │ │ │ @ OrNode (location: (51,14)-(51,25)) │ │ │ ├── left: │ │ │ │ @ CallNode (location: (51,14)-(51,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar? @@ -663,10 +664,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (51,22)-(51,25)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -674,11 +675,11 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (51,19)-(51,21) = "or" │ │ ├── right: │ │ │ @ CallNode (location: (51,30)-(51,33)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :qux @@ -686,14 +687,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (51,26)-(51,29) = "and" │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (51,0)-(51,10)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (51,0)-(51,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -701,24 +702,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (51,4)-(51,10)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ SymbolNode (location: (51,4)-(51,6)) - │ │ │ │ │ ├── opening_loc: (51,4)-(51,5) = ":" - │ │ │ │ │ ├── value_loc: (51,5)-(51,6) = "a" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "a" - │ │ │ │ └── @ SymbolNode (location: (51,8)-(51,10)) - │ │ │ │ ├── opening_loc: (51,8)-(51,9) = ":" - │ │ │ │ ├── value_loc: (51,9)-(51,10) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ SymbolNode (location: (51,4)-(51,6)) + │ │ │ │ ├── opening_loc: (51,4)-(51,5) = ":" + │ │ │ │ ├── value_loc: (51,5)-(51,6) = "a" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "a" + │ │ │ └── @ SymbolNode (location: (51,8)-(51,10)) + │ │ │ ├── opening_loc: (51,8)-(51,9) = ":" + │ │ │ ├── value_loc: (51,9)-(51,10) = "b" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "b" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (53,0)-(56,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -726,22 +727,22 @@ │ ├── opening_loc: (53,3)-(53,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (53,4)-(55,4)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (53,4)-(53,6)) - │ │ │ │ ├── opening_loc: (53,4)-(53,5) = ":" - │ │ │ │ ├── value_loc: (53,5)-(53,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ SymbolNode (location: (55,2)-(55,4)) - │ │ │ ├── opening_loc: (55,2)-(55,3) = ":" - │ │ │ ├── value_loc: (55,3)-(55,4) = "b" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "b" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (53,4)-(53,6)) + │ │ │ ├── opening_loc: (53,4)-(53,5) = ":" + │ │ │ ├── value_loc: (53,5)-(53,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ SymbolNode (location: (55,2)-(55,4)) + │ │ ├── opening_loc: (55,2)-(55,3) = ":" + │ │ ├── value_loc: (55,3)-(55,4) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" │ ├── closing_loc: (56,0)-(56,1) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (58,0)-(58,10)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -749,25 +750,25 @@ │ ├── opening_loc: (58,3)-(58,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (58,4)-(58,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (58,4)-(58,9)) - │ │ │ ├── operator_loc: (58,4)-(58,5) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (58,5)-(58,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :rest - │ │ │ ├── message_loc: (58,5)-(58,9) = "rest" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (58,4)-(58,9)) + │ │ ├── operator_loc: (58,4)-(58,5) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (58,5)-(58,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :rest + │ │ ├── message_loc: (58,5)-(58,9) = "rest" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (58,9)-(58,10) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (60,0)-(60,39)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -775,65 +776,65 @@ │ ├── opening_loc: (60,3)-(60,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (60,4)-(60,32)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (60,4)-(60,6)) - │ │ │ │ ├── opening_loc: (60,4)-(60,5) = ":" - │ │ │ │ ├── value_loc: (60,5)-(60,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ KeywordHashNode (location: (60,8)-(60,32)) - │ │ │ └── elements: (length: 2) - │ │ │ ├── @ AssocNode (location: (60,8)-(60,22)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (60,8)-(60,10)) - │ │ │ │ │ ├── opening_loc: (60,8)-(60,9) = ":" - │ │ │ │ │ ├── value_loc: (60,9)-(60,10) = "h" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "h" - │ │ │ │ ├── value: - │ │ │ │ │ @ ArrayNode (location: (60,14)-(60,22)) - │ │ │ │ │ ├── elements: (length: 2) - │ │ │ │ │ │ ├── @ SymbolNode (location: (60,15)-(60,17)) - │ │ │ │ │ │ │ ├── opening_loc: (60,15)-(60,16) = ":" - │ │ │ │ │ │ │ ├── value_loc: (60,16)-(60,17) = "x" - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ └── unescaped: "x" - │ │ │ │ │ │ └── @ SymbolNode (location: (60,19)-(60,21)) - │ │ │ │ │ │ ├── opening_loc: (60,19)-(60,20) = ":" - │ │ │ │ │ │ ├── value_loc: (60,20)-(60,21) = "y" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "y" - │ │ │ │ │ ├── opening_loc: (60,14)-(60,15) = "[" - │ │ │ │ │ ├── closing_loc: (60,21)-(60,22) = "]" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: (60,11)-(60,13) = "=>" - │ │ │ └── @ AssocNode (location: (60,24)-(60,32)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (60,24)-(60,26)) - │ │ │ │ ├── opening_loc: (60,24)-(60,25) = ":" - │ │ │ │ ├── value_loc: (60,25)-(60,26) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ SymbolNode (location: (60,30)-(60,32)) - │ │ │ │ ├── opening_loc: (60,30)-(60,31) = ":" - │ │ │ │ ├── value_loc: (60,31)-(60,32) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── operator_loc: (60,27)-(60,29) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (60,4)-(60,6)) + │ │ │ ├── opening_loc: (60,4)-(60,5) = ":" + │ │ │ ├── value_loc: (60,5)-(60,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ KeywordHashNode (location: (60,8)-(60,32)) + │ │ └── elements: (length: 2) + │ │ ├── @ AssocNode (location: (60,8)-(60,22)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (60,8)-(60,10)) + │ │ │ │ ├── opening_loc: (60,8)-(60,9) = ":" + │ │ │ │ ├── value_loc: (60,9)-(60,10) = "h" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "h" + │ │ │ ├── value: + │ │ │ │ @ ArrayNode (location: (60,14)-(60,22)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── elements: (length: 2) + │ │ │ │ │ ├── @ SymbolNode (location: (60,15)-(60,17)) + │ │ │ │ │ │ ├── opening_loc: (60,15)-(60,16) = ":" + │ │ │ │ │ │ ├── value_loc: (60,16)-(60,17) = "x" + │ │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ │ └── unescaped: "x" + │ │ │ │ │ └── @ SymbolNode (location: (60,19)-(60,21)) + │ │ │ │ │ ├── opening_loc: (60,19)-(60,20) = ":" + │ │ │ │ │ ├── value_loc: (60,20)-(60,21) = "y" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "y" + │ │ │ │ ├── opening_loc: (60,14)-(60,15) = "[" + │ │ │ │ └── closing_loc: (60,21)-(60,22) = "]" + │ │ │ └── operator_loc: (60,11)-(60,13) = "=>" + │ │ └── @ AssocNode (location: (60,24)-(60,32)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (60,24)-(60,26)) + │ │ │ ├── opening_loc: (60,24)-(60,25) = ":" + │ │ │ ├── value_loc: (60,25)-(60,26) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ SymbolNode (location: (60,30)-(60,32)) + │ │ │ ├── opening_loc: (60,30)-(60,31) = ":" + │ │ │ ├── value_loc: (60,31)-(60,32) = "b" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "b" + │ │ └── operator_loc: (60,27)-(60,29) = "=>" │ ├── closing_loc: (60,39)-(60,40) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (60,34)-(60,39)) - │ │ ├── expression: - │ │ │ @ SymbolNode (location: (60,35)-(60,39)) - │ │ │ ├── opening_loc: (60,35)-(60,36) = ":" - │ │ │ ├── value_loc: (60,36)-(60,39) = "bar" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "bar" - │ │ └── operator_loc: (60,34)-(60,35) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (60,34)-(60,39)) + │ ├── expression: + │ │ @ SymbolNode (location: (60,35)-(60,39)) + │ │ ├── opening_loc: (60,35)-(60,36) = ":" + │ │ ├── value_loc: (60,36)-(60,39) = "bar" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "bar" + │ └── operator_loc: (60,34)-(60,35) = "&" ├── @ CallNode (location: (62,0)-(62,49)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -841,53 +842,53 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (62,3)-(62,49)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (62,3)-(62,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ HashNode (location: (62,8)-(62,49)) - │ │ │ ├── opening_loc: (62,8)-(62,9) = "{" - │ │ │ ├── elements: (length: 3) - │ │ │ │ ├── @ AssocNode (location: (62,10)-(62,27)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (62,10)-(62,16)) - │ │ │ │ │ │ ├── opening_loc: (62,10)-(62,11) = ":" - │ │ │ │ │ │ ├── value_loc: (62,11)-(62,16) = "there" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "there" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ SymbolNode (location: (62,20)-(62,27)) - │ │ │ │ │ │ ├── opening_loc: (62,20)-(62,21) = ":" - │ │ │ │ │ │ ├── value_loc: (62,21)-(62,27) = "friend" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "friend" - │ │ │ │ │ └── operator_loc: (62,17)-(62,19) = "=>" - │ │ │ │ ├── @ AssocSplatNode (location: (62,29)-(62,33)) - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ HashNode (location: (62,31)-(62,33)) - │ │ │ │ │ │ ├── opening_loc: (62,31)-(62,32) = "{" - │ │ │ │ │ │ ├── elements: (length: 0) - │ │ │ │ │ │ └── closing_loc: (62,32)-(62,33) = "}" - │ │ │ │ │ └── operator_loc: (62,29)-(62,31) = "**" - │ │ │ │ └── @ AssocNode (location: (62,35)-(62,47)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (62,35)-(62,42)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup" - │ │ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":" - │ │ │ │ │ └── unescaped: "whatup" - │ │ │ │ ├── value: - │ │ │ │ │ @ SymbolNode (location: (62,43)-(62,47)) - │ │ │ │ │ ├── opening_loc: (62,43)-(62,44) = ":" - │ │ │ │ │ ├── value_loc: (62,44)-(62,47) = "dog" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "dog" - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── closing_loc: (62,48)-(62,49) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (62,3)-(62,6)) + │ │ │ └── flags: decimal + │ │ └── @ HashNode (location: (62,8)-(62,49)) + │ │ ├── opening_loc: (62,8)-(62,9) = "{" + │ │ ├── elements: (length: 3) + │ │ │ ├── @ AssocNode (location: (62,10)-(62,27)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (62,10)-(62,16)) + │ │ │ │ │ ├── opening_loc: (62,10)-(62,11) = ":" + │ │ │ │ │ ├── value_loc: (62,11)-(62,16) = "there" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "there" + │ │ │ │ ├── value: + │ │ │ │ │ @ SymbolNode (location: (62,20)-(62,27)) + │ │ │ │ │ ├── opening_loc: (62,20)-(62,21) = ":" + │ │ │ │ │ ├── value_loc: (62,21)-(62,27) = "friend" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "friend" + │ │ │ │ └── operator_loc: (62,17)-(62,19) = "=>" + │ │ │ ├── @ AssocSplatNode (location: (62,29)-(62,33)) + │ │ │ │ ├── value: + │ │ │ │ │ @ HashNode (location: (62,31)-(62,33)) + │ │ │ │ │ ├── opening_loc: (62,31)-(62,32) = "{" + │ │ │ │ │ ├── elements: (length: 0) + │ │ │ │ │ └── closing_loc: (62,32)-(62,33) = "}" + │ │ │ │ └── operator_loc: (62,29)-(62,31) = "**" + │ │ │ └── @ AssocNode (location: (62,35)-(62,47)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (62,35)-(62,42)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup" + │ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":" + │ │ │ │ └── unescaped: "whatup" + │ │ │ ├── value: + │ │ │ │ @ SymbolNode (location: (62,43)-(62,47)) + │ │ │ │ ├── opening_loc: (62,43)-(62,44) = ":" + │ │ │ │ ├── value_loc: (62,44)-(62,47) = "dog" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "dog" + │ │ │ └── operator_loc: ∅ + │ │ └── closing_loc: (62,48)-(62,49) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (64,0)-(64,36)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -895,71 +896,71 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (64,4)-(64,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (64,4)-(64,6)) - │ │ │ │ ├── opening_loc: (64,4)-(64,5) = ":" - │ │ │ │ ├── value_loc: (64,5)-(64,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ KeywordHashNode (location: (64,8)-(64,15)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (64,8)-(64,15)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (64,8)-(64,10)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (64,8)-(64,9) = "b" - │ │ │ │ ├── closing_loc: (64,9)-(64,10) = ":" - │ │ │ │ └── unescaped: "b" - │ │ │ ├── value: - │ │ │ │ @ TrueNode (location: (64,11)-(64,15)) - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (64,4)-(64,6)) + │ │ │ ├── opening_loc: (64,4)-(64,5) = ":" + │ │ │ ├── value_loc: (64,5)-(64,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ KeywordHashNode (location: (64,8)-(64,15)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (64,8)-(64,15)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (64,8)-(64,10)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (64,8)-(64,9) = "b" + │ │ │ ├── closing_loc: (64,9)-(64,10) = ":" + │ │ │ └── unescaped: "b" + │ │ ├── value: + │ │ │ @ TrueNode (location: (64,11)-(64,15)) + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (64,16)-(64,36)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (64,19)-(64,25)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (64,20)-(64,24)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (64,20)-(64,21)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (64,23)-(64,24)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (64,19)-(64,20) = "|" - │ │ │ └── closing_loc: (64,24)-(64,25) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (64,26)-(64,32)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (64,26)-(64,32)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :puts - │ │ │ ├── message_loc: (64,26)-(64,30) = "puts" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (64,31)-(64,32)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (64,31)-(64,32)) - │ │ │ │ │ ├── name: :a - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (64,16)-(64,18) = "do" - │ │ └── closing_loc: (64,33)-(64,36) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (64,16)-(64,36)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (64,19)-(64,25)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (64,20)-(64,24)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (64,20)-(64,21)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (64,23)-(64,24)) + │ │ │ │ └── name: :b + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (64,19)-(64,20) = "|" + │ │ └── closing_loc: (64,24)-(64,25) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (64,26)-(64,32)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (64,26)-(64,32)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :puts + │ │ ├── message_loc: (64,26)-(64,30) = "puts" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (64,31)-(64,32)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (64,31)-(64,32)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (64,16)-(64,18) = "do" + │ └── closing_loc: (64,33)-(64,36) = "end" ├── @ CallNode (location: (66,0)-(66,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -967,28 +968,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (66,3)-(66,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (66,3)-(66,17)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (66,3)-(66,17)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (66,3)-(66,9)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (66,3)-(66,8) = "there" - │ │ │ │ ├── closing_loc: (66,8)-(66,9) = ":" - │ │ │ │ └── unescaped: "there" - │ │ │ ├── value: - │ │ │ │ @ SymbolNode (location: (66,10)-(66,17)) - │ │ │ │ ├── opening_loc: (66,10)-(66,11) = ":" - │ │ │ │ ├── value_loc: (66,11)-(66,17) = "friend" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "friend" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (66,3)-(66,17)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (66,3)-(66,17)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (66,3)-(66,9)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (66,3)-(66,8) = "there" + │ │ │ ├── closing_loc: (66,8)-(66,9) = ":" + │ │ │ └── unescaped: "there" + │ │ ├── value: + │ │ │ @ SymbolNode (location: (66,10)-(66,17)) + │ │ │ ├── opening_loc: (66,10)-(66,11) = ":" + │ │ │ ├── value_loc: (66,11)-(66,17) = "friend" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "friend" + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (68,0)-(68,40)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -996,49 +997,49 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (68,3)-(68,40)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (68,3)-(68,40)) - │ │ │ └── elements: (length: 3) - │ │ │ ├── @ AssocNode (location: (68,3)-(68,20)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (68,3)-(68,9)) - │ │ │ │ │ ├── opening_loc: (68,3)-(68,4) = ":" - │ │ │ │ │ ├── value_loc: (68,4)-(68,9) = "there" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "there" - │ │ │ │ ├── value: - │ │ │ │ │ @ SymbolNode (location: (68,13)-(68,20)) - │ │ │ │ │ ├── opening_loc: (68,13)-(68,14) = ":" - │ │ │ │ │ ├── value_loc: (68,14)-(68,20) = "friend" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "friend" - │ │ │ │ └── operator_loc: (68,10)-(68,12) = "=>" - │ │ │ ├── @ AssocSplatNode (location: (68,22)-(68,26)) - │ │ │ │ ├── value: - │ │ │ │ │ @ HashNode (location: (68,24)-(68,26)) - │ │ │ │ │ ├── opening_loc: (68,24)-(68,25) = "{" - │ │ │ │ │ ├── elements: (length: 0) - │ │ │ │ │ └── closing_loc: (68,25)-(68,26) = "}" - │ │ │ │ └── operator_loc: (68,22)-(68,24) = "**" - │ │ │ └── @ AssocNode (location: (68,28)-(68,40)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (68,28)-(68,35)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (68,28)-(68,34) = "whatup" - │ │ │ │ ├── closing_loc: (68,34)-(68,35) = ":" - │ │ │ │ └── unescaped: "whatup" - │ │ │ ├── value: - │ │ │ │ @ SymbolNode (location: (68,36)-(68,40)) - │ │ │ │ ├── opening_loc: (68,36)-(68,37) = ":" - │ │ │ │ ├── value_loc: (68,37)-(68,40) = "dog" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "dog" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (68,3)-(68,40)) + │ │ └── elements: (length: 3) + │ │ ├── @ AssocNode (location: (68,3)-(68,20)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (68,3)-(68,9)) + │ │ │ │ ├── opening_loc: (68,3)-(68,4) = ":" + │ │ │ │ ├── value_loc: (68,4)-(68,9) = "there" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "there" + │ │ │ ├── value: + │ │ │ │ @ SymbolNode (location: (68,13)-(68,20)) + │ │ │ │ ├── opening_loc: (68,13)-(68,14) = ":" + │ │ │ │ ├── value_loc: (68,14)-(68,20) = "friend" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "friend" + │ │ │ └── operator_loc: (68,10)-(68,12) = "=>" + │ │ ├── @ AssocSplatNode (location: (68,22)-(68,26)) + │ │ │ ├── value: + │ │ │ │ @ HashNode (location: (68,24)-(68,26)) + │ │ │ │ ├── opening_loc: (68,24)-(68,25) = "{" + │ │ │ │ ├── elements: (length: 0) + │ │ │ │ └── closing_loc: (68,25)-(68,26) = "}" + │ │ │ └── operator_loc: (68,22)-(68,24) = "**" + │ │ └── @ AssocNode (location: (68,28)-(68,40)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (68,28)-(68,35)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (68,28)-(68,34) = "whatup" + │ │ │ ├── closing_loc: (68,34)-(68,35) = ":" + │ │ │ └── unescaped: "whatup" + │ │ ├── value: + │ │ │ @ SymbolNode (location: (68,36)-(68,40)) + │ │ │ ├── opening_loc: (68,36)-(68,37) = ":" + │ │ │ ├── value_loc: (68,37)-(68,40) = "dog" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "dog" + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (70,0)-(70,41)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -1046,49 +1047,49 @@ │ ├── opening_loc: (70,2)-(70,3) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (70,3)-(70,40)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (70,3)-(70,40)) - │ │ │ └── elements: (length: 3) - │ │ │ ├── @ AssocNode (location: (70,3)-(70,20)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (70,3)-(70,9)) - │ │ │ │ │ ├── opening_loc: (70,3)-(70,4) = ":" - │ │ │ │ │ ├── value_loc: (70,4)-(70,9) = "there" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "there" - │ │ │ │ ├── value: - │ │ │ │ │ @ SymbolNode (location: (70,13)-(70,20)) - │ │ │ │ │ ├── opening_loc: (70,13)-(70,14) = ":" - │ │ │ │ │ ├── value_loc: (70,14)-(70,20) = "friend" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "friend" - │ │ │ │ └── operator_loc: (70,10)-(70,12) = "=>" - │ │ │ ├── @ AssocSplatNode (location: (70,22)-(70,26)) - │ │ │ │ ├── value: - │ │ │ │ │ @ HashNode (location: (70,24)-(70,26)) - │ │ │ │ │ ├── opening_loc: (70,24)-(70,25) = "{" - │ │ │ │ │ ├── elements: (length: 0) - │ │ │ │ │ └── closing_loc: (70,25)-(70,26) = "}" - │ │ │ │ └── operator_loc: (70,22)-(70,24) = "**" - │ │ │ └── @ AssocNode (location: (70,28)-(70,40)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (70,28)-(70,35)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (70,28)-(70,34) = "whatup" - │ │ │ │ ├── closing_loc: (70,34)-(70,35) = ":" - │ │ │ │ └── unescaped: "whatup" - │ │ │ ├── value: - │ │ │ │ @ SymbolNode (location: (70,36)-(70,40)) - │ │ │ │ ├── opening_loc: (70,36)-(70,37) = ":" - │ │ │ │ ├── value_loc: (70,37)-(70,40) = "dog" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "dog" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (70,3)-(70,40)) + │ │ └── elements: (length: 3) + │ │ ├── @ AssocNode (location: (70,3)-(70,20)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (70,3)-(70,9)) + │ │ │ │ ├── opening_loc: (70,3)-(70,4) = ":" + │ │ │ │ ├── value_loc: (70,4)-(70,9) = "there" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "there" + │ │ │ ├── value: + │ │ │ │ @ SymbolNode (location: (70,13)-(70,20)) + │ │ │ │ ├── opening_loc: (70,13)-(70,14) = ":" + │ │ │ │ ├── value_loc: (70,14)-(70,20) = "friend" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "friend" + │ │ │ └── operator_loc: (70,10)-(70,12) = "=>" + │ │ ├── @ AssocSplatNode (location: (70,22)-(70,26)) + │ │ │ ├── value: + │ │ │ │ @ HashNode (location: (70,24)-(70,26)) + │ │ │ │ ├── opening_loc: (70,24)-(70,25) = "{" + │ │ │ │ ├── elements: (length: 0) + │ │ │ │ └── closing_loc: (70,25)-(70,26) = "}" + │ │ │ └── operator_loc: (70,22)-(70,24) = "**" + │ │ └── @ AssocNode (location: (70,28)-(70,40)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (70,28)-(70,35)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (70,28)-(70,34) = "whatup" + │ │ │ ├── closing_loc: (70,34)-(70,35) = ":" + │ │ │ └── unescaped: "whatup" + │ │ ├── value: + │ │ │ @ SymbolNode (location: (70,36)-(70,40)) + │ │ │ ├── opening_loc: (70,36)-(70,37) = ":" + │ │ │ ├── value_loc: (70,37)-(70,40) = "dog" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "dog" + │ │ └── operator_loc: ∅ │ ├── closing_loc: (70,40)-(70,41) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (72,0)-(72,35)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1096,44 +1097,44 @@ │ ├── opening_loc: (72,3)-(72,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (72,4)-(72,26)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ HashNode (location: (72,4)-(72,26)) - │ │ │ ├── opening_loc: (72,4)-(72,5) = "{" - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ AssocNode (location: (72,6)-(72,13)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a" - │ │ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":" - │ │ │ │ │ │ └── unescaped: "a" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ TrueNode (location: (72,9)-(72,13)) - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── @ AssocNode (location: (72,15)-(72,23)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (72,15)-(72,17)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (72,15)-(72,16) = "b" - │ │ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ FalseNode (location: (72,18)-(72,23)) - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── closing_loc: (72,25)-(72,26) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ HashNode (location: (72,4)-(72,26)) + │ │ ├── opening_loc: (72,4)-(72,5) = "{" + │ │ ├── elements: (length: 2) + │ │ │ ├── @ AssocNode (location: (72,6)-(72,13)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8)) + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a" + │ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":" + │ │ │ │ │ └── unescaped: "a" + │ │ │ │ ├── value: + │ │ │ │ │ @ TrueNode (location: (72,9)-(72,13)) + │ │ │ │ └── operator_loc: ∅ + │ │ │ └── @ AssocNode (location: (72,15)-(72,23)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (72,15)-(72,17)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (72,15)-(72,16) = "b" + │ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ FalseNode (location: (72,18)-(72,23)) + │ │ │ └── operator_loc: ∅ + │ │ └── closing_loc: (72,25)-(72,26) = "}" │ ├── closing_loc: (72,35)-(72,36) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (72,28)-(72,35)) - │ │ ├── expression: - │ │ │ @ SymbolNode (location: (72,29)-(72,35)) - │ │ │ ├── opening_loc: (72,29)-(72,30) = ":" - │ │ │ ├── value_loc: (72,30)-(72,35) = "block" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "block" - │ │ └── operator_loc: (72,28)-(72,29) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (72,28)-(72,35)) + │ ├── expression: + │ │ @ SymbolNode (location: (72,29)-(72,35)) + │ │ ├── opening_loc: (72,29)-(72,30) = ":" + │ │ ├── value_loc: (72,30)-(72,35) = "block" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "block" + │ └── operator_loc: (72,28)-(72,29) = "&" ├── @ CallNode (location: (74,0)-(74,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -1141,28 +1142,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (74,3)-(74,20)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (74,3)-(74,20)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (74,3)-(74,20)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (74,3)-(74,9)) - │ │ │ │ ├── opening_loc: (74,3)-(74,4) = ":" - │ │ │ │ ├── value_loc: (74,4)-(74,9) = "there" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "there" - │ │ │ ├── value: - │ │ │ │ @ SymbolNode (location: (74,13)-(74,20)) - │ │ │ │ ├── opening_loc: (74,13)-(74,14) = ":" - │ │ │ │ ├── value_loc: (74,14)-(74,20) = "friend" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "friend" - │ │ │ └── operator_loc: (74,10)-(74,12) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (74,3)-(74,20)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (74,3)-(74,20)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (74,3)-(74,9)) + │ │ │ ├── opening_loc: (74,3)-(74,4) = ":" + │ │ │ ├── value_loc: (74,4)-(74,9) = "there" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "there" + │ │ ├── value: + │ │ │ @ SymbolNode (location: (74,13)-(74,20)) + │ │ │ ├── opening_loc: (74,13)-(74,14) = ":" + │ │ │ ├── value_loc: (74,14)-(74,20) = "friend" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "friend" + │ │ └── operator_loc: (74,10)-(74,12) = "=>" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (76,0)-(78,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1170,22 +1171,22 @@ │ ├── opening_loc: (76,3)-(76,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (76,4)-(77,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (76,4)-(76,6)) - │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":" - │ │ │ │ ├── value_loc: (76,5)-(76,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ SymbolNode (location: (77,0)-(77,2)) - │ │ │ ├── opening_loc: (77,0)-(77,1) = ":" - │ │ │ ├── value_loc: (77,1)-(77,2) = "b" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "b" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (76,4)-(76,6)) + │ │ │ ├── opening_loc: (76,4)-(76,5) = ":" + │ │ │ ├── value_loc: (76,5)-(76,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ SymbolNode (location: (77,0)-(77,2)) + │ │ ├── opening_loc: (77,0)-(77,1) = ":" + │ │ ├── value_loc: (77,1)-(77,2) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" │ ├── closing_loc: (78,0)-(78,1) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (80,0)-(83,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1193,33 +1194,33 @@ │ ├── opening_loc: (80,3)-(80,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (81,0)-(82,5)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (81,0)-(81,2)) - │ │ │ │ ├── opening_loc: (81,0)-(81,1) = ":" - │ │ │ │ ├── value_loc: (81,1)-(81,2) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ KeywordHashNode (location: (82,0)-(82,5)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (82,0)-(82,5)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (82,0)-(82,2)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (82,0)-(82,1) = "b" - │ │ │ │ ├── closing_loc: (82,1)-(82,2) = ":" - │ │ │ │ └── unescaped: "b" - │ │ │ ├── value: - │ │ │ │ @ SymbolNode (location: (82,3)-(82,5)) - │ │ │ │ ├── opening_loc: (82,3)-(82,4) = ":" - │ │ │ │ ├── value_loc: (82,4)-(82,5) = "c" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "c" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (81,0)-(81,2)) + │ │ │ ├── opening_loc: (81,0)-(81,1) = ":" + │ │ │ ├── value_loc: (81,1)-(81,2) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ KeywordHashNode (location: (82,0)-(82,5)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (82,0)-(82,5)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (82,0)-(82,2)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (82,0)-(82,1) = "b" + │ │ │ ├── closing_loc: (82,1)-(82,2) = ":" + │ │ │ └── unescaped: "b" + │ │ ├── value: + │ │ │ @ SymbolNode (location: (82,3)-(82,5)) + │ │ │ ├── opening_loc: (82,3)-(82,4) = ":" + │ │ │ ├── value_loc: (82,4)-(82,5) = "c" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "c" + │ │ └── operator_loc: ∅ │ ├── closing_loc: (83,0)-(83,1) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (85,0)-(85,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1227,17 +1228,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockArgumentNode (location: (85,4)-(85,11)) - │ │ ├── expression: - │ │ │ @ SymbolNode (location: (85,5)-(85,11)) - │ │ │ ├── opening_loc: (85,5)-(85,6) = ":" - │ │ │ ├── value_loc: (85,6)-(85,11) = "block" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "block" - │ │ └── operator_loc: (85,4)-(85,5) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (85,4)-(85,11)) + │ ├── expression: + │ │ @ SymbolNode (location: (85,5)-(85,11)) + │ │ ├── opening_loc: (85,5)-(85,6) = ":" + │ │ ├── value_loc: (85,6)-(85,11) = "block" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "block" + │ └── operator_loc: (85,4)-(85,5) = "&" ├── @ CallNode (location: (87,0)-(87,30)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1245,42 +1246,42 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (87,4)-(87,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (87,4)-(87,21)) - │ │ │ └── elements: (length: 2) - │ │ │ ├── @ AssocNode (location: (87,4)-(87,11)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (87,4)-(87,6)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (87,4)-(87,5) = "a" - │ │ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":" - │ │ │ │ │ └── unescaped: "a" - │ │ │ │ ├── value: - │ │ │ │ │ @ TrueNode (location: (87,7)-(87,11)) - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── @ AssocNode (location: (87,13)-(87,21)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (87,13)-(87,15)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (87,13)-(87,14) = "b" - │ │ │ │ ├── closing_loc: (87,14)-(87,15) = ":" - │ │ │ │ └── unescaped: "b" - │ │ │ ├── value: - │ │ │ │ @ FalseNode (location: (87,16)-(87,21)) - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (87,4)-(87,21)) + │ │ └── elements: (length: 2) + │ │ ├── @ AssocNode (location: (87,4)-(87,11)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (87,4)-(87,6)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (87,4)-(87,5) = "a" + │ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":" + │ │ │ │ └── unescaped: "a" + │ │ │ ├── value: + │ │ │ │ @ TrueNode (location: (87,7)-(87,11)) + │ │ │ └── operator_loc: ∅ + │ │ └── @ AssocNode (location: (87,13)-(87,21)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (87,13)-(87,15)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (87,13)-(87,14) = "b" + │ │ │ ├── closing_loc: (87,14)-(87,15) = ":" + │ │ │ └── unescaped: "b" + │ │ ├── value: + │ │ │ @ FalseNode (location: (87,16)-(87,21)) + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockArgumentNode (location: (87,23)-(87,30)) - │ │ ├── expression: - │ │ │ @ SymbolNode (location: (87,24)-(87,30)) - │ │ │ ├── opening_loc: (87,24)-(87,25) = ":" - │ │ │ ├── value_loc: (87,25)-(87,30) = "block" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "block" - │ │ └── operator_loc: (87,23)-(87,24) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (87,23)-(87,30)) + │ ├── expression: + │ │ @ SymbolNode (location: (87,24)-(87,30)) + │ │ ├── opening_loc: (87,24)-(87,25) = ":" + │ │ ├── value_loc: (87,25)-(87,30) = "block" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "block" + │ └── operator_loc: (87,23)-(87,24) = "&" ├── @ CallNode (location: (89,0)-(89,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :some_func @@ -1288,27 +1289,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (89,10)-(89,21)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (89,10)-(89,11)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ KeywordHashNode (location: (89,13)-(89,21)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (89,13)-(89,21)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (89,13)-(89,19)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg" - │ │ │ │ ├── closing_loc: (89,18)-(89,19) = ":" - │ │ │ │ └── unescaped: "kwarg" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (89,20)-(89,21)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (89,10)-(89,11)) + │ │ │ └── flags: decimal + │ │ └── @ KeywordHashNode (location: (89,13)-(89,21)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (89,13)-(89,21)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (89,13)-(89,19)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg" + │ │ │ ├── closing_loc: (89,18)-(89,19) = ":" + │ │ │ └── unescaped: "kwarg" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (89,20)-(89,21)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (91,0)-(91,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (91,0)-(91,6)) │ │ └── name: :Kernel @@ -1318,16 +1319,17 @@ │ ├── opening_loc: (91,14)-(91,15) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (91,15)-(91,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (91,15)-(91,17)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (91,15)-(91,17)) + │ │ └── flags: decimal │ ├── closing_loc: (91,17)-(91,18) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (93,0)-(93,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (93,0)-(93,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :x @@ -1335,26 +1337,26 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (93,1)-(93,2) = "." │ ├── name: :each │ ├── message_loc: (93,2)-(93,6) = "each" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (93,7)-(93,10)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (93,7)-(93,8) = "{" - │ │ └── closing_loc: (93,9)-(93,10) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (93,7)-(93,10)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (93,7)-(93,8) = "{" + │ └── closing_loc: (93,9)-(93,10) = "}" ├── @ CallNode (location: (95,0)-(95,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (95,0)-(95,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1362,28 +1364,27 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (95,3)-(95,4) = "." │ ├── name: :map │ ├── message_loc: (95,4)-(95,7) = "map" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (95,8)-(95,14)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (95,10)-(95,12)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ BackReferenceReadNode (location: (95,10)-(95,12)) - │ │ │ └── name: :$& - │ │ ├── opening_loc: (95,8)-(95,9) = "{" - │ │ └── closing_loc: (95,13)-(95,14) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (95,8)-(95,14)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (95,10)-(95,12)) + │ │ └── body: (length: 1) + │ │ └── @ BackReferenceReadNode (location: (95,10)-(95,12)) + │ │ └── name: :$& + │ ├── opening_loc: (95,8)-(95,9) = "{" + │ └── closing_loc: (95,13)-(95,14) = "}" ├── @ CallNode (location: (97,0)-(97,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantPathNode (location: (97,0)-(97,4)) │ │ ├── parent: @@ -1399,17 +1400,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (97,8)-(97,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (97,8)-(97,12)) - │ │ │ ├── opening_loc: (97,8)-(97,9) = ":" - │ │ │ ├── value_loc: (97,9)-(97,12) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (97,8)-(97,12)) + │ │ ├── opening_loc: (97,8)-(97,9) = ":" + │ │ ├── value_loc: (97,9)-(97,12) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (99,0)-(99,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantPathNode (location: (99,0)-(99,4)) │ │ ├── parent: @@ -1425,17 +1426,17 @@ │ ├── opening_loc: (99,7)-(99,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (99,8)-(99,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (99,8)-(99,12)) - │ │ │ ├── opening_loc: (99,8)-(99,9) = ":" - │ │ │ ├── value_loc: (99,9)-(99,12) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (99,8)-(99,12)) + │ │ ├── opening_loc: (99,8)-(99,9) = ":" + │ │ ├── value_loc: (99,9)-(99,12) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" │ ├── closing_loc: (99,12)-(99,13) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (101,0)-(101,17)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantPathNode (location: (101,0)-(101,4)) │ │ ├── parent: @@ -1451,24 +1452,24 @@ │ ├── opening_loc: (101,7)-(101,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (101,8)-(101,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (101,8)-(101,12)) - │ │ │ ├── opening_loc: (101,8)-(101,9) = ":" - │ │ │ ├── value_loc: (101,9)-(101,12) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (101,8)-(101,12)) + │ │ ├── opening_loc: (101,8)-(101,9) = ":" + │ │ ├── value_loc: (101,9)-(101,12) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" │ ├── closing_loc: (101,12)-(101,13) = ")" - │ ├── block: - │ │ @ BlockNode (location: (101,14)-(101,17)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (101,14)-(101,15) = "{" - │ │ └── closing_loc: (101,16)-(101,17) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (101,14)-(101,17)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (101,14)-(101,15) = "{" + │ └── closing_loc: (101,16)-(101,17) = "}" ├── @ CallNode (location: (103,0)-(103,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1476,25 +1477,25 @@ │ ├── opening_loc: (103,3)-(103,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (103,4)-(103,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (103,4)-(103,11)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (103,4)-(103,11)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (103,4)-(103,8)) - │ │ │ │ ├── opening_loc: (103,4)-(103,5) = "\"" - │ │ │ │ ├── value_loc: (103,5)-(103,6) = "a" - │ │ │ │ ├── closing_loc: (103,6)-(103,8) = "\":" - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (103,9)-(103,11)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (103,4)-(103,11)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (103,4)-(103,11)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (103,4)-(103,8)) + │ │ │ ├── opening_loc: (103,4)-(103,5) = "\"" + │ │ │ ├── value_loc: (103,5)-(103,6) = "a" + │ │ │ ├── closing_loc: (103,6)-(103,8) = "\":" + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (103,9)-(103,11)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ │ ├── closing_loc: (103,11)-(103,12) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (105,0)-(105,28)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1502,53 +1503,53 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (105,4)-(105,28)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (105,4)-(105,28)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (105,4)-(105,28)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (105,4)-(105,8)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (105,4)-(105,7) = "bar" - │ │ │ │ ├── closing_loc: (105,7)-(105,8) = ":" - │ │ │ │ └── unescaped: "bar" - │ │ │ ├── value: - │ │ │ │ @ HashNode (location: (105,9)-(105,28)) - │ │ │ │ ├── opening_loc: (105,9)-(105,10) = "{" - │ │ │ │ ├── elements: (length: 1) - │ │ │ │ │ └── @ AssocNode (location: (105,11)-(105,26)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz" - │ │ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":" - │ │ │ │ │ │ └── unescaped: "baz" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (105,16)-(105,26)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :qux - │ │ │ │ │ │ ├── message_loc: (105,16)-(105,19) = "qux" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do" - │ │ │ │ │ │ │ └── closing_loc: (105,23)-(105,26) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── closing_loc: (105,27)-(105,28) = "}" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (105,4)-(105,28)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (105,4)-(105,28)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (105,4)-(105,8)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (105,4)-(105,7) = "bar" + │ │ │ ├── closing_loc: (105,7)-(105,8) = ":" + │ │ │ └── unescaped: "bar" + │ │ ├── value: + │ │ │ @ HashNode (location: (105,9)-(105,28)) + │ │ │ ├── opening_loc: (105,9)-(105,10) = "{" + │ │ │ ├── elements: (length: 1) + │ │ │ │ └── @ AssocNode (location: (105,11)-(105,26)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15)) + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz" + │ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":" + │ │ │ │ │ └── unescaped: "baz" + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (105,16)-(105,26)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :qux + │ │ │ │ │ ├── message_loc: (105,16)-(105,19) = "qux" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do" + │ │ │ │ │ └── closing_loc: (105,23)-(105,26) = "end" + │ │ │ │ └── operator_loc: ∅ + │ │ │ └── closing_loc: (105,27)-(105,28) = "}" + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (107,0)-(107,24)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1556,47 +1557,47 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (107,4)-(107,24)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (107,4)-(107,24)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (107,4)-(107,24)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (107,4)-(107,8)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (107,4)-(107,7) = "bar" - │ │ │ │ ├── closing_loc: (107,7)-(107,8) = ":" - │ │ │ │ └── unescaped: "bar" - │ │ │ ├── value: - │ │ │ │ @ HashNode (location: (107,9)-(107,24)) - │ │ │ │ ├── opening_loc: (107,9)-(107,10) = "{" - │ │ │ │ ├── elements: (length: 1) - │ │ │ │ │ └── @ AssocSplatNode (location: (107,11)-(107,22)) - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (107,13)-(107,22)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :kw - │ │ │ │ │ │ ├── message_loc: (107,13)-(107,15) = "kw" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do" - │ │ │ │ │ │ │ └── closing_loc: (107,19)-(107,22) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── operator_loc: (107,11)-(107,13) = "**" - │ │ │ │ └── closing_loc: (107,23)-(107,24) = "}" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (107,4)-(107,24)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (107,4)-(107,24)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (107,4)-(107,8)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (107,4)-(107,7) = "bar" + │ │ │ ├── closing_loc: (107,7)-(107,8) = ":" + │ │ │ └── unescaped: "bar" + │ │ ├── value: + │ │ │ @ HashNode (location: (107,9)-(107,24)) + │ │ │ ├── opening_loc: (107,9)-(107,10) = "{" + │ │ │ ├── elements: (length: 1) + │ │ │ │ └── @ AssocSplatNode (location: (107,11)-(107,22)) + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (107,13)-(107,22)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :kw + │ │ │ │ │ ├── message_loc: (107,13)-(107,15) = "kw" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do" + │ │ │ │ │ └── closing_loc: (107,19)-(107,22) = "end" + │ │ │ │ └── operator_loc: (107,11)-(107,13) = "**" + │ │ │ └── closing_loc: (107,23)-(107,24) = "}" + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (109,0)-(109,36)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1604,64 +1605,64 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (109,4)-(109,29)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (109,4)-(109,29)) - │ │ │ ├── opening_loc: (109,4)-(109,5) = "\"" - │ │ │ ├── parts: (length: 1) - │ │ │ │ └── @ EmbeddedStatementsNode (location: (109,5)-(109,28)) - │ │ │ │ ├── opening_loc: (109,5)-(109,7) = "\#{" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (109,7)-(109,27)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (109,7)-(109,27)) - │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ @ CallNode (location: (109,7)-(109,10)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ ├── message_loc: (109,7)-(109,10) = "bar" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ ├── call_operator_loc: (109,10)-(109,11) = "." - │ │ │ │ │ ├── name: :map - │ │ │ │ │ ├── message_loc: (109,11)-(109,14) = "map" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (109,15)-(109,27)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: - │ │ │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23)) - │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ └── @ StringNode (location: (109,18)-(109,23)) - │ │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (109,18)-(109,19) = "\"" - │ │ │ │ │ │ │ ├── content_loc: (109,19)-(109,22) = "baz" - │ │ │ │ │ │ │ ├── closing_loc: (109,22)-(109,23) = "\"" - │ │ │ │ │ │ │ └── unescaped: "baz" - │ │ │ │ │ │ ├── opening_loc: (109,15)-(109,17) = "do" - │ │ │ │ │ │ └── closing_loc: (109,24)-(109,27) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── closing_loc: (109,27)-(109,28) = "}" - │ │ │ └── closing_loc: (109,28)-(109,29) = "\"" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (109,4)-(109,29)) + │ │ ├── opening_loc: (109,4)-(109,5) = "\"" + │ │ ├── parts: (length: 1) + │ │ │ └── @ EmbeddedStatementsNode (location: (109,5)-(109,28)) + │ │ │ ├── opening_loc: (109,5)-(109,7) = "\#{" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (109,7)-(109,27)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (109,7)-(109,27)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: + │ │ │ │ │ @ CallNode (location: (109,7)-(109,10)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar + │ │ │ │ │ ├── message_loc: (109,7)-(109,10) = "bar" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── call_operator_loc: (109,10)-(109,11) = "." + │ │ │ │ ├── name: :map + │ │ │ │ ├── message_loc: (109,11)-(109,14) = "map" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (109,15)-(109,27)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: + │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ StringNode (location: (109,18)-(109,23)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: (109,18)-(109,19) = "\"" + │ │ │ │ │ ├── content_loc: (109,19)-(109,22) = "baz" + │ │ │ │ │ ├── closing_loc: (109,22)-(109,23) = "\"" + │ │ │ │ │ └── unescaped: "baz" + │ │ │ │ ├── opening_loc: (109,15)-(109,17) = "do" + │ │ │ │ └── closing_loc: (109,24)-(109,27) = "end" + │ │ │ └── closing_loc: (109,27)-(109,28) = "}" + │ │ └── closing_loc: (109,28)-(109,29) = "\"" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (109,30)-(109,36)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (109,30)-(109,32) = "do" - │ │ └── closing_loc: (109,33)-(109,36) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (109,30)-(109,36)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (109,30)-(109,32) = "do" + │ └── closing_loc: (109,33)-(109,36) = "end" ├── @ CallNode (location: (111,0)-(111,28)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1669,42 +1670,42 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (111,4)-(111,28)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ClassNode (location: (111,4)-(111,28)) - │ │ │ ├── locals: [] - │ │ │ ├── class_keyword_loc: (111,4)-(111,9) = "class" - │ │ │ ├── constant_path: - │ │ │ │ @ ConstantReadNode (location: (111,10)-(111,13)) - │ │ │ │ └── name: :Bar - │ │ │ ├── inheritance_operator_loc: ∅ - │ │ │ ├── superclass: ∅ - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (111,14)-(111,24)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (111,14)-(111,24)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (111,14)-(111,17) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (111,18)-(111,24)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (111,18)-(111,20) = "do" - │ │ │ │ │ └── closing_loc: (111,21)-(111,24) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── end_keyword_loc: (111,25)-(111,28) = "end" - │ │ │ └── name: :Bar - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ClassNode (location: (111,4)-(111,28)) + │ │ ├── locals: [] + │ │ ├── class_keyword_loc: (111,4)-(111,9) = "class" + │ │ ├── constant_path: + │ │ │ @ ConstantReadNode (location: (111,10)-(111,13)) + │ │ │ └── name: :Bar + │ │ ├── inheritance_operator_loc: ∅ + │ │ ├── superclass: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (111,14)-(111,24)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (111,14)-(111,24)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (111,14)-(111,17) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (111,18)-(111,24)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (111,18)-(111,20) = "do" + │ │ │ └── closing_loc: (111,21)-(111,24) = "end" + │ │ ├── end_keyword_loc: (111,25)-(111,28) = "end" + │ │ └── name: :Bar │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (113,0)-(113,29)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1712,40 +1713,40 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (113,4)-(113,29)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ModuleNode (location: (113,4)-(113,29)) - │ │ │ ├── locals: [] - │ │ │ ├── module_keyword_loc: (113,4)-(113,10) = "module" - │ │ │ ├── constant_path: - │ │ │ │ @ ConstantReadNode (location: (113,11)-(113,14)) - │ │ │ │ └── name: :Bar - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (113,15)-(113,25)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (113,15)-(113,25)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (113,15)-(113,18) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (113,19)-(113,25)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (113,19)-(113,21) = "do" - │ │ │ │ │ └── closing_loc: (113,22)-(113,25) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── end_keyword_loc: (113,26)-(113,29) = "end" - │ │ │ └── name: :Bar - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ModuleNode (location: (113,4)-(113,29)) + │ │ ├── locals: [] + │ │ ├── module_keyword_loc: (113,4)-(113,10) = "module" + │ │ ├── constant_path: + │ │ │ @ ConstantReadNode (location: (113,11)-(113,14)) + │ │ │ └── name: :Bar + │ │ ├── body: + │ │ │ @ StatementsNode (location: (113,15)-(113,25)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (113,15)-(113,25)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (113,15)-(113,18) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (113,19)-(113,25)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (113,19)-(113,21) = "do" + │ │ │ └── closing_loc: (113,22)-(113,25) = "end" + │ │ ├── end_keyword_loc: (113,26)-(113,29) = "end" + │ │ └── name: :Bar │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (115,0)-(115,16)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1753,34 +1754,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (115,4)-(115,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ArrayNode (location: (115,4)-(115,16)) - │ │ │ ├── elements: (length: 1) - │ │ │ │ └── @ CallNode (location: (115,5)-(115,15)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (115,5)-(115,8) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (115,9)-(115,15)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (115,9)-(115,11) = "do" - │ │ │ │ │ └── closing_loc: (115,12)-(115,15) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── opening_loc: (115,4)-(115,5) = "[" - │ │ │ ├── closing_loc: (115,15)-(115,16) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ArrayNode (location: (115,4)-(115,16)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 1) + │ │ │ └── @ CallNode (location: (115,5)-(115,15)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz + │ │ │ ├── message_loc: (115,5)-(115,8) = "baz" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (115,9)-(115,15)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (115,9)-(115,11) = "do" + │ │ │ └── closing_loc: (115,12)-(115,15) = "end" + │ │ ├── opening_loc: (115,4)-(115,5) = "[" + │ │ └── closing_loc: (115,15)-(115,16) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (117,0)-(117,28)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -1788,44 +1789,44 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (117,2)-(117,28)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ BeginNode (location: (117,2)-(117,28)) - │ │ │ ├── begin_keyword_loc: (117,2)-(117,7) = "begin" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (117,8)-(117,24)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (117,8)-(117,24)) - │ │ │ │ ├── receiver: - │ │ │ │ │ @ IntegerNode (location: (117,8)-(117,9)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "." - │ │ │ │ ├── name: :times - │ │ │ │ ├── message_loc: (117,10)-(117,15) = "times" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (117,16)-(117,24)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (117,19)-(117,20)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (117,19)-(117,20)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ ├── opening_loc: (117,16)-(117,18) = "do" - │ │ │ │ │ └── closing_loc: (117,21)-(117,24) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── rescue_clause: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: ∅ - │ │ │ └── end_keyword_loc: (117,25)-(117,28) = "end" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ BeginNode (location: (117,2)-(117,28)) + │ │ ├── begin_keyword_loc: (117,2)-(117,7) = "begin" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (117,8)-(117,24)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (117,8)-(117,24)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: + │ │ │ │ @ IntegerNode (location: (117,8)-(117,9)) + │ │ │ │ └── flags: decimal + │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "." + │ │ │ ├── name: :times + │ │ │ ├── message_loc: (117,10)-(117,15) = "times" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (117,16)-(117,24)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (117,19)-(117,20)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (117,19)-(117,20)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (117,16)-(117,18) = "do" + │ │ │ └── closing_loc: (117,21)-(117,24) = "end" + │ │ ├── rescue_clause: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: ∅ + │ │ └── end_keyword_loc: (117,25)-(117,28) = "end" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (119,0)-(124,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1833,73 +1834,73 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (119,4)-(124,5)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (119,4)-(119,6)) - │ │ │ │ ├── opening_loc: (119,4)-(119,5) = ":" - │ │ │ │ ├── value_loc: (119,5)-(119,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ IfNode (location: (120,2)-(124,5)) - │ │ │ ├── if_keyword_loc: (120,2)-(120,4) = "if" - │ │ │ ├── predicate: - │ │ │ │ @ CallNode (location: (120,5)-(120,6)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :x - │ │ │ │ ├── message_loc: (120,5)-(120,6) = "x" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── then_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (121,4)-(123,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (121,4)-(123,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (121,4)-(121,7) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (121,8)-(123,7)) - │ │ │ │ │ ├── locals: [:a] - │ │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14)) - │ │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ │ @ ParametersNode (location: (121,12)-(121,13)) - │ │ │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (121,12)-(121,13)) - │ │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ │ │ └── block: ∅ - │ │ │ │ │ │ ├── locals: (length: 0) - │ │ │ │ │ │ ├── opening_loc: (121,11)-(121,12) = "|" - │ │ │ │ │ │ └── closing_loc: (121,13)-(121,14) = "|" - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (122,6)-(122,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (122,6)-(122,7)) - │ │ │ │ │ │ ├── name: :a - │ │ │ │ │ │ └── depth: 0 - │ │ │ │ │ ├── opening_loc: (121,8)-(121,10) = "do" - │ │ │ │ │ └── closing_loc: (123,4)-(123,7) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ ├── consequent: ∅ - │ │ │ └── end_keyword_loc: (124,2)-(124,5) = "end" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (119,4)-(119,6)) + │ │ │ ├── opening_loc: (119,4)-(119,5) = ":" + │ │ │ ├── value_loc: (119,5)-(119,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ IfNode (location: (120,2)-(124,5)) + │ │ ├── if_keyword_loc: (120,2)-(120,4) = "if" + │ │ ├── predicate: + │ │ │ @ CallNode (location: (120,5)-(120,6)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :x + │ │ │ ├── message_loc: (120,5)-(120,6) = "x" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── then_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (121,4)-(123,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (121,4)-(123,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (121,4)-(121,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (121,8)-(123,7)) + │ │ │ ├── locals: [:a] + │ │ │ ├── locals_body_index: 1 + │ │ │ ├── parameters: + │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14)) + │ │ │ │ ├── parameters: + │ │ │ │ │ @ ParametersNode (location: (121,12)-(121,13)) + │ │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ │ └── @ RequiredParameterNode (location: (121,12)-(121,13)) + │ │ │ │ │ │ └── name: :a + │ │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ ├── posts: (length: 0) + │ │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── locals: (length: 0) + │ │ │ │ ├── opening_loc: (121,11)-(121,12) = "|" + │ │ │ │ └── closing_loc: (121,13)-(121,14) = "|" + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (122,6)-(122,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (122,6)-(122,7)) + │ │ │ │ ├── name: :a + │ │ │ │ └── depth: 0 + │ │ │ ├── opening_loc: (121,8)-(121,10) = "do" + │ │ │ └── closing_loc: (123,4)-(123,7) = "end" + │ │ ├── consequent: ∅ + │ │ └── end_keyword_loc: (124,2)-(124,5) = "end" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (126,0)-(135,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1907,107 +1908,107 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (126,4)-(135,5)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ SymbolNode (location: (126,4)-(126,6)) - │ │ │ │ ├── opening_loc: (126,4)-(126,5) = ":" - │ │ │ │ ├── value_loc: (126,5)-(126,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ ├── @ WhileNode (location: (127,2)-(131,5)) - │ │ │ │ ├── keyword_loc: (127,2)-(127,7) = "while" - │ │ │ │ ├── closing_loc: (131,2)-(131,5) = "end" - │ │ │ │ ├── predicate: - │ │ │ │ │ @ CallNode (location: (127,8)-(127,9)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :x - │ │ │ │ │ ├── message_loc: (127,8)-(127,9) = "x" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (128,4)-(130,7)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (128,4)-(130,7)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (128,4)-(128,7) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (128,8)-(130,7)) - │ │ │ │ │ │ ├── locals: [:a] - │ │ │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14)) - │ │ │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ │ │ @ ParametersNode (location: (128,12)-(128,13)) - │ │ │ │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (128,12)-(128,13)) - │ │ │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ │ │ │ └── block: ∅ - │ │ │ │ │ │ │ ├── locals: (length: 0) - │ │ │ │ │ │ │ ├── opening_loc: (128,11)-(128,12) = "|" - │ │ │ │ │ │ │ └── closing_loc: (128,13)-(128,14) = "|" - │ │ │ │ │ │ ├── body: - │ │ │ │ │ │ │ @ StatementsNode (location: (129,6)-(129,7)) - │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (129,6)-(129,7)) - │ │ │ │ │ │ │ ├── name: :a - │ │ │ │ │ │ │ └── depth: 0 - │ │ │ │ │ │ ├── opening_loc: (128,8)-(128,10) = "do" - │ │ │ │ │ │ └── closing_loc: (130,4)-(130,7) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ UntilNode (location: (132,2)-(135,5)) - │ │ │ ├── keyword_loc: (132,2)-(132,7) = "until" - │ │ │ ├── closing_loc: (135,2)-(135,5) = "end" - │ │ │ ├── predicate: - │ │ │ │ @ CallNode (location: (132,8)-(132,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :x - │ │ │ │ ├── message_loc: (132,8)-(132,9) = "x" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (133,4)-(134,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (133,4)-(134,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :baz - │ │ │ │ ├── message_loc: (133,4)-(133,7) = "baz" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (133,8)-(134,7)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (133,8)-(133,10) = "do" - │ │ │ │ │ └── closing_loc: (134,4)-(134,7) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ SymbolNode (location: (126,4)-(126,6)) + │ │ │ ├── opening_loc: (126,4)-(126,5) = ":" + │ │ │ ├── value_loc: (126,5)-(126,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ ├── @ WhileNode (location: (127,2)-(131,5)) + │ │ │ ├── flags: ∅ + │ │ │ ├── keyword_loc: (127,2)-(127,7) = "while" + │ │ │ ├── closing_loc: (131,2)-(131,5) = "end" + │ │ │ ├── predicate: + │ │ │ │ @ CallNode (location: (127,8)-(127,9)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :x + │ │ │ │ ├── message_loc: (127,8)-(127,9) = "x" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── statements: + │ │ │ @ StatementsNode (location: (128,4)-(130,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (128,4)-(130,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (128,4)-(128,7) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (128,8)-(130,7)) + │ │ │ ├── locals: [:a] + │ │ │ ├── locals_body_index: 1 + │ │ │ ├── parameters: + │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14)) + │ │ │ │ ├── parameters: + │ │ │ │ │ @ ParametersNode (location: (128,12)-(128,13)) + │ │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ │ └── @ RequiredParameterNode (location: (128,12)-(128,13)) + │ │ │ │ │ │ └── name: :a + │ │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ ├── posts: (length: 0) + │ │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── locals: (length: 0) + │ │ │ │ ├── opening_loc: (128,11)-(128,12) = "|" + │ │ │ │ └── closing_loc: (128,13)-(128,14) = "|" + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (129,6)-(129,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (129,6)-(129,7)) + │ │ │ │ ├── name: :a + │ │ │ │ └── depth: 0 + │ │ │ ├── opening_loc: (128,8)-(128,10) = "do" + │ │ │ └── closing_loc: (130,4)-(130,7) = "end" + │ │ └── @ UntilNode (location: (132,2)-(135,5)) + │ │ ├── flags: ∅ + │ │ ├── keyword_loc: (132,2)-(132,7) = "until" + │ │ ├── closing_loc: (135,2)-(135,5) = "end" + │ │ ├── predicate: + │ │ │ @ CallNode (location: (132,8)-(132,9)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :x + │ │ │ ├── message_loc: (132,8)-(132,9) = "x" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── statements: + │ │ @ StatementsNode (location: (133,4)-(134,7)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (133,4)-(134,7)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (133,4)-(133,7) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (133,8)-(134,7)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (133,8)-(133,10) = "do" + │ │ └── closing_loc: (134,4)-(134,7) = "end" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (137,0)-(137,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ HashNode (location: (137,0)-(137,2)) │ │ ├── opening_loc: (137,0)-(137,1) = "{" @@ -2019,29 +2020,29 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (137,5)-(137,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (137,5)-(137,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :A - │ │ │ ├── message_loc: (137,5)-(137,6) = "A" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (137,7)-(137,9)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (137,7)-(137,8) = "{" - │ │ │ │ └── closing_loc: (137,8)-(137,9) = "}" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (137,5)-(137,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :A + │ │ ├── message_loc: (137,5)-(137,6) = "A" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (137,7)-(137,9)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (137,7)-(137,8) = "{" + │ │ └── closing_loc: (137,8)-(137,9) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (139,0)-(139,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ HashNode (location: (139,0)-(139,2)) │ │ ├── opening_loc: (139,0)-(139,1) = "{" @@ -2053,51 +2054,52 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (139,5)-(139,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (139,5)-(139,16)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :A - │ │ │ ├── message_loc: (139,5)-(139,6) = "A" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (139,7)-(139,16)) - │ │ │ │ ├── locals: [:a] - │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ ├── parameters: - │ │ │ │ │ @ BlockParametersNode (location: (139,9)-(139,12)) - │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ @ ParametersNode (location: (139,10)-(139,11)) - │ │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (139,10)-(139,11)) - │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ │ └── block: ∅ - │ │ │ │ │ ├── locals: (length: 0) - │ │ │ │ │ ├── opening_loc: (139,9)-(139,10) = "|" - │ │ │ │ │ └── closing_loc: (139,11)-(139,12) = "|" - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (139,13)-(139,14)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (139,13)-(139,14)) - │ │ │ │ │ ├── name: :a - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── opening_loc: (139,7)-(139,8) = "{" - │ │ │ │ └── closing_loc: (139,15)-(139,16) = "}" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (139,5)-(139,16)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :A + │ │ ├── message_loc: (139,5)-(139,6) = "A" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (139,7)-(139,16)) + │ │ ├── locals: [:a] + │ │ ├── locals_body_index: 1 + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (139,9)-(139,12)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (139,10)-(139,11)) + │ │ │ │ ├── requireds: (length: 1) + │ │ │ │ │ └── @ RequiredParameterNode (location: (139,10)-(139,11)) + │ │ │ │ │ └── name: :a + │ │ │ │ ├── optionals: (length: 0) + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (139,9)-(139,10) = "|" + │ │ │ └── closing_loc: (139,11)-(139,12) = "|" + │ │ ├── body: + │ │ │ @ StatementsNode (location: (139,13)-(139,14)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (139,13)-(139,14)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── opening_loc: (139,7)-(139,8) = "{" + │ │ └── closing_loc: (139,15)-(139,16) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (141,0)-(141,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (141,0)-(141,4)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :A @@ -2105,46 +2107,46 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (141,2)-(141,4)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (141,2)-(141,3) = "{" - │ │ │ └── closing_loc: (141,3)-(141,4) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (141,2)-(141,4)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (141,2)-(141,3) = "{" + │ │ └── closing_loc: (141,3)-(141,4) = "}" │ ├── call_operator_loc: ∅ │ ├── name: :+ │ ├── message_loc: (141,5)-(141,6) = "+" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (141,7)-(141,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (141,7)-(141,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :A - │ │ │ ├── message_loc: (141,7)-(141,8) = "A" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (141,9)-(141,11)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (141,9)-(141,10) = "{" - │ │ │ │ └── closing_loc: (141,10)-(141,11) = "}" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (141,7)-(141,11)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :A + │ │ ├── message_loc: (141,7)-(141,8) = "A" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (141,9)-(141,11)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (141,9)-(141,10) = "{" + │ │ └── closing_loc: (141,10)-(141,11) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (143,0)-(143,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (143,0)-(143,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :lst @@ -2152,36 +2154,34 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :<< │ ├── message_loc: (143,4)-(143,6) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (143,7)-(143,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (143,7)-(143,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :A - │ │ │ ├── message_loc: (143,7)-(143,8) = "A" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (143,9)-(143,11)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (143,9)-(143,10) = "{" - │ │ │ │ └── closing_loc: (143,10)-(143,11) = "}" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (143,7)-(143,11)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :A + │ │ ├── message_loc: (143,7)-(143,8) = "A" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (143,9)-(143,11)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (143,9)-(143,10) = "{" + │ │ └── closing_loc: (143,10)-(143,11) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ InterpolatedStringNode (location: (145,0)-(145,17)) │ ├── opening_loc: (145,0)-(145,1) = "\"" │ ├── parts: (length: 1) @@ -2191,6 +2191,7 @@ │ │ │ @ StatementsNode (location: (145,4)-(145,14)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (145,4)-(145,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :join @@ -2198,23 +2199,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (145,9)-(145,14)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ ParenthesesNode (location: (145,9)-(145,14)) - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (145,10)-(145,13)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ StringNode (location: (145,10)-(145,13)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: (145,10)-(145,11) = "\"" - │ │ │ │ │ │ ├── content_loc: (145,11)-(145,12) = " " - │ │ │ │ │ │ ├── closing_loc: (145,12)-(145,13) = "\"" - │ │ │ │ │ │ └── unescaped: " " - │ │ │ │ │ ├── opening_loc: (145,9)-(145,10) = "(" - │ │ │ │ │ └── closing_loc: (145,13)-(145,14) = ")" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ ParenthesesNode (location: (145,9)-(145,14)) + │ │ │ │ ├── body: + │ │ │ │ │ @ StatementsNode (location: (145,10)-(145,13)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ StringNode (location: (145,10)-(145,13)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: (145,10)-(145,11) = "\"" + │ │ │ │ │ ├── content_loc: (145,11)-(145,12) = " " + │ │ │ │ │ ├── closing_loc: (145,12)-(145,13) = "\"" + │ │ │ │ │ └── unescaped: " " + │ │ │ │ ├── opening_loc: (145,9)-(145,10) = "(" + │ │ │ │ └── closing_loc: (145,13)-(145,14) = ")" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── closing_loc: (145,15)-(145,16) = "}" │ └── closing_loc: (145,16)-(145,17) = "\"" ├── @ InterpolatedStringNode (location: (147,0)-(147,8)) @@ -2230,6 +2230,7 @@ │ │ │ │ @ StatementsNode (location: (147,4)-(147,5)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (147,4)-(147,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :v @@ -2237,8 +2238,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── opening_loc: (147,3)-(147,4) = "(" │ │ │ └── closing_loc: (147,5)-(147,6) = ")" │ │ └── closing_loc: (147,6)-(147,7) = "}" @@ -2264,6 +2264,7 @@ │ @ StatementsNode (location: (149,10)-(149,13)) │ └── body: (length: 1) │ └── @ CallNode (location: (149,10)-(149,13)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -2271,14 +2272,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (149,12)-(149,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (149,12)-(149,13)) - │ │ │ ├── operator_loc: (149,12)-(149,13) = "*" - │ │ │ └── expression: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (149,12)-(149,13)) + │ │ ├── operator_loc: (149,12)-(149,13) = "*" + │ │ └── expression: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:*] ├── locals_body_index: 1 ├── def_keyword_loc: (149,0)-(149,3) = "def" diff --git a/test/prism/snapshots/methods.txt b/test/prism/snapshots/methods.txt index 8076c0f305..4d36cae2ac 100644 --- a/test/prism/snapshots/methods.txt +++ b/test/prism/snapshots/methods.txt @@ -116,6 +116,7 @@ │ │ @ ParenthesesNode (location: (10,4)-(10,7)) │ │ ├── body: │ │ │ @ CallNode (location: (10,5)-(10,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -123,8 +124,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── opening_loc: (10,4)-(10,5) = "(" │ │ └── closing_loc: (10,6)-(10,7) = ")" │ ├── parameters: ∅ @@ -144,6 +144,7 @@ │ │ @ ParenthesesNode (location: (13,4)-(13,7)) │ │ ├── body: │ │ │ @ CallNode (location: (13,5)-(13,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -151,8 +152,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── opening_loc: (13,4)-(13,5) = "(" │ │ └── closing_loc: (13,6)-(13,7) = ")" │ ├── parameters: ∅ @@ -224,6 +224,7 @@ │ ├── name_loc: (25,6)-(25,7) = "b" │ ├── receiver: │ │ @ CallNode (location: (25,4)-(25,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -231,8 +232,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -812,13 +812,13 @@ │ │ │ │ ├── keyword_loc: (99,0)-(99,6) = "return" │ │ │ │ └── arguments: │ │ │ │ @ ArgumentsNode (location: (99,7)-(99,10)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10)) - │ │ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":" - │ │ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "hi" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10)) + │ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":" + │ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "hi" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ └── @ SymbolNode (location: (100,0)-(100,4)) @@ -937,6 +937,7 @@ │ │ @ StatementsNode (location: (110,10)-(110,14)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (110,10)-(110,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -944,14 +945,13 @@ │ │ ├── opening_loc: (110,11)-(110,12) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (110,12)-(110,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SplatNode (location: (110,12)-(110,13)) - │ │ │ │ ├── operator_loc: (110,12)-(110,13) = "*" - │ │ │ │ └── expression: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SplatNode (location: (110,12)-(110,13)) + │ │ │ ├── operator_loc: (110,12)-(110,13) = "*" + │ │ │ └── expression: ∅ │ │ ├── closing_loc: (110,13)-(110,14) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (110,0)-(110,3) = "def" @@ -978,6 +978,7 @@ │ │ @ StatementsNode (location: (112,12)-(112,18)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (112,12)-(112,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -985,12 +986,11 @@ │ │ ├── opening_loc: (112,13)-(112,14) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (112,14)-(112,17)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17)) │ │ ├── closing_loc: (112,17)-(112,18) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:"..."] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (112,0)-(112,3) = "def" @@ -1017,6 +1017,7 @@ │ │ @ StatementsNode (location: (114,12)-(114,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (114,12)-(114,24)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -1024,16 +1025,15 @@ │ │ ├── opening_loc: (114,13)-(114,14) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (114,14)-(114,23)) - │ │ │ ├── arguments: (length: 3) - │ │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 3) + │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15)) + │ │ │ │ └── flags: decimal + │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23)) │ │ ├── closing_loc: (114,23)-(114,24) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:"..."] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (114,0)-(114,3) = "def" @@ -1054,6 +1054,7 @@ │ │ │ ├── name_loc: (116,5)-(116,6) = "c" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (116,9)-(116,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -1061,8 +1062,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (116,7)-(116,8) = "=" │ │ ├── opening_loc: (116,4)-(116,5) = "(" │ │ └── closing_loc: (116,10)-(116,11) = ")" @@ -1156,6 +1156,7 @@ │ │ │ ├── name_loc: (128,5)-(128,6) = "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (128,9)-(128,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -1163,8 +1164,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (128,7)-(128,8) = "=" │ │ ├── opening_loc: (128,4)-(128,5) = "(" │ │ └── closing_loc: (128,10)-(128,11) = ")" @@ -1248,6 +1248,7 @@ │ │ │ │ @ StatementsNode (location: (136,18)-(136,24)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (136,18)-(136,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -1255,12 +1256,11 @@ │ │ │ │ ├── opening_loc: (136,19)-(136,20) = "(" │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (136,20)-(136,23)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23)) - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23)) │ │ │ │ ├── closing_loc: (136,23)-(136,24) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (136,24)-(136,25) = "}" │ │ └── closing_loc: (136,25)-(136,26) = "\"" │ ├── locals: [:"..."] @@ -1280,6 +1280,7 @@ │ │ @ StatementsNode (location: (139,2)-(139,30)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (139,2)-(139,30)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ HashNode (location: (139,2)-(139,4)) │ │ │ ├── opening_loc: (139,2)-(139,3) = "{" @@ -1291,52 +1292,51 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (139,11)-(139,30)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30)) - │ │ │ │ └── elements: (length: 3) - │ │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16)) - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (139,13)-(139,16)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**" - │ │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23)) - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (139,20)-(139,23)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :baz - │ │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**" - │ │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30)) - │ │ │ │ ├── value: - │ │ │ │ │ @ CallNode (location: (139,27)-(139,30)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :qux - │ │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── operator_loc: (139,25)-(139,27) = "**" - │ │ │ └── flags: contains_keyword_splat + │ │ │ ├── flags: contains_keyword_splat + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30)) + │ │ │ └── elements: (length: 3) + │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16)) + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (139,13)-(139,16)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar + │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**" + │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23)) + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (139,20)-(139,23)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :baz + │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**" + │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30)) + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (139,27)-(139,30)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :qux + │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (139,25)-(139,27) = "**" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (138,0)-(138,3) = "def" @@ -1365,14 +1365,14 @@ │ │ │ │ @ StatementsNode (location: (142,12)-(142,18)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (142,12)-(142,18)) + │ │ │ │ ├── flags: exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (142,12)-(142,13)) │ │ │ │ │ └── flags: decimal │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (142,16)-(142,18)) │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── operator_loc: (142,13)-(142,16) = "..." - │ │ │ │ └── flags: exclude_end + │ │ │ │ └── operator_loc: (142,13)-(142,16) = "..." │ │ │ ├── opening_loc: (142,11)-(142,12) = "(" │ │ │ └── closing_loc: (142,18)-(142,19) = ")" │ │ ├── keyword_rest: ∅ @@ -1406,12 +1406,12 @@ │ │ │ │ @ StatementsNode (location: (145,12)-(145,17)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (145,12)-(145,17)) + │ │ │ │ ├── flags: exclude_end │ │ │ │ ├── left: ∅ │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (145,15)-(145,17)) │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── operator_loc: (145,12)-(145,15) = "..." - │ │ │ │ └── flags: exclude_end + │ │ │ │ └── operator_loc: (145,12)-(145,15) = "..." │ │ │ ├── opening_loc: (145,11)-(145,12) = "(" │ │ │ └── closing_loc: (145,17)-(145,18) = ")" │ │ ├── keyword_rest: ∅ @@ -1445,12 +1445,12 @@ │ │ │ │ @ StatementsNode (location: (148,12)-(148,16)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (148,12)-(148,16)) + │ │ │ │ ├── flags: exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (148,12)-(148,13)) │ │ │ │ │ └── flags: decimal │ │ │ │ ├── right: ∅ - │ │ │ │ ├── operator_loc: (148,13)-(148,16) = "..." - │ │ │ │ └── flags: exclude_end + │ │ │ │ └── operator_loc: (148,13)-(148,16) = "..." │ │ │ ├── opening_loc: (148,11)-(148,12) = "(" │ │ │ └── closing_loc: (148,16)-(148,17) = ")" │ │ ├── keyword_rest: ∅ @@ -1482,14 +1482,14 @@ │ │ │ │ @ StatementsNode (location: (151,13)-(151,19)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (151,13)-(151,19)) + │ │ │ │ ├── flags: exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (151,13)-(151,14)) │ │ │ │ │ └── flags: decimal │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (151,17)-(151,19)) │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── operator_loc: (151,14)-(151,17) = "..." - │ │ │ │ └── flags: exclude_end + │ │ │ │ └── operator_loc: (151,14)-(151,17) = "..." │ │ │ ├── opening_loc: (151,12)-(151,13) = "(" │ │ │ └── closing_loc: (151,19)-(151,20) = ")" │ │ ├── rest: ∅ @@ -1524,12 +1524,12 @@ │ │ │ │ @ StatementsNode (location: (154,13)-(154,18)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (154,13)-(154,18)) + │ │ │ │ ├── flags: exclude_end │ │ │ │ ├── left: ∅ │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (154,16)-(154,18)) │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── operator_loc: (154,13)-(154,16) = "..." - │ │ │ │ └── flags: exclude_end + │ │ │ │ └── operator_loc: (154,13)-(154,16) = "..." │ │ │ ├── opening_loc: (154,12)-(154,13) = "(" │ │ │ └── closing_loc: (154,18)-(154,19) = ")" │ │ ├── rest: ∅ @@ -1564,12 +1564,12 @@ │ │ │ │ @ StatementsNode (location: (157,13)-(157,17)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (157,13)-(157,17)) + │ │ │ │ ├── flags: exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (157,13)-(157,14)) │ │ │ │ │ └── flags: decimal │ │ │ │ ├── right: ∅ - │ │ │ │ ├── operator_loc: (157,14)-(157,17) = "..." - │ │ │ │ └── flags: exclude_end + │ │ │ │ └── operator_loc: (157,14)-(157,17) = "..." │ │ │ ├── opening_loc: (157,12)-(157,13) = "(" │ │ │ └── closing_loc: (157,17)-(157,18) = ")" │ │ ├── rest: ∅ @@ -1605,8 +1605,10 @@ │ │ @ StatementsNode (location: (161,2)-(161,14)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (161,2)-(161,14)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (161,2)-(161,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :item @@ -1614,36 +1616,34 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :>> │ │ ├── message_loc: (161,7)-(161,9) = ">>" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (161,10)-(161,14)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (161,10)-(161,14)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (161,10)-(161,11) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (161,12)-(161,14)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{" - │ │ │ │ │ └── closing_loc: (161,13)-(161,14) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (161,10)-(161,14)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a + │ │ │ ├── message_loc: (161,10)-(161,11) = "a" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (161,12)-(161,14)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (161,12)-(161,13) = "{" + │ │ │ └── closing_loc: (161,13)-(161,14) = "}" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:a] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (160,0)-(160,3) = "def" @@ -1728,13 +1728,13 @@ │ │ @ StatementsNode (location: (170,10)-(170,13)) │ │ └── body: (length: 1) │ │ └── @ ArrayNode (location: (170,10)-(170,13)) + │ │ ├── flags: contains_splat │ │ ├── elements: (length: 1) │ │ │ └── @ SplatNode (location: (170,11)-(170,12)) │ │ │ ├── operator_loc: (170,11)-(170,12) = "*" │ │ │ └── expression: ∅ │ │ ├── opening_loc: (170,10)-(170,11) = "[" - │ │ ├── closing_loc: (170,12)-(170,13) = "]" - │ │ └── flags: contains_splat + │ │ └── closing_loc: (170,12)-(170,13) = "]" │ ├── locals: [:*] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (170,0)-(170,3) = "def" @@ -1759,8 +1759,10 @@ │ │ │ ├── name_loc: (172,6)-(172,8) = "x:" │ │ │ └── value: │ │ │ @ CallNode (location: (172,8)-(172,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (172,9)-(172,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -1768,16 +1770,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :-@ │ │ │ ├── message_loc: (172,8)-(172,9) = "-" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── body: ∅ @@ -1805,8 +1805,10 @@ │ │ │ ├── name_loc: (174,6)-(174,8) = "x:" │ │ │ └── value: │ │ │ @ CallNode (location: (174,8)-(174,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (174,9)-(174,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -1814,16 +1816,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :+@ │ │ │ ├── message_loc: (174,8)-(174,9) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── body: ∅ @@ -1851,8 +1851,10 @@ │ │ │ ├── name_loc: (176,6)-(176,8) = "x:" │ │ │ └── value: │ │ │ @ CallNode (location: (176,8)-(176,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (176,9)-(176,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -1860,16 +1862,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :! │ │ │ ├── message_loc: (176,8)-(176,9) = "!" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── body: ∅ @@ -1931,6 +1931,7 @@ │ │ @ StatementsNode (location: (181,2)-(181,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (181,2)-(181,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -1938,11 +1939,10 @@ │ │ ├── opening_loc: (181,5)-(181,6) = "(" │ │ ├── arguments: ∅ │ │ ├── closing_loc: (181,7)-(181,8) = ")" - │ │ ├── block: - │ │ │ @ BlockArgumentNode (location: (181,6)-(181,7)) - │ │ │ ├── expression: ∅ - │ │ │ └── operator_loc: (181,6)-(181,7) = "&" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockArgumentNode (location: (181,6)-(181,7)) + │ │ ├── expression: ∅ + │ │ └── operator_loc: (181,6)-(181,7) = "&" │ ├── locals: [:"..."] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (180,0)-(180,3) = "def" diff --git a/test/prism/snapshots/modules.txt b/test/prism/snapshots/modules.txt index b781a586d1..cab1bef992 100644 --- a/test/prism/snapshots/modules.txt +++ b/test/prism/snapshots/modules.txt @@ -37,6 +37,7 @@ │ │ │ │ @ StatementsNode (location: (3,9)-(3,12)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (3,9)-(3,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bbb @@ -44,8 +45,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (3,12)-(3,13) = "}" │ │ └── @ StringNode (location: (3,13)-(3,17)) │ │ ├── flags: ∅ @@ -61,6 +61,7 @@ │ │ @ ConstantPathNode (location: (5,7)-(5,11)) │ │ ├── parent: │ │ │ @ CallNode (location: (5,7)-(5,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :m @@ -68,8 +69,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── child: │ │ │ @ ConstantReadNode (location: (5,10)-(5,11)) │ │ │ └── name: :M @@ -130,6 +130,7 @@ │ │ @ ConstantPathNode (location: (14,7)-(14,13)) │ │ ├── parent: │ │ │ @ CallNode (location: (14,7)-(14,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ConstantReadNode (location: (14,7)-(14,8)) │ │ │ │ └── name: :A @@ -139,8 +140,7 @@ │ │ │ ├── opening_loc: (14,8)-(14,9) = "[" │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: (14,9)-(14,10) = "]" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── child: │ │ │ @ ConstantReadNode (location: (14,12)-(14,13)) │ │ │ └── name: :B @@ -155,6 +155,7 @@ │ @ ConstantPathNode (location: (17,7)-(17,14)) │ ├── parent: │ │ @ CallNode (location: (17,7)-(17,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ConstantReadNode (location: (17,7)-(17,8)) │ │ │ └── name: :A @@ -164,13 +165,12 @@ │ │ ├── opening_loc: (17,8)-(17,9) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (17,9)-(17,10)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (17,9)-(17,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (17,9)-(17,10)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (17,10)-(17,11) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── child: │ │ @ ConstantReadNode (location: (17,13)-(17,14)) │ │ └── name: :B diff --git a/test/prism/snapshots/newline_terminated.txt b/test/prism/snapshots/newline_terminated.txt index f112593d61..496e86fbe4 100644 --- a/test/prism/snapshots/newline_terminated.txt +++ b/test/prism/snapshots/newline_terminated.txt @@ -100,8 +100,8 @@ │ ├── closing_loc: (37,3)-(38,0) = "\n" │ └── unescaped: "foo" └── @ RegularExpressionNode (location: (39,0)-(41,0)) + ├── flags: ∅ ├── opening_loc: (39,0)-(40,0) = "%r\n" ├── content_loc: (40,0)-(40,3) = "foo" ├── closing_loc: (40,3)-(41,0) = "\n" - ├── unescaped: "foo" - └── flags: ∅ + └── unescaped: "foo" diff --git a/test/prism/snapshots/next.txt b/test/prism/snapshots/next.txt index 8c8757f144..aa11809246 100644 --- a/test/prism/snapshots/next.txt +++ b/test/prism/snapshots/next.txt @@ -9,97 +9,97 @@ ├── @ NextNode (location: (3,0)-(3,18)) │ ├── arguments: │ │ @ ArgumentsNode (location: (3,5)-(3,18)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ ParenthesesNode (location: (3,5)-(3,8)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,7)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── opening_loc: (3,5)-(3,6) = "(" - │ │ │ │ └── closing_loc: (3,7)-(3,8) = ")" - │ │ │ ├── @ ParenthesesNode (location: (3,10)-(3,13)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (3,11)-(3,12)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "(" - │ │ │ │ └── closing_loc: (3,12)-(3,13) = ")" - │ │ │ └── @ ParenthesesNode (location: (3,15)-(3,18)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,16)-(3,17)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (3,15)-(3,16) = "(" - │ │ │ └── closing_loc: (3,17)-(3,18) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ ParenthesesNode (location: (3,5)-(3,8)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (3,6)-(3,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (3,5)-(3,6) = "(" + │ │ │ └── closing_loc: (3,7)-(3,8) = ")" + │ │ ├── @ ParenthesesNode (location: (3,10)-(3,13)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (3,11)-(3,12)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (3,10)-(3,11) = "(" + │ │ │ └── closing_loc: (3,12)-(3,13) = ")" + │ │ └── @ ParenthesesNode (location: (3,15)-(3,18)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,16)-(3,17)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,16)-(3,17)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (3,15)-(3,16) = "(" + │ │ └── closing_loc: (3,17)-(3,18) = ")" │ └── keyword_loc: (3,0)-(3,4) = "next" ├── @ NextNode (location: (5,0)-(5,6)) │ ├── arguments: │ │ @ ArgumentsNode (location: (5,5)-(5,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,5)-(5,6)) + │ │ └── flags: decimal │ └── keyword_loc: (5,0)-(5,4) = "next" ├── @ NextNode (location: (7,0)-(8,1)) │ ├── arguments: │ │ @ ArgumentsNode (location: (7,5)-(8,1)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (7,5)-(7,6)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (7,8)-(7,9)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (8,0)-(8,1)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (7,5)-(7,6)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (7,8)-(7,9)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (8,0)-(8,1)) + │ │ └── flags: decimal │ └── keyword_loc: (7,0)-(7,4) = "next" ├── @ NextNode (location: (10,0)-(10,12)) │ ├── arguments: │ │ @ ArgumentsNode (location: (10,5)-(10,12)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (10,5)-(10,6)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (10,8)-(10,9)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (10,11)-(10,12)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (10,5)-(10,6)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (10,8)-(10,9)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (10,11)-(10,12)) + │ │ └── flags: decimal │ └── keyword_loc: (10,0)-(10,4) = "next" ├── @ NextNode (location: (12,0)-(12,14)) │ ├── arguments: │ │ @ ArgumentsNode (location: (12,5)-(12,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ArrayNode (location: (12,5)-(12,14)) - │ │ │ ├── elements: (length: 3) - │ │ │ │ ├── @ IntegerNode (location: (12,6)-(12,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── @ IntegerNode (location: (12,9)-(12,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (12,12)-(12,13)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (12,5)-(12,6) = "[" - │ │ │ ├── closing_loc: (12,13)-(12,14) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ArrayNode (location: (12,5)-(12,14)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 3) + │ │ │ ├── @ IntegerNode (location: (12,6)-(12,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── @ IntegerNode (location: (12,9)-(12,10)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (12,12)-(12,13)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (12,5)-(12,6) = "[" + │ │ └── closing_loc: (12,13)-(12,14) = "]" │ └── keyword_loc: (12,0)-(12,4) = "next" ├── @ NextNode (location: (14,0)-(17,1)) │ ├── arguments: │ │ @ ArgumentsNode (location: (14,4)-(17,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (14,4)-(17,1)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (15,2)-(16,3)) - │ │ │ │ └── body: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (14,4)-(14,5) = "(" - │ │ │ └── closing_loc: (17,0)-(17,1) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (14,4)-(17,1)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (15,2)-(16,3)) + │ │ │ └── body: (length: 2) + │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (16,2)-(16,3)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (14,4)-(14,5) = "(" + │ │ └── closing_loc: (17,0)-(17,1) = ")" │ └── keyword_loc: (14,0)-(14,4) = "next" ├── @ NextNode (location: (19,0)-(19,4)) │ ├── arguments: ∅ @@ -109,24 +109,24 @@ ├── @ NextNode (location: (22,0)-(22,6)) │ ├── arguments: │ │ @ ArgumentsNode (location: (22,4)-(22,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (22,4)-(22,6)) - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (22,4)-(22,5) = "(" - │ │ │ └── closing_loc: (22,5)-(22,6) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (22,4)-(22,6)) + │ │ ├── body: ∅ + │ │ ├── opening_loc: (22,4)-(22,5) = "(" + │ │ └── closing_loc: (22,5)-(22,6) = ")" │ └── keyword_loc: (22,0)-(22,4) = "next" └── @ NextNode (location: (24,0)-(24,7)) ├── arguments: │ @ ArgumentsNode (location: (24,4)-(24,7)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (24,4)-(24,7)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (24,5)-(24,6)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (24,5)-(24,6)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (24,4)-(24,5) = "(" - │ │ └── closing_loc: (24,6)-(24,7) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (24,4)-(24,7)) + │ ├── body: + │ │ @ StatementsNode (location: (24,5)-(24,6)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (24,5)-(24,6)) + │ │ └── flags: decimal + │ ├── opening_loc: (24,4)-(24,5) = "(" + │ └── closing_loc: (24,6)-(24,7) = ")" └── keyword_loc: (24,0)-(24,4) = "next" diff --git a/test/prism/snapshots/non_alphanumeric_methods.txt b/test/prism/snapshots/non_alphanumeric_methods.txt index 408d909c8a..f7b210fdda 100644 --- a/test/prism/snapshots/non_alphanumeric_methods.txt +++ b/test/prism/snapshots/non_alphanumeric_methods.txt @@ -248,6 +248,7 @@ │ ├── name_loc: (48,6)-(48,7) = "-" │ ├── receiver: │ │ @ CallNode (location: (48,4)-(48,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -255,8 +256,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] diff --git a/test/prism/snapshots/not.txt b/test/prism/snapshots/not.txt index eee55fc1fc..572e7b13ca 100644 --- a/test/prism/snapshots/not.txt +++ b/test/prism/snapshots/not.txt @@ -6,8 +6,10 @@ ├── @ AndNode (location: (1,0)-(1,19)) │ ├── left: │ │ @ CallNode (location: (1,0)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,4)-(1,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -15,20 +17,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (1,0)-(1,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (1,12)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,16)-(1,19)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -36,22 +38,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (1,12)-(1,15) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (1,8)-(1,11) = "and" ├── @ CallNode (location: (3,0)-(3,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ AndNode (location: (3,4)-(3,15)) │ │ ├── left: │ │ │ @ CallNode (location: (3,4)-(3,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -59,10 +61,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (3,12)-(3,15)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -70,8 +72,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── operator_loc: (3,8)-(3,11) = "and" │ ├── call_operator_loc: ∅ │ ├── name: :! @@ -79,11 +80,12 @@ │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (3,15)-(3,16) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,4)-(5,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -91,21 +93,21 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (5,0)-(5,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ AndNode (location: (7,0)-(8,5)) │ ├── left: │ │ @ CallNode (location: (7,0)-(7,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (7,4)-(7,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -113,20 +115,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (7,0)-(7,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (7,12)-(8,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (8,2)-(8,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -134,22 +136,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (7,12)-(7,15) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (7,8)-(7,11) = "and" ├── @ AndNode (location: (11,0)-(13,5)) │ ├── left: │ │ @ CallNode (location: (11,0)-(11,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (11,4)-(11,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -157,20 +159,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (11,0)-(11,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (12,4)-(13,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (13,2)-(13,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -178,22 +180,22 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (12,4)-(12,7) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (11,8)-(11,11) = "and" ├── @ AndNode (location: (16,0)-(20,5)) │ ├── left: │ │ @ CallNode (location: (16,0)-(16,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (16,4)-(16,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -201,20 +203,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (16,0)-(16,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (17,2)-(20,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (20,2)-(20,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -222,20 +224,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (17,2)-(17,5) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (16,8)-(16,11) = "and" ├── @ CallNode (location: (22,0)-(25,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (22,4)-(22,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -243,19 +245,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (22,0)-(22,3) = "not" │ ├── opening_loc: (22,3)-(22,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (25,0)-(25,1) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (27,0)-(33,3)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -263,21 +265,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (27,0)-(27,3) = "not" │ ├── opening_loc: (27,3)-(27,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (33,2)-(33,3) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ FlipFlopNode (location: (35,4)-(35,14)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ CallNode (location: (35,4)-(35,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -285,10 +288,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (35,11)-(35,14)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -296,27 +299,27 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (35,8)-(35,10) = ".." - │ │ └── flags: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (35,8)-(35,10) = ".." │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (35,0)-(35,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (37,0)-(37,16)) + ├── flags: ∅ ├── receiver: │ @ ParenthesesNode (location: (37,4)-(37,16)) │ ├── body: │ │ @ StatementsNode (location: (37,5)-(37,15)) │ │ └── body: (length: 1) │ │ └── @ FlipFlopNode (location: (37,5)-(37,15)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ CallNode (location: (37,5)-(37,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -324,10 +327,10 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ CallNode (location: (37,12)-(37,15)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -335,10 +338,8 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── operator_loc: (37,9)-(37,11) = ".." - │ │ └── flags: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (37,9)-(37,11) = ".." │ ├── opening_loc: (37,4)-(37,5) = "(" │ └── closing_loc: (37,15)-(37,16) = ")" ├── call_operator_loc: ∅ @@ -347,5 +348,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/patterns.txt b/test/prism/snapshots/patterns.txt index 05f558d7cb..14c0c958f1 100644 --- a/test/prism/snapshots/patterns.txt +++ b/test/prism/snapshots/patterns.txt @@ -6,6 +6,7 @@ ├── @ MatchRequiredNode (location: (1,0)-(1,10)) │ ├── value: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,8 +14,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (1,7)-(1,10)) │ │ ├── name: :bar @@ -23,6 +23,7 @@ ├── @ MatchRequiredNode (location: (2,0)-(2,8)) │ ├── value: │ │ @ CallNode (location: (2,0)-(2,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -30,8 +31,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ IntegerNode (location: (2,7)-(2,8)) │ │ └── flags: decimal @@ -39,6 +39,7 @@ ├── @ MatchRequiredNode (location: (3,0)-(3,10)) │ ├── value: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -46,14 +47,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FloatNode (location: (3,7)-(3,10)) │ └── operator_loc: (3,4)-(3,6) = "=>" ├── @ MatchRequiredNode (location: (4,0)-(4,9)) │ ├── value: │ │ @ CallNode (location: (4,0)-(4,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -61,8 +62,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ImaginaryNode (location: (4,7)-(4,9)) │ │ └── numeric: @@ -72,6 +72,7 @@ ├── @ MatchRequiredNode (location: (5,0)-(5,9)) │ ├── value: │ │ @ CallNode (location: (5,0)-(5,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -79,8 +80,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RationalNode (location: (5,7)-(5,9)) │ │ └── numeric: @@ -90,6 +90,7 @@ ├── @ MatchRequiredNode (location: (6,0)-(6,11)) │ ├── value: │ │ @ CallNode (location: (6,0)-(6,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -97,8 +98,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (6,7)-(6,11)) │ │ ├── opening_loc: (6,7)-(6,8) = ":" @@ -109,6 +109,7 @@ ├── @ MatchRequiredNode (location: (7,0)-(7,14)) │ ├── value: │ │ @ CallNode (location: (7,0)-(7,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -116,8 +117,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (7,7)-(7,14)) │ │ ├── opening_loc: (7,7)-(7,10) = "%s[" @@ -128,6 +128,7 @@ ├── @ MatchRequiredNode (location: (8,0)-(8,13)) │ ├── value: │ │ @ CallNode (location: (8,0)-(8,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -135,8 +136,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (8,7)-(8,13)) │ │ ├── opening_loc: (8,7)-(8,9) = ":\"" @@ -147,6 +147,7 @@ ├── @ MatchRequiredNode (location: (9,0)-(9,12)) │ ├── value: │ │ @ CallNode (location: (9,0)-(9,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -154,19 +155,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RegularExpressionNode (location: (9,7)-(9,12)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (9,7)-(9,8) = "/" │ │ ├── content_loc: (9,8)-(9,11) = "foo" │ │ ├── closing_loc: (9,11)-(9,12) = "/" - │ │ ├── unescaped: "foo" - │ │ └── flags: ∅ + │ │ └── unescaped: "foo" │ └── operator_loc: (9,4)-(9,6) = "=>" ├── @ MatchRequiredNode (location: (10,0)-(10,12)) │ ├── value: │ │ @ CallNode (location: (10,0)-(10,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -174,8 +175,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ XStringNode (location: (10,7)-(10,12)) │ │ ├── flags: ∅ @@ -187,6 +187,7 @@ ├── @ MatchRequiredNode (location: (11,0)-(11,14)) │ ├── value: │ │ @ CallNode (location: (11,0)-(11,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -194,8 +195,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ XStringNode (location: (11,7)-(11,14)) │ │ ├── flags: ∅ @@ -207,6 +207,7 @@ ├── @ MatchRequiredNode (location: (12,0)-(12,14)) │ ├── value: │ │ @ CallNode (location: (12,0)-(12,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -214,10 +215,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (12,7)-(12,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (12,10)-(12,13)) │ │ │ ├── opening_loc: ∅ @@ -225,12 +226,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (12,7)-(12,10) = "%i[" - │ │ ├── closing_loc: (12,13)-(12,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (12,13)-(12,14) = "]" │ └── operator_loc: (12,4)-(12,6) = "=>" ├── @ MatchRequiredNode (location: (13,0)-(13,14)) │ ├── value: │ │ @ CallNode (location: (13,0)-(13,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -238,10 +239,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (13,7)-(13,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (13,10)-(13,13)) │ │ │ ├── opening_loc: ∅ @@ -249,12 +250,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (13,7)-(13,10) = "%I[" - │ │ ├── closing_loc: (13,13)-(13,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (13,13)-(13,14) = "]" │ └── operator_loc: (13,4)-(13,6) = "=>" ├── @ MatchRequiredNode (location: (14,0)-(14,14)) │ ├── value: │ │ @ CallNode (location: (14,0)-(14,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -262,10 +263,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (14,7)-(14,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ StringNode (location: (14,10)-(14,13)) │ │ │ ├── flags: ∅ @@ -274,12 +275,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (14,7)-(14,10) = "%w[" - │ │ ├── closing_loc: (14,13)-(14,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (14,13)-(14,14) = "]" │ └── operator_loc: (14,4)-(14,6) = "=>" ├── @ MatchRequiredNode (location: (15,0)-(15,14)) │ ├── value: │ │ @ CallNode (location: (15,0)-(15,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -287,10 +288,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (15,7)-(15,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ StringNode (location: (15,10)-(15,13)) │ │ │ ├── flags: ∅ @@ -299,12 +300,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (15,7)-(15,10) = "%W[" - │ │ ├── closing_loc: (15,13)-(15,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (15,13)-(15,14) = "]" │ └── operator_loc: (15,4)-(15,6) = "=>" ├── @ MatchRequiredNode (location: (16,0)-(16,14)) │ ├── value: │ │ @ CallNode (location: (16,0)-(16,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -312,8 +313,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ StringNode (location: (16,7)-(16,14)) │ │ ├── flags: ∅ @@ -325,6 +325,7 @@ ├── @ MatchRequiredNode (location: (17,0)-(17,14)) │ ├── value: │ │ @ CallNode (location: (17,0)-(17,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -332,8 +333,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ StringNode (location: (17,7)-(17,14)) │ │ ├── flags: ∅ @@ -345,6 +345,7 @@ ├── @ MatchRequiredNode (location: (18,0)-(18,12)) │ ├── value: │ │ @ CallNode (location: (18,0)-(18,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -352,8 +353,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ StringNode (location: (18,7)-(18,12)) │ │ ├── flags: ∅ @@ -365,6 +365,7 @@ ├── @ MatchRequiredNode (location: (19,0)-(19,10)) │ ├── value: │ │ @ CallNode (location: (19,0)-(19,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -372,14 +373,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ NilNode (location: (19,7)-(19,10)) │ └── operator_loc: (19,4)-(19,6) = "=>" ├── @ MatchRequiredNode (location: (20,0)-(20,11)) │ ├── value: │ │ @ CallNode (location: (20,0)-(20,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -387,14 +388,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SelfNode (location: (20,7)-(20,11)) │ └── operator_loc: (20,4)-(20,6) = "=>" ├── @ MatchRequiredNode (location: (21,0)-(21,11)) │ ├── value: │ │ @ CallNode (location: (21,0)-(21,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -402,14 +403,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ TrueNode (location: (21,7)-(21,11)) │ └── operator_loc: (21,4)-(21,6) = "=>" ├── @ MatchRequiredNode (location: (22,0)-(22,12)) │ ├── value: │ │ @ CallNode (location: (22,0)-(22,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -417,14 +418,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FalseNode (location: (22,7)-(22,12)) │ └── operator_loc: (22,4)-(22,6) = "=>" ├── @ MatchRequiredNode (location: (23,0)-(23,15)) │ ├── value: │ │ @ CallNode (location: (23,0)-(23,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -432,8 +433,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceFileNode (location: (23,7)-(23,15)) │ │ └── filepath: "patterns.txt" @@ -441,6 +441,7 @@ ├── @ MatchRequiredNode (location: (24,0)-(24,15)) │ ├── value: │ │ @ CallNode (location: (24,0)-(24,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -448,14 +449,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceLineNode (location: (24,7)-(24,15)) │ └── operator_loc: (24,4)-(24,6) = "=>" ├── @ MatchRequiredNode (location: (25,0)-(25,19)) │ ├── value: │ │ @ CallNode (location: (25,0)-(25,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -463,14 +464,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceEncodingNode (location: (25,7)-(25,19)) │ └── operator_loc: (25,4)-(25,6) = "=>" ├── @ MatchRequiredNode (location: (26,0)-(26,17)) │ ├── value: │ │ @ CallNode (location: (26,0)-(26,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -478,8 +479,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ LambdaNode (location: (26,7)-(26,17)) │ │ ├── locals: [] @@ -498,6 +498,7 @@ ├── @ MatchRequiredNode (location: (28,0)-(28,13)) │ ├── value: │ │ @ CallNode (location: (28,0)-(28,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -505,22 +506,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (28,7)-(28,13)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (28,7)-(28,8)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (28,12)-(28,13)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (28,9)-(28,11) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (28,9)-(28,11) = ".." │ └── operator_loc: (28,4)-(28,6) = "=>" ├── @ MatchRequiredNode (location: (29,0)-(29,17)) │ ├── value: │ │ @ CallNode (location: (29,0)-(29,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -528,20 +529,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (29,7)-(29,17)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ FloatNode (location: (29,7)-(29,10)) │ │ ├── right: │ │ │ @ FloatNode (location: (29,14)-(29,17)) - │ │ ├── operator_loc: (29,11)-(29,13) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (29,11)-(29,13) = ".." │ └── operator_loc: (29,4)-(29,6) = "=>" ├── @ MatchRequiredNode (location: (30,0)-(30,15)) │ ├── value: │ │ @ CallNode (location: (30,0)-(30,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -549,10 +550,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (30,7)-(30,15)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ImaginaryNode (location: (30,7)-(30,9)) │ │ │ └── numeric: @@ -563,12 +564,12 @@ │ │ │ └── numeric: │ │ │ @ IntegerNode (location: (30,13)-(30,14)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (30,10)-(30,12) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (30,10)-(30,12) = ".." │ └── operator_loc: (30,4)-(30,6) = "=>" ├── @ MatchRequiredNode (location: (31,0)-(31,15)) │ ├── value: │ │ @ CallNode (location: (31,0)-(31,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -576,10 +577,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (31,7)-(31,15)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ RationalNode (location: (31,7)-(31,9)) │ │ │ └── numeric: @@ -590,12 +591,12 @@ │ │ │ └── numeric: │ │ │ @ IntegerNode (location: (31,13)-(31,14)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (31,10)-(31,12) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (31,10)-(31,12) = ".." │ └── operator_loc: (31,4)-(31,6) = "=>" ├── @ MatchRequiredNode (location: (32,0)-(32,19)) │ ├── value: │ │ @ CallNode (location: (32,0)-(32,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -603,10 +604,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (32,7)-(32,19)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SymbolNode (location: (32,7)-(32,11)) │ │ │ ├── opening_loc: (32,7)-(32,8) = ":" @@ -619,12 +620,12 @@ │ │ │ ├── value_loc: (32,16)-(32,19) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (32,12)-(32,14) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (32,12)-(32,14) = ".." │ └── operator_loc: (32,4)-(32,6) = "=>" ├── @ MatchRequiredNode (location: (33,0)-(33,25)) │ ├── value: │ │ @ CallNode (location: (33,0)-(33,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -632,10 +633,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (33,7)-(33,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SymbolNode (location: (33,7)-(33,14)) │ │ │ ├── opening_loc: (33,7)-(33,10) = "%s[" @@ -648,12 +649,12 @@ │ │ │ ├── value_loc: (33,21)-(33,24) = "foo" │ │ │ ├── closing_loc: (33,24)-(33,25) = "]" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (33,15)-(33,17) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (33,15)-(33,17) = ".." │ └── operator_loc: (33,4)-(33,6) = "=>" ├── @ MatchRequiredNode (location: (34,0)-(34,23)) │ ├── value: │ │ @ CallNode (location: (34,0)-(34,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -661,10 +662,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (34,7)-(34,23)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SymbolNode (location: (34,7)-(34,13)) │ │ │ ├── opening_loc: (34,7)-(34,9) = ":\"" @@ -677,12 +678,12 @@ │ │ │ ├── value_loc: (34,19)-(34,22) = "foo" │ │ │ ├── closing_loc: (34,22)-(34,23) = "\"" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (34,14)-(34,16) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (34,14)-(34,16) = ".." │ └── operator_loc: (34,4)-(34,6) = "=>" ├── @ MatchRequiredNode (location: (35,0)-(35,21)) │ ├── value: │ │ @ CallNode (location: (35,0)-(35,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -690,30 +691,30 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (35,7)-(35,21)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ RegularExpressionNode (location: (35,7)-(35,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (35,7)-(35,8) = "/" │ │ │ ├── content_loc: (35,8)-(35,11) = "foo" │ │ │ ├── closing_loc: (35,11)-(35,12) = "/" - │ │ │ ├── unescaped: "foo" - │ │ │ └── flags: ∅ + │ │ │ └── unescaped: "foo" │ │ ├── right: │ │ │ @ RegularExpressionNode (location: (35,16)-(35,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (35,16)-(35,17) = "/" │ │ │ ├── content_loc: (35,17)-(35,20) = "foo" │ │ │ ├── closing_loc: (35,20)-(35,21) = "/" - │ │ │ ├── unescaped: "foo" - │ │ │ └── flags: ∅ - │ │ ├── operator_loc: (35,13)-(35,15) = ".." - │ │ └── flags: ∅ + │ │ │ └── unescaped: "foo" + │ │ └── operator_loc: (35,13)-(35,15) = ".." │ └── operator_loc: (35,4)-(35,6) = "=>" ├── @ MatchRequiredNode (location: (36,0)-(36,21)) │ ├── value: │ │ @ CallNode (location: (36,0)-(36,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -721,10 +722,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (36,7)-(36,21)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ XStringNode (location: (36,7)-(36,12)) │ │ │ ├── flags: ∅ @@ -739,12 +740,12 @@ │ │ │ ├── content_loc: (36,17)-(36,20) = "foo" │ │ │ ├── closing_loc: (36,20)-(36,21) = "`" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (36,13)-(36,15) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (36,13)-(36,15) = ".." │ └── operator_loc: (36,4)-(36,6) = "=>" ├── @ MatchRequiredNode (location: (37,0)-(37,25)) │ ├── value: │ │ @ CallNode (location: (37,0)-(37,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -752,10 +753,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (37,7)-(37,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ XStringNode (location: (37,7)-(37,14)) │ │ │ ├── flags: ∅ @@ -770,12 +771,12 @@ │ │ │ ├── content_loc: (37,21)-(37,24) = "foo" │ │ │ ├── closing_loc: (37,24)-(37,25) = "]" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (37,15)-(37,17) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (37,15)-(37,17) = ".." │ └── operator_loc: (37,4)-(37,6) = "=>" ├── @ MatchRequiredNode (location: (38,0)-(38,25)) │ ├── value: │ │ @ CallNode (location: (38,0)-(38,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -783,12 +784,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (38,7)-(38,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ArrayNode (location: (38,7)-(38,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (38,10)-(38,13)) │ │ │ │ ├── opening_loc: ∅ @@ -796,10 +798,10 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (38,7)-(38,10) = "%i[" - │ │ │ ├── closing_loc: (38,13)-(38,14) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (38,13)-(38,14) = "]" │ │ ├── right: │ │ │ @ ArrayNode (location: (38,18)-(38,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (38,21)-(38,24)) │ │ │ │ ├── opening_loc: ∅ @@ -807,14 +809,13 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (38,18)-(38,21) = "%i[" - │ │ │ ├── closing_loc: (38,24)-(38,25) = "]" - │ │ │ └── flags: ∅ - │ │ ├── operator_loc: (38,15)-(38,17) = ".." - │ │ └── flags: ∅ + │ │ │ └── closing_loc: (38,24)-(38,25) = "]" + │ │ └── operator_loc: (38,15)-(38,17) = ".." │ └── operator_loc: (38,4)-(38,6) = "=>" ├── @ MatchRequiredNode (location: (39,0)-(39,25)) │ ├── value: │ │ @ CallNode (location: (39,0)-(39,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -822,12 +823,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (39,7)-(39,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ArrayNode (location: (39,7)-(39,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (39,10)-(39,13)) │ │ │ │ ├── opening_loc: ∅ @@ -835,10 +837,10 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (39,7)-(39,10) = "%I[" - │ │ │ ├── closing_loc: (39,13)-(39,14) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (39,13)-(39,14) = "]" │ │ ├── right: │ │ │ @ ArrayNode (location: (39,18)-(39,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (39,21)-(39,24)) │ │ │ │ ├── opening_loc: ∅ @@ -846,14 +848,13 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (39,18)-(39,21) = "%I[" - │ │ │ ├── closing_loc: (39,24)-(39,25) = "]" - │ │ │ └── flags: ∅ - │ │ ├── operator_loc: (39,15)-(39,17) = ".." - │ │ └── flags: ∅ + │ │ │ └── closing_loc: (39,24)-(39,25) = "]" + │ │ └── operator_loc: (39,15)-(39,17) = ".." │ └── operator_loc: (39,4)-(39,6) = "=>" ├── @ MatchRequiredNode (location: (40,0)-(40,25)) │ ├── value: │ │ @ CallNode (location: (40,0)-(40,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -861,12 +862,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (40,7)-(40,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ArrayNode (location: (40,7)-(40,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ StringNode (location: (40,10)-(40,13)) │ │ │ │ ├── flags: ∅ @@ -875,10 +877,10 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (40,7)-(40,10) = "%w[" - │ │ │ ├── closing_loc: (40,13)-(40,14) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (40,13)-(40,14) = "]" │ │ ├── right: │ │ │ @ ArrayNode (location: (40,18)-(40,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ StringNode (location: (40,21)-(40,24)) │ │ │ │ ├── flags: ∅ @@ -887,14 +889,13 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (40,18)-(40,21) = "%w[" - │ │ │ ├── closing_loc: (40,24)-(40,25) = "]" - │ │ │ └── flags: ∅ - │ │ ├── operator_loc: (40,15)-(40,17) = ".." - │ │ └── flags: ∅ + │ │ │ └── closing_loc: (40,24)-(40,25) = "]" + │ │ └── operator_loc: (40,15)-(40,17) = ".." │ └── operator_loc: (40,4)-(40,6) = "=>" ├── @ MatchRequiredNode (location: (41,0)-(41,25)) │ ├── value: │ │ @ CallNode (location: (41,0)-(41,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -902,12 +903,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (41,7)-(41,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ArrayNode (location: (41,7)-(41,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ StringNode (location: (41,10)-(41,13)) │ │ │ │ ├── flags: ∅ @@ -916,10 +918,10 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (41,7)-(41,10) = "%W[" - │ │ │ ├── closing_loc: (41,13)-(41,14) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (41,13)-(41,14) = "]" │ │ ├── right: │ │ │ @ ArrayNode (location: (41,18)-(41,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ StringNode (location: (41,21)-(41,24)) │ │ │ │ ├── flags: ∅ @@ -928,14 +930,13 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (41,18)-(41,21) = "%W[" - │ │ │ ├── closing_loc: (41,24)-(41,25) = "]" - │ │ │ └── flags: ∅ - │ │ ├── operator_loc: (41,15)-(41,17) = ".." - │ │ └── flags: ∅ + │ │ │ └── closing_loc: (41,24)-(41,25) = "]" + │ │ └── operator_loc: (41,15)-(41,17) = ".." │ └── operator_loc: (41,4)-(41,6) = "=>" ├── @ MatchRequiredNode (location: (42,0)-(42,25)) │ ├── value: │ │ @ CallNode (location: (42,0)-(42,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -943,10 +944,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (42,7)-(42,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ StringNode (location: (42,7)-(42,14)) │ │ │ ├── flags: ∅ @@ -961,12 +962,12 @@ │ │ │ ├── content_loc: (42,21)-(42,24) = "foo" │ │ │ ├── closing_loc: (42,24)-(42,25) = "]" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (42,15)-(42,17) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (42,15)-(42,17) = ".." │ └── operator_loc: (42,4)-(42,6) = "=>" ├── @ MatchRequiredNode (location: (43,0)-(43,25)) │ ├── value: │ │ @ CallNode (location: (43,0)-(43,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -974,10 +975,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (43,7)-(43,25)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ StringNode (location: (43,7)-(43,14)) │ │ │ ├── flags: ∅ @@ -992,12 +993,12 @@ │ │ │ ├── content_loc: (43,21)-(43,24) = "foo" │ │ │ ├── closing_loc: (43,24)-(43,25) = "]" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (43,15)-(43,17) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (43,15)-(43,17) = ".." │ └── operator_loc: (43,4)-(43,6) = "=>" ├── @ MatchRequiredNode (location: (44,0)-(44,21)) │ ├── value: │ │ @ CallNode (location: (44,0)-(44,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1005,10 +1006,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (44,7)-(44,21)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ StringNode (location: (44,7)-(44,12)) │ │ │ ├── flags: ∅ @@ -1023,12 +1024,12 @@ │ │ │ ├── content_loc: (44,17)-(44,20) = "foo" │ │ │ ├── closing_loc: (44,20)-(44,21) = "\"" │ │ │ └── unescaped: "foo" - │ │ ├── operator_loc: (44,13)-(44,15) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (44,13)-(44,15) = ".." │ └── operator_loc: (44,4)-(44,6) = "=>" ├── @ MatchRequiredNode (location: (45,0)-(45,17)) │ ├── value: │ │ @ CallNode (location: (45,0)-(45,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1036,20 +1037,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (45,7)-(45,17)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ NilNode (location: (45,7)-(45,10)) │ │ ├── right: │ │ │ @ NilNode (location: (45,14)-(45,17)) - │ │ ├── operator_loc: (45,11)-(45,13) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (45,11)-(45,13) = ".." │ └── operator_loc: (45,4)-(45,6) = "=>" ├── @ MatchRequiredNode (location: (46,0)-(46,19)) │ ├── value: │ │ @ CallNode (location: (46,0)-(46,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1057,20 +1058,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (46,7)-(46,19)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SelfNode (location: (46,7)-(46,11)) │ │ ├── right: │ │ │ @ SelfNode (location: (46,15)-(46,19)) - │ │ ├── operator_loc: (46,12)-(46,14) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (46,12)-(46,14) = ".." │ └── operator_loc: (46,4)-(46,6) = "=>" ├── @ MatchRequiredNode (location: (47,0)-(47,19)) │ ├── value: │ │ @ CallNode (location: (47,0)-(47,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1078,20 +1079,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (47,7)-(47,19)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ TrueNode (location: (47,7)-(47,11)) │ │ ├── right: │ │ │ @ TrueNode (location: (47,15)-(47,19)) - │ │ ├── operator_loc: (47,12)-(47,14) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (47,12)-(47,14) = ".." │ └── operator_loc: (47,4)-(47,6) = "=>" ├── @ MatchRequiredNode (location: (48,0)-(48,21)) │ ├── value: │ │ @ CallNode (location: (48,0)-(48,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1099,20 +1100,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (48,7)-(48,21)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ FalseNode (location: (48,7)-(48,12)) │ │ ├── right: │ │ │ @ FalseNode (location: (48,16)-(48,21)) - │ │ ├── operator_loc: (48,13)-(48,15) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (48,13)-(48,15) = ".." │ └── operator_loc: (48,4)-(48,6) = "=>" ├── @ MatchRequiredNode (location: (49,0)-(49,27)) │ ├── value: │ │ @ CallNode (location: (49,0)-(49,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1120,22 +1121,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (49,7)-(49,27)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SourceFileNode (location: (49,7)-(49,15)) │ │ │ └── filepath: "patterns.txt" │ │ ├── right: │ │ │ @ SourceFileNode (location: (49,19)-(49,27)) │ │ │ └── filepath: "patterns.txt" - │ │ ├── operator_loc: (49,16)-(49,18) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (49,16)-(49,18) = ".." │ └── operator_loc: (49,4)-(49,6) = "=>" ├── @ MatchRequiredNode (location: (50,0)-(50,27)) │ ├── value: │ │ @ CallNode (location: (50,0)-(50,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1143,20 +1144,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (50,7)-(50,27)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SourceLineNode (location: (50,7)-(50,15)) │ │ ├── right: │ │ │ @ SourceLineNode (location: (50,19)-(50,27)) - │ │ ├── operator_loc: (50,16)-(50,18) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (50,16)-(50,18) = ".." │ └── operator_loc: (50,4)-(50,6) = "=>" ├── @ MatchRequiredNode (location: (51,0)-(51,35)) │ ├── value: │ │ @ CallNode (location: (51,0)-(51,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1164,20 +1165,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (51,7)-(51,35)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SourceEncodingNode (location: (51,7)-(51,19)) │ │ ├── right: │ │ │ @ SourceEncodingNode (location: (51,23)-(51,35)) - │ │ ├── operator_loc: (51,20)-(51,22) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (51,20)-(51,22) = ".." │ └── operator_loc: (51,4)-(51,6) = "=>" ├── @ MatchRequiredNode (location: (52,0)-(52,31)) │ ├── value: │ │ @ CallNode (location: (52,0)-(52,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1185,10 +1186,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (52,7)-(52,31)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ LambdaNode (location: (52,7)-(52,17)) │ │ │ ├── locals: [] @@ -1217,12 +1218,12 @@ │ │ │ └── @ LocalVariableReadNode (location: (52,26)-(52,29)) │ │ │ ├── name: :bar │ │ │ └── depth: 1 - │ │ ├── operator_loc: (52,18)-(52,20) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (52,18)-(52,20) = ".." │ └── operator_loc: (52,4)-(52,6) = "=>" ├── @ MatchRequiredNode (location: (54,0)-(54,11)) │ ├── value: │ │ @ CallNode (location: (54,0)-(54,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1230,8 +1231,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (54,7)-(54,11)) │ │ ├── variable: @@ -1243,6 +1243,7 @@ ├── @ MatchRequiredNode (location: (55,0)-(55,12)) │ ├── value: │ │ @ CallNode (location: (55,0)-(55,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1250,8 +1251,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (55,7)-(55,12)) │ │ ├── variable: @@ -1262,6 +1262,7 @@ ├── @ MatchRequiredNode (location: (56,0)-(56,13)) │ ├── value: │ │ @ CallNode (location: (56,0)-(56,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1269,8 +1270,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (56,7)-(56,13)) │ │ ├── variable: @@ -1281,6 +1281,7 @@ ├── @ MatchRequiredNode (location: (57,0)-(57,12)) │ ├── value: │ │ @ CallNode (location: (57,0)-(57,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1288,8 +1289,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (57,7)-(57,12)) │ │ ├── variable: @@ -1300,6 +1300,7 @@ ├── @ MatchRequiredNode (location: (59,0)-(59,11)) │ ├── value: │ │ @ CallNode (location: (59,0)-(59,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1307,8 +1308,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedExpressionNode (location: (59,7)-(59,11)) │ │ ├── expression: @@ -1321,6 +1321,7 @@ ├── @ MatchRequiredNode (location: (60,0)-(60,13)) │ ├── value: │ │ @ CallNode (location: (60,0)-(60,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1328,8 +1329,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedExpressionNode (location: (60,7)-(60,13)) │ │ ├── expression: @@ -1341,6 +1341,7 @@ ├── @ MatchRequiredNode (location: (61,0)-(61,23)) │ ├── value: │ │ @ CallNode (location: (61,0)-(61,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1348,12 +1349,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedExpressionNode (location: (61,7)-(61,23)) │ │ ├── expression: │ │ │ @ CallNode (location: (61,9)-(61,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ StringNode (location: (61,9)-(61,14)) │ │ │ │ ├── flags: ∅ @@ -1367,17 +1368,16 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (61,17)-(61,22)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ StringNode (location: (61,17)-(61,22)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: (61,17)-(61,18) = "\"" - │ │ │ │ │ ├── content_loc: (61,18)-(61,21) = "baz" - │ │ │ │ │ ├── closing_loc: (61,21)-(61,22) = "\"" - │ │ │ │ │ └── unescaped: "baz" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ StringNode (location: (61,17)-(61,22)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (61,17)-(61,18) = "\"" + │ │ │ │ ├── content_loc: (61,18)-(61,21) = "baz" + │ │ │ │ ├── closing_loc: (61,21)-(61,22) = "\"" + │ │ │ │ └── unescaped: "baz" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── operator_loc: (61,7)-(61,8) = "^" │ │ ├── lparen_loc: (61,8)-(61,9) = "(" │ │ └── rparen_loc: (61,22)-(61,23) = ")" @@ -1385,6 +1385,7 @@ ├── @ MatchRequiredNode (location: (63,0)-(63,10)) │ ├── value: │ │ @ CallNode (location: (63,0)-(63,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1392,8 +1393,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantReadNode (location: (63,7)-(63,10)) │ │ └── name: :Foo @@ -1401,6 +1401,7 @@ ├── @ MatchRequiredNode (location: (64,0)-(64,20)) │ ├── value: │ │ @ CallNode (location: (64,0)-(64,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1408,8 +1409,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (64,7)-(64,20)) │ │ ├── parent: @@ -1429,6 +1429,7 @@ ├── @ MatchRequiredNode (location: (65,0)-(65,12)) │ ├── value: │ │ @ CallNode (location: (65,0)-(65,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1436,8 +1437,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (65,7)-(65,12)) │ │ ├── parent: ∅ @@ -1449,6 +1449,7 @@ ├── @ MatchRequiredNode (location: (66,0)-(66,22)) │ ├── value: │ │ @ CallNode (location: (66,0)-(66,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1456,8 +1457,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (66,7)-(66,22)) │ │ ├── parent: @@ -1481,6 +1481,7 @@ ├── @ MatchRequiredNode (location: (68,0)-(68,12)) │ ├── value: │ │ @ CallNode (location: (68,0)-(68,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1488,8 +1489,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (68,7)-(68,12)) │ │ ├── constant: @@ -1504,6 +1504,7 @@ ├── @ MatchRequiredNode (location: (69,0)-(69,13)) │ ├── value: │ │ @ CallNode (location: (69,0)-(69,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1511,8 +1512,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (69,7)-(69,13)) │ │ ├── constant: @@ -1529,6 +1529,7 @@ ├── @ MatchRequiredNode (location: (70,0)-(70,19)) │ ├── value: │ │ @ CallNode (location: (70,0)-(70,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1536,8 +1537,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (70,7)-(70,19)) │ │ ├── constant: @@ -1558,6 +1558,7 @@ ├── @ MatchRequiredNode (location: (71,0)-(71,15)) │ ├── value: │ │ @ CallNode (location: (71,0)-(71,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1565,8 +1566,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (71,7)-(71,15)) │ │ ├── constant: @@ -1584,6 +1584,7 @@ ├── @ MatchRequiredNode (location: (72,0)-(72,21)) │ ├── value: │ │ @ CallNode (location: (72,0)-(72,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1591,8 +1592,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (72,7)-(72,21)) │ │ ├── constant: @@ -1616,6 +1616,7 @@ ├── @ MatchRequiredNode (location: (73,0)-(73,21)) │ ├── value: │ │ @ CallNode (location: (73,0)-(73,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1623,8 +1624,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (73,7)-(73,21)) │ │ ├── constant: @@ -1648,6 +1648,7 @@ ├── @ MatchRequiredNode (location: (74,0)-(74,27)) │ ├── value: │ │ @ CallNode (location: (74,0)-(74,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1655,8 +1656,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (74,7)-(74,27)) │ │ ├── constant: @@ -1686,6 +1686,7 @@ ├── @ MatchRequiredNode (location: (76,0)-(76,12)) │ ├── value: │ │ @ CallNode (location: (76,0)-(76,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1693,8 +1694,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (76,7)-(76,12)) │ │ ├── constant: @@ -1709,6 +1709,7 @@ ├── @ MatchRequiredNode (location: (77,0)-(77,13)) │ ├── value: │ │ @ CallNode (location: (77,0)-(77,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1716,8 +1717,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (77,7)-(77,13)) │ │ ├── constant: @@ -1734,6 +1734,7 @@ ├── @ MatchRequiredNode (location: (78,0)-(78,19)) │ ├── value: │ │ @ CallNode (location: (78,0)-(78,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1741,8 +1742,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (78,7)-(78,19)) │ │ ├── constant: @@ -1763,6 +1763,7 @@ ├── @ MatchRequiredNode (location: (79,0)-(79,17)) │ ├── value: │ │ @ CallNode (location: (79,0)-(79,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1770,8 +1771,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (79,7)-(79,17)) │ │ ├── constant: @@ -1795,6 +1795,7 @@ ├── @ MatchRequiredNode (location: (80,0)-(80,15)) │ ├── value: │ │ @ CallNode (location: (80,0)-(80,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1802,8 +1803,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (80,7)-(80,15)) │ │ ├── constant: @@ -1821,6 +1821,7 @@ ├── @ MatchRequiredNode (location: (81,0)-(81,21)) │ ├── value: │ │ @ CallNode (location: (81,0)-(81,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1828,8 +1829,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (81,7)-(81,21)) │ │ ├── constant: @@ -1853,6 +1853,7 @@ ├── @ MatchRequiredNode (location: (82,0)-(82,21)) │ ├── value: │ │ @ CallNode (location: (82,0)-(82,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1860,8 +1861,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (82,7)-(82,21)) │ │ ├── constant: @@ -1885,6 +1885,7 @@ ├── @ MatchRequiredNode (location: (83,0)-(83,27)) │ ├── value: │ │ @ CallNode (location: (83,0)-(83,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1892,8 +1893,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (83,7)-(83,27)) │ │ ├── constant: @@ -1923,6 +1923,7 @@ ├── @ MatchRequiredNode (location: (85,0)-(85,11)) │ ├── value: │ │ @ CallNode (location: (85,0)-(85,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1930,8 +1931,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (85,7)-(85,11)) │ │ ├── constant: ∅ @@ -1950,6 +1950,7 @@ ├── @ MatchRequiredNode (location: (86,0)-(86,21)) │ ├── value: │ │ @ CallNode (location: (86,0)-(86,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1957,8 +1958,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (86,7)-(86,21)) │ │ ├── constant: ∅ @@ -1983,6 +1983,7 @@ ├── @ MatchRequiredNode (location: (87,0)-(87,21)) │ ├── value: │ │ @ CallNode (location: (87,0)-(87,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -1990,8 +1991,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (87,7)-(87,21)) │ │ ├── constant: ∅ @@ -2016,6 +2016,7 @@ ├── @ MatchRequiredNode (location: (88,0)-(88,21)) │ ├── value: │ │ @ CallNode (location: (88,0)-(88,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2023,8 +2024,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (88,7)-(88,21)) │ │ ├── constant: ∅ @@ -2049,6 +2049,7 @@ ├── @ MatchRequiredNode (location: (89,0)-(89,22)) │ ├── value: │ │ @ CallNode (location: (89,0)-(89,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2056,8 +2057,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (89,7)-(89,22)) │ │ ├── constant: ∅ @@ -2085,6 +2085,7 @@ ├── @ MatchRequiredNode (location: (91,0)-(91,9)) │ ├── value: │ │ @ CallNode (location: (91,0)-(91,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2092,8 +2093,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (91,7)-(91,9)) │ │ ├── constant: ∅ @@ -2106,6 +2106,7 @@ ├── @ MatchRequiredNode (location: (92,0)-(92,17)) │ ├── value: │ │ @ CallNode (location: (92,0)-(92,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2113,8 +2114,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (92,7)-(92,17)) │ │ ├── constant: ∅ @@ -2155,6 +2155,7 @@ ├── @ MatchRequiredNode (location: (94,0)-(94,13)) │ ├── value: │ │ @ CallNode (location: (94,0)-(94,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2162,8 +2163,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (94,7)-(94,13)) │ │ ├── constant: ∅ @@ -2182,6 +2182,7 @@ ├── @ MatchRequiredNode (location: (95,0)-(95,23)) │ ├── value: │ │ @ CallNode (location: (95,0)-(95,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2189,8 +2190,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (95,7)-(95,23)) │ │ ├── constant: ∅ @@ -2215,6 +2215,7 @@ ├── @ MatchRequiredNode (location: (96,0)-(96,23)) │ ├── value: │ │ @ CallNode (location: (96,0)-(96,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2222,8 +2223,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (96,7)-(96,23)) │ │ ├── constant: ∅ @@ -2248,6 +2248,7 @@ ├── @ MatchRequiredNode (location: (97,0)-(97,23)) │ ├── value: │ │ @ CallNode (location: (97,0)-(97,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2255,8 +2256,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (97,7)-(97,23)) │ │ ├── constant: ∅ @@ -2281,6 +2281,7 @@ ├── @ MatchRequiredNode (location: (98,0)-(98,24)) │ ├── value: │ │ @ CallNode (location: (98,0)-(98,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2288,8 +2289,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (98,7)-(98,24)) │ │ ├── constant: ∅ @@ -2317,6 +2317,7 @@ ├── @ MatchPredicateNode (location: (100,0)-(100,10)) │ ├── value: │ │ @ CallNode (location: (100,0)-(100,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2324,8 +2325,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (100,7)-(100,10)) │ │ ├── name: :bar @@ -2334,6 +2334,7 @@ ├── @ MatchPredicateNode (location: (101,0)-(101,8)) │ ├── value: │ │ @ CallNode (location: (101,0)-(101,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2341,8 +2342,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ IntegerNode (location: (101,7)-(101,8)) │ │ └── flags: decimal @@ -2350,6 +2350,7 @@ ├── @ MatchPredicateNode (location: (102,0)-(102,10)) │ ├── value: │ │ @ CallNode (location: (102,0)-(102,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2357,14 +2358,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FloatNode (location: (102,7)-(102,10)) │ └── operator_loc: (102,4)-(102,6) = "in" ├── @ MatchPredicateNode (location: (103,0)-(103,9)) │ ├── value: │ │ @ CallNode (location: (103,0)-(103,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2372,8 +2373,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ImaginaryNode (location: (103,7)-(103,9)) │ │ └── numeric: @@ -2383,6 +2383,7 @@ ├── @ MatchPredicateNode (location: (104,0)-(104,9)) │ ├── value: │ │ @ CallNode (location: (104,0)-(104,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2390,8 +2391,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RationalNode (location: (104,7)-(104,9)) │ │ └── numeric: @@ -2401,6 +2401,7 @@ ├── @ MatchPredicateNode (location: (105,0)-(105,11)) │ ├── value: │ │ @ CallNode (location: (105,0)-(105,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2408,8 +2409,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (105,7)-(105,11)) │ │ ├── opening_loc: (105,7)-(105,8) = ":" @@ -2420,6 +2420,7 @@ ├── @ MatchPredicateNode (location: (106,0)-(106,14)) │ ├── value: │ │ @ CallNode (location: (106,0)-(106,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2427,8 +2428,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (106,7)-(106,14)) │ │ ├── opening_loc: (106,7)-(106,10) = "%s[" @@ -2439,6 +2439,7 @@ ├── @ MatchPredicateNode (location: (107,0)-(107,13)) │ ├── value: │ │ @ CallNode (location: (107,0)-(107,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2446,8 +2447,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (107,7)-(107,13)) │ │ ├── opening_loc: (107,7)-(107,9) = ":\"" @@ -2458,6 +2458,7 @@ ├── @ MatchPredicateNode (location: (108,0)-(108,12)) │ ├── value: │ │ @ CallNode (location: (108,0)-(108,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2465,19 +2466,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ RegularExpressionNode (location: (108,7)-(108,12)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (108,7)-(108,8) = "/" │ │ ├── content_loc: (108,8)-(108,11) = "foo" │ │ ├── closing_loc: (108,11)-(108,12) = "/" - │ │ ├── unescaped: "foo" - │ │ └── flags: ∅ + │ │ └── unescaped: "foo" │ └── operator_loc: (108,4)-(108,6) = "in" ├── @ MatchPredicateNode (location: (109,0)-(109,12)) │ ├── value: │ │ @ CallNode (location: (109,0)-(109,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2485,8 +2486,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ XStringNode (location: (109,7)-(109,12)) │ │ ├── flags: ∅ @@ -2498,6 +2498,7 @@ ├── @ MatchPredicateNode (location: (110,0)-(110,14)) │ ├── value: │ │ @ CallNode (location: (110,0)-(110,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2505,8 +2506,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ XStringNode (location: (110,7)-(110,14)) │ │ ├── flags: ∅ @@ -2518,6 +2518,7 @@ ├── @ MatchPredicateNode (location: (111,0)-(111,14)) │ ├── value: │ │ @ CallNode (location: (111,0)-(111,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2525,10 +2526,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (111,7)-(111,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (111,10)-(111,13)) │ │ │ ├── opening_loc: ∅ @@ -2536,12 +2537,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (111,7)-(111,10) = "%i[" - │ │ ├── closing_loc: (111,13)-(111,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (111,13)-(111,14) = "]" │ └── operator_loc: (111,4)-(111,6) = "in" ├── @ MatchPredicateNode (location: (112,0)-(112,14)) │ ├── value: │ │ @ CallNode (location: (112,0)-(112,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2549,10 +2550,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (112,7)-(112,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (112,10)-(112,13)) │ │ │ ├── opening_loc: ∅ @@ -2560,12 +2561,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (112,7)-(112,10) = "%I[" - │ │ ├── closing_loc: (112,13)-(112,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (112,13)-(112,14) = "]" │ └── operator_loc: (112,4)-(112,6) = "in" ├── @ MatchPredicateNode (location: (113,0)-(113,14)) │ ├── value: │ │ @ CallNode (location: (113,0)-(113,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2573,10 +2574,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (113,7)-(113,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ StringNode (location: (113,10)-(113,13)) │ │ │ ├── flags: ∅ @@ -2585,12 +2586,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (113,7)-(113,10) = "%w[" - │ │ ├── closing_loc: (113,13)-(113,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (113,13)-(113,14) = "]" │ └── operator_loc: (113,4)-(113,6) = "in" ├── @ MatchPredicateNode (location: (114,0)-(114,14)) │ ├── value: │ │ @ CallNode (location: (114,0)-(114,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2598,10 +2599,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (114,7)-(114,14)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ StringNode (location: (114,10)-(114,13)) │ │ │ ├── flags: ∅ @@ -2610,12 +2611,12 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (114,7)-(114,10) = "%W[" - │ │ ├── closing_loc: (114,13)-(114,14) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (114,13)-(114,14) = "]" │ └── operator_loc: (114,4)-(114,6) = "in" ├── @ MatchPredicateNode (location: (115,0)-(115,14)) │ ├── value: │ │ @ CallNode (location: (115,0)-(115,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2623,8 +2624,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ StringNode (location: (115,7)-(115,14)) │ │ ├── flags: ∅ @@ -2636,6 +2636,7 @@ ├── @ MatchPredicateNode (location: (116,0)-(116,14)) │ ├── value: │ │ @ CallNode (location: (116,0)-(116,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2643,8 +2644,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ StringNode (location: (116,7)-(116,14)) │ │ ├── flags: ∅ @@ -2656,6 +2656,7 @@ ├── @ MatchPredicateNode (location: (117,0)-(117,12)) │ ├── value: │ │ @ CallNode (location: (117,0)-(117,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2663,8 +2664,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ StringNode (location: (117,7)-(117,12)) │ │ ├── flags: ∅ @@ -2676,6 +2676,7 @@ ├── @ MatchPredicateNode (location: (118,0)-(118,10)) │ ├── value: │ │ @ CallNode (location: (118,0)-(118,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2683,14 +2684,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ NilNode (location: (118,7)-(118,10)) │ └── operator_loc: (118,4)-(118,6) = "in" ├── @ MatchPredicateNode (location: (119,0)-(119,11)) │ ├── value: │ │ @ CallNode (location: (119,0)-(119,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2698,14 +2699,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SelfNode (location: (119,7)-(119,11)) │ └── operator_loc: (119,4)-(119,6) = "in" ├── @ MatchPredicateNode (location: (120,0)-(120,11)) │ ├── value: │ │ @ CallNode (location: (120,0)-(120,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2713,14 +2714,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ TrueNode (location: (120,7)-(120,11)) │ └── operator_loc: (120,4)-(120,6) = "in" ├── @ MatchPredicateNode (location: (121,0)-(121,12)) │ ├── value: │ │ @ CallNode (location: (121,0)-(121,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2728,14 +2729,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ FalseNode (location: (121,7)-(121,12)) │ └── operator_loc: (121,4)-(121,6) = "in" ├── @ MatchPredicateNode (location: (122,0)-(122,15)) │ ├── value: │ │ @ CallNode (location: (122,0)-(122,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2743,8 +2744,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceFileNode (location: (122,7)-(122,15)) │ │ └── filepath: "patterns.txt" @@ -2752,6 +2752,7 @@ ├── @ MatchPredicateNode (location: (123,0)-(123,15)) │ ├── value: │ │ @ CallNode (location: (123,0)-(123,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2759,14 +2760,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceLineNode (location: (123,7)-(123,15)) │ └── operator_loc: (123,4)-(123,6) = "in" ├── @ MatchPredicateNode (location: (124,0)-(124,19)) │ ├── value: │ │ @ CallNode (location: (124,0)-(124,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2774,14 +2775,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceEncodingNode (location: (124,7)-(124,19)) │ └── operator_loc: (124,4)-(124,6) = "in" ├── @ MatchPredicateNode (location: (125,0)-(125,17)) │ ├── value: │ │ @ CallNode (location: (125,0)-(125,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2789,8 +2790,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ LambdaNode (location: (125,7)-(125,17)) │ │ ├── locals: [] @@ -2809,6 +2809,7 @@ ├── @ CaseMatchNode (location: (127,0)-(127,25)) │ ├── predicate: │ │ @ CallNode (location: (127,5)-(127,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2816,8 +2817,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (127,10)-(127,21)) │ │ ├── pattern: @@ -2833,6 +2833,7 @@ ├── @ CaseMatchNode (location: (128,0)-(128,23)) │ ├── predicate: │ │ @ CallNode (location: (128,5)-(128,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2840,8 +2841,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (128,10)-(128,19)) │ │ ├── pattern: @@ -2856,6 +2856,7 @@ ├── @ CaseMatchNode (location: (129,0)-(129,25)) │ ├── predicate: │ │ @ CallNode (location: (129,5)-(129,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2863,8 +2864,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (129,10)-(129,21)) │ │ ├── pattern: @@ -2878,6 +2878,7 @@ ├── @ CaseMatchNode (location: (130,0)-(130,24)) │ ├── predicate: │ │ @ CallNode (location: (130,5)-(130,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2885,8 +2886,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (130,10)-(130,20)) │ │ ├── pattern: @@ -2903,6 +2903,7 @@ ├── @ CaseMatchNode (location: (131,0)-(131,24)) │ ├── predicate: │ │ @ CallNode (location: (131,5)-(131,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2910,8 +2911,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (131,10)-(131,20)) │ │ ├── pattern: @@ -2928,6 +2928,7 @@ ├── @ CaseMatchNode (location: (132,0)-(132,26)) │ ├── predicate: │ │ @ CallNode (location: (132,5)-(132,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2935,8 +2936,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (132,10)-(132,22)) │ │ ├── pattern: @@ -2954,6 +2954,7 @@ ├── @ CaseMatchNode (location: (133,0)-(133,29)) │ ├── predicate: │ │ @ CallNode (location: (133,5)-(133,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2961,8 +2962,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (133,10)-(133,25)) │ │ ├── pattern: @@ -2980,6 +2980,7 @@ ├── @ CaseMatchNode (location: (134,0)-(134,28)) │ ├── predicate: │ │ @ CallNode (location: (134,5)-(134,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -2987,8 +2988,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (134,10)-(134,24)) │ │ ├── pattern: @@ -3006,6 +3006,7 @@ ├── @ CaseMatchNode (location: (135,0)-(135,27)) │ ├── predicate: │ │ @ CallNode (location: (135,5)-(135,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3013,17 +3014,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (135,10)-(135,23)) │ │ ├── pattern: │ │ │ @ RegularExpressionNode (location: (135,13)-(135,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (135,13)-(135,14) = "/" │ │ │ ├── content_loc: (135,14)-(135,17) = "foo" │ │ │ ├── closing_loc: (135,17)-(135,18) = "/" - │ │ │ ├── unescaped: "foo" - │ │ │ └── flags: ∅ + │ │ │ └── unescaped: "foo" │ │ ├── statements: ∅ │ │ ├── in_loc: (135,10)-(135,12) = "in" │ │ └── then_loc: (135,19)-(135,23) = "then" @@ -3033,6 +3033,7 @@ ├── @ CaseMatchNode (location: (136,0)-(136,27)) │ ├── predicate: │ │ @ CallNode (location: (136,5)-(136,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3040,8 +3041,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (136,10)-(136,23)) │ │ ├── pattern: @@ -3060,6 +3060,7 @@ ├── @ CaseMatchNode (location: (137,0)-(137,29)) │ ├── predicate: │ │ @ CallNode (location: (137,5)-(137,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3067,8 +3068,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (137,10)-(137,25)) │ │ ├── pattern: @@ -3087,6 +3087,7 @@ ├── @ CaseMatchNode (location: (138,0)-(138,29)) │ ├── predicate: │ │ @ CallNode (location: (138,5)-(138,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3094,12 +3095,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (138,10)-(138,25)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (138,13)-(138,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (138,16)-(138,19)) │ │ │ │ ├── opening_loc: ∅ @@ -3107,8 +3108,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (138,13)-(138,16) = "%i[" - │ │ │ ├── closing_loc: (138,19)-(138,20) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (138,19)-(138,20) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (138,10)-(138,12) = "in" │ │ └── then_loc: (138,21)-(138,25) = "then" @@ -3118,6 +3118,7 @@ ├── @ CaseMatchNode (location: (139,0)-(139,29)) │ ├── predicate: │ │ @ CallNode (location: (139,5)-(139,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3125,12 +3126,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (139,10)-(139,25)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (139,13)-(139,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (139,16)-(139,19)) │ │ │ │ ├── opening_loc: ∅ @@ -3138,8 +3139,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (139,13)-(139,16) = "%I[" - │ │ │ ├── closing_loc: (139,19)-(139,20) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (139,19)-(139,20) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (139,10)-(139,12) = "in" │ │ └── then_loc: (139,21)-(139,25) = "then" @@ -3149,6 +3149,7 @@ ├── @ CaseMatchNode (location: (140,0)-(140,29)) │ ├── predicate: │ │ @ CallNode (location: (140,5)-(140,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3156,12 +3157,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (140,10)-(140,25)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (140,13)-(140,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ StringNode (location: (140,16)-(140,19)) │ │ │ │ ├── flags: ∅ @@ -3170,8 +3171,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (140,13)-(140,16) = "%w[" - │ │ │ ├── closing_loc: (140,19)-(140,20) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (140,19)-(140,20) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (140,10)-(140,12) = "in" │ │ └── then_loc: (140,21)-(140,25) = "then" @@ -3181,6 +3181,7 @@ ├── @ CaseMatchNode (location: (141,0)-(141,29)) │ ├── predicate: │ │ @ CallNode (location: (141,5)-(141,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3188,12 +3189,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (141,10)-(141,25)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (141,13)-(141,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ StringNode (location: (141,16)-(141,19)) │ │ │ │ ├── flags: ∅ @@ -3202,8 +3203,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (141,13)-(141,16) = "%W[" - │ │ │ ├── closing_loc: (141,19)-(141,20) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (141,19)-(141,20) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (141,10)-(141,12) = "in" │ │ └── then_loc: (141,21)-(141,25) = "then" @@ -3213,6 +3213,7 @@ ├── @ CaseMatchNode (location: (142,0)-(142,29)) │ ├── predicate: │ │ @ CallNode (location: (142,5)-(142,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3220,8 +3221,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (142,10)-(142,25)) │ │ ├── pattern: @@ -3240,6 +3240,7 @@ ├── @ CaseMatchNode (location: (143,0)-(143,29)) │ ├── predicate: │ │ @ CallNode (location: (143,5)-(143,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3247,8 +3248,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (143,10)-(143,25)) │ │ ├── pattern: @@ -3267,6 +3267,7 @@ ├── @ CaseMatchNode (location: (144,0)-(144,27)) │ ├── predicate: │ │ @ CallNode (location: (144,5)-(144,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3274,8 +3275,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (144,10)-(144,23)) │ │ ├── pattern: @@ -3294,6 +3294,7 @@ ├── @ CaseMatchNode (location: (145,0)-(145,25)) │ ├── predicate: │ │ @ CallNode (location: (145,5)-(145,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3301,8 +3302,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (145,10)-(145,21)) │ │ ├── pattern: @@ -3316,6 +3316,7 @@ ├── @ CaseMatchNode (location: (146,0)-(146,26)) │ ├── predicate: │ │ @ CallNode (location: (146,5)-(146,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3323,8 +3324,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (146,10)-(146,22)) │ │ ├── pattern: @@ -3338,6 +3338,7 @@ ├── @ CaseMatchNode (location: (147,0)-(147,26)) │ ├── predicate: │ │ @ CallNode (location: (147,5)-(147,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3345,8 +3346,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (147,10)-(147,22)) │ │ ├── pattern: @@ -3360,6 +3360,7 @@ ├── @ CaseMatchNode (location: (148,0)-(148,27)) │ ├── predicate: │ │ @ CallNode (location: (148,5)-(148,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3367,8 +3368,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (148,10)-(148,23)) │ │ ├── pattern: @@ -3382,6 +3382,7 @@ ├── @ CaseMatchNode (location: (149,0)-(149,30)) │ ├── predicate: │ │ @ CallNode (location: (149,5)-(149,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3389,8 +3390,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (149,10)-(149,26)) │ │ ├── pattern: @@ -3405,6 +3405,7 @@ ├── @ CaseMatchNode (location: (150,0)-(150,30)) │ ├── predicate: │ │ @ CallNode (location: (150,5)-(150,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3412,8 +3413,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (150,10)-(150,26)) │ │ ├── pattern: @@ -3427,6 +3427,7 @@ ├── @ CaseMatchNode (location: (151,0)-(151,34)) │ ├── predicate: │ │ @ CallNode (location: (151,5)-(151,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3434,8 +3435,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (151,10)-(151,30)) │ │ ├── pattern: @@ -3449,6 +3449,7 @@ ├── @ CaseMatchNode (location: (152,0)-(152,32)) │ ├── predicate: │ │ @ CallNode (location: (152,5)-(152,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3456,8 +3457,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (152,10)-(152,28)) │ │ ├── pattern: @@ -3483,6 +3483,7 @@ ├── @ CaseMatchNode (location: (154,0)-(154,32)) │ ├── predicate: │ │ @ CallNode (location: (154,5)-(154,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3490,8 +3491,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (154,10)-(154,28)) │ │ ├── pattern: @@ -3519,6 +3519,7 @@ ├── @ CaseMatchNode (location: (155,0)-(155,30)) │ ├── predicate: │ │ @ CallNode (location: (155,5)-(155,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3526,8 +3527,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (155,10)-(155,26)) │ │ ├── pattern: @@ -3554,6 +3554,7 @@ ├── @ CaseMatchNode (location: (156,0)-(156,32)) │ ├── predicate: │ │ @ CallNode (location: (156,5)-(156,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3561,8 +3562,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (156,10)-(156,28)) │ │ ├── pattern: @@ -3588,6 +3588,7 @@ ├── @ CaseMatchNode (location: (157,0)-(157,31)) │ ├── predicate: │ │ @ CallNode (location: (157,5)-(157,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3595,8 +3596,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (157,10)-(157,27)) │ │ ├── pattern: @@ -3625,6 +3625,7 @@ ├── @ CaseMatchNode (location: (158,0)-(158,31)) │ ├── predicate: │ │ @ CallNode (location: (158,5)-(158,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3632,8 +3633,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (158,10)-(158,27)) │ │ ├── pattern: @@ -3662,6 +3662,7 @@ ├── @ CaseMatchNode (location: (159,0)-(159,33)) │ ├── predicate: │ │ @ CallNode (location: (159,5)-(159,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3669,8 +3670,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (159,10)-(159,29)) │ │ ├── pattern: @@ -3700,6 +3700,7 @@ ├── @ CaseMatchNode (location: (160,0)-(160,36)) │ ├── predicate: │ │ @ CallNode (location: (160,5)-(160,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3707,8 +3708,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (160,10)-(160,32)) │ │ ├── pattern: @@ -3738,6 +3738,7 @@ ├── @ CaseMatchNode (location: (161,0)-(161,35)) │ ├── predicate: │ │ @ CallNode (location: (161,5)-(161,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3745,8 +3746,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (161,10)-(161,31)) │ │ ├── pattern: @@ -3776,6 +3776,7 @@ ├── @ CaseMatchNode (location: (162,0)-(162,34)) │ ├── predicate: │ │ @ CallNode (location: (162,5)-(162,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3783,8 +3784,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (162,10)-(162,30)) │ │ ├── pattern: @@ -3799,11 +3799,11 @@ │ │ │ │ @ StatementsNode (location: (162,13)-(162,18)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RegularExpressionNode (location: (162,13)-(162,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (162,13)-(162,14) = "/" │ │ │ │ ├── content_loc: (162,14)-(162,17) = "foo" │ │ │ │ ├── closing_loc: (162,17)-(162,18) = "/" - │ │ │ │ ├── unescaped: "foo" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── unescaped: "foo" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -3815,6 +3815,7 @@ ├── @ CaseMatchNode (location: (163,0)-(163,34)) │ ├── predicate: │ │ @ CallNode (location: (163,5)-(163,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3822,8 +3823,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (163,10)-(163,30)) │ │ ├── pattern: @@ -3854,6 +3854,7 @@ ├── @ CaseMatchNode (location: (164,0)-(164,36)) │ ├── predicate: │ │ @ CallNode (location: (164,5)-(164,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3861,8 +3862,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (164,10)-(164,32)) │ │ ├── pattern: @@ -3893,6 +3893,7 @@ ├── @ CaseMatchNode (location: (165,0)-(165,36)) │ ├── predicate: │ │ @ CallNode (location: (165,5)-(165,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3900,8 +3901,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (165,10)-(165,32)) │ │ ├── pattern: @@ -3916,6 +3916,7 @@ │ │ │ │ @ StatementsNode (location: (165,13)-(165,20)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (165,13)-(165,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ SymbolNode (location: (165,16)-(165,19)) │ │ │ │ │ ├── opening_loc: ∅ @@ -3923,8 +3924,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (165,13)-(165,16) = "%i[" - │ │ │ │ ├── closing_loc: (165,19)-(165,20) = "]" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── closing_loc: (165,19)-(165,20) = "]" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -3936,6 +3936,7 @@ ├── @ CaseMatchNode (location: (166,0)-(166,36)) │ ├── predicate: │ │ @ CallNode (location: (166,5)-(166,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3943,8 +3944,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (166,10)-(166,32)) │ │ ├── pattern: @@ -3959,6 +3959,7 @@ │ │ │ │ @ StatementsNode (location: (166,13)-(166,20)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (166,13)-(166,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ SymbolNode (location: (166,16)-(166,19)) │ │ │ │ │ ├── opening_loc: ∅ @@ -3966,8 +3967,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (166,13)-(166,16) = "%I[" - │ │ │ │ ├── closing_loc: (166,19)-(166,20) = "]" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── closing_loc: (166,19)-(166,20) = "]" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -3979,6 +3979,7 @@ ├── @ CaseMatchNode (location: (167,0)-(167,36)) │ ├── predicate: │ │ @ CallNode (location: (167,5)-(167,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -3986,8 +3987,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (167,10)-(167,32)) │ │ ├── pattern: @@ -4002,6 +4002,7 @@ │ │ │ │ @ StatementsNode (location: (167,13)-(167,20)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (167,13)-(167,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ StringNode (location: (167,16)-(167,19)) │ │ │ │ │ ├── flags: ∅ @@ -4010,8 +4011,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (167,13)-(167,16) = "%w[" - │ │ │ │ ├── closing_loc: (167,19)-(167,20) = "]" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── closing_loc: (167,19)-(167,20) = "]" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4023,6 +4023,7 @@ ├── @ CaseMatchNode (location: (168,0)-(168,36)) │ ├── predicate: │ │ @ CallNode (location: (168,5)-(168,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4030,8 +4031,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (168,10)-(168,32)) │ │ ├── pattern: @@ -4046,6 +4046,7 @@ │ │ │ │ @ StatementsNode (location: (168,13)-(168,20)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (168,13)-(168,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ StringNode (location: (168,16)-(168,19)) │ │ │ │ │ ├── flags: ∅ @@ -4054,8 +4055,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (168,13)-(168,16) = "%W[" - │ │ │ │ ├── closing_loc: (168,19)-(168,20) = "]" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── closing_loc: (168,19)-(168,20) = "]" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4067,6 +4067,7 @@ ├── @ CaseMatchNode (location: (169,0)-(169,36)) │ ├── predicate: │ │ @ CallNode (location: (169,5)-(169,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4074,8 +4075,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (169,10)-(169,32)) │ │ ├── pattern: @@ -4106,6 +4106,7 @@ ├── @ CaseMatchNode (location: (170,0)-(170,36)) │ ├── predicate: │ │ @ CallNode (location: (170,5)-(170,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4113,8 +4114,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (170,10)-(170,32)) │ │ ├── pattern: @@ -4145,6 +4145,7 @@ ├── @ CaseMatchNode (location: (171,0)-(171,34)) │ ├── predicate: │ │ @ CallNode (location: (171,5)-(171,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4152,8 +4153,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (171,10)-(171,30)) │ │ ├── pattern: @@ -4184,6 +4184,7 @@ ├── @ CaseMatchNode (location: (172,0)-(172,32)) │ ├── predicate: │ │ @ CallNode (location: (172,5)-(172,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4191,8 +4192,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (172,10)-(172,28)) │ │ ├── pattern: @@ -4218,6 +4218,7 @@ ├── @ CaseMatchNode (location: (173,0)-(173,33)) │ ├── predicate: │ │ @ CallNode (location: (173,5)-(173,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4225,8 +4226,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (173,10)-(173,29)) │ │ ├── pattern: @@ -4252,6 +4252,7 @@ ├── @ CaseMatchNode (location: (174,0)-(174,33)) │ ├── predicate: │ │ @ CallNode (location: (174,5)-(174,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4259,8 +4260,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (174,10)-(174,29)) │ │ ├── pattern: @@ -4286,6 +4286,7 @@ ├── @ CaseMatchNode (location: (175,0)-(175,34)) │ ├── predicate: │ │ @ CallNode (location: (175,5)-(175,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4293,8 +4294,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (175,10)-(175,30)) │ │ ├── pattern: @@ -4320,6 +4320,7 @@ ├── @ CaseMatchNode (location: (176,0)-(176,37)) │ ├── predicate: │ │ @ CallNode (location: (176,5)-(176,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4327,8 +4328,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (176,10)-(176,33)) │ │ ├── pattern: @@ -4355,6 +4355,7 @@ ├── @ CaseMatchNode (location: (177,0)-(177,37)) │ ├── predicate: │ │ @ CallNode (location: (177,5)-(177,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4362,8 +4363,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (177,10)-(177,33)) │ │ ├── pattern: @@ -4389,6 +4389,7 @@ ├── @ CaseMatchNode (location: (178,0)-(178,41)) │ ├── predicate: │ │ @ CallNode (location: (178,5)-(178,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4396,8 +4397,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (178,10)-(178,37)) │ │ ├── pattern: @@ -4423,6 +4423,7 @@ ├── @ CaseMatchNode (location: (179,0)-(179,39)) │ ├── predicate: │ │ @ CallNode (location: (179,5)-(179,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4430,8 +4431,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (179,10)-(179,35)) │ │ ├── pattern: @@ -4472,6 +4472,7 @@ │ │ @ MatchPredicateNode (location: (181,3)-(181,10)) │ │ ├── value: │ │ │ @ CallNode (location: (181,3)-(181,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -4479,8 +4480,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (181,8)-(181,10)) │ │ │ ├── constant: ∅ @@ -4497,6 +4497,7 @@ ├── @ MatchRequiredNode (location: (184,0)-(186,1)) │ ├── value: │ │ @ CallNode (location: (184,0)-(184,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -4504,8 +4505,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (184,5)-(186,1)) │ │ ├── constant: ∅ @@ -4521,6 +4521,7 @@ ├── @ MatchPredicateNode (location: (188,0)-(192,1)) │ ├── value: │ │ @ CallNode (location: (188,0)-(188,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4528,8 +4529,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (188,7)-(192,1)) │ │ ├── constant: @@ -4572,6 +4572,7 @@ ├── @ MatchPredicateNode (location: (194,0)-(194,17)) │ ├── value: │ │ @ CallNode (location: (194,0)-(194,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4579,8 +4580,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ CapturePatternNode (location: (194,7)-(194,17)) │ │ ├── value: @@ -4596,6 +4596,7 @@ ├── @ MatchRequiredNode (location: (195,0)-(195,17)) │ ├── value: │ │ @ CallNode (location: (195,0)-(195,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -4603,8 +4604,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ CapturePatternNode (location: (195,7)-(195,17)) │ │ ├── value: @@ -4635,15 +4635,16 @@ │ ├── operator_loc: (197,14)-(197,15) = "=" │ └── value: │ @ ArrayNode (location: (197,16)-(197,20)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (197,16)-(197,17)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (197,19)-(197,20)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ └── @ CallNode (location: (198,0)-(200,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -4651,47 +4652,46 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (198,4)-(200,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (199,2)-(199,29)) - │ │ └── body: (length: 1) - │ │ └── @ MatchRequiredNode (location: (199,2)-(199,29)) - │ │ ├── value: - │ │ │ @ ArrayNode (location: (199,2)-(199,8)) - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (199,3)-(199,4)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (199,6)-(199,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (199,2)-(199,3) = "[" - │ │ │ ├── closing_loc: (199,7)-(199,8) = "]" - │ │ │ └── flags: ∅ - │ │ ├── pattern: - │ │ │ @ CapturePatternNode (location: (199,12)-(199,29)) - │ │ │ ├── value: - │ │ │ │ @ ArrayPatternNode (location: (199,12)-(199,22)) - │ │ │ │ ├── constant: ∅ - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (199,13)-(199,16)) - │ │ │ │ │ │ ├── name: :foo - │ │ │ │ │ │ └── depth: 1 - │ │ │ │ │ └── @ LocalVariableTargetNode (location: (199,18)-(199,21)) - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ └── depth: 1 - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── opening_loc: (199,12)-(199,13) = "[" - │ │ │ │ └── closing_loc: (199,21)-(199,22) = "]" - │ │ │ ├── target: - │ │ │ │ @ LocalVariableTargetNode (location: (199,26)-(199,29)) - │ │ │ │ ├── name: :baz - │ │ │ │ └── depth: 1 - │ │ │ └── operator_loc: (199,23)-(199,25) = "=>" - │ │ └── operator_loc: (199,9)-(199,11) = "=>" - │ ├── opening_loc: (198,4)-(198,6) = "do" - │ └── closing_loc: (200,0)-(200,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (198,4)-(200,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (199,2)-(199,29)) + │ └── body: (length: 1) + │ └── @ MatchRequiredNode (location: (199,2)-(199,29)) + │ ├── value: + │ │ @ ArrayNode (location: (199,2)-(199,8)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 2) + │ │ │ ├── @ IntegerNode (location: (199,3)-(199,4)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (199,6)-(199,7)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (199,2)-(199,3) = "[" + │ │ └── closing_loc: (199,7)-(199,8) = "]" + │ ├── pattern: + │ │ @ CapturePatternNode (location: (199,12)-(199,29)) + │ │ ├── value: + │ │ │ @ ArrayPatternNode (location: (199,12)-(199,22)) + │ │ │ ├── constant: ∅ + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ LocalVariableTargetNode (location: (199,13)-(199,16)) + │ │ │ │ │ ├── name: :foo + │ │ │ │ │ └── depth: 1 + │ │ │ │ └── @ LocalVariableTargetNode (location: (199,18)-(199,21)) + │ │ │ │ ├── name: :bar + │ │ │ │ └── depth: 1 + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── opening_loc: (199,12)-(199,13) = "[" + │ │ │ └── closing_loc: (199,21)-(199,22) = "]" + │ │ ├── target: + │ │ │ @ LocalVariableTargetNode (location: (199,26)-(199,29)) + │ │ │ ├── name: :baz + │ │ │ └── depth: 1 + │ │ └── operator_loc: (199,23)-(199,25) = "=>" + │ └── operator_loc: (199,9)-(199,11) = "=>" + ├── opening_loc: (198,4)-(198,6) = "do" + └── closing_loc: (200,0)-(200,3) = "end" diff --git a/test/prism/snapshots/procs.txt b/test/prism/snapshots/procs.txt index 66b5cf3b1f..3080af8312 100644 --- a/test/prism/snapshots/procs.txt +++ b/test/prism/snapshots/procs.txt @@ -97,6 +97,7 @@ │ @ StatementsNode (location: (13,5)-(13,8)) │ └── body: (length: 1) │ └── @ CallNode (location: (13,5)-(13,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -104,8 +105,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ LambdaNode (location: (15,0)-(15,15)) │ ├── locals: [] │ ├── locals_body_index: 0 @@ -117,6 +117,7 @@ │ @ StatementsNode (location: (15,7)-(15,10)) │ └── body: (length: 1) │ └── @ CallNode (location: (15,7)-(15,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -124,8 +125,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ LambdaNode (location: (17,0)-(17,29)) │ ├── locals: [:a, :b, :c, :d, :e] │ ├── locals_body_index: 5 @@ -328,6 +328,7 @@ │ @ StatementsNode (location: (25,16)-(25,21)) │ └── body: (length: 1) │ └── @ CallNode (location: (25,16)-(25,21)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (25,16)-(25,17)) │ │ ├── name: :a @@ -338,14 +339,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (25,20)-(25,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21)) - │ │ │ ├── name: :b - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21)) + │ │ ├── name: :b + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ LambdaNode (location: (27,0)-(27,19)) ├── locals: [:a, :b, :c] ├── locals_body_index: 3 diff --git a/test/prism/snapshots/range_begin_open_exclusive.txt b/test/prism/snapshots/range_begin_open_exclusive.txt index e4842729f1..0ac4d10bf7 100644 --- a/test/prism/snapshots/range_begin_open_exclusive.txt +++ b/test/prism/snapshots/range_begin_open_exclusive.txt @@ -4,9 +4,9 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) + ├── flags: exclude_end ├── left: ∅ ├── right: │ @ IntegerNode (location: (1,3)-(1,4)) │ └── flags: decimal - ├── operator_loc: (1,0)-(1,3) = "..." - └── flags: exclude_end + └── operator_loc: (1,0)-(1,3) = "..." diff --git a/test/prism/snapshots/range_begin_open_inclusive.txt b/test/prism/snapshots/range_begin_open_inclusive.txt index 1d9c64ec97..1cba894221 100644 --- a/test/prism/snapshots/range_begin_open_inclusive.txt +++ b/test/prism/snapshots/range_begin_open_inclusive.txt @@ -4,9 +4,9 @@ @ StatementsNode (location: (1,0)-(1,3)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,3)) + ├── flags: ∅ ├── left: ∅ ├── right: │ @ IntegerNode (location: (1,2)-(1,3)) │ └── flags: decimal - ├── operator_loc: (1,0)-(1,2) = ".." - └── flags: ∅ + └── operator_loc: (1,0)-(1,2) = ".." diff --git a/test/prism/snapshots/range_end_open_exclusive.txt b/test/prism/snapshots/range_end_open_exclusive.txt index defd76783e..76b8eb197e 100644 --- a/test/prism/snapshots/range_end_open_exclusive.txt +++ b/test/prism/snapshots/range_end_open_exclusive.txt @@ -4,9 +4,9 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) + ├── flags: exclude_end ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── right: ∅ - ├── operator_loc: (1,1)-(1,4) = "..." - └── flags: exclude_end + └── operator_loc: (1,1)-(1,4) = "..." diff --git a/test/prism/snapshots/range_end_open_inclusive.txt b/test/prism/snapshots/range_end_open_inclusive.txt index ee51b81e51..576ea40fa5 100644 --- a/test/prism/snapshots/range_end_open_inclusive.txt +++ b/test/prism/snapshots/range_end_open_inclusive.txt @@ -4,9 +4,9 @@ @ StatementsNode (location: (1,0)-(1,3)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,3)) + ├── flags: ∅ ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── right: ∅ - ├── operator_loc: (1,1)-(1,3) = ".." - └── flags: ∅ + └── operator_loc: (1,1)-(1,3) = ".." diff --git a/test/prism/snapshots/ranges.txt b/test/prism/snapshots/ranges.txt index f52f93633c..009738ad64 100644 --- a/test/prism/snapshots/ranges.txt +++ b/test/prism/snapshots/ranges.txt @@ -8,12 +8,12 @@ │ │ @ StatementsNode (location: (1,1)-(1,5)) │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (1,1)-(1,5)) + │ │ ├── flags: exclude_end │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (1,4)-(1,5)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (1,1)-(1,4) = "..." - │ │ └── flags: exclude_end + │ │ └── operator_loc: (1,1)-(1,4) = "..." │ ├── opening_loc: (1,0)-(1,1) = "(" │ └── closing_loc: (1,5)-(1,6) = ")" ├── @ ParenthesesNode (location: (3,0)-(3,5)) @@ -21,26 +21,28 @@ │ │ @ StatementsNode (location: (3,1)-(3,4)) │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (3,1)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (3,3)-(3,4)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (3,1)-(3,3) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (3,1)-(3,3) = ".." │ ├── opening_loc: (3,0)-(3,1) = "(" │ └── closing_loc: (3,4)-(3,5) = ")" ├── @ RangeNode (location: (5,0)-(5,5)) + │ ├── flags: exclude_end │ ├── left: │ │ @ IntegerNode (location: (5,0)-(5,1)) │ │ └── flags: decimal │ ├── right: │ │ @ IntegerNode (location: (5,4)-(5,5)) │ │ └── flags: decimal - │ ├── operator_loc: (5,1)-(5,4) = "..." - │ └── flags: exclude_end + │ └── operator_loc: (5,1)-(5,4) = "..." ├── @ CallNode (location: (7,0)-(7,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -48,26 +50,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :[] │ ├── message_loc: (7,3)-(7,9) = "[...2]" │ ├── opening_loc: (7,3)-(7,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,4)-(7,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ RangeNode (location: (7,4)-(7,8)) - │ │ │ ├── left: ∅ - │ │ │ ├── right: - │ │ │ │ @ IntegerNode (location: (7,7)-(7,8)) - │ │ │ │ └── flags: decimal - │ │ │ ├── operator_loc: (7,4)-(7,7) = "..." - │ │ │ └── flags: exclude_end - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ RangeNode (location: (7,4)-(7,8)) + │ │ ├── flags: exclude_end + │ │ ├── left: ∅ + │ │ ├── right: + │ │ │ @ IntegerNode (location: (7,7)-(7,8)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (7,4)-(7,7) = "..." │ ├── closing_loc: (7,8)-(7,9) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ HashNode (location: (9,0)-(9,15)) │ ├── opening_loc: (9,0)-(9,1) = "{" │ ├── elements: (length: 1) @@ -80,9 +80,11 @@ │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ RangeNode (location: (9,7)-(9,13)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (9,10)-(9,13)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -90,10 +92,8 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (9,7)-(9,10) = "..." - │ │ │ └── flags: exclude_end + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (9,7)-(9,10) = "..." │ │ └── operator_loc: ∅ │ └── closing_loc: (9,14)-(9,15) = "}" ├── @ ParenthesesNode (location: (11,0)-(11,6)) @@ -101,23 +101,23 @@ │ │ @ StatementsNode (location: (11,1)-(11,5)) │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (11,1)-(11,5)) + │ │ ├── flags: exclude_end │ │ ├── left: │ │ │ @ IntegerNode (location: (11,1)-(11,2)) │ │ │ └── flags: decimal │ │ ├── right: ∅ - │ │ ├── operator_loc: (11,2)-(11,5) = "..." - │ │ └── flags: exclude_end + │ │ └── operator_loc: (11,2)-(11,5) = "..." │ ├── opening_loc: (11,0)-(11,1) = "(" │ └── closing_loc: (11,5)-(11,6) = ")" ├── @ RangeNode (location: (13,0)-(13,4)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (13,0)-(13,1)) │ │ └── flags: decimal │ ├── right: │ │ @ IntegerNode (location: (13,3)-(13,4)) │ │ └── flags: decimal - │ ├── operator_loc: (13,1)-(13,3) = ".." - │ └── flags: ∅ + │ └── operator_loc: (13,1)-(13,3) = ".." ├── @ HashNode (location: (15,0)-(15,14)) │ ├── opening_loc: (15,0)-(15,1) = "{" │ ├── elements: (length: 1) @@ -130,9 +130,11 @@ │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ RangeNode (location: (15,7)-(15,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── left: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (15,9)-(15,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -140,10 +142,8 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (15,7)-(15,9) = ".." - │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (15,7)-(15,9) = ".." │ │ └── operator_loc: ∅ │ └── closing_loc: (15,13)-(15,14) = "}" ├── @ ParenthesesNode (location: (17,0)-(17,5)) @@ -151,25 +151,25 @@ │ │ @ StatementsNode (location: (17,1)-(17,4)) │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (17,1)-(17,4)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (17,1)-(17,2)) │ │ │ └── flags: decimal │ │ ├── right: ∅ - │ │ ├── operator_loc: (17,2)-(17,4) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (17,2)-(17,4) = ".." │ ├── opening_loc: (17,0)-(17,1) = "(" │ └── closing_loc: (17,4)-(17,5) = ")" └── @ RangeNode (location: (19,0)-(19,8)) + ├── flags: ∅ ├── left: │ @ IntegerNode (location: (19,0)-(19,1)) │ └── flags: decimal ├── right: │ @ RangeNode (location: (19,5)-(19,8)) + │ ├── flags: ∅ │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (19,7)-(19,8)) │ │ └── flags: decimal - │ ├── operator_loc: (19,5)-(19,7) = ".." - │ └── flags: ∅ - ├── operator_loc: (19,2)-(19,4) = ".." - └── flags: ∅ + │ └── operator_loc: (19,5)-(19,7) = ".." + └── operator_loc: (19,2)-(19,4) = ".." diff --git a/test/prism/snapshots/regex.txt b/test/prism/snapshots/regex.txt index e25e4dd262..318c1a832a 100644 --- a/test/prism/snapshots/regex.txt +++ b/test/prism/snapshots/regex.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(40,24)) └── body: (length: 21) ├── @ CallNode (location: (1,0)-(1,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,30 +12,30 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ RegularExpressionNode (location: (1,4)-(1,9)) - │ │ │ ├── opening_loc: (1,4)-(1,5) = "/" - │ │ │ ├── content_loc: (1,5)-(1,8) = "bar" - │ │ │ ├── closing_loc: (1,8)-(1,9) = "/" - │ │ │ ├── unescaped: "bar" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ RegularExpressionNode (location: (1,4)-(1,9)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,4)-(1,5) = "/" + │ │ ├── content_loc: (1,5)-(1,8) = "bar" + │ │ ├── closing_loc: (1,8)-(1,9) = "/" + │ │ └── unescaped: "bar" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ RegularExpressionNode (location: (3,0)-(3,8)) + │ ├── flags: ignore_case │ ├── opening_loc: (3,0)-(3,3) = "%r{" │ ├── content_loc: (3,3)-(3,6) = "abc" │ ├── closing_loc: (3,6)-(3,8) = "}i" - │ ├── unescaped: "abc" - │ └── flags: ignore_case + │ └── unescaped: "abc" ├── @ RegularExpressionNode (location: (5,0)-(5,5)) + │ ├── flags: ∅ │ ├── opening_loc: (5,0)-(5,1) = "/" │ ├── content_loc: (5,1)-(5,4) = "a\\b" │ ├── closing_loc: (5,4)-(5,5) = "/" - │ ├── unescaped: "a\\b" - │ └── flags: ∅ + │ └── unescaped: "a\\b" ├── @ InterpolatedRegularExpressionNode (location: (7,0)-(7,11)) + │ ├── flags: ∅ │ ├── opening_loc: (7,0)-(7,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (7,1)-(7,5)) @@ -48,9 +49,9 @@ │ │ └── variable: │ │ @ GlobalVariableReadNode (location: (7,6)-(7,10)) │ │ └── name: :$bbb - │ ├── closing_loc: (7,10)-(7,11) = "/" - │ └── flags: ∅ + │ └── closing_loc: (7,10)-(7,11) = "/" ├── @ InterpolatedRegularExpressionNode (location: (9,0)-(9,16)) + │ ├── flags: ∅ │ ├── opening_loc: (9,0)-(9,1) = "/" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (9,1)-(9,5)) @@ -65,6 +66,7 @@ │ │ │ │ @ StatementsNode (location: (9,7)-(9,10)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (9,7)-(9,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bbb @@ -72,8 +74,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (9,10)-(9,11) = "}" │ │ └── @ StringNode (location: (9,11)-(9,15)) │ │ ├── flags: ∅ @@ -81,41 +82,41 @@ │ │ ├── content_loc: (9,11)-(9,15) = " ccc" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " ccc" - │ ├── closing_loc: (9,15)-(9,16) = "/" - │ └── flags: ∅ + │ └── closing_loc: (9,15)-(9,16) = "/" ├── @ ArrayNode (location: (11,0)-(11,27)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ MatchWriteNode (location: (11,1)-(11,21)) │ │ │ ├── call: │ │ │ │ @ CallNode (location: (11,1)-(11,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ RegularExpressionNode (location: (11,1)-(11,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (11,1)-(11,2) = "/" │ │ │ │ │ ├── content_loc: (11,2)-(11,13) = "(?<foo>bar)" │ │ │ │ │ ├── closing_loc: (11,13)-(11,14) = "/" - │ │ │ │ │ ├── unescaped: "(?<foo>bar)" - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ └── unescaped: "(?<foo>bar)" │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :=~ │ │ │ │ ├── message_loc: (11,15)-(11,17) = "=~" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (11,18)-(11,21)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :baz - │ │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :baz + │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ └── targets: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (11,5)-(11,8)) │ │ │ ├── name: :foo @@ -124,70 +125,70 @@ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── opening_loc: (11,0)-(11,1) = "[" - │ ├── closing_loc: (11,26)-(11,27) = "]" - │ └── flags: ∅ + │ └── closing_loc: (11,26)-(11,27) = "]" ├── @ RegularExpressionNode (location: (13,0)-(13,6)) + │ ├── flags: ignore_case │ ├── opening_loc: (13,0)-(13,1) = "/" │ ├── content_loc: (13,1)-(13,4) = "abc" │ ├── closing_loc: (13,4)-(13,6) = "/i" - │ ├── unescaped: "abc" - │ └── flags: ignore_case + │ └── unescaped: "abc" ├── @ RegularExpressionNode (location: (15,0)-(15,26)) + │ ├── flags: ignore_case │ ├── opening_loc: (15,0)-(15,3) = "%r/" │ ├── content_loc: (15,3)-(15,24) = "[a-z$._?][\\w$.?\#@~]*:" │ ├── closing_loc: (15,24)-(15,26) = "/i" - │ ├── unescaped: "[a-z$._?][\\w$.?\#@~]*:" - │ └── flags: ignore_case + │ └── unescaped: "[a-z$._?][\\w$.?\#@~]*:" ├── @ RegularExpressionNode (location: (17,0)-(17,37)) + │ ├── flags: ignore_case │ ├── opening_loc: (17,0)-(17,3) = "%r/" │ ├── content_loc: (17,3)-(17,35) = "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)" │ ├── closing_loc: (17,35)-(17,37) = "/i" - │ ├── unescaped: "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)" - │ └── flags: ignore_case + │ └── unescaped: "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)" ├── @ RegularExpressionNode (location: (19,0)-(19,25)) + │ ├── flags: ignore_case │ ├── opening_loc: (19,0)-(19,3) = "%r/" │ ├── content_loc: (19,3)-(19,23) = "[a-z$._?][\\w$.?\#@~]*" │ ├── closing_loc: (19,23)-(19,25) = "/i" - │ ├── unescaped: "[a-z$._?][\\w$.?\#@~]*" - │ └── flags: ignore_case + │ └── unescaped: "[a-z$._?][\\w$.?\#@~]*" ├── @ RegularExpressionNode (location: (21,0)-(24,1)) + │ ├── flags: ∅ │ ├── opening_loc: (21,0)-(21,3) = "%r(" │ ├── content_loc: (21,3)-(24,0) = "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n" │ ├── closing_loc: (24,0)-(24,1) = ")" - │ ├── unescaped: "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n" - │ └── flags: ∅ + │ └── unescaped: "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n" ├── @ CallNode (location: (26,0)-(26,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ RegularExpressionNode (location: (26,0)-(26,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (26,0)-(26,1) = "/" │ │ ├── content_loc: (26,1)-(26,7) = "(?#\\))" │ │ ├── closing_loc: (26,7)-(26,8) = "/" - │ │ ├── unescaped: "(?#\\))" - │ │ └── flags: ∅ + │ │ └── unescaped: "(?#\\))" │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (26,9)-(26,11) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (26,12)-(26,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (26,12)-(26,16)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (26,12)-(26,13) = "\"" - │ │ │ ├── content_loc: (26,13)-(26,15) = "hi" - │ │ │ ├── closing_loc: (26,15)-(26,16) = "\"" - │ │ │ └── unescaped: "hi" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (26,12)-(26,16)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (26,12)-(26,13) = "\"" + │ │ ├── content_loc: (26,13)-(26,15) = "hi" + │ │ ├── closing_loc: (26,15)-(26,16) = "\"" + │ │ └── unescaped: "hi" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ RegularExpressionNode (location: (28,0)-(28,9)) + │ ├── flags: ∅ │ ├── opening_loc: (28,0)-(28,3) = "%r#" │ ├── content_loc: (28,3)-(28,8) = "pound" │ ├── closing_loc: (28,8)-(28,9) = "#" - │ ├── unescaped: "pound" - │ └── flags: ∅ + │ └── unescaped: "pound" ├── @ InterpolatedRegularExpressionNode (location: (30,0)-(30,13)) + │ ├── flags: once │ ├── opening_loc: (30,0)-(30,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (30,1)-(30,5)) @@ -202,6 +203,7 @@ │ │ │ @ StatementsNode (location: (30,7)-(30,10)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (30,7)-(30,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bbb @@ -209,38 +211,36 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (30,10)-(30,11) = "}" - │ ├── closing_loc: (30,11)-(30,13) = "/o" - │ └── flags: once + │ └── closing_loc: (30,11)-(30,13) = "/o" ├── @ MatchWriteNode (location: (32,0)-(33,10)) │ ├── call: │ │ @ CallNode (location: (32,0)-(33,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (32,0)-(33,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (32,0)-(32,1) = "/" │ │ │ ├── content_loc: (32,1)-(33,3) = "(?<a\\\nb>)" │ │ │ ├── closing_loc: (33,3)-(33,4) = "/" - │ │ │ ├── unescaped: "(?<ab>)" - │ │ │ └── flags: ∅ + │ │ │ └── unescaped: "(?<ab>)" │ │ ├── call_operator_loc: ∅ │ │ ├── name: :=~ │ │ ├── message_loc: (33,5)-(33,7) = "=~" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (33,8)-(33,10)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (33,8)-(33,10)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (33,8)-(33,9) = "\"" - │ │ │ │ ├── content_loc: (33,9)-(33,9) = "" - │ │ │ │ ├── closing_loc: (33,9)-(33,10) = "\"" - │ │ │ │ └── unescaped: "" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (33,8)-(33,10)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (33,8)-(33,9) = "\"" + │ │ │ ├── content_loc: (33,9)-(33,9) = "" + │ │ │ ├── closing_loc: (33,9)-(33,10) = "\"" + │ │ │ └── unescaped: "" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (32,0)-(33,4)) │ ├── name: :ab @@ -251,30 +251,30 @@ ├── @ MatchWriteNode (location: (35,0)-(35,24)) │ ├── call: │ │ @ CallNode (location: (35,0)-(35,24)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (35,0)-(35,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (35,0)-(35,1) = "/" │ │ │ ├── content_loc: (35,1)-(35,17) = "(?<abc>)(?<abc>)" │ │ │ ├── closing_loc: (35,17)-(35,18) = "/" - │ │ │ ├── unescaped: "(?<abc>)(?<abc>)" - │ │ │ └── flags: ∅ + │ │ │ └── unescaped: "(?<abc>)(?<abc>)" │ │ ├── call_operator_loc: ∅ │ │ ├── name: :=~ │ │ ├── message_loc: (35,19)-(35,21) = "=~" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (35,22)-(35,24)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (35,22)-(35,24)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (35,22)-(35,23) = "\"" - │ │ │ │ ├── content_loc: (35,23)-(35,23) = "" - │ │ │ │ ├── closing_loc: (35,23)-(35,24) = "\"" - │ │ │ │ └── unescaped: "" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (35,22)-(35,24)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (35,22)-(35,23) = "\"" + │ │ │ ├── content_loc: (35,23)-(35,23) = "" + │ │ │ ├── closing_loc: (35,23)-(35,24) = "\"" + │ │ │ └── unescaped: "" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (35,4)-(35,7)) │ ├── name: :abc @@ -283,30 +283,30 @@ │ ├── name: :abc │ └── depth: 0 ├── @ CallNode (location: (37,0)-(37,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ RegularExpressionNode (location: (37,0)-(37,10)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (37,0)-(37,1) = "/" │ │ ├── content_loc: (37,1)-(37,9) = "(?<a b>)" │ │ ├── closing_loc: (37,9)-(37,10) = "/" - │ │ ├── unescaped: "(?<a b>)" - │ │ └── flags: ∅ + │ │ └── unescaped: "(?<a b>)" │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (37,11)-(37,13) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (37,14)-(37,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (37,14)-(37,16)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (37,14)-(37,15) = "\"" - │ │ │ ├── content_loc: (37,15)-(37,15) = "" - │ │ │ ├── closing_loc: (37,15)-(37,16) = "\"" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (37,14)-(37,16)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (37,14)-(37,15) = "\"" + │ │ ├── content_loc: (37,15)-(37,15) = "" + │ │ ├── closing_loc: (37,15)-(37,16) = "\"" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (39,0)-(39,5)) │ ├── name: :a │ ├── depth: 0 @@ -316,6 +316,7 @@ │ │ └── flags: decimal │ └── operator_loc: (39,2)-(39,3) = "=" └── @ CallNode (location: (40,0)-(40,24)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -323,49 +324,48 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (40,4)-(40,24)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (40,6)-(40,22)) - │ │ └── body: (length: 1) - │ │ └── @ MatchWriteNode (location: (40,6)-(40,22)) - │ │ ├── call: - │ │ │ @ CallNode (location: (40,6)-(40,22)) - │ │ │ ├── receiver: - │ │ │ │ @ RegularExpressionNode (location: (40,6)-(40,14)) - │ │ │ │ ├── opening_loc: (40,6)-(40,7) = "/" - │ │ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)" - │ │ │ │ ├── closing_loc: (40,13)-(40,14) = "/" - │ │ │ │ ├── unescaped: "(?<a>)" - │ │ │ │ └── flags: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :=~ - │ │ │ ├── message_loc: (40,15)-(40,17) = "=~" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (40,18)-(40,22)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (40,18)-(40,22)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :to_s - │ │ │ │ │ ├── message_loc: (40,18)-(40,22) = "to_s" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── targets: (length: 1) - │ │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11)) - │ │ ├── name: :a - │ │ └── depth: 1 - │ ├── opening_loc: (40,4)-(40,5) = "{" - │ └── closing_loc: (40,23)-(40,24) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (40,4)-(40,24)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (40,6)-(40,22)) + │ └── body: (length: 1) + │ └── @ MatchWriteNode (location: (40,6)-(40,22)) + │ ├── call: + │ │ @ CallNode (location: (40,6)-(40,22)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ RegularExpressionNode (location: (40,6)-(40,14)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (40,6)-(40,7) = "/" + │ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)" + │ │ │ ├── closing_loc: (40,13)-(40,14) = "/" + │ │ │ └── unescaped: "(?<a>)" + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :=~ + │ │ ├── message_loc: (40,15)-(40,17) = "=~" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (40,18)-(40,22)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (40,18)-(40,22)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :to_s + │ │ │ ├── message_loc: (40,18)-(40,22) = "to_s" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── targets: (length: 1) + │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11)) + │ ├── name: :a + │ └── depth: 1 + ├── opening_loc: (40,4)-(40,5) = "{" + └── closing_loc: (40,23)-(40,24) = "}" diff --git a/test/prism/snapshots/rescue.txt b/test/prism/snapshots/rescue.txt index 5a79cd7aa4..d8dc8d217f 100644 --- a/test/prism/snapshots/rescue.txt +++ b/test/prism/snapshots/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,14 +14,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (1,4)-(1,10) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (1,11)-(1,14)) ├── @ RescueModifierNode (location: (3,0)-(4,3)) │ ├── expression: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -28,8 +29,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (3,4)-(3,10) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (4,0)-(4,3)) @@ -60,6 +60,7 @@ ├── @ RescueModifierNode (location: (12,0)-(12,19)) │ ├── expression: │ │ @ CallNode (location: (12,0)-(12,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -67,8 +68,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (12,4)-(12,10) = "rescue" │ └── rescue_expression: │ @ OrNode (location: (12,11)-(12,19)) @@ -81,6 +81,7 @@ ├── @ RescueModifierNode (location: (14,0)-(14,22)) │ ├── expression: │ │ @ CallNode (location: (14,0)-(14,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -88,8 +89,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (14,4)-(14,10) = "rescue" │ └── rescue_expression: │ @ IfNode (location: (14,11)-(14,22)) @@ -118,6 +118,7 @@ │ │ @ StatementsNode (location: (16,7)-(16,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (16,7)-(16,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -125,8 +126,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (16,10)-(16,19)) │ │ ├── keyword_loc: (16,10)-(16,16) = "rescue" @@ -135,6 +135,7 @@ │ │ │ ├── operator_loc: (16,17)-(16,18) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (16,18)-(16,19)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -142,8 +143,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: ∅ @@ -152,6 +152,7 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (16,21)-(16,24) = "end" ├── @ CallNode (location: (18,0)-(20,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -159,91 +160,90 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (18,4)-(20,3)) - │ │ ├── locals: [:x] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (18,7)-(18,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (18,8)-(18,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9)) - │ │ │ │ │ └── name: :x - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (18,7)-(18,8) = "|" - │ │ │ └── closing_loc: (18,9)-(18,10) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (19,2)-(19,40)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ RescueModifierNode (location: (19,2)-(19,40)) - │ │ │ ├── expression: - │ │ │ │ @ CallNode (location: (19,2)-(19,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (19,2)-(19,5) = "bar" - │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :y - │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue" - │ │ │ └── rescue_expression: - │ │ │ @ CallNode (location: (19,16)-(19,40)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :ArgumentError - │ │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (19,30)-(19,40)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (19,30)-(19,40)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :fail - │ │ │ │ │ ├── message_loc: (19,30)-(19,34) = "fail" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ StringNode (location: (19,35)-(19,40)) - │ │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\"" - │ │ │ │ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz" - │ │ │ │ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\"" - │ │ │ │ │ │ │ └── unescaped: "baz" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (18,4)-(18,6) = "do" - │ │ └── closing_loc: (20,0)-(20,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (18,4)-(20,3)) + │ ├── locals: [:x] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (18,7)-(18,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (18,8)-(18,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9)) + │ │ │ │ └── name: :x + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (18,7)-(18,8) = "|" + │ │ └── closing_loc: (18,9)-(18,10) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (19,2)-(19,40)) + │ │ └── body: (length: 1) + │ │ └── @ RescueModifierNode (location: (19,2)-(19,40)) + │ │ ├── expression: + │ │ │ @ CallNode (location: (19,2)-(19,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (19,2)-(19,5) = "bar" + │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :y + │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" + │ │ │ └── block: ∅ + │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue" + │ │ └── rescue_expression: + │ │ @ CallNode (location: (19,16)-(19,40)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :ArgumentError + │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (19,30)-(19,40)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (19,30)-(19,40)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :fail + │ │ │ ├── message_loc: (19,30)-(19,34) = "fail" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ StringNode (location: (19,35)-(19,40)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\"" + │ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz" + │ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\"" + │ │ │ │ └── unescaped: "baz" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (18,4)-(18,6) = "do" + │ └── closing_loc: (20,0)-(20,3) = "end" ├── @ IfNode (location: (22,0)-(24,3)) │ ├── if_keyword_loc: (22,0)-(22,2) = "if" │ ├── predicate: @@ -255,6 +255,7 @@ │ │ │ @ RescueModifierNode (location: (22,7)-(22,21)) │ │ │ ├── expression: │ │ │ │ @ CallNode (location: (22,7)-(22,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -262,8 +263,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── keyword_loc: (22,11)-(22,17) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ NilNode (location: (22,18)-(22,21)) @@ -273,6 +273,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 @@ -280,8 +281,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ DefNode (location: (26,0)-(26,44)) @@ -295,6 +295,7 @@ │ │ └── @ RescueModifierNode (location: (26,18)-(26,44)) │ │ ├── expression: │ │ │ @ CallNode (location: (26,18)-(26,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :other_method @@ -302,13 +303,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (26,31)-(26,33)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (26,34)-(26,40) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (26,41)-(26,44)) @@ -332,6 +332,7 @@ │ │ @ StatementsNode (location: (29,2)-(29,6)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (29,2)-(29,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -339,34 +340,33 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (29,4)-(29,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocNode (location: (29,4)-(29,6)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (29,4)-(29,6)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b" - │ │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6)) - │ │ │ │ │ └── value: - │ │ │ │ │ @ CallNode (location: (29,4)-(29,6)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6)) + │ │ │ └── elements: (length: 1) + │ │ │ └── @ AssocNode (location: (29,4)-(29,6)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (29,4)-(29,6)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b" + │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6)) + │ │ │ │ └── value: + │ │ │ │ @ CallNode (location: (29,4)-(29,6)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b + │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (30,0)-(30,6)) │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue" diff --git a/test/prism/snapshots/return.txt b/test/prism/snapshots/return.txt index 455494323e..647ae1af9d 100644 --- a/test/prism/snapshots/return.txt +++ b/test/prism/snapshots/return.txt @@ -10,129 +10,129 @@ │ ├── keyword_loc: (3,0)-(3,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (3,7)-(3,20)) - │ ├── arguments: (length: 3) - │ │ ├── @ ParenthesesNode (location: (3,7)-(3,10)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,8)-(3,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (3,7)-(3,8) = "(" - │ │ │ └── closing_loc: (3,9)-(3,10) = ")" - │ │ ├── @ ParenthesesNode (location: (3,12)-(3,15)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,13)-(3,14)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,13)-(3,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (3,12)-(3,13) = "(" - │ │ │ └── closing_loc: (3,14)-(3,15) = ")" - │ │ └── @ ParenthesesNode (location: (3,17)-(3,20)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (3,18)-(3,19)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (3,18)-(3,19)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (3,17)-(3,18) = "(" - │ │ └── closing_loc: (3,19)-(3,20) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ ParenthesesNode (location: (3,7)-(3,10)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,8)-(3,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (3,7)-(3,8) = "(" + │ │ └── closing_loc: (3,9)-(3,10) = ")" + │ ├── @ ParenthesesNode (location: (3,12)-(3,15)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,13)-(3,14)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,13)-(3,14)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (3,12)-(3,13) = "(" + │ │ └── closing_loc: (3,14)-(3,15) = ")" + │ └── @ ParenthesesNode (location: (3,17)-(3,20)) + │ ├── body: + │ │ @ StatementsNode (location: (3,18)-(3,19)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (3,18)-(3,19)) + │ │ └── flags: decimal + │ ├── opening_loc: (3,17)-(3,18) = "(" + │ └── closing_loc: (3,19)-(3,20) = ")" ├── @ ReturnNode (location: (5,0)-(5,9)) │ ├── keyword_loc: (5,0)-(5,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (5,7)-(5,9)) - │ ├── arguments: (length: 1) - │ │ └── @ SplatNode (location: (5,7)-(5,9)) - │ │ ├── operator_loc: (5,7)-(5,8) = "*" - │ │ └── expression: - │ │ @ IntegerNode (location: (5,8)-(5,9)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ SplatNode (location: (5,7)-(5,9)) + │ ├── operator_loc: (5,7)-(5,8) = "*" + │ └── expression: + │ @ IntegerNode (location: (5,8)-(5,9)) + │ └── flags: decimal ├── @ ReturnNode (location: (7,0)-(7,8)) │ ├── keyword_loc: (7,0)-(7,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (7,7)-(7,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (7,7)-(7,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (7,7)-(7,8)) + │ └── flags: decimal ├── @ ReturnNode (location: (9,0)-(10,1)) │ ├── keyword_loc: (9,0)-(9,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (9,7)-(10,1)) - │ ├── arguments: (length: 3) - │ │ ├── @ IntegerNode (location: (9,7)-(9,8)) - │ │ │ └── flags: decimal - │ │ ├── @ IntegerNode (location: (9,10)-(9,11)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (10,0)-(10,1)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ IntegerNode (location: (9,7)-(9,8)) + │ │ └── flags: decimal + │ ├── @ IntegerNode (location: (9,10)-(9,11)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (10,0)-(10,1)) + │ └── flags: decimal ├── @ ReturnNode (location: (12,0)-(12,14)) │ ├── keyword_loc: (12,0)-(12,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (12,7)-(12,14)) - │ ├── arguments: (length: 3) - │ │ ├── @ IntegerNode (location: (12,7)-(12,8)) - │ │ │ └── flags: decimal - │ │ ├── @ IntegerNode (location: (12,10)-(12,11)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (12,13)-(12,14)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ IntegerNode (location: (12,7)-(12,8)) + │ │ └── flags: decimal + │ ├── @ IntegerNode (location: (12,10)-(12,11)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (12,13)-(12,14)) + │ └── flags: decimal ├── @ ReturnNode (location: (14,0)-(14,16)) │ ├── keyword_loc: (14,0)-(14,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (14,7)-(14,16)) - │ ├── arguments: (length: 1) - │ │ └── @ ArrayNode (location: (14,7)-(14,16)) - │ │ ├── elements: (length: 3) - │ │ │ ├── @ IntegerNode (location: (14,8)-(14,9)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (14,11)-(14,12)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (14,14)-(14,15)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (14,7)-(14,8) = "[" - │ │ ├── closing_loc: (14,15)-(14,16) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ArrayNode (location: (14,7)-(14,16)) + │ ├── flags: ∅ + │ ├── elements: (length: 3) + │ │ ├── @ IntegerNode (location: (14,8)-(14,9)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (14,11)-(14,12)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (14,14)-(14,15)) + │ │ └── flags: decimal + │ ├── opening_loc: (14,7)-(14,8) = "[" + │ └── closing_loc: (14,15)-(14,16) = "]" ├── @ ReturnNode (location: (16,0)-(19,1)) │ ├── keyword_loc: (16,0)-(16,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (16,6)-(19,1)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (16,6)-(19,1)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (17,2)-(18,3)) - │ │ │ └── body: (length: 2) - │ │ │ ├── @ IntegerNode (location: (17,2)-(17,3)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (18,2)-(18,3)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (16,6)-(16,7) = "(" - │ │ └── closing_loc: (19,0)-(19,1) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (16,6)-(19,1)) + │ ├── body: + │ │ @ StatementsNode (location: (17,2)-(18,3)) + │ │ └── body: (length: 2) + │ │ ├── @ IntegerNode (location: (17,2)-(17,3)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (18,2)-(18,3)) + │ │ └── flags: decimal + │ ├── opening_loc: (16,6)-(16,7) = "(" + │ └── closing_loc: (19,0)-(19,1) = ")" ├── @ ReturnNode (location: (21,0)-(21,8)) │ ├── keyword_loc: (21,0)-(21,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (21,6)-(21,8)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (21,6)-(21,8)) - │ │ ├── body: ∅ - │ │ ├── opening_loc: (21,6)-(21,7) = "(" - │ │ └── closing_loc: (21,7)-(21,8) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (21,6)-(21,8)) + │ ├── body: ∅ + │ ├── opening_loc: (21,6)-(21,7) = "(" + │ └── closing_loc: (21,7)-(21,8) = ")" └── @ ReturnNode (location: (23,0)-(23,9)) ├── keyword_loc: (23,0)-(23,6) = "return" └── arguments: @ ArgumentsNode (location: (23,6)-(23,9)) - ├── arguments: (length: 1) - │ └── @ ParenthesesNode (location: (23,6)-(23,9)) - │ ├── body: - │ │ @ StatementsNode (location: (23,7)-(23,8)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (23,7)-(23,8)) - │ │ └── flags: decimal - │ ├── opening_loc: (23,6)-(23,7) = "(" - │ └── closing_loc: (23,8)-(23,9) = ")" - └── flags: ∅ + ├── flags: ∅ + └── arguments: (length: 1) + └── @ ParenthesesNode (location: (23,6)-(23,9)) + ├── body: + │ @ StatementsNode (location: (23,7)-(23,8)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (23,7)-(23,8)) + │ └── flags: decimal + ├── opening_loc: (23,6)-(23,7) = "(" + └── closing_loc: (23,8)-(23,9) = ")" diff --git a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt index 56e892bc89..5b8731c191 100644 --- a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt +++ b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt @@ -4,11 +4,12 @@ @ StatementsNode (location: (1,0)-(92,1)) └── body: (length: 16) ├── @ ArrayNode (location: (1,0)-(4,1)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%I[" - │ ├── closing_loc: (4,0)-(4,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (4,0)-(4,1) = "]" ├── @ ArrayNode (location: (6,0)-(9,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (7,0)-(7,5)) │ │ │ ├── opening_loc: ∅ @@ -21,14 +22,14 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (6,0)-(6,3) = "%I[" - │ ├── closing_loc: (9,0)-(9,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (9,0)-(9,1) = "]" ├── @ ArrayNode (location: (11,0)-(14,1)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (11,0)-(11,3) = "%W[" - │ ├── closing_loc: (14,0)-(14,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (14,0)-(14,1) = "]" ├── @ ArrayNode (location: (16,0)-(19,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (17,0)-(17,5)) │ │ │ ├── flags: ∅ @@ -43,14 +44,14 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (16,0)-(16,3) = "%W[" - │ ├── closing_loc: (19,0)-(19,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (19,0)-(19,1) = "]" ├── @ ArrayNode (location: (21,0)-(24,1)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (21,0)-(21,3) = "%i[" - │ ├── closing_loc: (24,0)-(24,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (24,0)-(24,1) = "]" ├── @ ArrayNode (location: (26,0)-(29,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (27,0)-(27,5)) │ │ │ ├── opening_loc: ∅ @@ -63,20 +64,20 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (26,0)-(26,3) = "%i[" - │ ├── closing_loc: (29,0)-(29,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (29,0)-(29,1) = "]" ├── @ RegularExpressionNode (location: (31,0)-(34,1)) + │ ├── flags: ∅ │ ├── opening_loc: (31,0)-(31,3) = "%r[" │ ├── content_loc: (31,3)-(34,0) = "\n\n\n" │ ├── closing_loc: (34,0)-(34,1) = "]" - │ ├── unescaped: "\n\n\n" - │ └── flags: ∅ + │ └── unescaped: "\n\n\n" ├── @ ArrayNode (location: (36,0)-(39,1)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (36,0)-(36,3) = "%w[" - │ ├── closing_loc: (39,0)-(39,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (39,0)-(39,1) = "]" ├── @ ArrayNode (location: (41,0)-(44,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (42,0)-(42,5)) │ │ │ ├── flags: ∅ @@ -91,9 +92,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (41,0)-(41,3) = "%w[" - │ ├── closing_loc: (44,0)-(44,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (44,0)-(44,1) = "]" ├── @ ArrayNode (location: (46,0)-(49,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (47,0)-(47,6)) │ │ │ ├── opening_loc: (47,0)-(47,1) = ":" @@ -106,8 +107,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (46,0)-(46,1) = "[" - │ ├── closing_loc: (49,0)-(49,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (49,0)-(49,1) = "]" ├── @ ClassNode (location: (51,0)-(56,3)) │ ├── locals: [] │ ├── class_keyword_loc: (51,0)-(51,5) = "class" @@ -141,6 +141,7 @@ │ │ │ @ StatementsNode (location: (54,4)-(54,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (54,4)-(54,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (54,4)-(54,5)) │ │ │ │ ├── name: :a @@ -151,14 +152,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (54,8)-(54,9)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9)) + │ │ │ │ ├── name: :b + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── locals: [:a, :b] │ │ ├── locals_body_index: 2 │ │ ├── def_keyword_loc: (52,2)-(52,5) = "def" @@ -234,6 +234,7 @@ │ │ │ @ StatementsNode (location: (69,4)-(69,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (69,4)-(69,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (69,4)-(69,5)) │ │ │ │ ├── name: :a @@ -244,14 +245,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (69,8)-(69,9)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9)) + │ │ │ │ ├── name: :b + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── locals: [:a, :b] │ │ ├── locals_body_index: 2 │ │ ├── def_keyword_loc: (67,2)-(67,5) = "def" @@ -276,6 +276,7 @@ │ │ ├── name_loc: (75,2)-(75,3) = "X" │ │ ├── value: │ │ │ @ ArrayNode (location: (75,6)-(78,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (76,4)-(76,10)) │ │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":" @@ -288,8 +289,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "line4" │ │ │ ├── opening_loc: (75,6)-(75,7) = "[" - │ │ │ ├── closing_loc: (78,2)-(78,3) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (78,2)-(78,3) = "]" │ │ └── operator_loc: (75,4)-(75,5) = "=" │ ├── end_keyword_loc: (79,0)-(79,3) = "end" │ └── name: :X @@ -323,6 +323,7 @@ │ ├── end_keyword_loc: (86,0)-(86,3) = "end" │ └── name: :X └── @ CallNode (location: (89,0)-(92,1)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -330,18 +331,17 @@ ├── opening_loc: (89,1)-(89,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (90,0)-(91,6)) - │ ├── arguments: (length: 2) - │ │ ├── @ SymbolNode (location: (90,0)-(90,6)) - │ │ │ ├── opening_loc: (90,0)-(90,1) = ":" - │ │ │ ├── value_loc: (90,1)-(90,6) = "line2" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "line2" - │ │ └── @ SymbolNode (location: (91,0)-(91,6)) - │ │ ├── opening_loc: (91,0)-(91,1) = ":" - │ │ ├── value_loc: (91,1)-(91,6) = "line3" - │ │ ├── closing_loc: ∅ - │ │ └── unescaped: "line3" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ SymbolNode (location: (90,0)-(90,6)) + │ │ ├── opening_loc: (90,0)-(90,1) = ":" + │ │ ├── value_loc: (90,1)-(90,6) = "line2" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "line2" + │ └── @ SymbolNode (location: (91,0)-(91,6)) + │ ├── opening_loc: (91,0)-(91,1) = ":" + │ ├── value_loc: (91,1)-(91,6) = "line3" + │ ├── closing_loc: ∅ + │ └── unescaped: "line3" ├── closing_loc: (92,0)-(92,1) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/and_multi.txt b/test/prism/snapshots/seattlerb/and_multi.txt index ab73ffd076..b60b131fd2 100644 --- a/test/prism/snapshots/seattlerb/and_multi.txt +++ b/test/prism/snapshots/seattlerb/and_multi.txt @@ -10,6 +10,7 @@ │ │ @ TrueNode (location: (1,0)-(1,4)) │ ├── right: │ │ @ CallNode (location: (2,0)-(2,9)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ FalseNode (location: (2,4)-(2,9)) │ │ ├── call_operator_loc: ∅ @@ -18,8 +19,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (1,5)-(1,8) = "and" ├── right: │ @ TrueNode (location: (3,0)-(3,4)) diff --git a/test/prism/snapshots/seattlerb/aref_args_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_assocs.txt index 79381cd827..b7f0446980 100644 --- a/test/prism/snapshots/seattlerb/aref_args_assocs.txt +++ b/test/prism/snapshots/seattlerb/aref_args_assocs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── elements: (length: 1) │ └── @ KeywordHashNode (location: (1,1)-(1,7)) │ └── elements: (length: 1) @@ -16,5 +17,4 @@ │ │ └── flags: decimal │ └── operator_loc: (1,3)-(1,5) = "=>" ├── opening_loc: (1,0)-(1,1) = "[" - ├── closing_loc: (1,7)-(1,8) = "]" - └── flags: ∅ + └── closing_loc: (1,7)-(1,8) = "]" diff --git a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt index c2dd80997f..8573d1d7b7 100644 --- a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt +++ b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,1)-(1,2)) │ │ └── flags: decimal @@ -18,5 +19,4 @@ │ │ └── flags: decimal │ └── operator_loc: (1,6)-(1,8) = "=>" ├── opening_loc: (1,0)-(1,1) = "[" - ├── closing_loc: (1,10)-(1,11) = "]" - └── flags: ∅ + └── closing_loc: (1,10)-(1,11) = "]" diff --git a/test/prism/snapshots/seattlerb/array_line_breaks.txt b/test/prism/snapshots/seattlerb/array_line_breaks.txt index 9008feb483..a08ee03052 100644 --- a/test/prism/snapshots/seattlerb/array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/array_line_breaks.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,1)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(3,4)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(2,3)) │ │ │ ├── flags: ∅ @@ -18,7 +19,6 @@ │ │ ├── closing_loc: (3,2)-(3,3) = "'" │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (3,3)-(3,4) = "]" - │ └── flags: ∅ + │ └── closing_loc: (3,3)-(3,4) = "]" └── @ IntegerNode (location: (4,0)-(4,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt index f67eb1fc16..d46a181fc7 100644 --- a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt +++ b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt @@ -4,32 +4,32 @@ @ StatementsNode (location: (1,0)-(3,4)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ArrayNode (location: (1,0)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,0)-(1,3) = "%w[" - │ │ ├── closing_loc: (1,3)-(1,4) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (1,3)-(1,4) = "]" │ ├── call_operator_loc: (1,4)-(1,5) = "." │ ├── name: :b │ ├── message_loc: (1,5)-(1,6) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,4)) + ├── flags: ∅ ├── receiver: │ @ ArrayNode (location: (3,0)-(3,2)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (3,0)-(3,1) = "[" - │ ├── closing_loc: (3,1)-(3,2) = "]" - │ └── flags: ∅ + │ └── closing_loc: (3,1)-(3,2) = "]" ├── call_operator_loc: (3,2)-(3,3) = "." ├── name: :b ├── message_loc: (3,3)-(3,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/assoc__bare.txt b/test/prism/snapshots/seattlerb/assoc__bare.txt index b5b3bc5f25..a6c77ca3bf 100644 --- a/test/prism/snapshots/seattlerb/assoc__bare.txt +++ b/test/prism/snapshots/seattlerb/assoc__bare.txt @@ -17,6 +17,7 @@ │ │ @ ImplicitNode (location: (1,2)-(1,4)) │ │ └── value: │ │ @ CallNode (location: (1,2)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :y @@ -24,7 +25,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: ∅ └── closing_loc: (1,5)-(1,6) = "}" diff --git a/test/prism/snapshots/seattlerb/assoc_label.txt b/test/prism/snapshots/seattlerb/assoc_label.txt index 6f79b2ca25..116635beb4 100644 --- a/test/prism/snapshots/seattlerb/assoc_label.txt +++ b/test/prism/snapshots/seattlerb/assoc_label.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,21 +12,20 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(1,5)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,2)-(1,5)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,2)-(1,3) = "b" - │ │ │ ├── closing_loc: (1,3)-(1,4) = ":" - │ │ │ └── unescaped: "b" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(1,5)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,2)-(1,5)) + │ ├── key: + │ │ @ SymbolNode (location: (1,2)-(1,4)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,2)-(1,3) = "b" + │ │ ├── closing_loc: (1,3)-(1,4) = ":" + │ │ └── unescaped: "b" + │ ├── value: + │ │ @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── operator_loc: ∅ ├── closing_loc: (1,5)-(1,6) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt index 43e32673c2..c8478c368b 100644 --- a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt +++ b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,7)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt index 89650b8d09..3b09e172e7 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,27 +15,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[]= ├── message_loc: (1,1)-(1,9) = "[[1, 2]]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,13)) - │ ├── arguments: (length: 2) - │ │ ├── @ ArrayNode (location: (1,2)-(1,8)) - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (1,3)-(1,4)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ │ ├── closing_loc: (1,7)-(1,8) = "]" - │ │ │ └── flags: ∅ - │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ ArrayNode (location: (1,2)-(1,8)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 2) + │ │ │ ├── @ IntegerNode (location: (1,3)-(1,4)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (1,2)-(1,3) = "[" + │ │ └── closing_loc: (1,7)-(1,8) = "]" + │ └── @ IntegerNode (location: (1,12)-(1,13)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt index 995f191a37..13615477df 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,42)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,42)) + ├── flags: ∅ ├── receiver: │ @ ArrayNode (location: (1,0)-(1,12)) + │ ├── flags: ∅ │ ├── elements: (length: 4) │ │ ├── @ IntegerNode (location: (1,1)-(1,2)) │ │ │ └── flags: decimal @@ -16,64 +18,62 @@ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) │ │ └── flags: decimal │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (1,11)-(1,12) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,11)-(1,12) = "]" ├── call_operator_loc: ∅ ├── name: :[]= ├── message_loc: (1,12)-(1,24) = "[from .. to]" ├── opening_loc: (1,12)-(1,13) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,13)-(1,42)) - │ ├── arguments: (length: 2) - │ │ ├── @ RangeNode (location: (1,13)-(1,23)) - │ │ │ ├── left: - │ │ │ │ @ CallNode (location: (1,13)-(1,17)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :from - │ │ │ │ ├── message_loc: (1,13)-(1,17) = "from" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── right: - │ │ │ │ @ CallNode (location: (1,21)-(1,23)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :to - │ │ │ │ ├── message_loc: (1,21)-(1,23) = "to" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (1,18)-(1,20) = ".." - │ │ │ └── flags: ∅ - │ │ └── @ ArrayNode (location: (1,27)-(1,42)) - │ │ ├── elements: (length: 3) - │ │ │ ├── @ StringNode (location: (1,28)-(1,31)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,28)-(1,29) = "\"" - │ │ │ │ ├── content_loc: (1,29)-(1,30) = "a" - │ │ │ │ ├── closing_loc: (1,30)-(1,31) = "\"" - │ │ │ │ └── unescaped: "a" - │ │ │ ├── @ StringNode (location: (1,33)-(1,36)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,33)-(1,34) = "\"" - │ │ │ │ ├── content_loc: (1,34)-(1,35) = "b" - │ │ │ │ ├── closing_loc: (1,35)-(1,36) = "\"" - │ │ │ │ └── unescaped: "b" - │ │ │ └── @ StringNode (location: (1,38)-(1,41)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,38)-(1,39) = "\"" - │ │ │ ├── content_loc: (1,39)-(1,40) = "c" - │ │ │ ├── closing_loc: (1,40)-(1,41) = "\"" - │ │ │ └── unescaped: "c" - │ │ ├── opening_loc: (1,27)-(1,28) = "[" - │ │ ├── closing_loc: (1,41)-(1,42) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ RangeNode (location: (1,13)-(1,23)) + │ │ ├── flags: ∅ + │ │ ├── left: + │ │ │ @ CallNode (location: (1,13)-(1,17)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :from + │ │ │ ├── message_loc: (1,13)-(1,17) = "from" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── right: + │ │ │ @ CallNode (location: (1,21)-(1,23)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :to + │ │ │ ├── message_loc: (1,21)-(1,23) = "to" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: (1,18)-(1,20) = ".." + │ └── @ ArrayNode (location: (1,27)-(1,42)) + │ ├── flags: ∅ + │ ├── elements: (length: 3) + │ │ ├── @ StringNode (location: (1,28)-(1,31)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,28)-(1,29) = "\"" + │ │ │ ├── content_loc: (1,29)-(1,30) = "a" + │ │ │ ├── closing_loc: (1,30)-(1,31) = "\"" + │ │ │ └── unescaped: "a" + │ │ ├── @ StringNode (location: (1,33)-(1,36)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,33)-(1,34) = "\"" + │ │ │ ├── content_loc: (1,34)-(1,35) = "b" + │ │ │ ├── closing_loc: (1,35)-(1,36) = "\"" + │ │ │ └── unescaped: "b" + │ │ └── @ StringNode (location: (1,38)-(1,41)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,38)-(1,39) = "\"" + │ │ ├── content_loc: (1,39)-(1,40) = "c" + │ │ ├── closing_loc: (1,40)-(1,41) = "\"" + │ │ └── unescaped: "c" + │ ├── opening_loc: (1,27)-(1,28) = "[" + │ └── closing_loc: (1,41)-(1,42) = "]" ├── closing_loc: (1,23)-(1,24) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt index 00777ecff4..4f22f3380a 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :B= ├── message_loc: (1,2)-(1,3) = "B" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt index dd6dac632d..abb7e680d7 100644 --- a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt +++ b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -11,28 +12,27 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedXStringNode (location: (1,2)-(1,8)) - │ │ ├── opening_loc: (1,2)-(1,3) = "`" - │ │ ├── parts: (length: 1) - │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) - │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :y - │ │ │ │ ├── message_loc: (1,5)-(1,6) = "y" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── closing_loc: (1,6)-(1,7) = "}" - │ │ └── closing_loc: (1,7)-(1,8) = "`" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedXStringNode (location: (1,2)-(1,8)) + │ ├── opening_loc: (1,2)-(1,3) = "`" + │ ├── parts: (length: 1) + │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (1,5)-(1,6)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :y + │ │ │ ├── message_loc: (1,5)-(1,6) = "y" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── closing_loc: (1,6)-(1,7) = "}" + │ └── closing_loc: (1,7)-(1,8) = "`" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bang_eq.txt b/test/prism/snapshots/seattlerb/bang_eq.txt index cdf6b0407f..553362030e 100644 --- a/test/prism/snapshots/seattlerb/bang_eq.txt +++ b/test/prism/snapshots/seattlerb/bang_eq.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bdot2.txt b/test/prism/snapshots/seattlerb/bdot2.txt index d4563230d7..ad710a4212 100644 --- a/test/prism/snapshots/seattlerb/bdot2.txt +++ b/test/prism/snapshots/seattlerb/bdot2.txt @@ -4,16 +4,18 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,4)) + │ ├── flags: ∅ │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (1,2)-(1,4)) │ │ └── flags: decimal - │ ├── operator_loc: (1,0)-(1,2) = ".." - │ └── flags: ∅ + │ └── operator_loc: (1,0)-(1,2) = ".." ├── @ RangeNode (location: (2,2)-(2,5)) + │ ├── flags: ∅ │ ├── left: ∅ │ ├── right: │ │ @ CallNode (location: (2,4)-(2,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -21,11 +23,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (2,2)-(2,4) = ".." - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (2,2)-(2,4) = ".." └── @ CallNode (location: (3,2)-(3,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -33,5 +34,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bdot3.txt b/test/prism/snapshots/seattlerb/bdot3.txt index efbea91913..c9a1097099 100644 --- a/test/prism/snapshots/seattlerb/bdot3.txt +++ b/test/prism/snapshots/seattlerb/bdot3.txt @@ -4,16 +4,18 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,5)) + │ ├── flags: exclude_end │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (1,3)-(1,5)) │ │ └── flags: decimal - │ ├── operator_loc: (1,0)-(1,3) = "..." - │ └── flags: exclude_end + │ └── operator_loc: (1,0)-(1,3) = "..." ├── @ RangeNode (location: (2,2)-(2,6)) + │ ├── flags: exclude_end │ ├── left: ∅ │ ├── right: │ │ @ CallNode (location: (2,5)-(2,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -21,11 +23,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (2,2)-(2,5) = "..." - │ └── flags: exclude_end + │ │ └── block: ∅ + │ └── operator_loc: (2,2)-(2,5) = "..." └── @ CallNode (location: (3,2)-(3,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -33,5 +34,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt index 1837a569c8..d503dc7443 100644 --- a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,29 +12,28 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,11)) - │ ├── locals: [:b] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,9)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,8)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: - │ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,7)-(1,8) = "b" - │ │ │ │ └── operator_loc: (1,5)-(1,7) = "**" - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,8)-(1,9) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,10)-(1,11) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,11)) + ├── locals: [:b] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,9)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,8)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: + │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,7)-(1,8) = "b" + │ │ │ └── operator_loc: (1,5)-(1,7) = "**" + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,8)-(1,9) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,10)-(1,11) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt index 575790b9b6..fd0b46ed83 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,21)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,21)) - │ ├── locals: [:b, :c, :d, :e] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,19)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,18)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c" - │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ └── name: :d - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,16)-(1,18)) - │ │ │ ├── name: :e - │ │ │ ├── name_loc: (1,17)-(1,18) = "e" - │ │ │ └── operator_loc: (1,16)-(1,17) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,18)-(1,19) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,20)-(1,21) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,21)) + ├── locals: [:b, :c, :d, :e] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,8)-(1,9) = "c" + │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,10)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ └── name: :d + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,16)-(1,18)) + │ │ ├── name: :e + │ │ ├── name_loc: (1,17)-(1,18) = "e" + │ │ └── operator_loc: (1,16)-(1,17) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,18)-(1,19) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,20)-(1,21) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt index 6167754363..736fec6ec1 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,20)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,20)) - │ ├── locals: [:b, :c, :d] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,18)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,17)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,15)-(1,17)) - │ │ │ │ ├── name: :d - │ │ │ │ ├── name_loc: (1,16)-(1,17) = "d" - │ │ │ │ └── operator_loc: (1,15)-(1,16) = "*" - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,17)-(1,18) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,19)-(1,20) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,20)) + ├── locals: [:b, :c, :d] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,18)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,17)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,8)-(1,9) = "c" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,13)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,15)-(1,17)) + │ │ │ ├── name: :d + │ │ │ ├── name_loc: (1,16)-(1,17) = "d" + │ │ │ └── operator_loc: (1,15)-(1,16) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,17)-(1,18) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,19)-(1,20) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt index 33b7b53197..2b57a0c090 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,25)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,44 +12,43 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,25)) - │ ├── locals: [:b, :c, :d, :e, :f] - │ ├── locals_body_index: 5 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,23)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,22)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c" - │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) - │ │ │ │ ├── name: :d - │ │ │ │ ├── name_loc: (1,14)-(1,15) = "d" - │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18)) - │ │ │ │ └── name: :e - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,20)-(1,22)) - │ │ │ ├── name: :f - │ │ │ ├── name_loc: (1,21)-(1,22) = "f" - │ │ │ └── operator_loc: (1,20)-(1,21) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,22)-(1,23) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,24)-(1,25) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,25)) + ├── locals: [:b, :c, :d, :e, :f] + ├── locals_body_index: 5 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,8)-(1,9) = "c" + │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,10)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) + │ │ │ ├── name: :d + │ │ │ ├── name_loc: (1,14)-(1,15) = "d" + │ │ │ └── operator_loc: (1,13)-(1,14) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18)) + │ │ │ └── name: :e + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,20)-(1,22)) + │ │ ├── name: :f + │ │ ├── name_loc: (1,21)-(1,22) = "f" + │ │ └── operator_loc: (1,20)-(1,21) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,22)-(1,23) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,24)-(1,25) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_optional.txt b/test/prism/snapshots/seattlerb/block_arg_optional.txt index 90fad77d2e..5e28906256 100644 --- a/test/prism/snapshots/seattlerb/block_arg_optional.txt +++ b/test/prism/snapshots/seattlerb/block_arg_optional.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,32 +12,31 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,13)) - │ ├── locals: [:b] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,10)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,12)-(1,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,13)) + ├── locals: [:b] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,6) = "b" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,10)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_scope.txt b/test/prism/snapshots/seattlerb/block_arg_scope.txt index 1e356ea375..51de82e90a 100644 --- a/test/prism/snapshots/seattlerb/block_arg_scope.txt +++ b/test/prism/snapshots/seattlerb/block_arg_scope.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,29 +12,28 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,12)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,10)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,6)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 1) - │ │ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9)) - │ │ │ └── name: :c - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,9)-(1,10) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,11)-(1,12) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,12)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,10)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,6)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 1) + │ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9)) + │ │ └── name: :c + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,9)-(1,10) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,11)-(1,12) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_scope2.txt b/test/prism/snapshots/seattlerb/block_arg_scope2.txt index 6afa7586de..3b4b198d1f 100644 --- a/test/prism/snapshots/seattlerb/block_arg_scope2.txt +++ b/test/prism/snapshots/seattlerb/block_arg_scope2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:b, :c, :d] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,3)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,4)-(1,5)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 2) - │ │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8)) - │ │ │ │ └── name: :c - │ │ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11)) - │ │ │ └── name: :d - │ │ ├── opening_loc: (1,3)-(1,4) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:b, :c, :d] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,3)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,4)-(1,5)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 2) + │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8)) + │ │ │ └── name: :c + │ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11)) + │ │ └── name: :d + │ ├── opening_loc: (1,3)-(1,4) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt index d51953269b..c8aae59285 100644 --- a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,33 +12,32 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,16)) - │ ├── locals: [:b, :c, :d] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,14)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,13)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,8)-(1,10)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,9)-(1,10) = "c" - │ │ │ │ └── operator_loc: (1,8)-(1,9) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) - │ │ │ │ └── name: :d - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,13)-(1,14) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,15)-(1,16) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,16)) + ├── locals: [:b, :c, :d] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,14)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,13)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,8)-(1,10)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,9)-(1,10) = "c" + │ │ │ └── operator_loc: (1,8)-(1,9) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) + │ │ │ └── name: :d + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,13)-(1,14) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,15)-(1,16) = "}" diff --git a/test/prism/snapshots/seattlerb/block_args_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_kwargs.txt index dc2ce516e0..e4d311085d 100644 --- a/test/prism/snapshots/seattlerb/block_args_kwargs.txt +++ b/test/prism/snapshots/seattlerb/block_args_kwargs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,23)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,23)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,34 +12,33 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,23)) - │ ├── locals: [:kwargs] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,14)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,13)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: - │ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13)) - │ │ │ │ ├── name: :kwargs - │ │ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs" - │ │ │ │ └── operator_loc: (1,5)-(1,7) = "**" - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,13)-(1,14) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,15)-(1,21)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (1,15)-(1,21)) - │ │ ├── name: :kwargs - │ │ └── depth: 0 - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,22)-(1,23) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,23)) + ├── locals: [:kwargs] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,14)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,13)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: + │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13)) + │ │ │ ├── name: :kwargs + │ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs" + │ │ │ └── operator_loc: (1,5)-(1,7) = "**" + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,13)-(1,14) = "|" + ├── body: + │ @ StatementsNode (location: (1,15)-(1,21)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (1,15)-(1,21)) + │ ├── name: :kwargs + │ └── depth: 0 + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,22)-(1,23) = "}" diff --git a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt index 6ad45cf5e6..70e4084395 100644 --- a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt +++ b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,28 +12,27 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,13)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,10)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: - │ │ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10)) - │ │ │ │ ├── operator_loc: (1,5)-(1,7) = "**" - │ │ │ │ └── keyword_loc: (1,7)-(1,10) = "nil" - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,12)-(1,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,13)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: + │ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10)) + │ │ │ ├── operator_loc: (1,5)-(1,7) = "**" + │ │ │ └── keyword_loc: (1,7)-(1,10) = "nil" + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/block_args_opt1.txt b/test/prism/snapshots/seattlerb/block_args_opt1.txt index 0318342b83..4a5dc9b59b 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt1.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,24)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,24)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,47 +12,46 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,24)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,16)-(1,22)) - │ │ └── body: (length: 1) - │ │ └── @ ArrayNode (location: (1,16)-(1,22)) - │ │ ├── elements: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21)) - │ │ │ ├── name: :b - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (1,16)-(1,17) = "[" - │ │ ├── closing_loc: (1,21)-(1,22) = "]" - │ │ └── flags: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,23)-(1,24) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,24)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: + │ @ StatementsNode (location: (1,16)-(1,22)) + │ └── body: (length: 1) + │ └── @ ArrayNode (location: (1,16)-(1,22)) + │ ├── flags: ∅ + │ ├── elements: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21)) + │ │ ├── name: :b + │ │ └── depth: 0 + │ ├── opening_loc: (1,16)-(1,17) = "[" + │ └── closing_loc: (1,21)-(1,22) = "]" + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,23)-(1,24) = "}" diff --git a/test/prism/snapshots/seattlerb/block_args_opt2.txt b/test/prism/snapshots/seattlerb/block_args_opt2.txt index a207cf244d..af334a87f7 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt2.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,39 +12,38 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,18)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,6)-(1,14)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 2) - │ │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b" - │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,11)-(1,12) = "c" - │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,13)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,17)-(1,18) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,18)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,6)-(1,14)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 2) + │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9)) + │ │ │ │ ├── name: :b + │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b" + │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,11)-(1,12) = "c" + │ │ │ ├── operator_loc: (1,12)-(1,13) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,13)-(1,14)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,15)-(1,16) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,17)-(1,18) = "}" diff --git a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt index a79041020d..ee99843c6f 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,35)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,35)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,57 +12,56 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,35)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,23)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,22)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 2) - │ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,16)-(1,17) = "c" - │ │ │ │ ├── operator_loc: (1,18)-(1,19) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,20)-(1,22)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,22)-(1,23) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,24)-(1,33)) - │ │ └── body: (length: 1) - │ │ └── @ ArrayNode (location: (1,24)-(1,33)) - │ │ ├── elements: (length: 3) - │ │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29)) - │ │ │ │ ├── name: :b - │ │ │ │ └── depth: 0 - │ │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32)) - │ │ │ ├── name: :c - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (1,24)-(1,25) = "[" - │ │ ├── closing_loc: (1,32)-(1,33) = "]" - │ │ └── flags: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,34)-(1,35) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,35)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 2) + │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ │ ├── name: :b + │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,16)-(1,17) = "c" + │ │ │ ├── operator_loc: (1,18)-(1,19) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,20)-(1,22)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,22)-(1,23) = "|" + ├── body: + │ @ StatementsNode (location: (1,24)-(1,33)) + │ └── body: (length: 1) + │ └── @ ArrayNode (location: (1,24)-(1,33)) + │ ├── flags: ∅ + │ ├── elements: (length: 3) + │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29)) + │ │ │ ├── name: :b + │ │ │ └── depth: 0 + │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32)) + │ │ ├── name: :c + │ │ └── depth: 0 + │ ├── opening_loc: (1,24)-(1,25) = "[" + │ └── closing_loc: (1,32)-(1,33) = "]" + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,34)-(1,35) = "}" diff --git a/test/prism/snapshots/seattlerb/block_args_opt3.txt b/test/prism/snapshots/seattlerb/block_args_opt3.txt index 0c1f87b36a..016fdc6358 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt3.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt3.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,42)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,42)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,64 +12,63 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,42)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,27)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,26)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 2) - │ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,16)-(1,17) = "c" - │ │ │ │ ├── operator_loc: (1,18)-(1,19) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,20)-(1,22)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,24)-(1,26)) - │ │ │ ├── name: :d - │ │ │ ├── name_loc: (1,25)-(1,26) = "d" - │ │ │ └── operator_loc: (1,24)-(1,25) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,26)-(1,27) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,28)-(1,40)) - │ │ └── body: (length: 1) - │ │ └── @ ArrayNode (location: (1,28)-(1,40)) - │ │ ├── elements: (length: 4) - │ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33)) - │ │ │ │ ├── name: :b - │ │ │ │ └── depth: 0 - │ │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36)) - │ │ │ │ ├── name: :c - │ │ │ │ └── depth: 0 - │ │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39)) - │ │ │ ├── name: :d - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (1,28)-(1,29) = "[" - │ │ ├── closing_loc: (1,39)-(1,40) = "]" - │ │ └── flags: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,41)-(1,42) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,42)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,27)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,26)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 2) + │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ │ ├── name: :b + │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,16)-(1,17) = "c" + │ │ │ ├── operator_loc: (1,18)-(1,19) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,20)-(1,22)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,24)-(1,26)) + │ │ ├── name: :d + │ │ ├── name_loc: (1,25)-(1,26) = "d" + │ │ └── operator_loc: (1,24)-(1,25) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,26)-(1,27) = "|" + ├── body: + │ @ StatementsNode (location: (1,28)-(1,40)) + │ └── body: (length: 1) + │ └── @ ArrayNode (location: (1,28)-(1,40)) + │ ├── flags: ∅ + │ ├── elements: (length: 4) + │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33)) + │ │ │ ├── name: :b + │ │ │ └── depth: 0 + │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36)) + │ │ │ ├── name: :c + │ │ │ └── depth: 0 + │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39)) + │ │ ├── name: :d + │ │ └── depth: 0 + │ ├── opening_loc: (1,28)-(1,29) = "[" + │ └── closing_loc: (1,39)-(1,40) = "]" + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,41)-(1,42) = "}" diff --git a/test/prism/snapshots/seattlerb/block_break.txt b/test/prism/snapshots/seattlerb/block_break.txt index 557ac8a744..502d60ed40 100644 --- a/test/prism/snapshots/seattlerb/block_break.txt +++ b/test/prism/snapshots/seattlerb/block_break.txt @@ -6,51 +6,51 @@ └── @ BreakNode (location: (1,0)-(1,26)) ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,26)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,6)-(1,26)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (1,6)-(1,9) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,10)-(1,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,10)-(1,13)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :arg - │ │ │ │ ├── message_loc: (1,10)-(1,13) = "arg" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,14)-(1,26)) - │ │ │ ├── locals: [:bar] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (1,17)-(1,22)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (1,18)-(1,21)) - │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21)) - │ │ │ │ │ │ └── name: :bar - │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (1,17)-(1,18) = "|" - │ │ │ │ └── closing_loc: (1,21)-(1,22) = "|" - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" - │ │ │ └── closing_loc: (1,23)-(1,26) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,6)-(1,26)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (1,6)-(1,9) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,10)-(1,13)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,10)-(1,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :arg + │ │ ├── message_loc: (1,10)-(1,13) = "arg" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (1,14)-(1,26)) + │ ├── locals: [:bar] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,17)-(1,22)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (1,18)-(1,21)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21)) + │ │ │ │ └── name: :bar + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,17)-(1,18) = "|" + │ │ └── closing_loc: (1,21)-(1,22) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (1,14)-(1,16) = "do" + │ └── closing_loc: (1,23)-(1,26) = "end" └── keyword_loc: (1,0)-(1,5) = "break" diff --git a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt index e9e37fc104..363ee275fa 100644 --- a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,11)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(3,4)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,50 +12,51 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(3,4)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ DefNode (location: (1,2)-(3,4)) - │ │ │ ├── name: :b - │ │ │ ├── name_loc: (1,6)-(1,7) = "b" - │ │ │ ├── receiver: ∅ - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (1,8)-(1,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (2,1)-(2,2)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (2,1)-(2,2)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :d - │ │ │ │ ├── message_loc: (2,1)-(2,2) = "d" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── locals: [:c] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── lparen_loc: (1,7)-(1,8) = "(" - │ │ │ ├── rparen_loc: (1,9)-(1,10) = ")" - │ │ │ ├── equal_loc: ∅ - │ │ │ └── end_keyword_loc: (3,1)-(3,4) = "end" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ DefNode (location: (1,2)-(3,4)) + │ │ ├── name: :b + │ │ ├── name_loc: (1,6)-(1,7) = "b" + │ │ ├── receiver: ∅ + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (1,8)-(1,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9)) + │ │ │ │ └── name: :c + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (2,1)-(2,2)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (2,1)-(2,2)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d + │ │ │ ├── message_loc: (2,1)-(2,2) = "d" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: [:c] + │ │ ├── locals_body_index: 1 + │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" + │ │ ├── operator_loc: ∅ + │ │ ├── lparen_loc: (1,7)-(1,8) = "(" + │ │ ├── rparen_loc: (1,9)-(1,10) = ")" + │ │ ├── equal_loc: ∅ + │ │ └── end_keyword_loc: (3,1)-(3,4) = "end" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (4,1)-(4,11)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (4,1)-(4,2)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :e @@ -62,20 +64,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (4,2)-(4,3) = "." ├── name: :f ├── message_loc: (4,3)-(4,4) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (4,5)-(4,11)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (4,5)-(4,7) = "do" - │ └── closing_loc: (4,8)-(4,11) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (4,5)-(4,11)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (4,5)-(4,7) = "do" + └── closing_loc: (4,8)-(4,11) = "end" diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt index 434c01c6bd..e49d2b8d01 100644 --- a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt +++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(1,31)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,31)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,87 +18,84 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,2) = "." │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: (1,6)-(1,7) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ ├── opening_loc: (1,5)-(1,6) = "(" + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: (1,6)-(1,7) = ")" + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,8)-(1,16)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,11)-(1,12)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,11)-(1,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (1,11)-(1,12) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (1,8)-(1,10) = "do" - │ │ └── closing_loc: (1,13)-(1,16) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,8)-(1,16)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (1,11)-(1,12)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,11)-(1,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (1,11)-(1,12) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (1,8)-(1,10) = "do" + │ └── closing_loc: (1,13)-(1,16) = "end" ├── call_operator_loc: (1,16)-(1,17) = "." ├── name: :e ├── message_loc: (1,17)-(1,18) = "e" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,19)-(1,31)) - │ ├── locals: [:f] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,22)-(1,25)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,23)-(1,24)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24)) - │ │ │ │ └── name: :f - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,22)-(1,23) = "|" - │ │ └── closing_loc: (1,24)-(1,25) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,26)-(1,27)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,26)-(1,27)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :g - │ │ ├── message_loc: (1,26)-(1,27) = "g" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (1,19)-(1,21) = "do" - │ └── closing_loc: (1,28)-(1,31) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,19)-(1,31)) + ├── locals: [:f] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,22)-(1,25)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,23)-(1,24)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24)) + │ │ │ └── name: :f + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,22)-(1,23) = "|" + │ └── closing_loc: (1,24)-(1,25) = "|" + ├── body: + │ @ StatementsNode (location: (1,26)-(1,27)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,26)-(1,27)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :g + │ ├── message_loc: (1,26)-(1,27) = "g" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,19)-(1,21) = "do" + └── closing_loc: (1,28)-(1,31) = "end" diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt index c79d1cc775..0656b2e53e 100644 --- a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt +++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(1,33)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,33)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,100 +18,97 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,2) = "." │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: (1,6)-(1,7) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ ├── opening_loc: (1,5)-(1,6) = "(" + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: (1,6)-(1,7) = ")" + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,8)-(1,16)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,11)-(1,12)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,11)-(1,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (1,11)-(1,12) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (1,8)-(1,10) = "do" - │ │ └── closing_loc: (1,13)-(1,16) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,8)-(1,16)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (1,11)-(1,12)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,11)-(1,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (1,11)-(1,12) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (1,8)-(1,10) = "do" + │ └── closing_loc: (1,13)-(1,16) = "end" ├── call_operator_loc: (1,16)-(1,17) = "." ├── name: :e ├── message_loc: (1,17)-(1,18) = "e" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,19)-(1,20)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,19)-(1,20)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :f - │ │ ├── message_loc: (1,19)-(1,20) = "f" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,19)-(1,20)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :f + │ ├── message_loc: (1,19)-(1,20) = "f" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,21)-(1,33)) - │ ├── locals: [:g] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,24)-(1,27)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,25)-(1,26)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26)) - │ │ │ │ └── name: :g - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,24)-(1,25) = "|" - │ │ └── closing_loc: (1,26)-(1,27) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,28)-(1,29)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,28)-(1,29)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :h - │ │ ├── message_loc: (1,28)-(1,29) = "h" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (1,21)-(1,23) = "do" - │ └── closing_loc: (1,30)-(1,33) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,21)-(1,33)) + ├── locals: [:g] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,24)-(1,27)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,25)-(1,26)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26)) + │ │ │ └── name: :g + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,24)-(1,25) = "|" + │ └── closing_loc: (1,26)-(1,27) = "|" + ├── body: + │ @ StatementsNode (location: (1,28)-(1,29)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,28)-(1,29)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :h + │ ├── message_loc: (1,28)-(1,29) = "h" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,21)-(1,23) = "do" + └── closing_loc: (1,30)-(1,33) = "end" diff --git a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt index 61ea4563e8..ebe805b932 100644 --- a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt +++ b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,41 +18,38 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,2) = "." │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,6)-(1,12)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,6)-(1,8) = "do" - │ │ └── closing_loc: (1,9)-(1,12) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,6)-(1,12)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,6)-(1,8) = "do" + │ └── closing_loc: (1,9)-(1,12) = "end" ├── call_operator_loc: (1,12)-(1,14) = "::" ├── name: :d ├── message_loc: (1,14)-(1,15) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt index 053c2bfae2..1824f897f6 100644 --- a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt +++ b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,41 +18,38 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,2) = "." │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,6)-(1,12)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,6)-(1,8) = "do" - │ │ └── closing_loc: (1,9)-(1,12) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,6)-(1,12)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,6)-(1,8) = "do" + │ └── closing_loc: (1,9)-(1,12) = "end" ├── call_operator_loc: (1,12)-(1,13) = "." ├── name: :d ├── message_loc: (1,13)-(1,14) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt index 8067e7ef96..69e5ddf6fc 100644 --- a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,10)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,30 +12,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (1,2)-(1,5)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (1,3)-(1,4)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,3)-(1,4)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (1,3)-(1,4) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── opening_loc: (1,2)-(1,3) = "(" - │ │ │ └── closing_loc: (1,4)-(1,5) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (1,2)-(1,5)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (1,3)-(1,4)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (1,3)-(1,4) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "(" + │ │ └── closing_loc: (1,4)-(1,5) = ")" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (2,0)-(2,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (2,0)-(2,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c @@ -42,20 +44,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (2,1)-(2,2) = "." ├── name: :d ├── message_loc: (2,2)-(2,3) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (2,4)-(2,10)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (2,4)-(2,6) = "do" - │ └── closing_loc: (2,7)-(2,10) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (2,4)-(2,10)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (2,4)-(2,6) = "do" + └── closing_loc: (2,7)-(2,10) = "end" diff --git a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt index 00982fc3c6..8f4439223f 100644 --- a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt +++ b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,36 +15,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (1,2)-(1,4)) - │ │ │ ├── opening_loc: (1,2)-(1,3) = ":" - │ │ │ ├── value_loc: (1,3)-(1,4) = "b" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "b" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (1,2)-(1,4)) + │ │ ├── opening_loc: (1,2)-(1,3) = ":" + │ │ ├── value_loc: (1,3)-(1,4) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,5)-(1,11)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,5)-(1,7) = "do" - │ │ └── closing_loc: (1,8)-(1,11) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,5)-(1,11)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,5)-(1,7) = "do" + │ └── closing_loc: (1,8)-(1,11) = "end" ├── call_operator_loc: (1,11)-(1,13) = "::" ├── name: :c ├── message_loc: (1,13)-(1,14) = "c" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,15)-(1,17)) - │ ├── arguments: (length: 1) - │ │ └── @ SymbolNode (location: (1,15)-(1,17)) - │ │ ├── opening_loc: (1,15)-(1,16) = ":" - │ │ ├── value_loc: (1,16)-(1,17) = "d" - │ │ ├── closing_loc: ∅ - │ │ └── unescaped: "d" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ SymbolNode (location: (1,15)-(1,17)) + │ ├── opening_loc: (1,15)-(1,16) = ":" + │ ├── value_loc: (1,16)-(1,17) = "d" + │ ├── closing_loc: ∅ + │ └── unescaped: "d" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt index c0fc8e9c2b..ce44f8b75c 100644 --- a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt +++ b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,36 +15,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (1,2)-(1,4)) - │ │ │ ├── opening_loc: (1,2)-(1,3) = ":" - │ │ │ ├── value_loc: (1,3)-(1,4) = "b" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "b" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (1,2)-(1,4)) + │ │ ├── opening_loc: (1,2)-(1,3) = ":" + │ │ ├── value_loc: (1,3)-(1,4) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,5)-(1,11)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,5)-(1,7) = "do" - │ │ └── closing_loc: (1,8)-(1,11) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,5)-(1,11)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,5)-(1,7) = "do" + │ └── closing_loc: (1,8)-(1,11) = "end" ├── call_operator_loc: (1,11)-(1,12) = "." ├── name: :c ├── message_loc: (1,12)-(1,13) = "c" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,14)-(1,16)) - │ ├── arguments: (length: 1) - │ │ └── @ SymbolNode (location: (1,14)-(1,16)) - │ │ ├── opening_loc: (1,14)-(1,15) = ":" - │ │ ├── value_loc: (1,15)-(1,16) = "d" - │ │ ├── closing_loc: ∅ - │ │ └── unescaped: "d" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ SymbolNode (location: (1,14)-(1,16)) + │ ├── opening_loc: (1,14)-(1,15) = ":" + │ ├── value_loc: (1,15)-(1,16) = "d" + │ ├── closing_loc: ∅ + │ └── unescaped: "d" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt index 8c903f2b93..d3de3562a6 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:a] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) - │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,6)-(1,7)) - │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ ├── rights: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:a] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── lefts: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,6)-(1,7)) + │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ ├── rights: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :a + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt index cb182552e6..dcb4415a70 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:b] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:b] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt index f3a6ce858d..52a7a6b7f8 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,18)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rights: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,17)-(1,18) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,18)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ └── name: :a + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ │ └── name: :b + │ │ │ ├── rights: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ │ └── name: :c + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,15)-(1,16) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,17)-(1,18) = "}" diff --git a/test/prism/snapshots/seattlerb/block_decomp_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_splat.txt index 49e31bdd13..4be5573522 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_splat.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_splat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,12)) - │ ├── locals: [:a] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,10)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,9)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9)) - │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,6)-(1,8)) - │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,8)-(1,9) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,9)-(1,10) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,11)-(1,12) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,12)) + ├── locals: [:a] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,10)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,9)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9)) + │ │ │ ├── lefts: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,6)-(1,8)) + │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8)) + │ │ │ │ └── name: :a + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,8)-(1,9) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,9)-(1,10) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,11)-(1,12) = "}" diff --git a/test/prism/snapshots/seattlerb/block_kw.txt b/test/prism/snapshots/seattlerb/block_kw.txt index 5b2598035f..fa7cce4870 100644 --- a/test/prism/snapshots/seattlerb/block_kw.txt +++ b/test/prism/snapshots/seattlerb/block_kw.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :blah @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,5)-(1,15)) - │ ├── locals: [:k] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,7)-(1,13)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,8)-(1,12)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 1) - │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,8)-(1,12)) - │ │ │ │ ├── name: :k - │ │ │ │ ├── name_loc: (1,8)-(1,10) = "k:" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,10)-(1,12)) - │ │ │ │ └── flags: decimal - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,7)-(1,8) = "|" - │ │ └── closing_loc: (1,12)-(1,13) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,5)-(1,6) = "{" - │ └── closing_loc: (1,14)-(1,15) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(1,15)) + ├── locals: [:k] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,7)-(1,13)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,8)-(1,12)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (1,8)-(1,12)) + │ │ │ ├── name: :k + │ │ │ ├── name_loc: (1,8)-(1,10) = "k:" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,10)-(1,12)) + │ │ │ └── flags: decimal + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,7)-(1,8) = "|" + │ └── closing_loc: (1,12)-(1,13) = "|" + ├── body: ∅ + ├── opening_loc: (1,5)-(1,6) = "{" + └── closing_loc: (1,14)-(1,15) = "}" diff --git a/test/prism/snapshots/seattlerb/block_kw__required.txt b/test/prism/snapshots/seattlerb/block_kw__required.txt index aef63cce1e..6636ce987a 100644 --- a/test/prism/snapshots/seattlerb/block_kw__required.txt +++ b/test/prism/snapshots/seattlerb/block_kw__required.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :blah @@ -11,28 +12,27 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,5)-(1,16)) - │ ├── locals: [:k] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,8)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,9)-(1,11)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 1) - │ │ │ │ └── @ RequiredKeywordParameterNode (location: (1,9)-(1,11)) - │ │ │ │ ├── name: :k - │ │ │ │ └── name_loc: (1,9)-(1,11) = "k:" - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,8)-(1,9) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,5)-(1,7) = "do" - │ └── closing_loc: (1,13)-(1,16) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(1,16)) + ├── locals: [:k] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,8)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,9)-(1,11)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ RequiredKeywordParameterNode (location: (1,9)-(1,11)) + │ │ │ ├── name: :k + │ │ │ └── name_loc: (1,9)-(1,11) = "k:" + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,8)-(1,9) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,5)-(1,7) = "do" + └── closing_loc: (1,13)-(1,16) = "end" diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt index f7e4743588..7469bdc5db 100644 --- a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt +++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,20)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bl @@ -11,39 +12,38 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,3)-(1,20)) - │ ├── locals: [:kw] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,5)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,6)-(1,14)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 1) - │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,6)-(1,14)) - │ │ │ │ ├── name: :kw - │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:" - │ │ │ │ └── value: - │ │ │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" - │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "val" - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,5)-(1,6) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,16)-(1,18)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (1,16)-(1,18)) - │ │ ├── name: :kw - │ │ └── depth: 0 - │ ├── opening_loc: (1,3)-(1,4) = "{" - │ └── closing_loc: (1,19)-(1,20) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,3)-(1,20)) + ├── locals: [:kw] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,5)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,6)-(1,14)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (1,6)-(1,14)) + │ │ │ ├── name: :kw + │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:" + │ │ │ └── value: + │ │ │ @ SymbolNode (location: (1,10)-(1,14)) + │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" + │ │ │ ├── value_loc: (1,11)-(1,14) = "val" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "val" + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,5)-(1,6) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: + │ @ StatementsNode (location: (1,16)-(1,18)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (1,16)-(1,18)) + │ ├── name: :kw + │ └── depth: 0 + ├── opening_loc: (1,3)-(1,4) = "{" + └── closing_loc: (1,19)-(1,20) = "}" diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt index 17a7e4bdca..23e807ba79 100644 --- a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt +++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,33)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,33)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bl @@ -11,48 +12,47 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,3)-(1,33)) - │ ├── locals: [:kw, :kw2] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,5)-(1,28)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,6)-(1,26)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 2) - │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (1,6)-(1,14)) - │ │ │ │ │ ├── name: :kw - │ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:" - │ │ │ │ │ └── value: - │ │ │ │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" - │ │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "val" - │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,16)-(1,26)) - │ │ │ │ ├── name: :kw2 - │ │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:" - │ │ │ │ └── value: - │ │ │ │ @ SymbolNode (location: (1,21)-(1,26)) - │ │ │ │ ├── opening_loc: (1,21)-(1,22) = ":" - │ │ │ │ ├── value_loc: (1,22)-(1,26) = "val2" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "val2" - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,5)-(1,6) = "|" - │ │ └── closing_loc: (1,27)-(1,28) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,29)-(1,31)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (1,29)-(1,31)) - │ │ ├── name: :kw - │ │ └── depth: 0 - │ ├── opening_loc: (1,3)-(1,4) = "{" - │ └── closing_loc: (1,32)-(1,33) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,3)-(1,33)) + ├── locals: [:kw, :kw2] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,5)-(1,28)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,6)-(1,26)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 2) + │ │ │ ├── @ OptionalKeywordParameterNode (location: (1,6)-(1,14)) + │ │ │ │ ├── name: :kw + │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:" + │ │ │ │ └── value: + │ │ │ │ @ SymbolNode (location: (1,10)-(1,14)) + │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" + │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "val" + │ │ │ └── @ OptionalKeywordParameterNode (location: (1,16)-(1,26)) + │ │ │ ├── name: :kw2 + │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:" + │ │ │ └── value: + │ │ │ @ SymbolNode (location: (1,21)-(1,26)) + │ │ │ ├── opening_loc: (1,21)-(1,22) = ":" + │ │ │ ├── value_loc: (1,22)-(1,26) = "val2" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "val2" + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,5)-(1,6) = "|" + │ └── closing_loc: (1,27)-(1,28) = "|" + ├── body: + │ @ StatementsNode (location: (1,29)-(1,31)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (1,29)-(1,31)) + │ ├── name: :kw + │ └── depth: 0 + ├── opening_loc: (1,3)-(1,4) = "{" + └── closing_loc: (1,32)-(1,33) = "}" diff --git a/test/prism/snapshots/seattlerb/block_next.txt b/test/prism/snapshots/seattlerb/block_next.txt index ff5cc42dcd..a72f57490e 100644 --- a/test/prism/snapshots/seattlerb/block_next.txt +++ b/test/prism/snapshots/seattlerb/block_next.txt @@ -6,51 +6,51 @@ └── @ NextNode (location: (1,0)-(1,25)) ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,25)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,5)-(1,25)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (1,5)-(1,8) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,9)-(1,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :arg - │ │ │ │ ├── message_loc: (1,9)-(1,12) = "arg" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,13)-(1,25)) - │ │ │ ├── locals: [:bar] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (1,16)-(1,21)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (1,17)-(1,20)) - │ │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20)) - │ │ │ │ │ │ └── name: :bar - │ │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (1,16)-(1,17) = "|" - │ │ │ │ └── closing_loc: (1,20)-(1,21) = "|" - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,13)-(1,15) = "do" - │ │ │ └── closing_loc: (1,22)-(1,25) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,5)-(1,25)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (1,5)-(1,8) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,9)-(1,12)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,9)-(1,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :arg + │ │ ├── message_loc: (1,9)-(1,12) = "arg" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (1,13)-(1,25)) + │ ├── locals: [:bar] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,16)-(1,21)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (1,17)-(1,20)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20)) + │ │ │ │ └── name: :bar + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,16)-(1,17) = "|" + │ │ └── closing_loc: (1,20)-(1,21) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (1,13)-(1,15) = "do" + │ └── closing_loc: (1,22)-(1,25) = "end" └── keyword_loc: (1,0)-(1,4) = "next" diff --git a/test/prism/snapshots/seattlerb/block_opt_arg.txt b/test/prism/snapshots/seattlerb/block_opt_arg.txt index 340047a301..c0e90ed132 100644 --- a/test/prism/snapshots/seattlerb/block_opt_arg.txt +++ b/test/prism/snapshots/seattlerb/block_opt_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,34 +12,33 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b" - │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ └── name: :c - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,6) = "b" + │ │ │ ├── operator_loc: (1,6)-(1,7) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,7)-(1,8)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ └── name: :c + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/block_opt_splat.txt b/test/prism/snapshots/seattlerb/block_opt_splat.txt index 23aad10246..dfdd8926cd 100644 --- a/test/prism/snapshots/seattlerb/block_opt_splat.txt +++ b/test/prism/snapshots/seattlerb/block_opt_splat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,12)-(1,14)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,13)-(1,14) = "c" - │ │ │ │ └── operator_loc: (1,12)-(1,13) = "*" - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,6) = "b" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,10)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,12)-(1,14)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,13)-(1,14) = "c" + │ │ │ └── operator_loc: (1,12)-(1,13) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt index 3994cef507..444baeb8d0 100644 --- a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,22)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,42 +12,41 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,22)) - │ ├── locals: [:b, :c, :d, :e] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,20)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,19)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b" - │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,10)-(1,12)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,11)-(1,12) = "c" - │ │ │ │ └── operator_loc: (1,10)-(1,11) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) - │ │ │ │ └── name: :d - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,17)-(1,19)) - │ │ │ ├── name: :e - │ │ │ ├── name_loc: (1,18)-(1,19) = "e" - │ │ │ └── operator_loc: (1,17)-(1,18) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,19)-(1,20) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,21)-(1,22) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,22)) + ├── locals: [:b, :c, :d, :e] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,20)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,19)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,6) = "b" + │ │ │ ├── operator_loc: (1,6)-(1,7) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,7)-(1,8)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,10)-(1,12)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,11)-(1,12) = "c" + │ │ │ └── operator_loc: (1,10)-(1,11) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) + │ │ │ └── name: :d + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,17)-(1,19)) + │ │ ├── name: :e + │ │ ├── name_loc: (1,18)-(1,19) = "e" + │ │ └── operator_loc: (1,17)-(1,18) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,19)-(1,20) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,21)-(1,22) = "}" diff --git a/test/prism/snapshots/seattlerb/block_optarg.txt b/test/prism/snapshots/seattlerb/block_optarg.txt index 998be35976..52f8731a7b 100644 --- a/test/prism/snapshots/seattlerb/block_optarg.txt +++ b/test/prism/snapshots/seattlerb/block_optarg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,35 +12,34 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:b] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ SymbolNode (location: (1,9)-(1,11)) - │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" - │ │ │ │ ├── value_loc: (1,10)-(1,11) = "c" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "c" - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:b] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,6) = "b" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ SymbolNode (location: (1,9)-(1,11)) + │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" + │ │ │ ├── value_loc: (1,10)-(1,11) = "c" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "c" + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/block_paren_splat.txt b/test/prism/snapshots/seattlerb/block_paren_splat.txt index f6b32c8f94..a34e0bca37 100644 --- a/test/prism/snapshots/seattlerb/block_paren_splat.txt +++ b/test/prism/snapshots/seattlerb/block_paren_splat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,15)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,13)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,12)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,12)-(1,13) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,14)-(1,15) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,15)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,13)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,12)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ │ └── name: :c + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,12)-(1,13) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,14)-(1,15) = "}" diff --git a/test/prism/snapshots/seattlerb/block_reg_optarg.txt b/test/prism/snapshots/seattlerb/block_reg_optarg.txt index 8e01cd401c..389e560964 100644 --- a/test/prism/snapshots/seattlerb/block_reg_optarg.txt +++ b/test/prism/snapshots/seattlerb/block_reg_optarg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,37 +12,36 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ SymbolNode (location: (1,12)-(1,14)) - │ │ │ │ ├── opening_loc: (1,12)-(1,13) = ":" - │ │ │ │ ├── value_loc: (1,13)-(1,14) = "d" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "d" - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,8)-(1,9) = "c" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ SymbolNode (location: (1,12)-(1,14)) + │ │ │ ├── opening_loc: (1,12)-(1,13) = ":" + │ │ │ ├── value_loc: (1,13)-(1,14) = "d" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "d" + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/block_return.txt b/test/prism/snapshots/seattlerb/block_return.txt index f361704d01..3764cac9c8 100644 --- a/test/prism/snapshots/seattlerb/block_return.txt +++ b/test/prism/snapshots/seattlerb/block_return.txt @@ -7,50 +7,50 @@ ├── keyword_loc: (1,0)-(1,6) = "return" └── arguments: @ ArgumentsNode (location: (1,7)-(1,27)) - ├── arguments: (length: 1) - │ └── @ CallNode (location: (1,7)-(1,27)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :foo - │ ├── message_loc: (1,7)-(1,10) = "foo" - │ ├── opening_loc: ∅ - │ ├── arguments: - │ │ @ ArgumentsNode (location: (1,11)-(1,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,11)-(1,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :arg - │ │ │ ├── message_loc: (1,11)-(1,14) = "arg" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,15)-(1,27)) - │ │ ├── locals: [:bar] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,18)-(1,23)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (1,19)-(1,22)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,19)-(1,22)) - │ │ │ │ │ └── name: :bar - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,18)-(1,19) = "|" - │ │ │ └── closing_loc: (1,22)-(1,23) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,15)-(1,17) = "do" - │ │ └── closing_loc: (1,24)-(1,27) = "end" - │ └── flags: ∅ - └── flags: ∅ + ├── flags: ∅ + └── arguments: (length: 1) + └── @ CallNode (location: (1,7)-(1,27)) + ├── flags: ∅ + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :foo + ├── message_loc: (1,7)-(1,10) = "foo" + ├── opening_loc: ∅ + ├── arguments: + │ @ ArgumentsNode (location: (1,11)-(1,14)) + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,11)-(1,14)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :arg + │ ├── message_loc: (1,11)-(1,14) = "arg" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── closing_loc: ∅ + └── block: + @ BlockNode (location: (1,15)-(1,27)) + ├── locals: [:bar] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,18)-(1,23)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,19)-(1,22)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,19)-(1,22)) + │ │ │ └── name: :bar + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,18)-(1,19) = "|" + │ └── closing_loc: (1,22)-(1,23) = "|" + ├── body: ∅ + ├── opening_loc: (1,15)-(1,17) = "do" + └── closing_loc: (1,24)-(1,27) = "end" diff --git a/test/prism/snapshots/seattlerb/block_scope.txt b/test/prism/snapshots/seattlerb/block_scope.txt index 409c544f39..cccf6b79a2 100644 --- a/test/prism/snapshots/seattlerb/block_scope.txt +++ b/test/prism/snapshots/seattlerb/block_scope.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,19 +12,18 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,10)) - │ ├── locals: [:b] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,8)) - │ │ ├── parameters: ∅ - │ │ ├── locals: (length: 1) - │ │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7)) - │ │ │ └── name: :b - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,7)-(1,8) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,9)-(1,10) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,10)) + ├── locals: [:b] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,8)) + │ ├── parameters: ∅ + │ ├── locals: (length: 1) + │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7)) + │ │ └── name: :b + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,7)-(1,8) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,9)-(1,10) = "}" diff --git a/test/prism/snapshots/seattlerb/block_splat_reg.txt b/test/prism/snapshots/seattlerb/block_splat_reg.txt index 93b5dd5ea6..0cf4b62f7d 100644 --- a/test/prism/snapshots/seattlerb/block_splat_reg.txt +++ b/test/prism/snapshots/seattlerb/block_splat_reg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,13)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,10)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b" - │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ └── name: :c - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,12)-(1,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,13)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,5)-(1,7)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,6)-(1,7) = "b" + │ │ │ └── operator_loc: (1,5)-(1,6) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ └── name: :c + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/bug169.txt b/test/prism/snapshots/seattlerb/bug169.txt index 22ef18c5c1..22d8e4c48f 100644 --- a/test/prism/snapshots/seattlerb/bug169.txt +++ b/test/prism/snapshots/seattlerb/bug169.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -11,19 +12,18 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,2)-(1,4)) - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,2)-(1,3) = "(" - │ │ └── closing_loc: (1,3)-(1,4) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,2)-(1,4)) + │ ├── body: ∅ + │ ├── opening_loc: (1,2)-(1,3) = "(" + │ └── closing_loc: (1,3)-(1,4) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,5)-(1,7)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,5)-(1,6) = "{" - │ └── closing_loc: (1,6)-(1,7) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(1,7)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,5)-(1,6) = "{" + └── closing_loc: (1,6)-(1,7) = "}" diff --git a/test/prism/snapshots/seattlerb/bug179.txt b/test/prism/snapshots/seattlerb/bug179.txt index 0951879111..11620b2dea 100644 --- a/test/prism/snapshots/seattlerb/bug179.txt +++ b/test/prism/snapshots/seattlerb/bug179.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,18 +12,17 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,9)) - │ ├── arguments: (length: 1) - │ │ └── @ RangeNode (location: (1,2)-(1,9)) - │ │ ├── left: - │ │ │ @ ParenthesesNode (location: (1,2)-(1,4)) - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "(" - │ │ │ └── closing_loc: (1,3)-(1,4) = ")" - │ │ ├── right: - │ │ │ @ NilNode (location: (1,6)-(1,9)) - │ │ ├── operator_loc: (1,4)-(1,6) = ".." - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ RangeNode (location: (1,2)-(1,9)) + │ ├── flags: ∅ + │ ├── left: + │ │ @ ParenthesesNode (location: (1,2)-(1,4)) + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "(" + │ │ └── closing_loc: (1,3)-(1,4) = ")" + │ ├── right: + │ │ @ NilNode (location: (1,6)-(1,9)) + │ └── operator_loc: (1,4)-(1,6) = ".." ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug190.txt b/test/prism/snapshots/seattlerb/bug190.txt index fec48914c9..ef4411ddb7 100644 --- a/test/prism/snapshots/seattlerb/bug190.txt +++ b/test/prism/snapshots/seattlerb/bug190.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── opening_loc: (1,0)-(1,3) = "%r'" ├── content_loc: (1,3)-(1,5) = "\\'" ├── closing_loc: (1,5)-(1,6) = "'" - ├── unescaped: "\\'" - └── flags: ∅ + └── unescaped: "\\'" diff --git a/test/prism/snapshots/seattlerb/bug191.txt b/test/prism/snapshots/seattlerb/bug191.txt index c617c4a79a..b9cbac0d1c 100644 --- a/test/prism/snapshots/seattlerb/bug191.txt +++ b/test/prism/snapshots/seattlerb/bug191.txt @@ -7,6 +7,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -14,8 +15,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,2)-(1,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,6)) @@ -33,6 +33,7 @@ │ │ │ @ StatementsNode (location: (1,8)-(1,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -40,14 +41,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (3,0)-(3,9)) ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (3,0)-(3,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -55,8 +56,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: (3,2)-(3,3) = "?" ├── statements: │ @ StatementsNode (location: (3,4)-(3,6)) @@ -74,6 +74,7 @@ │ │ @ StatementsNode (location: (3,8)-(3,9)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,8)-(3,9)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -81,7 +82,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/bug236.txt b/test/prism/snapshots/seattlerb/bug236.txt index 4aceae0e77..65339efa8b 100644 --- a/test/prism/snapshots/seattlerb/bug236.txt +++ b/test/prism/snapshots/seattlerb/bug236.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,6)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -11,32 +12,32 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,1)-(1,7)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,2)-(1,6)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (1,3)-(1,5)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ ImplicitRestNode (location: (1,4)-(1,5)) - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,2)-(1,3) = "|" - │ │ │ └── closing_loc: (1,5)-(1,6) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,1)-(1,2) = "{" - │ │ └── closing_loc: (1,6)-(1,7) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,1)-(1,7)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,2)-(1,6)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (1,3)-(1,5)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ ImplicitRestNode (location: (1,4)-(1,5)) + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,2)-(1,3) = "|" + │ │ └── closing_loc: (1,5)-(1,6) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (1,1)-(1,2) = "{" + │ └── closing_loc: (1,6)-(1,7) = "}" └── @ CallNode (location: (3,0)-(3,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -44,27 +45,26 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (3,1)-(3,6)) - │ ├── locals: [:a] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (3,2)-(3,5)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (3,3)-(3,4)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (3,2)-(3,3) = "|" - │ │ └── closing_loc: (3,4)-(3,5) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (3,1)-(3,2) = "{" - │ └── closing_loc: (3,5)-(3,6) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (3,1)-(3,6)) + ├── locals: [:a] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (3,2)-(3,5)) + │ ├── parameters: + │ │ @ ParametersNode (location: (3,3)-(3,4)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (3,2)-(3,3) = "|" + │ └── closing_loc: (3,4)-(3,5) = "|" + ├── body: ∅ + ├── opening_loc: (3,1)-(3,2) = "{" + └── closing_loc: (3,5)-(3,6) = "}" diff --git a/test/prism/snapshots/seattlerb/bug290.txt b/test/prism/snapshots/seattlerb/bug290.txt index ae57cfed23..e0633eb815 100644 --- a/test/prism/snapshots/seattlerb/bug290.txt +++ b/test/prism/snapshots/seattlerb/bug290.txt @@ -9,6 +9,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 @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_187.txt b/test/prism/snapshots/seattlerb/bug_187.txt index 99feff8208..5630cbf9c9 100644 --- a/test/prism/snapshots/seattlerb/bug_187.txt +++ b/test/prism/snapshots/seattlerb/bug_187.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :private @@ -11,51 +12,50 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,8)-(3,3)) - │ ├── arguments: (length: 1) - │ │ └── @ DefNode (location: (1,8)-(3,3)) - │ │ ├── name: :f - │ │ ├── name_loc: (1,12)-(1,13) = "f" - │ │ ├── receiver: ∅ - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (2,0)-(2,10)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (2,0)-(2,10)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (2,0)-(2,1)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (2,0)-(2,1) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: (2,1)-(2,2) = "." - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (2,2)-(2,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (2,4)-(2,10)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do" - │ │ │ │ └── closing_loc: (2,7)-(2,10) = "end" - │ │ │ └── flags: ∅ - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── def_keyword_loc: (1,8)-(1,11) = "def" - │ │ ├── operator_loc: ∅ - │ │ ├── lparen_loc: ∅ - │ │ ├── rparen_loc: ∅ - │ │ ├── equal_loc: ∅ - │ │ └── end_keyword_loc: (3,0)-(3,3) = "end" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ DefNode (location: (1,8)-(3,3)) + │ ├── name: :f + │ ├── name_loc: (1,12)-(1,13) = "f" + │ ├── receiver: ∅ + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (2,0)-(2,10)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (2,0)-(2,10)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (2,0)-(2,1)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a + │ │ │ ├── message_loc: (2,0)-(2,1) = "a" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: (2,1)-(2,2) = "." + │ │ ├── name: :b + │ │ ├── message_loc: (2,2)-(2,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (2,4)-(2,10)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (2,4)-(2,6) = "do" + │ │ └── closing_loc: (2,7)-(2,10) = "end" + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── def_keyword_loc: (1,8)-(1,11) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_249.txt b/test/prism/snapshots/seattlerb/bug_249.txt index 8bf56e31c4..cff5210a30 100644 --- a/test/prism/snapshots/seattlerb/bug_249.txt +++ b/test/prism/snapshots/seattlerb/bug_249.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,28)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,28)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :mount @@ -11,76 +12,75 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,6)-(4,28)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (1,6)-(4,9)) - │ │ │ ├── receiver: - │ │ │ │ @ ParenthesesNode (location: (1,6)-(4,5)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (1,7)-(4,4)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (1,7)-(4,4)) - │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12)) - │ │ │ │ │ │ └── name: :Class - │ │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "." - │ │ │ │ │ ├── name: :new - │ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "new" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (1,17)-(4,4)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: - │ │ │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3)) - │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ └── @ DefNode (location: (2,0)-(3,3)) - │ │ │ │ │ │ │ ├── name: :initialize - │ │ │ │ │ │ │ ├── name_loc: (2,4)-(2,14) = "initialize" - │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── def_keyword_loc: (2,0)-(2,3) = "def" - │ │ │ │ │ │ │ ├── operator_loc: ∅ - │ │ │ │ │ │ │ ├── lparen_loc: ∅ - │ │ │ │ │ │ │ ├── rparen_loc: ∅ - │ │ │ │ │ │ │ ├── equal_loc: ∅ - │ │ │ │ │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end" - │ │ │ │ │ │ ├── opening_loc: (1,17)-(1,19) = "do" - │ │ │ │ │ │ └── closing_loc: (4,1)-(4,4) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "(" - │ │ │ │ └── closing_loc: (4,4)-(4,5) = ")" - │ │ │ ├── call_operator_loc: (4,5)-(4,6) = "." - │ │ │ ├── name: :new - │ │ │ ├── message_loc: (4,6)-(4,9) = "new" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── @ KeywordHashNode (location: (4,11)-(4,28)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (4,11)-(4,28)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (4,11)-(4,14)) - │ │ │ ├── opening_loc: (4,11)-(4,12) = ":" - │ │ │ ├── value_loc: (4,12)-(4,14) = "at" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "at" - │ │ ├── value: - │ │ │ @ StringNode (location: (4,18)-(4,28)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (4,18)-(4,19) = "'" - │ │ │ ├── content_loc: (4,19)-(4,27) = "endpoint" - │ │ │ ├── closing_loc: (4,27)-(4,28) = "'" - │ │ │ └── unescaped: "endpoint" - │ │ └── operator_loc: (4,15)-(4,17) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (1,6)-(4,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ ParenthesesNode (location: (1,6)-(4,5)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (1,7)-(4,4)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (1,7)-(4,4)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: + │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12)) + │ │ │ │ │ └── name: :Class + │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "." + │ │ │ │ ├── name: :new + │ │ │ │ ├── message_loc: (1,13)-(1,16) = "new" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (1,17)-(4,4)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: + │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ DefNode (location: (2,0)-(3,3)) + │ │ │ │ │ ├── name: :initialize + │ │ │ │ │ ├── name_loc: (2,4)-(2,14) = "initialize" + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── def_keyword_loc: (2,0)-(2,3) = "def" + │ │ │ │ │ ├── operator_loc: ∅ + │ │ │ │ │ ├── lparen_loc: ∅ + │ │ │ │ │ ├── rparen_loc: ∅ + │ │ │ │ │ ├── equal_loc: ∅ + │ │ │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end" + │ │ │ │ ├── opening_loc: (1,17)-(1,19) = "do" + │ │ │ │ └── closing_loc: (4,1)-(4,4) = "end" + │ │ │ ├── opening_loc: (1,6)-(1,7) = "(" + │ │ │ └── closing_loc: (4,4)-(4,5) = ")" + │ │ ├── call_operator_loc: (4,5)-(4,6) = "." + │ │ ├── name: :new + │ │ ├── message_loc: (4,6)-(4,9) = "new" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ KeywordHashNode (location: (4,11)-(4,28)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (4,11)-(4,28)) + │ ├── key: + │ │ @ SymbolNode (location: (4,11)-(4,14)) + │ │ ├── opening_loc: (4,11)-(4,12) = ":" + │ │ ├── value_loc: (4,12)-(4,14) = "at" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "at" + │ ├── value: + │ │ @ StringNode (location: (4,18)-(4,28)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (4,18)-(4,19) = "'" + │ │ ├── content_loc: (4,19)-(4,27) = "endpoint" + │ │ ├── closing_loc: (4,27)-(4,28) = "'" + │ │ └── unescaped: "endpoint" + │ └── operator_loc: (4,15)-(4,17) = "=>" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_and.txt b/test/prism/snapshots/seattlerb/bug_and.txt index bc52f7bdc9..3daf505e5f 100644 --- a/test/prism/snapshots/seattlerb/bug_and.txt +++ b/test/prism/snapshots/seattlerb/bug_and.txt @@ -14,8 +14,8 @@ │ @ TrueNode (location: (4,0)-(4,4)) ├── right: │ @ ArrayNode (location: (4,9)-(4,11)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (4,9)-(4,10) = "[" - │ ├── closing_loc: (4,10)-(4,11) = "]" - │ └── flags: ∅ + │ └── closing_loc: (4,10)-(4,11) = "]" └── operator_loc: (4,5)-(4,8) = "and" diff --git a/test/prism/snapshots/seattlerb/bug_args__19.txt b/test/prism/snapshots/seattlerb/bug_args__19.txt index 7b102791c3..e2617df20f 100644 --- a/test/prism/snapshots/seattlerb/bug_args__19.txt +++ b/test/prism/snapshots/seattlerb/bug_args__19.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,47 +12,46 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,16)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) - │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,13)-(1,14)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,13)-(1,14)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :d - │ │ ├── message_loc: (1,13)-(1,14) = "d" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,15)-(1,16) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,16)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── lefts: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: + │ @ StatementsNode (location: (1,13)-(1,14)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,13)-(1,14)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :d + │ ├── message_loc: (1,13)-(1,14) = "d" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,15)-(1,16) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn.txt b/test/prism/snapshots/seattlerb/bug_args_masgn.txt index 7ebbef045c..3ee3dd05ec 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,37 +12,36 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,11)) - │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ │ └── name: :b - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" - │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ └── name: :c - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ │ │ └── name: :a + │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ │ └── name: :b + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" + │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ └── name: :c + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt index 349f3694df..3de9e976d1 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,22)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,45 +12,44 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,22)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,20)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,19)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,16)) - │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12)) - │ │ │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8)) - │ │ │ │ │ │ │ │ │ └── name: :a - │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ │ │ └── name: :b - │ │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "(" - │ │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) - │ │ │ │ │ │ └── name: :c - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")" - │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19)) - │ │ │ │ └── name: :d - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,19)-(1,20) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,21)-(1,22) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,22)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,20)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,19)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,16)) + │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12)) + │ │ │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8)) + │ │ │ │ │ │ │ │ └── name: :a + │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ │ │ │ │ └── name: :b + │ │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ │ ├── rights: (length: 0) + │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "(" + │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" + │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) + │ │ │ │ │ └── name: :c + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")" + │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19)) + │ │ │ └── name: :d + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,19)-(1,20) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,21)-(1,22) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt index 4f88bea49b..4278d58a00 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,19)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,43 +12,42 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,19)) - │ ├── locals: [:k, :v, :i] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,17)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,16)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,16)) - │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12)) - │ │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8)) - │ │ │ │ │ │ │ │ └── name: :k - │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ │ └── name: :v - │ │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "(" - │ │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) - │ │ │ │ │ └── name: :i - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,15)-(1,16) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,16)-(1,17) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,18)-(1,19) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,19)) + ├── locals: [:k, :v, :i] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,17)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,16)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,16)) + │ │ │ ├── lefts: (length: 2) + │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12)) + │ │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8)) + │ │ │ │ │ │ │ └── name: :k + │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ │ │ │ └── name: :v + │ │ │ │ │ ├── rest: ∅ + │ │ │ │ │ ├── rights: (length: 0) + │ │ │ │ │ ├── lparen_loc: (1,6)-(1,7) = "(" + │ │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" + │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) + │ │ │ │ └── name: :i + │ │ │ ├── rest: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,15)-(1,16) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,16)-(1,17) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,18)-(1,19) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt index 4258931735..5056fe6d70 100644 --- a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt +++ b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (2,8)-(2,17)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,8)-(2,17)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :g @@ -19,21 +20,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (2,10)-(2,17)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ ParenthesesNode (location: (2,10)-(2,14)) - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (2,12)-(2,13)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (2,12)-(2,13)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ ├── opening_loc: (2,10)-(2,11) = "(" - │ │ │ │ │ └── closing_loc: (2,13)-(2,14) = ")" - │ │ │ │ └── @ IntegerNode (location: (2,16)-(2,17)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ ParenthesesNode (location: (2,10)-(2,14)) + │ │ │ │ ├── body: + │ │ │ │ │ @ StatementsNode (location: (2,12)-(2,13)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (2,12)-(2,13)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ ├── opening_loc: (2,10)-(2,11) = "(" + │ │ │ │ └── closing_loc: (2,13)-(2,14) = ")" + │ │ │ └── @ IntegerNode (location: (2,16)-(2,17)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (1,6)-(1,9) = "def" @@ -51,6 +51,7 @@ │ │ @ StatementsNode (location: (7,8)-(7,16)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,8)-(7,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :g @@ -58,21 +59,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,10)-(7,16)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ ParenthesesNode (location: (7,10)-(7,13)) - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (7,11)-(7,12)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ ├── opening_loc: (7,10)-(7,11) = "(" - │ │ │ │ │ └── closing_loc: (7,12)-(7,13) = ")" - │ │ │ │ └── @ IntegerNode (location: (7,15)-(7,16)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ ParenthesesNode (location: (7,10)-(7,13)) + │ │ │ │ ├── body: + │ │ │ │ │ @ StatementsNode (location: (7,11)-(7,12)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ ├── opening_loc: (7,10)-(7,11) = "(" + │ │ │ │ └── closing_loc: (7,12)-(7,13) = ")" + │ │ │ └── @ IntegerNode (location: (7,15)-(7,16)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (6,6)-(6,9) = "def" @@ -82,6 +82,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (8,6)-(8,9) = "end" └── @ CallNode (location: (11,0)-(11,9)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :g @@ -89,18 +90,17 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (11,2)-(11,9)) - │ ├── arguments: (length: 2) - │ │ ├── @ ParenthesesNode (location: (11,2)-(11,6)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (11,4)-(11,5)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (11,2)-(11,3) = "(" - │ │ │ └── closing_loc: (11,5)-(11,6) = ")" - │ │ └── @ IntegerNode (location: (11,8)-(11,9)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ ParenthesesNode (location: (11,2)-(11,6)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (11,4)-(11,5)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (11,4)-(11,5)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (11,2)-(11,3) = "(" + │ │ └── closing_loc: (11,5)-(11,6) = ")" + │ └── @ IntegerNode (location: (11,8)-(11,9)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt b/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt index ac948bc6c9..6d3b11b9af 100644 --- a/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt +++ b/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt @@ -15,11 +15,11 @@ │ ├── keyword_loc: (1,9)-(1,13) = "when" │ ├── conditions: (length: 1) │ │ └── @ RegularExpressionNode (location: (1,14)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,14)-(1,15) = "/" │ │ ├── content_loc: (1,15)-(1,16) = "x" │ │ ├── closing_loc: (1,16)-(1,17) = "/" - │ │ ├── unescaped: "x" - │ │ └── flags: ∅ + │ │ └── unescaped: "x" │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/seattlerb/bug_comma.txt b/test/prism/snapshots/seattlerb/bug_comma.txt index 3fca88d860..42815e0dfe 100644 --- a/test/prism/snapshots/seattlerb/bug_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_comma.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :test @@ -14,27 +15,26 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (1,8)-(1,10)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "?" - │ │ │ │ ├── content_loc: (1,9)-(1,10) = "d" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "d" - │ │ │ └── @ CallNode (location: (1,12)-(1,15)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :dir - │ │ │ ├── message_loc: (1,12)-(1,15) = "dir" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (1,8)-(1,10)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,8)-(1,9) = "?" + │ │ │ ├── content_loc: (1,9)-(1,10) = "d" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "d" + │ │ └── @ CallNode (location: (1,12)-(1,15)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :dir + │ │ ├── message_loc: (1,12)-(1,15) = "dir" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_cond_pct.txt b/test/prism/snapshots/seattlerb/bug_cond_pct.txt index bb07f009aa..b5a397f4f5 100644 --- a/test/prism/snapshots/seattlerb/bug_cond_pct.txt +++ b/test/prism/snapshots/seattlerb/bug_cond_pct.txt @@ -10,11 +10,11 @@ │ ├── keyword_loc: (1,6)-(1,10) = "when" │ ├── conditions: (length: 1) │ │ └── @ RegularExpressionNode (location: (1,11)-(1,23)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,11)-(1,14) = "%r%" │ │ ├── content_loc: (1,14)-(1,22) = "blahblah" │ │ ├── closing_loc: (1,22)-(1,23) = "%" - │ │ ├── unescaped: "blahblah" - │ │ └── flags: ∅ + │ │ └── unescaped: "blahblah" │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/seattlerb/bug_hash_args.txt b/test/prism/snapshots/seattlerb/bug_hash_args.txt index 32d9dc91a5..96d0adde24 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,19)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -11,25 +12,24 @@ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,18)) - │ ├── arguments: (length: 2) - │ │ ├── @ SymbolNode (location: (1,4)-(1,8)) - │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" - │ │ │ ├── value_loc: (1,5)-(1,8) = "bar" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "bar" - │ │ └── @ KeywordHashNode (location: (1,10)-(1,18)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,10)-(1,18)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,10)-(1,13) = "baz" - │ │ │ ├── closing_loc: (1,13)-(1,14) = ":" - │ │ │ └── unescaped: "baz" - │ │ ├── value: - │ │ │ @ NilNode (location: (1,15)-(1,18)) - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ SymbolNode (location: (1,4)-(1,8)) + │ │ ├── opening_loc: (1,4)-(1,5) = ":" + │ │ ├── value_loc: (1,5)-(1,8) = "bar" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "bar" + │ └── @ KeywordHashNode (location: (1,10)-(1,18)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,10)-(1,18)) + │ ├── key: + │ │ @ SymbolNode (location: (1,10)-(1,14)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,10)-(1,13) = "baz" + │ │ ├── closing_loc: (1,13)-(1,14) = ":" + │ │ └── unescaped: "baz" + │ ├── value: + │ │ @ NilNode (location: (1,15)-(1,18)) + │ └── operator_loc: ∅ ├── closing_loc: (1,18)-(1,19) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt index 1cea78d46f..b1404826ec 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,20)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -11,25 +12,24 @@ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,18)) - │ ├── arguments: (length: 2) - │ │ ├── @ SymbolNode (location: (1,4)-(1,8)) - │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" - │ │ │ ├── value_loc: (1,5)-(1,8) = "bar" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "bar" - │ │ └── @ KeywordHashNode (location: (1,10)-(1,18)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,10)-(1,18)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,10)-(1,13) = "baz" - │ │ │ ├── closing_loc: (1,13)-(1,14) = ":" - │ │ │ └── unescaped: "baz" - │ │ ├── value: - │ │ │ @ NilNode (location: (1,15)-(1,18)) - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ SymbolNode (location: (1,4)-(1,8)) + │ │ ├── opening_loc: (1,4)-(1,5) = ":" + │ │ ├── value_loc: (1,5)-(1,8) = "bar" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "bar" + │ └── @ KeywordHashNode (location: (1,10)-(1,18)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,10)-(1,18)) + │ ├── key: + │ │ @ SymbolNode (location: (1,10)-(1,14)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,10)-(1,13) = "baz" + │ │ ├── closing_loc: (1,13)-(1,14) = ":" + │ │ └── unescaped: "baz" + │ ├── value: + │ │ @ NilNode (location: (1,15)-(1,18)) + │ └── operator_loc: ∅ ├── closing_loc: (1,19)-(1,20) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt index 30c05e8960..433fb02411 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt @@ -18,9 +18,9 @@ │ │ └── closing_loc: (1,6)-(1,8) = "\":" │ ├── value: │ │ @ ArrayNode (location: (1,9)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,9)-(1,10) = "[" - │ │ ├── closing_loc: (1,10)-(1,11) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (1,10)-(1,11) = "]" │ └── operator_loc: ∅ └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_masgn_right.txt b/test/prism/snapshots/seattlerb/bug_masgn_right.txt index 5996d1996a..194b01f281 100644 --- a/test/prism/snapshots/seattlerb/bug_masgn_right.txt +++ b/test/prism/snapshots/seattlerb/bug_masgn_right.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,37 +12,36 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) - │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ │ └── name: :b - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ ├── lefts: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ │ └── name: :b + │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) + │ │ │ │ └── name: :c + │ │ │ ├── rest: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_not_parens.txt b/test/prism/snapshots/seattlerb/bug_not_parens.txt index f5328a6eb1..c5157a0ed9 100644 --- a/test/prism/snapshots/seattlerb/bug_not_parens.txt +++ b/test/prism/snapshots/seattlerb/bug_not_parens.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,4)-(1,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (1,0)-(1,3) = "not" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,5)-(1,6) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt index e8504cc967..b31d4a19b6 100644 --- a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt +++ b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt @@ -10,6 +10,7 @@ │ @ RescueModifierNode (location: (1,6)-(1,18)) │ ├── expression: │ │ @ CallNode (location: (1,6)-(1,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -17,8 +18,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (1,15)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/call_and.txt b/test/prism/snapshots/seattlerb/call_and.txt index 5ff2ef31f1..8c6bf2f2e3 100644 --- a/test/prism/snapshots/seattlerb/call_and.txt +++ b/test/prism/snapshots/seattlerb/call_and.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc.txt b/test/prism/snapshots/seattlerb/call_arg_assoc.txt index 1eeb319630..4694b43045 100644 --- a/test/prism/snapshots/seattlerb/call_arg_assoc.txt +++ b/test/prism/snapshots/seattlerb/call_arg_assoc.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,20 +12,19 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,9)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ └── @ KeywordHashNode (location: (1,5)-(1,9)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,5)-(1,9)) - │ │ ├── key: - │ │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,6)-(1,8) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal + │ └── @ KeywordHashNode (location: (1,5)-(1,9)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,5)-(1,9)) + │ ├── key: + │ │ @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ ├── value: + │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ └── flags: decimal + │ └── operator_loc: (1,6)-(1,8) = "=>" ├── closing_loc: (1,9)-(1,10) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt index ca96559020..12a9bbfe38 100644 --- a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,28 +12,27 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,15)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ └── @ KeywordHashNode (location: (1,5)-(1,15)) - │ │ └── elements: (length: 2) - │ │ ├── @ AssocNode (location: (1,5)-(1,10)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,5)-(1,8)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (1,5)-(1,7) = "kw" - │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" - │ │ │ │ └── unescaped: "kw" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── @ AssocSplatNode (location: (1,12)-(1,15)) - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,14)-(1,15)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,12)-(1,14) = "**" - │ └── flags: contains_keyword_splat + │ ├── flags: contains_keyword_splat + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal + │ └── @ KeywordHashNode (location: (1,5)-(1,15)) + │ └── elements: (length: 2) + │ ├── @ AssocNode (location: (1,5)-(1,10)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,5)-(1,8)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (1,5)-(1,7) = "kw" + │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" + │ │ │ └── unescaped: "kw" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,10)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ + │ └── @ AssocSplatNode (location: (1,12)-(1,15)) + │ ├── value: + │ │ @ IntegerNode (location: (1,14)-(1,15)) + │ │ └── flags: decimal + │ └── operator_loc: (1,12)-(1,14) = "**" ├── closing_loc: (1,15)-(1,16) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt index 1d3c7c5c5c..da8d8b709b 100644 --- a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,25 +12,24 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (1,2)-(1,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (1,2)-(1,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ KeywordHashNode (location: (1,5)-(1,8)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocSplatNode (location: (1,5)-(1,8)) - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,5)-(1,7) = "**" - │ └── flags: contains_keyword_splat + │ ├── flags: contains_keyword_splat + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (1,2)-(1,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (1,2)-(1,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ KeywordHashNode (location: (1,5)-(1,8)) + │ └── elements: (length: 1) + │ └── @ AssocSplatNode (location: (1,5)-(1,8)) + │ ├── value: + │ │ @ IntegerNode (location: (1,7)-(1,8)) + │ │ └── flags: decimal + │ └── operator_loc: (1,5)-(1,7) = "**" ├── closing_loc: (1,8)-(1,9) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt index 7bbc67bb54..d20e11bf6b 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,8)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -11,40 +12,40 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,2)-(1,11)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,2)-(1,11)) - │ │ │ ├── key: - │ │ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,9)) - │ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ │ │ ├── parts: (length: 1) - │ │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) - │ │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :k - │ │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "k" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── closing_loc: (1,6)-(1,7) = "}" - │ │ │ │ └── closing_loc: (1,7)-(1,9) = "\":" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,2)-(1,11)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,2)-(1,11)) + │ │ ├── key: + │ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,9)) + │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ │ │ ├── parts: (length: 1) + │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :k + │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "k" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ └── closing_loc: (1,6)-(1,7) = "}" + │ │ │ └── closing_loc: (1,7)-(1,9) = "\":" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -52,25 +53,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,2)-(3,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (3,2)-(3,8)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (3,2)-(3,8)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (3,2)-(3,6)) - │ │ │ │ ├── opening_loc: (3,2)-(3,3) = "\"" - │ │ │ │ ├── value_loc: (3,3)-(3,4) = "k" - │ │ │ │ ├── closing_loc: (3,4)-(3,6) = "\":" - │ │ │ │ └── unescaped: "k" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (3,6)-(3,8)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (3,2)-(3,8)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (3,2)-(3,8)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (3,2)-(3,6)) + │ │ │ ├── opening_loc: (3,2)-(3,3) = "\"" + │ │ │ ├── value_loc: (3,3)-(3,4) = "k" + │ │ │ ├── closing_loc: (3,4)-(3,6) = "\":" + │ │ │ └── unescaped: "k" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (3,6)-(3,8)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -78,21 +79,20 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (5,2)-(5,8)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (5,2)-(5,8)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (5,2)-(5,8)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (5,2)-(5,6)) - │ │ │ ├── opening_loc: (5,2)-(5,3) = "'" - │ │ │ ├── value_loc: (5,3)-(5,4) = "k" - │ │ │ ├── closing_loc: (5,4)-(5,6) = "':" - │ │ │ └── unescaped: "k" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (5,6)-(5,8)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (5,2)-(5,8)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (5,2)-(5,8)) + │ ├── key: + │ │ @ SymbolNode (location: (5,2)-(5,6)) + │ │ ├── opening_loc: (5,2)-(5,3) = "'" + │ │ ├── value_loc: (5,3)-(5,4) = "k" + │ │ ├── closing_loc: (5,4)-(5,6) = "':" + │ │ └── unescaped: "k" + │ ├── value: + │ │ @ IntegerNode (location: (5,6)-(5,8)) + │ │ └── flags: decimal + │ └── operator_loc: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt index a248805777..b27cd84ba0 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,20 +12,19 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,9)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ └── @ KeywordHashNode (location: (1,5)-(1,9)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,5)-(1,9)) - │ │ ├── key: - │ │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,6)-(1,8) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal + │ └── @ KeywordHashNode (location: (1,5)-(1,9)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,5)-(1,9)) + │ ├── key: + │ │ @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ ├── value: + │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ └── flags: decimal + │ └── operator_loc: (1,6)-(1,8) = "=>" ├── closing_loc: (1,10)-(1,11) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_command.txt b/test/prism/snapshots/seattlerb/call_args_command.txt index 2b9353e755..c371dda3f4 100644 --- a/test/prism/snapshots/seattlerb/call_args_command.txt +++ b/test/prism/snapshots/seattlerb/call_args_command.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,41 +15,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,9)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,4)-(1,9)) - │ │ ├── receiver: - │ │ │ @ CallNode (location: (1,4)-(1,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── call_operator_loc: (1,5)-(1,6) = "." - │ │ ├── name: :d - │ │ ├── message_loc: (1,6)-(1,7) = "d" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,8)-(1,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── call_operator_loc: (1,5)-(1,6) = "." + │ ├── name: :d + │ ├── message_loc: (1,6)-(1,7) = "d" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,8)-(1,9)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,8)-(1,9)) + │ │ └── flags: decimal + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_arg.txt b/test/prism/snapshots/seattlerb/call_array_arg.txt index 01c16c0091..d0ccd3d7b0 100644 --- a/test/prism/snapshots/seattlerb/call_array_arg.txt +++ b/test/prism/snapshots/seattlerb/call_array_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,23 +14,22 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,13)) - │ ├── arguments: (length: 1) - │ │ └── @ ArrayNode (location: (1,5)-(1,13)) - │ │ ├── elements: (length: 2) - │ │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" - │ │ │ │ ├── value_loc: (1,7)-(1,8) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── @ SymbolNode (location: (1,10)-(1,12)) - │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" - │ │ │ ├── value_loc: (1,11)-(1,12) = "c" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "c" - │ │ ├── opening_loc: (1,5)-(1,6) = "[" - │ │ ├── closing_loc: (1,12)-(1,13) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ArrayNode (location: (1,5)-(1,13)) + │ ├── flags: ∅ + │ ├── elements: (length: 2) + │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) + │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" + │ │ │ ├── value_loc: (1,7)-(1,8) = "b" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "b" + │ │ └── @ SymbolNode (location: (1,10)-(1,12)) + │ │ ├── opening_loc: (1,10)-(1,11) = ":" + │ │ ├── value_loc: (1,11)-(1,12) = "c" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "c" + │ ├── opening_loc: (1,5)-(1,6) = "[" + │ └── closing_loc: (1,12)-(1,13) = "]" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_block_call.txt b/test/prism/snapshots/seattlerb/call_array_block_call.txt index 65daaf7287..c75ddc8272 100644 --- a/test/prism/snapshots/seattlerb/call_array_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_array_block_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,19)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,19)) - │ ├── arguments: (length: 1) - │ │ └── @ ArrayNode (location: (1,2)-(1,19)) - │ │ ├── elements: (length: 2) - │ │ │ ├── @ NilNode (location: (1,4)-(1,7)) - │ │ │ └── @ CallNode (location: (1,9)-(1,17)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (1,9)-(1,10) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,11)-(1,17)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (1,11)-(1,13) = "do" - │ │ │ │ └── closing_loc: (1,14)-(1,17) = "end" - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ ├── closing_loc: (1,18)-(1,19) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ArrayNode (location: (1,2)-(1,19)) + │ ├── flags: ∅ + │ ├── elements: (length: 2) + │ │ ├── @ NilNode (location: (1,4)-(1,7)) + │ │ └── @ CallNode (location: (1,9)-(1,17)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (1,9)-(1,10) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,11)-(1,17)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,11)-(1,13) = "do" + │ │ └── closing_loc: (1,14)-(1,17) = "end" + │ ├── opening_loc: (1,2)-(1,3) = "[" + │ └── closing_loc: (1,18)-(1,19) = "]" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt index 291cdc87ea..04900f9b39 100644 --- a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,33 +12,32 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,11)) - │ ├── arguments: (length: 1) - │ │ └── @ ArrayNode (location: (1,2)-(1,11)) - │ │ ├── elements: (length: 1) - │ │ │ └── @ LambdaNode (location: (1,3)-(1,10)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── operator_loc: (1,3)-(1,5) = "->" - │ │ │ ├── opening_loc: (1,8)-(1,9) = "{" - │ │ │ ├── closing_loc: (1,9)-(1,10) = "}" - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (1,5)-(1,7)) - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── closing_loc: (1,6)-(1,7) = ")" - │ │ │ └── body: ∅ - │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ ├── closing_loc: (1,10)-(1,11) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ArrayNode (location: (1,2)-(1,11)) + │ ├── flags: ∅ + │ ├── elements: (length: 1) + │ │ └── @ LambdaNode (location: (1,3)-(1,10)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── operator_loc: (1,3)-(1,5) = "->" + │ │ ├── opening_loc: (1,8)-(1,9) = "{" + │ │ ├── closing_loc: (1,9)-(1,10) = "}" + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (1,5)-(1,7)) + │ │ │ ├── parameters: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" + │ │ │ └── closing_loc: (1,6)-(1,7) = ")" + │ │ └── body: ∅ + │ ├── opening_loc: (1,2)-(1,3) = "[" + │ └── closing_loc: (1,10)-(1,11) = "]" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,12)-(2,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,12)-(1,14) = "do" - │ └── closing_loc: (2,0)-(2,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,12)-(2,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,12)-(1,14) = "do" + └── closing_loc: (2,0)-(2,3) = "end" diff --git a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt index cecdfbeaec..f13625e87f 100644 --- a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt +++ b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,15)) - │ ├── arguments: (length: 1) - │ │ └── @ ArrayNode (location: (1,2)-(1,15)) - │ │ ├── elements: (length: 2) - │ │ │ ├── @ SymbolNode (location: (1,3)-(1,5)) - │ │ │ │ ├── opening_loc: (1,3)-(1,4) = ":" - │ │ │ │ ├── value_loc: (1,4)-(1,5) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── @ KeywordHashNode (location: (1,7)-(1,14)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,7)-(1,14)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,7)-(1,9)) - │ │ │ │ ├── opening_loc: (1,7)-(1,8) = ":" - │ │ │ │ ├── value_loc: (1,8)-(1,9) = "c" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "c" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,13)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (1,10)-(1,12) = "=>" - │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ ├── closing_loc: (1,14)-(1,15) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ArrayNode (location: (1,2)-(1,15)) + │ ├── flags: ∅ + │ ├── elements: (length: 2) + │ │ ├── @ SymbolNode (location: (1,3)-(1,5)) + │ │ │ ├── opening_loc: (1,3)-(1,4) = ":" + │ │ │ ├── value_loc: (1,4)-(1,5) = "b" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "b" + │ │ └── @ KeywordHashNode (location: (1,7)-(1,14)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,7)-(1,14)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,7)-(1,9)) + │ │ │ ├── opening_loc: (1,7)-(1,8) = ":" + │ │ │ ├── value_loc: (1,8)-(1,9) = "c" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "c" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,13)-(1,14)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (1,10)-(1,12) = "=>" + │ ├── opening_loc: (1,2)-(1,3) = "[" + │ └── closing_loc: (1,14)-(1,15) = "]" ├── closing_loc: (1,15)-(1,16) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc.txt b/test/prism/snapshots/seattlerb/call_assoc.txt index 5a81c89214..530b25e465 100644 --- a/test/prism/snapshots/seattlerb/call_assoc.txt +++ b/test/prism/snapshots/seattlerb/call_assoc.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,18 +12,17 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(1,6)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,2)-(1,6)) - │ │ ├── key: - │ │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,3)-(1,5) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(1,6)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,2)-(1,6)) + │ ├── key: + │ │ @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal + │ ├── value: + │ │ @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ └── operator_loc: (1,3)-(1,5) = "=>" ├── closing_loc: (1,6)-(1,7) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc_new.txt b/test/prism/snapshots/seattlerb/call_assoc_new.txt index e37e00e824..984aecf9b7 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,21 +12,20 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(1,5)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,2)-(1,5)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,2)-(1,3) = "a" - │ │ │ ├── closing_loc: (1,3)-(1,4) = ":" - │ │ │ └── unescaped: "a" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(1,5)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,2)-(1,5)) + │ ├── key: + │ │ @ SymbolNode (location: (1,2)-(1,4)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,2)-(1,3) = "a" + │ │ ├── closing_loc: (1,3)-(1,4) = ":" + │ │ └── unescaped: "a" + │ ├── value: + │ │ @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── operator_loc: ∅ ├── closing_loc: (1,5)-(1,6) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt index 1e6c1fae01..49d1ad17e4 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(5,4)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,43 +12,42 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(5,3)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(5,3)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,2)-(5,3)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,2)-(1,3) = "b" - │ │ │ ├── closing_loc: (1,3)-(1,4) = ":" - │ │ │ └── unescaped: "b" - │ │ ├── value: - │ │ │ @ IfNode (location: (1,5)-(5,3)) - │ │ │ ├── if_keyword_loc: (1,5)-(1,7) = "if" - │ │ │ ├── predicate: - │ │ │ │ @ SymbolNode (location: (1,8)-(1,10)) - │ │ │ │ ├── opening_loc: (1,8)-(1,9) = ":" - │ │ │ │ ├── value_loc: (1,9)-(1,10) = "c" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "c" - │ │ │ ├── then_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (2,0)-(2,1)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (2,0)-(2,1)) - │ │ │ │ └── flags: decimal - │ │ │ ├── consequent: - │ │ │ │ @ ElseNode (location: (3,0)-(5,3)) - │ │ │ │ ├── else_keyword_loc: (3,0)-(3,4) = "else" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (4,0)-(4,1)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (4,0)-(4,1)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" - │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(5,3)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,2)-(5,3)) + │ ├── key: + │ │ @ SymbolNode (location: (1,2)-(1,4)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,2)-(1,3) = "b" + │ │ ├── closing_loc: (1,3)-(1,4) = ":" + │ │ └── unescaped: "b" + │ ├── value: + │ │ @ IfNode (location: (1,5)-(5,3)) + │ │ ├── if_keyword_loc: (1,5)-(1,7) = "if" + │ │ ├── predicate: + │ │ │ @ SymbolNode (location: (1,8)-(1,10)) + │ │ │ ├── opening_loc: (1,8)-(1,9) = ":" + │ │ │ ├── value_loc: (1,9)-(1,10) = "c" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "c" + │ │ ├── then_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (2,0)-(2,1)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (2,0)-(2,1)) + │ │ │ └── flags: decimal + │ │ ├── consequent: + │ │ │ @ ElseNode (location: (3,0)-(5,3)) + │ │ │ ├── else_keyword_loc: (3,0)-(3,4) = "else" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (4,0)-(4,1)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (4,0)-(4,1)) + │ │ │ │ └── flags: decimal + │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" + │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" + │ └── operator_loc: ∅ ├── closing_loc: (5,3)-(5,4) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt index 6c6cd49358..ae3b5882ad 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,18 +12,17 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(1,6)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,2)-(1,6)) - │ │ ├── key: - │ │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,3)-(1,5) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(1,6)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,2)-(1,6)) + │ ├── key: + │ │ @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal + │ ├── value: + │ │ @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ └── operator_loc: (1,3)-(1,5) = "=>" ├── closing_loc: (1,7)-(1,8) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_bang_command_call.txt b/test/prism/snapshots/seattlerb/call_bang_command_call.txt index cfc96e3ef8..1631f7dd6e 100644 --- a/test/prism/snapshots/seattlerb/call_bang_command_call.txt +++ b/test/prism/snapshots/seattlerb/call_bang_command_call.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,2)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,2)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,26 +18,23 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :b │ ├── message_loc: (1,4)-(1,5) = "b" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt index 40ebf4c394..ba7dcfa262 100644 --- a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt +++ b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt index 2ac8fe131d..037ab33222 100644 --- a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,44 +12,43 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(3,3)) - │ ├── arguments: (length: 1) - │ │ └── @ BeginNode (location: (1,2)-(3,3)) - │ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (2,0)-(2,10)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (2,0)-(2,10)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (2,0)-(2,1)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (2,0)-(2,1) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: (2,1)-(2,2) = "." - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (2,2)-(2,3) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (2,4)-(2,10)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do" - │ │ │ │ └── closing_loc: (2,7)-(2,10) = "end" - │ │ │ └── flags: ∅ - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (3,0)-(3,3) = "end" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ BeginNode (location: (1,2)-(3,3)) + │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (2,0)-(2,10)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (2,0)-(2,10)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (2,0)-(2,1)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (2,0)-(2,1) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: (2,1)-(2,2) = "." + │ │ ├── name: :c + │ │ ├── message_loc: (2,2)-(2,3) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (2,4)-(2,10)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (2,4)-(2,6) = "do" + │ │ └── closing_loc: (2,7)-(2,10) = "end" + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_block_arg_named.txt b/test/prism/snapshots/seattlerb/call_block_arg_named.txt index 9e5bacfe29..24e9dd6cc9 100644 --- a/test/prism/snapshots/seattlerb/call_block_arg_named.txt +++ b/test/prism/snapshots/seattlerb/call_block_arg_named.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -11,18 +12,17 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: ∅ ├── closing_loc: (1,6)-(1,7) = ")" - ├── block: - │ @ BlockArgumentNode (location: (1,2)-(1,6)) - │ ├── expression: - │ │ @ CallNode (location: (1,3)-(1,6)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :blk - │ │ ├── message_loc: (1,3)-(1,6) = "blk" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── operator_loc: (1,2)-(1,3) = "&" - └── flags: ∅ + └── block: + @ BlockArgumentNode (location: (1,2)-(1,6)) + ├── expression: + │ @ CallNode (location: (1,3)-(1,6)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :blk + │ ├── message_loc: (1,3)-(1,6) = "blk" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + └── operator_loc: (1,2)-(1,3) = "&" diff --git a/test/prism/snapshots/seattlerb/call_carat.txt b/test/prism/snapshots/seattlerb/call_carat.txt index d62eb417c7..7c0fdbc7bc 100644 --- a/test/prism/snapshots/seattlerb/call_carat.txt +++ b/test/prism/snapshots/seattlerb/call_carat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_colon2.txt b/test/prism/snapshots/seattlerb/call_colon2.txt index 9581348c6f..98bfc63126 100644 --- a/test/prism/snapshots/seattlerb/call_colon2.txt +++ b/test/prism/snapshots/seattlerb/call_colon2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A @@ -13,5 +14,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_colon_parens.txt b/test/prism/snapshots/seattlerb/call_colon_parens.txt index dcdbfb4ede..5522d7b39d 100644 --- a/test/prism/snapshots/seattlerb/call_colon_parens.txt +++ b/test/prism/snapshots/seattlerb/call_colon_parens.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,5 +14,4 @@ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,4)-(1,5) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_div.txt b/test/prism/snapshots/seattlerb/call_div.txt index 7b6fdcabef..bc4e4c94cf 100644 --- a/test/prism/snapshots/seattlerb/call_div.txt +++ b/test/prism/snapshots/seattlerb/call_div.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_dot_parens.txt b/test/prism/snapshots/seattlerb/call_dot_parens.txt index 774c719d93..8c0989c7bc 100644 --- a/test/prism/snapshots/seattlerb/call_dot_parens.txt +++ b/test/prism/snapshots/seattlerb/call_dot_parens.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,5 +14,4 @@ ├── opening_loc: (1,2)-(1,3) = "(" ├── arguments: ∅ ├── closing_loc: (1,3)-(1,4) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_env.txt b/test/prism/snapshots/seattlerb/call_env.txt index c2863bb069..7b502cf511 100644 --- a/test/prism/snapshots/seattlerb/call_env.txt +++ b/test/prism/snapshots/seattlerb/call_env.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :happy ├── message_loc: (1,2)-(1,7) = "happy" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_eq3.txt b/test/prism/snapshots/seattlerb/call_eq3.txt index 5d53180b41..4a31d62679 100644 --- a/test/prism/snapshots/seattlerb/call_eq3.txt +++ b/test/prism/snapshots/seattlerb/call_eq3.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_gt.txt b/test/prism/snapshots/seattlerb/call_gt.txt index 33bc1de6cf..5d766435da 100644 --- a/test/prism/snapshots/seattlerb/call_gt.txt +++ b/test/prism/snapshots/seattlerb/call_gt.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_kwsplat.txt b/test/prism/snapshots/seattlerb/call_kwsplat.txt index 7e341fcbec..f2effca19e 100644 --- a/test/prism/snapshots/seattlerb/call_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_kwsplat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,15 +12,14 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(1,5)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocSplatNode (location: (1,2)-(1,5)) - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,2)-(1,4) = "**" - │ └── flags: contains_keyword_splat + │ ├── flags: contains_keyword_splat + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(1,5)) + │ └── elements: (length: 1) + │ └── @ AssocSplatNode (location: (1,2)-(1,5)) + │ ├── value: + │ │ @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── operator_loc: (1,2)-(1,4) = "**" ├── closing_loc: (1,5)-(1,6) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_leading_dots.txt b/test/prism/snapshots/seattlerb/call_leading_dots.txt index c706cf6a5b..943dd871d3 100644 --- a/test/prism/snapshots/seattlerb/call_leading_dots.txt +++ b/test/prism/snapshots/seattlerb/call_leading_dots.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(3,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,2)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(2,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,21 +18,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (2,0)-(2,1) = "." │ ├── name: :b │ ├── message_loc: (2,1)-(2,2) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: (3,0)-(3,1) = "." ├── name: :c ├── message_loc: (3,1)-(3,2) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt index ee1abe6fc5..bebe26f994 100644 --- a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt +++ b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(4,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,2)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(2,2)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,21 +18,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (2,0)-(2,1) = "." │ ├── name: :b │ ├── message_loc: (2,1)-(2,2) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: (4,0)-(4,1) = "." ├── name: :d ├── message_loc: (4,1)-(4,2) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_lt.txt b/test/prism/snapshots/seattlerb/call_lt.txt index 64c3967dcb..11308d4664 100644 --- a/test/prism/snapshots/seattlerb/call_lt.txt +++ b/test/prism/snapshots/seattlerb/call_lt.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_lte.txt b/test/prism/snapshots/seattlerb/call_lte.txt index 7f7dfb3bbf..3bf6cfd433 100644 --- a/test/prism/snapshots/seattlerb/call_lte.txt +++ b/test/prism/snapshots/seattlerb/call_lte.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_not.txt b/test/prism/snapshots/seattlerb/call_not.txt index 157f8df593..a370633ed3 100644 --- a/test/prism/snapshots/seattlerb/call_not.txt +++ b/test/prism/snapshots/seattlerb/call_not.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,4)-(1,6)) │ └── flags: decimal @@ -13,5 +14,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_pipe.txt b/test/prism/snapshots/seattlerb/call_pipe.txt index 562dd56398..2300d68c77 100644 --- a/test/prism/snapshots/seattlerb/call_pipe.txt +++ b/test/prism/snapshots/seattlerb/call_pipe.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_rshift.txt b/test/prism/snapshots/seattlerb/call_rshift.txt index 8a9212b1f5..53fcc9cbbe 100644 --- a/test/prism/snapshots/seattlerb/call_rshift.txt +++ b/test/prism/snapshots/seattlerb/call_rshift.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_self_brackets.txt b/test/prism/snapshots/seattlerb/call_self_brackets.txt index c3e431e654..f5652a807e 100644 --- a/test/prism/snapshots/seattlerb/call_self_brackets.txt +++ b/test/prism/snapshots/seattlerb/call_self_brackets.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ SelfNode (location: (1,0)-(1,4)) ├── call_operator_loc: ∅ @@ -12,10 +13,9 @@ ├── opening_loc: (1,4)-(1,5) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: (1,6)-(1,7) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_spaceship.txt b/test/prism/snapshots/seattlerb/call_spaceship.txt index a35437d361..450a45b749 100644 --- a/test/prism/snapshots/seattlerb/call_spaceship.txt +++ b/test/prism/snapshots/seattlerb/call_spaceship.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt index 9c088aef64..4f3ba3bac8 100644 --- a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt +++ b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,22)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,13)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (1,2)-(1,13)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ ├── opening_loc: (1,5)-(1,7) = "do" - │ │ ├── closing_loc: (1,10)-(1,13) = "end" - │ │ ├── parameters: ∅ - │ │ └── body: - │ │ @ StatementsNode (location: (1,8)-(1,9)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (1,2)-(1,13)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (1,2)-(1,4) = "->" + │ ├── opening_loc: (1,5)-(1,7) = "do" + │ ├── closing_loc: (1,10)-(1,13) = "end" + │ ├── parameters: ∅ + │ └── body: + │ @ StatementsNode (location: (1,8)-(1,9)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (1,8)-(1,9)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,14)-(1,22)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,17)-(1,18)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (1,17)-(1,18)) - │ │ └── flags: decimal - │ ├── opening_loc: (1,14)-(1,16) = "do" - │ └── closing_loc: (1,19)-(1,22) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,14)-(1,22)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,17)-(1,18)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (1,17)-(1,18)) + │ └── flags: decimal + ├── opening_loc: (1,14)-(1,16) = "do" + └── closing_loc: (1,19)-(1,22) = "end" diff --git a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt index 8494370d36..34c65e80f1 100644 --- a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt +++ b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,19)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,10)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (1,2)-(1,10)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ ├── opening_loc: (1,5)-(1,6) = "{" - │ │ ├── closing_loc: (1,9)-(1,10) = "}" - │ │ ├── parameters: ∅ - │ │ └── body: - │ │ @ StatementsNode (location: (1,7)-(1,8)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (1,2)-(1,10)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (1,2)-(1,4) = "->" + │ ├── opening_loc: (1,5)-(1,6) = "{" + │ ├── closing_loc: (1,9)-(1,10) = "}" + │ ├── parameters: ∅ + │ └── body: + │ @ StatementsNode (location: (1,7)-(1,8)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,11)-(1,19)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,14)-(1,15)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (1,14)-(1,15)) - │ │ └── flags: decimal - │ ├── opening_loc: (1,11)-(1,13) = "do" - │ └── closing_loc: (1,16)-(1,19) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,11)-(1,19)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,14)-(1,15)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (1,14)-(1,15)) + │ └── flags: decimal + ├── opening_loc: (1,11)-(1,13) = "do" + └── closing_loc: (1,16)-(1,19) = "end" diff --git a/test/prism/snapshots/seattlerb/call_star.txt b/test/prism/snapshots/seattlerb/call_star.txt index 5246bf4856..ba3099a0c6 100644 --- a/test/prism/snapshots/seattlerb/call_star.txt +++ b/test/prism/snapshots/seattlerb/call_star.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_star2.txt b/test/prism/snapshots/seattlerb/call_star2.txt index 792c494f57..d6f112fc2c 100644 --- a/test/prism/snapshots/seattlerb/call_star2.txt +++ b/test/prism/snapshots/seattlerb/call_star2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_trailing_comma.txt index 6542595104..0e0dd27e38 100644 --- a/test/prism/snapshots/seattlerb/call_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_trailing_comma.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,10 +12,9 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,3)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,2)-(1,3)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,2)-(1,3)) + │ └── flags: decimal ├── closing_loc: (1,4)-(1,5) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_trailing_dots.txt b/test/prism/snapshots/seattlerb/call_trailing_dots.txt index a337486e89..f0f374f3d4 100644 --- a/test/prism/snapshots/seattlerb/call_trailing_dots.txt +++ b/test/prism/snapshots/seattlerb/call_trailing_dots.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(3,1)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,1)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(2,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,21 +18,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,2) = "." │ ├── name: :b │ ├── message_loc: (2,0)-(2,1) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: (2,1)-(2,2) = "." ├── name: :c ├── message_loc: (3,0)-(3,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_unary_bang.txt b/test/prism/snapshots/seattlerb/call_unary_bang.txt index 378a11b738..03b295254a 100644 --- a/test/prism/snapshots/seattlerb/call_unary_bang.txt +++ b/test/prism/snapshots/seattlerb/call_unary_bang.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,1)-(1,2)) │ └── flags: decimal @@ -13,5 +14,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in.txt b/test/prism/snapshots/seattlerb/case_in.txt index e66b4597b2..0795f20792 100644 --- a/test/prism/snapshots/seattlerb/case_in.txt +++ b/test/prism/snapshots/seattlerb/case_in.txt @@ -45,6 +45,7 @@ │ │ └── @ InNode (location: (6,0)-(6,10)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (6,3)-(6,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (6,6)-(6,7)) │ │ │ │ │ ├── opening_loc: ∅ @@ -57,8 +58,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (6,3)-(6,6) = "%I[" - │ │ │ ├── closing_loc: (6,9)-(6,10) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (6,9)-(6,10) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (6,0)-(6,2) = "in" │ │ └── then_loc: ∅ @@ -76,6 +76,7 @@ │ │ └── @ InNode (location: (10,0)-(10,10)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (10,3)-(10,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ StringNode (location: (10,6)-(10,7)) │ │ │ │ │ ├── flags: ∅ @@ -90,8 +91,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (10,3)-(10,6) = "%W[" - │ │ │ ├── closing_loc: (10,9)-(10,10) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (10,9)-(10,10) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (10,0)-(10,2) = "in" │ │ └── then_loc: ∅ @@ -109,6 +109,7 @@ │ │ └── @ InNode (location: (14,0)-(14,10)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (14,3)-(14,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (14,6)-(14,7)) │ │ │ │ │ ├── opening_loc: ∅ @@ -121,8 +122,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (14,3)-(14,6) = "%i[" - │ │ │ ├── closing_loc: (14,9)-(14,10) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (14,9)-(14,10) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (14,0)-(14,2) = "in" │ │ └── then_loc: ∅ @@ -140,6 +140,7 @@ │ │ └── @ InNode (location: (18,0)-(18,10)) │ │ ├── pattern: │ │ │ @ ArrayNode (location: (18,3)-(18,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ StringNode (location: (18,6)-(18,7)) │ │ │ │ │ ├── flags: ∅ @@ -154,8 +155,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (18,3)-(18,6) = "%w[" - │ │ │ ├── closing_loc: (18,9)-(18,10) = "]" - │ │ │ └── flags: ∅ + │ │ │ └── closing_loc: (18,9)-(18,10) = "]" │ │ ├── statements: ∅ │ │ ├── in_loc: (18,0)-(18,2) = "in" │ │ └── then_loc: ∅ @@ -173,12 +173,12 @@ │ │ └── @ InNode (location: (22,0)-(22,9)) │ │ ├── pattern: │ │ │ @ RangeNode (location: (22,4)-(22,9)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: ∅ │ │ │ ├── right: │ │ │ │ @ IntegerNode (location: (22,7)-(22,9)) │ │ │ │ └── flags: decimal - │ │ │ ├── operator_loc: (22,4)-(22,7) = "..." - │ │ │ └── flags: exclude_end + │ │ │ └── operator_loc: (22,4)-(22,7) = "..." │ │ ├── statements: ∅ │ │ ├── in_loc: (22,0)-(22,2) = "in" │ │ └── then_loc: ∅ @@ -196,12 +196,12 @@ │ │ └── @ InNode (location: (26,0)-(26,8)) │ │ ├── pattern: │ │ │ @ RangeNode (location: (26,4)-(26,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── left: ∅ │ │ │ ├── right: │ │ │ │ @ IntegerNode (location: (26,6)-(26,8)) │ │ │ │ └── flags: decimal - │ │ │ ├── operator_loc: (26,4)-(26,6) = ".." - │ │ │ └── flags: ∅ + │ │ │ └── operator_loc: (26,4)-(26,6) = ".." │ │ ├── statements: ∅ │ │ ├── in_loc: (26,0)-(26,2) = "in" │ │ └── then_loc: ∅ @@ -219,12 +219,12 @@ │ │ └── @ InNode (location: (30,0)-(30,8)) │ │ ├── pattern: │ │ │ @ RangeNode (location: (30,4)-(30,8)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: │ │ │ │ @ IntegerNode (location: (30,4)-(30,5)) │ │ │ │ └── flags: decimal │ │ │ ├── right: ∅ - │ │ │ ├── operator_loc: (30,5)-(30,8) = "..." - │ │ │ └── flags: exclude_end + │ │ │ └── operator_loc: (30,5)-(30,8) = "..." │ │ ├── statements: ∅ │ │ ├── in_loc: (30,0)-(30,2) = "in" │ │ └── then_loc: ∅ @@ -242,14 +242,14 @@ │ │ └── @ InNode (location: (34,0)-(34,9)) │ │ ├── pattern: │ │ │ @ RangeNode (location: (34,4)-(34,9)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: │ │ │ │ @ IntegerNode (location: (34,4)-(34,5)) │ │ │ │ └── flags: decimal │ │ │ ├── right: │ │ │ │ @ IntegerNode (location: (34,8)-(34,9)) │ │ │ │ └── flags: decimal - │ │ │ ├── operator_loc: (34,5)-(34,8) = "..." - │ │ │ └── flags: exclude_end + │ │ │ └── operator_loc: (34,5)-(34,8) = "..." │ │ ├── statements: ∅ │ │ ├── in_loc: (34,0)-(34,2) = "in" │ │ └── then_loc: ∅ @@ -310,11 +310,11 @@ │ │ └── @ InNode (location: (46,0)-(46,11)) │ │ ├── pattern: │ │ │ @ RegularExpressionNode (location: (46,3)-(46,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (46,3)-(46,4) = "/" │ │ │ ├── content_loc: (46,4)-(46,10) = "regexp" │ │ │ ├── closing_loc: (46,10)-(46,11) = "/" - │ │ │ ├── unescaped: "regexp" - │ │ │ └── flags: ∅ + │ │ │ └── unescaped: "regexp" │ │ ├── statements: ∅ │ │ ├── in_loc: (46,0)-(46,2) = "in" │ │ └── then_loc: ∅ @@ -735,6 +735,7 @@ │ │ │ │ └── @ PinnedExpressionNode (location: (90,4)-(90,8)) │ │ │ │ ├── expression: │ │ │ │ │ @ CallNode (location: (90,6)-(90,7)) + │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :a @@ -742,8 +743,7 @@ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── operator_loc: (90,4)-(90,5) = "^" │ │ │ │ ├── lparen_loc: (90,5)-(90,6) = "(" │ │ │ │ └── rparen_loc: (90,7)-(90,8) = ")" diff --git a/test/prism/snapshots/seattlerb/case_in_67.txt b/test/prism/snapshots/seattlerb/case_in_67.txt index 55b188a652..612f4fa6d3 100644 --- a/test/prism/snapshots/seattlerb/case_in_67.txt +++ b/test/prism/snapshots/seattlerb/case_in_67.txt @@ -14,12 +14,12 @@ │ └── @ InNode (location: (2,0)-(2,15)) │ ├── pattern: │ │ @ RangeNode (location: (2,3)-(2,6)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (2,3)-(2,4)) │ │ │ └── flags: decimal │ │ ├── right: ∅ - │ │ ├── operator_loc: (2,4)-(2,6) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (2,4)-(2,6) = ".." │ ├── statements: │ │ @ StatementsNode (location: (2,12)-(2,15)) │ │ └── body: (length: 1) diff --git a/test/prism/snapshots/seattlerb/case_in_86.txt b/test/prism/snapshots/seattlerb/case_in_86.txt index 7e789c7145..0c9ad3bb31 100644 --- a/test/prism/snapshots/seattlerb/case_in_86.txt +++ b/test/prism/snapshots/seattlerb/case_in_86.txt @@ -6,6 +6,7 @@ └── @ CaseMatchNode (location: (1,0)-(3,3)) ├── predicate: │ @ ArrayNode (location: (1,5)-(1,13)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" @@ -18,8 +19,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,5)-(1,6) = "[" - │ ├── closing_loc: (1,12)-(1,13) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,12)-(1,13) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,25)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/case_in_86_2.txt b/test/prism/snapshots/seattlerb/case_in_86_2.txt index 58c154f46c..9db0a0332d 100644 --- a/test/prism/snapshots/seattlerb/case_in_86_2.txt +++ b/test/prism/snapshots/seattlerb/case_in_86_2.txt @@ -6,6 +6,7 @@ └── @ CaseMatchNode (location: (1,0)-(3,3)) ├── predicate: │ @ ArrayNode (location: (1,5)-(1,13)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" @@ -18,8 +19,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,5)-(1,6) = "[" - │ ├── closing_loc: (1,12)-(1,13) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,12)-(1,13) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,25)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/dasgn_icky2.txt b/test/prism/snapshots/seattlerb/dasgn_icky2.txt index 96e4277b9c..83497a3c72 100644 --- a/test/prism/snapshots/seattlerb/dasgn_icky2.txt +++ b/test/prism/snapshots/seattlerb/dasgn_icky2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(8,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(8,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,52 +12,51 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(8,3)) - │ ├── locals: [:v] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (2,2)-(7,5)) - │ │ └── body: (length: 2) - │ │ ├── @ LocalVariableWriteNode (location: (2,2)-(2,9)) - │ │ │ ├── name: :v - │ │ │ ├── depth: 0 - │ │ │ ├── name_loc: (2,2)-(2,3) = "v" - │ │ │ ├── value: - │ │ │ │ @ NilNode (location: (2,6)-(2,9)) - │ │ │ └── operator_loc: (2,4)-(2,5) = "=" - │ │ └── @ BeginNode (location: (3,2)-(7,5)) - │ │ ├── begin_keyword_loc: (3,2)-(3,7) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (4,4)-(4,9)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ YieldNode (location: (4,4)-(4,9)) - │ │ │ ├── keyword_loc: (4,4)-(4,9) = "yield" - │ │ │ ├── lparen_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ └── rparen_loc: ∅ - │ │ ├── rescue_clause: - │ │ │ @ RescueNode (location: (5,2)-(6,9)) - │ │ │ ├── keyword_loc: (5,2)-(5,8) = "rescue" - │ │ │ ├── exceptions: (length: 1) - │ │ │ │ └── @ ConstantReadNode (location: (5,9)-(5,18)) - │ │ │ │ └── name: :Exception - │ │ │ ├── operator_loc: (5,19)-(5,21) = "=>" - │ │ │ ├── reference: - │ │ │ │ @ LocalVariableTargetNode (location: (5,22)-(5,23)) - │ │ │ │ ├── name: :v - │ │ │ │ └── depth: 0 - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (6,4)-(6,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ BreakNode (location: (6,4)-(6,9)) - │ │ │ │ ├── arguments: ∅ - │ │ │ │ └── keyword_loc: (6,4)-(6,9) = "break" - │ │ │ └── consequent: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (7,2)-(7,5) = "end" - │ ├── opening_loc: (1,2)-(1,4) = "do" - │ └── closing_loc: (8,0)-(8,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(8,3)) + ├── locals: [:v] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (2,2)-(7,5)) + │ └── body: (length: 2) + │ ├── @ LocalVariableWriteNode (location: (2,2)-(2,9)) + │ │ ├── name: :v + │ │ ├── depth: 0 + │ │ ├── name_loc: (2,2)-(2,3) = "v" + │ │ ├── value: + │ │ │ @ NilNode (location: (2,6)-(2,9)) + │ │ └── operator_loc: (2,4)-(2,5) = "=" + │ └── @ BeginNode (location: (3,2)-(7,5)) + │ ├── begin_keyword_loc: (3,2)-(3,7) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (4,4)-(4,9)) + │ │ └── body: (length: 1) + │ │ └── @ YieldNode (location: (4,4)-(4,9)) + │ │ ├── keyword_loc: (4,4)-(4,9) = "yield" + │ │ ├── lparen_loc: ∅ + │ │ ├── arguments: ∅ + │ │ └── rparen_loc: ∅ + │ ├── rescue_clause: + │ │ @ RescueNode (location: (5,2)-(6,9)) + │ │ ├── keyword_loc: (5,2)-(5,8) = "rescue" + │ │ ├── exceptions: (length: 1) + │ │ │ └── @ ConstantReadNode (location: (5,9)-(5,18)) + │ │ │ └── name: :Exception + │ │ ├── operator_loc: (5,19)-(5,21) = "=>" + │ │ ├── reference: + │ │ │ @ LocalVariableTargetNode (location: (5,22)-(5,23)) + │ │ │ ├── name: :v + │ │ │ └── depth: 0 + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (6,4)-(6,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ BreakNode (location: (6,4)-(6,9)) + │ │ │ ├── arguments: ∅ + │ │ │ └── keyword_loc: (6,4)-(6,9) = "break" + │ │ └── consequent: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (7,2)-(7,5) = "end" + ├── opening_loc: (1,2)-(1,4) = "do" + └── closing_loc: (8,0)-(8,3) = "end" diff --git a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt index d96b5062ed..85f50a79ce 100644 --- a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt @@ -23,6 +23,7 @@ │ @ StatementsNode (location: (1,15)-(1,24)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,15)-(1,24)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -30,15 +31,14 @@ │ ├── opening_loc: (1,16)-(1,17) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,17)-(1,23)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18)) - │ │ │ │ ├── name: :x - │ │ │ │ └── depth: 0 - │ │ │ └── @ ForwardingArgumentsNode (location: (1,20)-(1,23)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18)) + │ │ │ ├── name: :x + │ │ │ └── depth: 0 + │ │ └── @ ForwardingArgumentsNode (location: (1,20)-(1,23)) │ ├── closing_loc: (1,23)-(1,24) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:x, :"..."] ├── locals_body_index: 2 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt index 5f9b4b0084..b1854d9a35 100644 --- a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt @@ -27,6 +27,7 @@ │ @ StatementsNode (location: (1,21)-(1,36)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,21)-(1,36)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -34,20 +35,19 @@ │ ├── opening_loc: (1,22)-(1,23) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,23)-(1,35)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ SymbolNode (location: (1,23)-(1,27)) - │ │ │ │ ├── opening_loc: (1,23)-(1,24) = ":" - │ │ │ │ ├── value_loc: (1,24)-(1,27) = "get" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "get" - │ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30)) - │ │ │ │ ├── name: :z - │ │ │ │ └── depth: 0 - │ │ │ └── @ ForwardingArgumentsNode (location: (1,32)-(1,35)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ SymbolNode (location: (1,23)-(1,27)) + │ │ │ ├── opening_loc: (1,23)-(1,24) = ":" + │ │ │ ├── value_loc: (1,24)-(1,27) = "get" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "get" + │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30)) + │ │ │ ├── name: :z + │ │ │ └── depth: 0 + │ │ └── @ ForwardingArgumentsNode (location: (1,32)-(1,35)) │ ├── closing_loc: (1,35)-(1,36) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:x, :y, :z, :"..."] ├── locals_body_index: 4 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_endless_command.txt b/test/prism/snapshots/seattlerb/defn_endless_command.txt index 432a84098a..f578856927 100644 --- a/test/prism/snapshots/seattlerb/defn_endless_command.txt +++ b/test/prism/snapshots/seattlerb/defn_endless_command.txt @@ -12,6 +12,7 @@ │ @ StatementsNode (location: (1,18)-(1,33)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,18)-(1,33)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :other_method @@ -19,13 +20,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,31)-(1,33)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,31)-(1,33)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,31)-(1,33)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [] ├── locals_body_index: 0 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt index c7ed60977b..3a1736771e 100644 --- a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt +++ b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt @@ -14,6 +14,7 @@ │ └── @ RescueModifierNode (location: (1,18)-(1,43)) │ ├── expression: │ │ @ CallNode (location: (1,18)-(1,33)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :other_method @@ -21,13 +22,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,31)-(1,33)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,31)-(1,33)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,31)-(1,33)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (1,34)-(1,40) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,41)-(1,43)) diff --git a/test/prism/snapshots/seattlerb/defn_forward_args.txt b/test/prism/snapshots/seattlerb/defn_forward_args.txt index 87a605a2f6..2b0af43df0 100644 --- a/test/prism/snapshots/seattlerb/defn_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_forward_args.txt @@ -21,6 +21,7 @@ │ @ StatementsNode (location: (1,12)-(1,18)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,12)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -28,12 +29,11 @@ │ ├── opening_loc: (1,13)-(1,14) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,14)-(1,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForwardingArgumentsNode (location: (1,14)-(1,17)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForwardingArgumentsNode (location: (1,14)-(1,17)) │ ├── closing_loc: (1,17)-(1,18) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:"..."] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt index 69fe71cabd..ad3c108dc2 100644 --- a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt +++ b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt @@ -21,6 +21,7 @@ │ @ StatementsNode (location: (2,2)-(2,8)) │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -28,12 +29,11 @@ │ ├── opening_loc: (2,3)-(2,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (2,4)-(2,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForwardingArgumentsNode (location: (2,4)-(2,7)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForwardingArgumentsNode (location: (2,4)-(2,7)) │ ├── closing_loc: (2,7)-(2,8) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:"..."] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt index 469d680f19..8c43e4eb0a 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt @@ -24,6 +24,7 @@ │ @ StatementsNode (location: (1,20)-(1,41)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,20)-(1,41)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :test_splat @@ -31,19 +32,18 @@ │ ├── opening_loc: (1,30)-(1,31) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,31)-(1,40)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,31)-(1,40)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (1,31)-(1,40)) - │ │ │ ├── value: - │ │ │ │ @ LocalVariableReadNode (location: (1,33)-(1,40)) - │ │ │ │ ├── name: :testing - │ │ │ │ └── depth: 0 - │ │ │ └── operator_loc: (1,31)-(1,33) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,31)-(1,40)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (1,31)-(1,40)) + │ │ ├── value: + │ │ │ @ LocalVariableReadNode (location: (1,33)-(1,40)) + │ │ │ ├── name: :testing + │ │ │ └── depth: 0 + │ │ └── operator_loc: (1,31)-(1,33) = "**" │ ├── closing_loc: (1,40)-(1,41) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:testing] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_oneliner.txt b/test/prism/snapshots/seattlerb/defn_oneliner.txt index eaf3269128..02e070dddd 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner.txt @@ -22,6 +22,7 @@ │ @ StatementsNode (location: (1,16)-(1,27)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,16)-(1,27)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system @@ -29,14 +30,13 @@ │ ├── opening_loc: (1,22)-(1,23) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,23)-(1,26)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (1,23)-(1,26)) - │ │ │ ├── name: :cmd - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (1,23)-(1,26)) + │ │ ├── name: :cmd + │ │ └── depth: 0 │ ├── closing_loc: (1,26)-(1,27) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:cmd] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt index d1c07fd58a..da1c11496e 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt @@ -12,6 +12,7 @@ │ @ StatementsNode (location: (1,11)-(1,17)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,11)-(1,17)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system @@ -19,8 +20,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── locals: [] ├── locals_body_index: 0 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt index 579f629bc9..965d8b9bb3 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt @@ -12,6 +12,7 @@ │ @ StatementsNode (location: (1,13)-(1,19)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,19)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system @@ -19,8 +20,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── locals: [] ├── locals_body_index: 0 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt index 1e052dd5f4..ad58ae383c 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt @@ -25,6 +25,7 @@ │ │ │ @ StatementsNode (location: (2,2)-(2,13)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :system @@ -32,14 +33,13 @@ │ │ │ ├── opening_loc: (2,8)-(2,9) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (2,9)-(2,12)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12)) - │ │ │ │ │ ├── name: :cmd - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12)) + │ │ │ │ ├── name: :cmd + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (2,12)-(2,13) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,5)) │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -83,6 +83,7 @@ │ │ └── @ RescueModifierNode (location: (9,2)-(9,24)) │ │ ├── expression: │ │ │ @ CallNode (location: (9,2)-(9,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :system @@ -90,14 +91,13 @@ │ │ │ ├── opening_loc: (9,8)-(9,9) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (9,9)-(9,12)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12)) - │ │ │ │ │ ├── name: :cmd - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12)) + │ │ │ │ ├── name: :cmd + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (9,12)-(9,13) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (9,21)-(9,24)) @@ -130,6 +130,7 @@ │ └── @ RescueModifierNode (location: (13,16)-(13,38)) │ ├── expression: │ │ @ CallNode (location: (13,16)-(13,27)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :system @@ -137,14 +138,13 @@ │ │ ├── opening_loc: (13,22)-(13,23) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (13,23)-(13,26)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (13,23)-(13,26)) - │ │ │ │ ├── name: :cmd - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (13,23)-(13,26)) + │ │ │ ├── name: :cmd + │ │ │ └── depth: 0 │ │ ├── closing_loc: (13,26)-(13,27) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (13,28)-(13,34) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,35)-(13,38)) diff --git a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt index 3d80dc144b..0e07d3e05c 100644 --- a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt +++ b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,30)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,30)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,52 +12,51 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,30)) - │ ├── arguments: (length: 1) - │ │ └── @ DefNode (location: (1,2)-(1,30)) - │ │ ├── name: :b - │ │ ├── name_loc: (1,11)-(1,12) = "b" - │ │ ├── receiver: - │ │ │ @ SelfNode (location: (1,6)-(1,10)) - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,14)-(1,25)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,14)-(1,25)) - │ │ │ ├── receiver: - │ │ │ │ @ CallNode (location: (1,14)-(1,15)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :x - │ │ │ │ ├── message_loc: (1,14)-(1,15) = "x" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── call_operator_loc: (1,15)-(1,16) = "." - │ │ │ ├── name: :y - │ │ │ ├── message_loc: (1,16)-(1,17) = "y" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,18)-(1,25)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (1,18)-(1,20) = "do" - │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end" - │ │ │ └── flags: ∅ - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" - │ │ ├── operator_loc: (1,10)-(1,11) = "." - │ │ ├── lparen_loc: ∅ - │ │ ├── rparen_loc: ∅ - │ │ ├── equal_loc: ∅ - │ │ └── end_keyword_loc: (1,27)-(1,30) = "end" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ DefNode (location: (1,2)-(1,30)) + │ ├── name: :b + │ ├── name_loc: (1,11)-(1,12) = "b" + │ ├── receiver: + │ │ @ SelfNode (location: (1,6)-(1,10)) + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (1,14)-(1,25)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,14)-(1,25)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ CallNode (location: (1,14)-(1,15)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :x + │ │ │ ├── message_loc: (1,14)-(1,15) = "x" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── call_operator_loc: (1,15)-(1,16) = "." + │ │ ├── name: :y + │ │ ├── message_loc: (1,16)-(1,17) = "y" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,18)-(1,25)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,18)-(1,20) = "do" + │ │ └── closing_loc: (1,22)-(1,25) = "end" + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── def_keyword_loc: (1,2)-(1,5) = "def" + │ ├── operator_loc: (1,10)-(1,11) = "." + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (1,27)-(1,30) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defs_endless_command.txt b/test/prism/snapshots/seattlerb/defs_endless_command.txt index 873a8dd2ec..b9d926662a 100644 --- a/test/prism/snapshots/seattlerb/defs_endless_command.txt +++ b/test/prism/snapshots/seattlerb/defs_endless_command.txt @@ -8,6 +8,7 @@ ├── name_loc: (1,6)-(1,17) = "some_method" ├── receiver: │ @ CallNode (location: (1,4)-(1,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -15,13 +16,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,35)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,20)-(1,35)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :other_method @@ -29,13 +30,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,33)-(1,35)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,33)-(1,35)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,33)-(1,35)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [] ├── locals_body_index: 0 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt index a066466ec8..0ac0ca2479 100644 --- a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt +++ b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt @@ -8,6 +8,7 @@ ├── name_loc: (1,6)-(1,17) = "some_method" ├── receiver: │ @ CallNode (location: (1,4)-(1,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -15,8 +16,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,45)) @@ -24,6 +24,7 @@ │ └── @ RescueModifierNode (location: (1,20)-(1,45)) │ ├── expression: │ │ @ CallNode (location: (1,20)-(1,35)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :other_method @@ -31,13 +32,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,33)-(1,35)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,33)-(1,35)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,33)-(1,35)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (1,36)-(1,42) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,43)-(1,45)) diff --git a/test/prism/snapshots/seattlerb/defs_oneliner.txt b/test/prism/snapshots/seattlerb/defs_oneliner.txt index fdab8085c3..e7f981c895 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner.txt @@ -23,6 +23,7 @@ │ @ StatementsNode (location: (1,21)-(1,32)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,21)-(1,32)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system @@ -30,14 +31,13 @@ │ ├── opening_loc: (1,27)-(1,28) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,28)-(1,31)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (1,28)-(1,31)) - │ │ │ ├── name: :cmd - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (1,28)-(1,31)) + │ │ ├── name: :cmd + │ │ └── depth: 0 │ ├── closing_loc: (1,31)-(1,32) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:cmd] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt index b0f2f85216..e5acf45e76 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt @@ -26,6 +26,7 @@ │ │ │ @ StatementsNode (location: (2,2)-(2,13)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :system @@ -33,14 +34,13 @@ │ │ │ ├── opening_loc: (2,8)-(2,9) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (2,9)-(2,12)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12)) - │ │ │ │ │ ├── name: :cmd - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12)) + │ │ │ │ ├── name: :cmd + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (2,12)-(2,13) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,5)) │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -85,6 +85,7 @@ │ │ └── @ RescueModifierNode (location: (9,2)-(9,24)) │ │ ├── expression: │ │ │ @ CallNode (location: (9,2)-(9,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :system @@ -92,14 +93,13 @@ │ │ │ ├── opening_loc: (9,8)-(9,9) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (9,9)-(9,12)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12)) - │ │ │ │ │ ├── name: :cmd - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12)) + │ │ │ │ ├── name: :cmd + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (9,12)-(9,13) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (9,21)-(9,24)) @@ -133,6 +133,7 @@ │ └── @ RescueModifierNode (location: (13,21)-(13,43)) │ ├── expression: │ │ @ CallNode (location: (13,21)-(13,32)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :system @@ -140,14 +141,13 @@ │ │ ├── opening_loc: (13,27)-(13,28) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (13,28)-(13,31)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (13,28)-(13,31)) - │ │ │ │ ├── name: :cmd - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (13,28)-(13,31)) + │ │ │ ├── name: :cmd + │ │ │ └── depth: 0 │ │ ├── closing_loc: (13,31)-(13,32) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (13,33)-(13,39) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,40)-(13,43)) diff --git a/test/prism/snapshots/seattlerb/difficult0_.txt b/test/prism/snapshots/seattlerb/difficult0_.txt index 1810fa0dae..d5b6a87c1e 100644 --- a/test/prism/snapshots/seattlerb/difficult0_.txt +++ b/test/prism/snapshots/seattlerb/difficult0_.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,62 +12,61 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(4,8)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,2)-(4,8)) - │ │ ├── receiver: - │ │ │ @ CallNode (location: (1,2)-(4,4)) - │ │ │ ├── receiver: - │ │ │ │ @ StringNode (location: (1,2)-(1,8)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<-END" - │ │ │ │ ├── content_loc: (2,0)-(3,0) = " a\n" - │ │ │ │ ├── closing_loc: (3,0)-(4,0) = " END\n" - │ │ │ │ └── unescaped: " a\n" - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :+ - │ │ │ ├── message_loc: (1,8)-(1,9) = "+" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (1,9)-(4,4)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ InterpolatedStringNode (location: (1,9)-(4,4)) - │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "'" - │ │ │ │ │ ├── parts: (length: 2) - │ │ │ │ │ │ ├── @ StringNode (location: (1,10)-(2,0)) - │ │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── content_loc: (1,10)-(2,0) = "b\n" - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ └── unescaped: "b\n" - │ │ │ │ │ │ └── @ StringNode (location: (4,0)-(4,3)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── content_loc: (4,0)-(4,3) = " c" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: " c" - │ │ │ │ │ └── closing_loc: (4,3)-(4,4) = "'" - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (4,4)-(4,5) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (4,5)-(4,8)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (4,5)-(4,8)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (4,5)-(4,6) = "'" - │ │ │ │ ├── content_loc: (4,6)-(4,7) = "d" - │ │ │ │ ├── closing_loc: (4,7)-(4,8) = "'" - │ │ │ │ └── unescaped: "d" - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,2)-(4,8)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ CallNode (location: (1,2)-(4,4)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ StringNode (location: (1,2)-(1,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<-END" + │ │ │ ├── content_loc: (2,0)-(3,0) = " a\n" + │ │ │ ├── closing_loc: (3,0)-(4,0) = " END\n" + │ │ │ └── unescaped: " a\n" + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ + │ │ ├── message_loc: (1,8)-(1,9) = "+" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (1,9)-(4,4)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ InterpolatedStringNode (location: (1,9)-(4,4)) + │ │ │ ├── opening_loc: (1,9)-(1,10) = "'" + │ │ │ ├── parts: (length: 2) + │ │ │ │ ├── @ StringNode (location: (1,10)-(2,0)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── content_loc: (1,10)-(2,0) = "b\n" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "b\n" + │ │ │ │ └── @ StringNode (location: (4,0)-(4,3)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (4,0)-(4,3) = " c" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " c" + │ │ │ └── closing_loc: (4,3)-(4,4) = "'" + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (4,4)-(4,5) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (4,5)-(4,8)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (4,5)-(4,8)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (4,5)-(4,6) = "'" + │ │ ├── content_loc: (4,6)-(4,7) = "d" + │ │ ├── closing_loc: (4,7)-(4,8) = "'" + │ │ └── unescaped: "d" + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt index 17a7a3cb68..646a365ef0 100644 --- a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt +++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt @@ -12,6 +12,7 @@ │ @ StatementsNode (location: (2,2)-(11,11)) │ └── body: (length: 10) │ ├── @ CallNode (location: (2,2)-(2,5)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -19,16 +20,17 @@ │ │ ├── opening_loc: ∅ │ │ ├── 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: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (3,2)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (3,2)-(3,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -36,24 +38,24 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (3,3)-(3,4) = "." │ │ ├── name: :b │ │ ├── message_loc: (3,4)-(3,5) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,6)-(3,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,6)-(3,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (4,2)-(4,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (4,2)-(4,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -61,26 +63,26 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (4,3)-(4,4) = "." │ │ ├── name: :d │ │ ├── message_loc: (4,4)-(4,5) = "d" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (4,6)-(4,10)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (4,6)-(4,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (4,9)-(4,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ IntegerNode (location: (4,6)-(4,7)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (4,9)-(4,10)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (5,2)-(5,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (5,2)-(5,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :e @@ -88,24 +90,24 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (5,3)-(5,4) = "." │ │ ├── name: :f │ │ ├── message_loc: (5,4)-(5,5) = "f" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (6,2)-(6,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (6,2)-(6,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :g @@ -113,24 +115,23 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (6,3)-(6,4) = "." │ │ ├── name: :h │ │ ├── message_loc: (6,4)-(6,5) = "h" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (6,6)-(6,10)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (6,6)-(6,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (6,9)-(6,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ IntegerNode (location: (6,6)-(6,7)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (6,9)-(6,10)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (7,2)-(7,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -138,16 +139,17 @@ │ │ ├── opening_loc: (7,3)-(7,4) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,4)-(7,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (7,4)-(7,5)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (7,5)-(7,6) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (8,2)-(8,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (8,2)-(8,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -155,24 +157,24 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (8,3)-(8,4) = "." │ │ ├── name: :b │ │ ├── message_loc: (8,4)-(8,5) = "b" │ │ ├── opening_loc: (8,5)-(8,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (8,6)-(8,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (8,6)-(8,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (8,6)-(8,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (8,7)-(8,8) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (9,2)-(9,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (9,2)-(9,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -180,26 +182,26 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (9,3)-(9,4) = "." │ │ ├── name: :d │ │ ├── message_loc: (9,4)-(9,5) = "d" │ │ ├── opening_loc: (9,5)-(9,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,6)-(9,10)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (9,6)-(9,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (9,9)-(9,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ IntegerNode (location: (9,6)-(9,7)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (9,9)-(9,10)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (9,10)-(9,11) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ CallNode (location: (10,2)-(10,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (10,2)-(10,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :e @@ -207,24 +209,24 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (10,3)-(10,4) = "." │ │ ├── name: :f │ │ ├── message_loc: (10,4)-(10,5) = "f" │ │ ├── opening_loc: (10,5)-(10,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (10,6)-(10,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (10,6)-(10,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (10,6)-(10,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (10,7)-(10,8) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── @ CallNode (location: (11,2)-(11,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (11,2)-(11,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :g @@ -232,22 +234,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (11,3)-(11,4) = "." │ ├── name: :h │ ├── message_loc: (11,4)-(11,5) = "h" │ ├── opening_loc: (11,5)-(11,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (11,6)-(11,10)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (11,6)-(11,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (11,9)-(11,10)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (11,6)-(11,7)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (11,9)-(11,10)) + │ │ └── flags: decimal │ ├── closing_loc: (11,10)-(11,11) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: (12,0)-(12,3) = "end" diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt index f44437480f..4d23cd5efe 100644 --- a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt +++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (2,2)-(5,6)) │ │ └── body: (length: 4) │ │ ├── @ CallNode (location: (2,2)-(2,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :p @@ -19,17 +20,16 @@ │ │ │ ├── opening_loc: (2,3)-(2,4) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (2,4)-(2,7)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ StringNode (location: (2,4)-(2,7)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\"" - │ │ │ │ │ ├── content_loc: (2,5)-(2,6) = "a" - │ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = "\"" - │ │ │ │ │ └── unescaped: "a" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ StringNode (location: (2,4)-(2,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\"" + │ │ │ │ ├── content_loc: (2,5)-(2,6) = "a" + │ │ │ │ ├── closing_loc: (2,6)-(2,7) = "\"" + │ │ │ │ └── unescaped: "a" │ │ │ ├── closing_loc: (2,7)-(2,8) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── @ LocalVariableWriteNode (location: (3,2)-(3,7)) │ │ │ ├── name: :b │ │ │ ├── depth: 0 @@ -39,6 +39,7 @@ │ │ │ │ └── flags: decimal │ │ │ └── operator_loc: (3,4)-(3,5) = "=" │ │ ├── @ CallNode (location: (4,2)-(4,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :p @@ -46,14 +47,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (4,4)-(4,5)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (4,4)-(4,5)) - │ │ │ │ │ ├── name: :b - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (4,4)-(4,5)) + │ │ │ │ ├── name: :b + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ LocalVariableWriteNode (location: (5,2)-(5,6)) │ │ ├── name: :c │ │ ├── depth: 0 @@ -65,6 +65,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (6,0)-(6,3) = "end" └── @ CallNode (location: (7,0)-(7,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -72,5 +73,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult2_.txt b/test/prism/snapshots/seattlerb/difficult2_.txt index 599c784501..4d5b3ab528 100644 --- a/test/prism/snapshots/seattlerb/difficult2_.txt +++ b/test/prism/snapshots/seattlerb/difficult2_.txt @@ -13,6 +13,7 @@ │ │ @ StatementsNode (location: (1,4)-(1,9)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -20,17 +21,16 @@ │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,6)-(1,8)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (1,6)-(1,8)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "'" - │ │ │ │ ├── content_loc: (1,7)-(1,7) = "" - │ │ │ │ ├── closing_loc: (1,7)-(1,8) = "'" - │ │ │ │ └── unescaped: "" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (1,6)-(1,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,6)-(1,7) = "'" + │ │ │ ├── content_loc: (1,7)-(1,7) = "" + │ │ │ ├── closing_loc: (1,7)-(1,8) = "'" + │ │ │ └── unescaped: "" │ │ ├── closing_loc: (1,8)-(1,9) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,10)-(1,13)) │ │ ├── else_keyword_loc: (1,10)-(1,11) = ":" @@ -42,6 +42,7 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ CallNode (location: (2,0)-(2,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -49,21 +50,20 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (2,2)-(2,6)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (2,2)-(2,6)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (2,2)-(2,6)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (2,2)-(2,4)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (2,2)-(2,3) = "d" - │ │ │ ├── closing_loc: (2,3)-(2,4) = ":" - │ │ │ └── unescaped: "d" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (2,5)-(2,6)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (2,2)-(2,6)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (2,2)-(2,6)) + │ ├── key: + │ │ @ SymbolNode (location: (2,2)-(2,4)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (2,2)-(2,3) = "d" + │ │ ├── closing_loc: (2,3)-(2,4) = ":" + │ │ └── unescaped: "d" + │ ├── value: + │ │ @ IntegerNode (location: (2,5)-(2,6)) + │ │ └── flags: decimal + │ └── operator_loc: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3_.txt b/test/prism/snapshots/seattlerb/difficult3_.txt index 11d687db2b..6a6306c01b 100644 --- a/test/prism/snapshots/seattlerb/difficult3_.txt +++ b/test/prism/snapshots/seattlerb/difficult3_.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,18)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,12)-(1,14)) - │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,17)-(1,18) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,18)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,12)-(1,14)) + │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ │ └── name: :c + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,15)-(1,16) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,17)-(1,18) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3_2.txt b/test/prism/snapshots/seattlerb/difficult3_2.txt index c41903b1b3..753217ca40 100644 --- a/test/prism/snapshots/seattlerb/difficult3_2.txt +++ b/test/prism/snapshots/seattlerb/difficult3_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,13)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,10)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,6)-(1,7) = "a" - │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ └── name: :b - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,12)-(1,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,13)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,5)-(1,7)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,6)-(1,7) = "a" + │ │ │ └── operator_loc: (1,5)-(1,6) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ └── name: :b + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3_3.txt b/test/prism/snapshots/seattlerb/difficult3_3.txt index 883dc77544..eb2e1baf07 100644 --- a/test/prism/snapshots/seattlerb/difficult3_3.txt +++ b/test/prism/snapshots/seattlerb/difficult3_3.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,35 +12,34 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,6)-(1,7) = "a" - │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ └── name: :b - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,12)-(1,14)) - │ │ │ ├── name: :c - │ │ │ ├── name_loc: (1,13)-(1,14) = "c" - │ │ │ └── operator_loc: (1,12)-(1,13) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,5)-(1,7)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,6)-(1,7) = "a" + │ │ │ └── operator_loc: (1,5)-(1,6) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ └── name: :b + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,12)-(1,14)) + │ │ ├── name: :c + │ │ ├── name_loc: (1,13)-(1,14) = "c" + │ │ └── operator_loc: (1,12)-(1,13) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3_4.txt b/test/prism/snapshots/seattlerb/difficult3_4.txt index c23fa784d2..a8be0694c9 100644 --- a/test/prism/snapshots/seattlerb/difficult3_4.txt +++ b/test/prism/snapshots/seattlerb/difficult3_4.txt @@ -12,6 +12,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,2)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -19,8 +20,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,4)-(1,5) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,6)-(1,10)) diff --git a/test/prism/snapshots/seattlerb/difficult3_5.txt b/test/prism/snapshots/seattlerb/difficult3_5.txt index 8f33ebb1ae..c9fa99bf61 100644 --- a/test/prism/snapshots/seattlerb/difficult3_5.txt +++ b/test/prism/snapshots/seattlerb/difficult3_5.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,19)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,19)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (1,2)-(1,19)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ ├── opening_loc: (1,7)-(1,8) = "{" - │ │ ├── closing_loc: (1,18)-(1,19) = "}" - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,4)-(1,6)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ │ └── closing_loc: (1,5)-(1,6) = ")" - │ │ └── body: - │ │ @ StatementsNode (location: (1,9)-(1,17)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,9)-(1,17)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :g - │ │ ├── message_loc: (1,9)-(1,10) = "g" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,11)-(1,17)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,11)-(1,13) = "do" - │ │ │ └── closing_loc: (1,14)-(1,17) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (1,2)-(1,19)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (1,2)-(1,4) = "->" + │ ├── opening_loc: (1,7)-(1,8) = "{" + │ ├── closing_loc: (1,18)-(1,19) = "}" + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,4)-(1,6)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,4)-(1,5) = "(" + │ │ └── closing_loc: (1,5)-(1,6) = ")" + │ └── body: + │ @ StatementsNode (location: (1,9)-(1,17)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,9)-(1,17)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :g + │ ├── message_loc: (1,9)-(1,10) = "g" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (1,11)-(1,17)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,11)-(1,13) = "do" + │ └── closing_loc: (1,14)-(1,17) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__10.txt b/test/prism/snapshots/seattlerb/difficult3__10.txt index c85aaa66b8..8b972ebd6f 100644 --- a/test/prism/snapshots/seattlerb/difficult3__10.txt +++ b/test/prism/snapshots/seattlerb/difficult3__10.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,18)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15)) - │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rights: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,17)-(1,18) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,18)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15)) + │ │ │ ├── lefts: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ │ └── name: :b + │ │ │ ├── rights: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ │ └── name: :c + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,15)-(1,16) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,17)-(1,18) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3__11.txt b/test/prism/snapshots/seattlerb/difficult3__11.txt index 5c646b7196..11652bba93 100644 --- a/test/prism/snapshots/seattlerb/difficult3__11.txt +++ b/test/prism/snapshots/seattlerb/difficult3__11.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:a] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,11)) - │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:a] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,11)) + │ │ │ ├── lefts: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3__12.txt b/test/prism/snapshots/seattlerb/difficult3__12.txt index d6a1701b17..388fdc8335 100644 --- a/test/prism/snapshots/seattlerb/difficult3__12.txt +++ b/test/prism/snapshots/seattlerb/difficult3__12.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) - │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ ├── rights: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ ├── lefts: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ ├── rights: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) + │ │ │ │ └── name: :b + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3__6.txt b/test/prism/snapshots/seattlerb/difficult3__6.txt index 7761d844f1..960aec5da9 100644 --- a/test/prism/snapshots/seattlerb/difficult3__6.txt +++ b/test/prism/snapshots/seattlerb/difficult3__6.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,21)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,42 +12,41 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,21)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,19)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,18)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,12)-(1,14)) - │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── rights: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17)) - │ │ │ │ │ └── name: :d - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,17)-(1,18) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,18)-(1,19) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,20)-(1,21) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,21)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,12)-(1,14)) + │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ │ └── name: :c + │ │ │ ├── rights: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17)) + │ │ │ │ └── name: :d + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,17)-(1,18) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,18)-(1,19) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,20)-(1,21) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3__7.txt b/test/prism/snapshots/seattlerb/difficult3__7.txt index 8d175ea863..8fdc3f4a90 100644 --- a/test/prism/snapshots/seattlerb/difficult3__7.txt +++ b/test/prism/snapshots/seattlerb/difficult3__7.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,12)-(1,13)) - │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,12)-(1,13)) + │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3__8.txt b/test/prism/snapshots/seattlerb/difficult3__8.txt index a0ec0ae934..4d18fd9453 100644 --- a/test/prism/snapshots/seattlerb/difficult3__8.txt +++ b/test/prism/snapshots/seattlerb/difficult3__8.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,20)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,20)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,18)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,17)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,17)) - │ │ │ │ ├── lefts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,12)-(1,13)) - │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" - │ │ │ │ │ └── expression: ∅ - │ │ │ │ ├── rights: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,16)-(1,17) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,17)-(1,18) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,19)-(1,20) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,20)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,18)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,17)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,17)) + │ │ │ ├── lefts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,12)-(1,13)) + │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" + │ │ │ │ └── expression: ∅ + │ │ │ ├── rights: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16)) + │ │ │ │ └── name: :c + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,16)-(1,17) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,17)-(1,18) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,19)-(1,20) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult3__9.txt b/test/prism/snapshots/seattlerb/difficult3__9.txt index 37d05acb84..97de361cb7 100644 --- a/test/prism/snapshots/seattlerb/difficult3__9.txt +++ b/test/prism/snapshots/seattlerb/difficult3__9.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,15)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,13)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,12)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,12)) - │ │ │ │ ├── lefts: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) - │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ │ │ └── expression: - │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,12)-(1,13) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,14)-(1,15) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,15)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,13)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,12)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,12)) + │ │ │ ├── lefts: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ │ │ └── expression: + │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) + │ │ │ │ └── name: :b + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ └── rparen_loc: (1,11)-(1,12) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,12)-(1,13) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,14)-(1,15) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt index e174cf39c0..f340c624d9 100644 --- a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt +++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(2,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,2)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (2,0)-(2,1) = "." ├── name: :b ├── message_loc: (2,1)-(2,2) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt index e569fbea1f..c5868e193c 100644 --- a/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt +++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt @@ -6,9 +6,9 @@ ├── @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal └── @ RangeNode (location: (2,0)-(2,3)) + ├── flags: ∅ ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,2)-(2,3)) │ └── flags: decimal - ├── operator_loc: (2,0)-(2,2) = ".." - └── flags: ∅ + └── operator_loc: (2,0)-(2,2) = ".." diff --git a/test/prism/snapshots/seattlerb/difficult6_.txt b/test/prism/snapshots/seattlerb/difficult6_.txt index 71e92dcee5..a99969f51a 100644 --- a/test/prism/snapshots/seattlerb/difficult6_.txt +++ b/test/prism/snapshots/seattlerb/difficult6_.txt @@ -35,6 +35,7 @@ @ StatementsNode (location: (1,15)-(1,23)) └── body: (length: 1) └── @ CallNode (location: (1,15)-(1,23)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -42,19 +43,18 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,17)-(1,23)) - │ ├── arguments: (length: 1) - │ │ └── @ ArrayNode (location: (1,17)-(1,23)) - │ │ ├── elements: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (1,18)-(1,19)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ └── @ LocalVariableReadNode (location: (1,21)-(1,22)) - │ │ │ ├── name: :b - │ │ │ └── depth: 0 - │ │ ├── opening_loc: (1,17)-(1,18) = "[" - │ │ ├── closing_loc: (1,22)-(1,23) = "]" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ArrayNode (location: (1,17)-(1,23)) + │ ├── flags: ∅ + │ ├── elements: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ └── @ LocalVariableReadNode (location: (1,21)-(1,22)) + │ │ ├── name: :b + │ │ └── depth: 0 + │ ├── opening_loc: (1,17)-(1,18) = "[" + │ └── closing_loc: (1,22)-(1,23) = "]" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult6__7.txt b/test/prism/snapshots/seattlerb/difficult6__7.txt index f7331b87e4..ce48b01a4c 100644 --- a/test/prism/snapshots/seattlerb/difficult6__7.txt +++ b/test/prism/snapshots/seattlerb/difficult6__7.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,43 +15,41 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,7)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,5)-(1,6)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,6)-(1,7) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,7)) + │ ├── body: + │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,6)-(1,7) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,8)-(1,11)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,9)-(1,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,9)-(1,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :c - │ │ ├── message_loc: (1,9)-(1,10) = "c" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (1,8)-(1,9) = "{" - │ └── closing_loc: (1,10)-(1,11) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,8)-(1,11)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,9)-(1,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,9)-(1,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :c + │ ├── message_loc: (1,9)-(1,10) = "c" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,8)-(1,9) = "{" + └── closing_loc: (1,10)-(1,11) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult6__8.txt b/test/prism/snapshots/seattlerb/difficult6__8.txt index a08c5eccc5..22b3c3cec3 100644 --- a/test/prism/snapshots/seattlerb/difficult6__8.txt +++ b/test/prism/snapshots/seattlerb/difficult6__8.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,43 +15,41 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "::" ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,5)-(1,8)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,6)-(1,7)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ └── closing_loc: (1,7)-(1,8) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,5)-(1,8)) + │ ├── body: + │ │ @ StatementsNode (location: (1,6)-(1,7)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ │ └── flags: decimal + │ ├── opening_loc: (1,5)-(1,6) = "(" + │ └── closing_loc: (1,7)-(1,8) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,9)-(1,12)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,10)-(1,11)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,10)-(1,11)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :c - │ │ ├── message_loc: (1,10)-(1,11) = "c" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (1,9)-(1,10) = "{" - │ └── closing_loc: (1,11)-(1,12) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,9)-(1,12)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,10)-(1,11)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,10)-(1,11)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :c + │ ├── message_loc: (1,10)-(1,11) = "c" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,9)-(1,10) = "{" + └── closing_loc: (1,11)-(1,12) = "}" diff --git a/test/prism/snapshots/seattlerb/difficult7_.txt b/test/prism/snapshots/seattlerb/difficult7_.txt index 2f8166421c..58da75e77b 100644 --- a/test/prism/snapshots/seattlerb/difficult7_.txt +++ b/test/prism/snapshots/seattlerb/difficult7_.txt @@ -15,6 +15,7 @@ │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ CallNode (location: (2,11)-(2,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :lambda @@ -22,62 +23,61 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (2,18)-(2,33)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (2,20)-(2,31)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IfNode (location: (2,20)-(2,31)) - │ │ │ │ │ ├── if_keyword_loc: ∅ - │ │ │ │ │ ├── predicate: - │ │ │ │ │ │ @ CallNode (location: (2,20)-(2,21)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :b - │ │ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ ├── then_keyword_loc: (2,22)-(2,23) = "?" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (2,24)-(2,25) = "c" - │ │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "(" - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: (2,26)-(2,27) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── consequent: - │ │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31)) - │ │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":" - │ │ │ │ │ │ ├── statements: - │ │ │ │ │ │ │ @ StatementsNode (location: (2,30)-(2,31)) - │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31)) - │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ ├── message_loc: (2,30)-(2,31) = "d" - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ └── end_keyword_loc: ∅ - │ │ │ │ │ └── end_keyword_loc: ∅ - │ │ │ │ ├── opening_loc: (2,18)-(2,19) = "{" - │ │ │ │ └── closing_loc: (2,32)-(2,33) = "}" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (2,18)-(2,33)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (2,20)-(2,31)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IfNode (location: (2,20)-(2,31)) + │ │ │ │ ├── if_keyword_loc: ∅ + │ │ │ │ ├── predicate: + │ │ │ │ │ @ CallNode (location: (2,20)-(2,21)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :b + │ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── then_keyword_loc: (2,22)-(2,23) = "?" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :c + │ │ │ │ │ ├── message_loc: (2,24)-(2,25) = "c" + │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "(" + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: (2,26)-(2,27) = ")" + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── consequent: + │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31)) + │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":" + │ │ │ │ │ ├── statements: + │ │ │ │ │ │ @ StatementsNode (location: (2,30)-(2,31)) + │ │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31)) + │ │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :d + │ │ │ │ │ │ ├── message_loc: (2,30)-(2,31) = "d" + │ │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ │ └── block: ∅ + │ │ │ │ │ └── end_keyword_loc: ∅ + │ │ │ │ └── end_keyword_loc: ∅ + │ │ │ ├── opening_loc: (2,18)-(2,19) = "{" + │ │ │ └── closing_loc: (2,32)-(2,33) = "}" │ │ └── operator_loc: ∅ │ └── @ AssocNode (location: (3,8)-(3,14)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/do_bug.txt b/test/prism/snapshots/seattlerb/do_bug.txt index 4ef29b5a2e..be64a43e0d 100644 --- a/test/prism/snapshots/seattlerb/do_bug.txt +++ b/test/prism/snapshots/seattlerb/do_bug.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,3)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,16 +12,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,3)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (2,0)-(4,3)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (2,0)-(2,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -28,35 +30,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (2,1)-(2,2) = "." ├── name: :b ├── message_loc: (2,2)-(2,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (2,4)-(4,3)) - │ ├── locals: [:c] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (2,7)-(2,10)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (2,8)-(2,9)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (2,8)-(2,9)) - │ │ │ │ └── name: :c - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (2,7)-(2,8) = "|" - │ │ └── closing_loc: (2,9)-(2,10) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (2,4)-(2,6) = "do" - │ └── closing_loc: (4,0)-(4,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (2,4)-(4,3)) + ├── locals: [:c] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (2,7)-(2,10)) + │ ├── parameters: + │ │ @ ParametersNode (location: (2,8)-(2,9)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (2,8)-(2,9)) + │ │ │ └── name: :c + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (2,7)-(2,8) = "|" + │ └── closing_loc: (2,9)-(2,10) = "|" + ├── body: ∅ + ├── opening_loc: (2,4)-(2,6) = "do" + └── closing_loc: (4,0)-(4,3) = "end" diff --git a/test/prism/snapshots/seattlerb/dot2_nil__26.txt b/test/prism/snapshots/seattlerb/dot2_nil__26.txt index 01a65eab9f..0d73215bc2 100644 --- a/test/prism/snapshots/seattlerb/dot2_nil__26.txt +++ b/test/prism/snapshots/seattlerb/dot2_nil__26.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,3)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,3)) + ├── flags: ∅ ├── left: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,8 +15,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── right: ∅ - ├── operator_loc: (1,1)-(1,3) = ".." - └── flags: ∅ + └── operator_loc: (1,1)-(1,3) = ".." diff --git a/test/prism/snapshots/seattlerb/dot3_nil__26.txt b/test/prism/snapshots/seattlerb/dot3_nil__26.txt index be7679ab77..94c873dbb8 100644 --- a/test/prism/snapshots/seattlerb/dot3_nil__26.txt +++ b/test/prism/snapshots/seattlerb/dot3_nil__26.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) + ├── flags: exclude_end ├── left: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,8 +15,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── right: ∅ - ├── operator_loc: (1,1)-(1,4) = "..." - └── flags: exclude_end + └── operator_loc: (1,1)-(1,4) = "..." diff --git a/test/prism/snapshots/seattlerb/dstr_evstr.txt b/test/prism/snapshots/seattlerb/dstr_evstr.txt index 794e144c65..4c48657914 100644 --- a/test/prism/snapshots/seattlerb/dstr_evstr.txt +++ b/test/prism/snapshots/seattlerb/dstr_evstr.txt @@ -24,6 +24,7 @@ │ │ @ StatementsNode (location: (1,9)-(1,10)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,9)-(1,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -31,7 +32,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── closing_loc: (1,10)-(1,11) = "}" └── closing_loc: (1,11)-(1,12) = "\"" diff --git a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt index b3743114ad..65be266f20 100644 --- a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt +++ b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (1,4)-(1,9)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,9)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :field @@ -19,7 +20,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── closing_loc: (1,9)-(1,10) = "}" └── closing_loc: (1,10)-(1,11) = "\"" diff --git a/test/prism/snapshots/seattlerb/dstr_lex_state.txt b/test/prism/snapshots/seattlerb/dstr_lex_state.txt index 9172daedc7..56264cea05 100644 --- a/test/prism/snapshots/seattlerb/dstr_lex_state.txt +++ b/test/prism/snapshots/seattlerb/dstr_lex_state.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (1,3)-(1,6)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,3)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -19,15 +20,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,4)-(1,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (1,4)-(1,6)) - │ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" - │ │ │ │ ├── value_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SymbolNode (location: (1,4)-(1,6)) + │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" + │ │ │ ├── value_loc: (1,5)-(1,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── closing_loc: (1,6)-(1,7) = "}" └── closing_loc: (1,7)-(1,8) = "\"" diff --git a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt index bc72255ff4..3b53fee11e 100644 --- a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt +++ b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(3,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,8)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :h @@ -13,37 +15,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[]= ├── message_loc: (1,1)-(1,4) = "[k]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(3,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (1,2)-(1,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :k - │ │ │ ├── message_loc: (1,2)-(1,3) = "k" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ BeginNode (location: (1,5)-(3,8)) - │ │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (2,7)-(2,9)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (2,7)-(2,9)) - │ │ │ └── flags: decimal - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (3,5)-(3,8) = "end" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (1,2)-(1,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :k + │ │ ├── message_loc: (1,2)-(1,3) = "k" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ BeginNode (location: (1,5)-(3,8)) + │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (2,7)-(2,9)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (2,7)-(2,9)) + │ │ └── flags: decimal + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (3,5)-(3,8) = "end" ├── closing_loc: (1,3)-(1,4) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/evstr_evstr.txt b/test/prism/snapshots/seattlerb/evstr_evstr.txt index 102f21b884..25be925826 100644 --- a/test/prism/snapshots/seattlerb/evstr_evstr.txt +++ b/test/prism/snapshots/seattlerb/evstr_evstr.txt @@ -12,6 +12,7 @@ │ │ │ @ StatementsNode (location: (1,3)-(1,4)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -19,8 +20,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,9)) │ ├── opening_loc: (1,5)-(1,7) = "\#{" @@ -28,6 +28,7 @@ │ │ @ StatementsNode (location: (1,7)-(1,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,7)-(1,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -35,7 +36,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── closing_loc: (1,8)-(1,9) = "}" └── closing_loc: (1,9)-(1,10) = "\"" diff --git a/test/prism/snapshots/seattlerb/evstr_str.txt b/test/prism/snapshots/seattlerb/evstr_str.txt index 465f89a028..535881f353 100644 --- a/test/prism/snapshots/seattlerb/evstr_str.txt +++ b/test/prism/snapshots/seattlerb/evstr_str.txt @@ -12,6 +12,7 @@ │ │ │ @ StatementsNode (location: (1,3)-(1,4)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -19,8 +20,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── @ StringNode (location: (1,5)-(1,7)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/expr_not_bang.txt b/test/prism/snapshots/seattlerb/expr_not_bang.txt index a9bfae7381..dab908c1ee 100644 --- a/test/prism/snapshots/seattlerb/expr_not_bang.txt +++ b/test/prism/snapshots/seattlerb/expr_not_bang.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,2)-(1,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,26 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,5)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (1,4)-(1,5) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (1,4)-(1,5) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt index 3cd798e41f..fe3592fd0b 100644 --- a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt +++ b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt @@ -7,8 +7,10 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (1,3)-(1,7)) + │ ├── flags: ∅ │ ├── left: │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -16,10 +18,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (1,6)-(1,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -27,10 +29,8 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (1,4)-(1,6) = ".." - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (1,4)-(1,6) = ".." ├── then_keyword_loc: (1,8)-(1,12) = "then" ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt index c729c67ce8..888ebc809a 100644 --- a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt +++ b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,1)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(2,3)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (1,1)-(2,1)) │ │ ├── flags: ∅ @@ -12,9 +13,9 @@ │ │ ├── closing_loc: (2,0)-(2,1) = "\"" │ │ └── unescaped: " some text\n" │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (2,2)-(2,3) = "]" - │ └── flags: ∅ + │ └── closing_loc: (2,2)-(2,3) = "]" └── @ ArrayNode (location: (4,0)-(7,1)) + ├── flags: ∅ ├── elements: (length: 1) │ └── @ StringNode (location: (4,1)-(4,8)) │ ├── flags: ∅ @@ -23,5 +24,4 @@ │ ├── closing_loc: (6,0)-(7,0) = "FILE\n" │ └── unescaped: " some text\n" ├── opening_loc: (4,0)-(4,1) = "[" - ├── closing_loc: (7,0)-(7,1) = "]" - └── flags: ∅ + └── closing_loc: (7,0)-(7,1) = "]" diff --git a/test/prism/snapshots/seattlerb/heredoc_nested.txt b/test/prism/snapshots/seattlerb/heredoc_nested.txt index 0f65b2bd75..fde81dd586 100644 --- a/test/prism/snapshots/seattlerb/heredoc_nested.txt +++ b/test/prism/snapshots/seattlerb/heredoc_nested.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,2)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(7,2)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ InterpolatedStringNode (location: (1,1)-(1,4)) │ │ ├── opening_loc: (1,1)-(1,4) = "<<A" @@ -36,5 +37,4 @@ │ └── @ IntegerNode (location: (7,0)-(7,1)) │ └── flags: decimal ├── opening_loc: (1,0)-(1,1) = "[" - ├── closing_loc: (7,1)-(7,2) = "]" - └── flags: ∅ + └── closing_loc: (7,1)-(7,2) = "]" diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt index 540dd219fa..e12caf2895 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt @@ -9,6 +9,7 @@ ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ CallNode (location: (1,4)-(1,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -16,51 +17,50 @@ │ ├── opening_loc: (1,7)-(1,8) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,8)-(1,19)) - │ │ │ ├── receiver: - │ │ │ │ @ InterpolatedStringNode (location: (1,8)-(1,14)) - │ │ │ │ ├── opening_loc: (1,8)-(1,14) = "<<~EOF" - │ │ │ │ ├── parts: (length: 3) - │ │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = "\n" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "\n" - │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,4)-(3,10)) - │ │ │ │ │ │ ├── opening_loc: (3,4)-(3,6) = "\#{" - │ │ │ │ │ │ ├── statements: - │ │ │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,9)) - │ │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9)) - │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ ├── name: :bar - │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar" - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" - │ │ │ │ │ └── @ StringNode (location: (3,10)-(4,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (3,10)-(4,0) = "baz\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "baz\n" - │ │ │ │ └── closing_loc: (4,0)-(5,0) = " EOF\n" - │ │ │ ├── call_operator_loc: (1,14)-(1,15) = "." - │ │ │ ├── name: :chop - │ │ │ ├── message_loc: (1,15)-(1,19) = "chop" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,8)-(1,19)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ InterpolatedStringNode (location: (1,8)-(1,14)) + │ │ │ ├── opening_loc: (1,8)-(1,14) = "<<~EOF" + │ │ │ ├── parts: (length: 3) + │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = "\n" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "\n" + │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,4)-(3,10)) + │ │ │ │ │ ├── opening_loc: (3,4)-(3,6) = "\#{" + │ │ │ │ │ ├── statements: + │ │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,9)) + │ │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9)) + │ │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :bar + │ │ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar" + │ │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ │ └── block: ∅ + │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" + │ │ │ │ └── @ StringNode (location: (3,10)-(4,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (3,10)-(4,0) = "baz\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "baz\n" + │ │ │ └── closing_loc: (4,0)-(5,0) = " EOF\n" + │ │ ├── call_operator_loc: (1,14)-(1,15) = "." + │ │ ├── name: :chop + │ │ ├── message_loc: (1,15)-(1,19) = "chop" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (1,19)-(1,20) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt index c3622c841f..bc05047b40 100644 --- a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt +++ b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,6)) + ├── flags: ∅ ├── receiver: │ @ StringNode (location: (1,0)-(1,5)) │ ├── flags: ∅ @@ -17,5 +18,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/if_symbol.txt b/test/prism/snapshots/seattlerb/if_symbol.txt index e561b6c026..ee400c931d 100644 --- a/test/prism/snapshots/seattlerb/if_symbol.txt +++ b/test/prism/snapshots/seattlerb/if_symbol.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -14,16 +15,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,5)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (1,5)-(1,7)) - │ │ │ ├── opening_loc: (1,5)-(1,6) = ":" - │ │ │ ├── value_loc: (1,6)-(1,7) = "x" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "x" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (1,5)-(1,7)) + │ │ ├── opening_loc: (1,5)-(1,6) = ":" + │ │ ├── value_loc: (1,6)-(1,7) = "x" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/index_0.txt b/test/prism/snapshots/seattlerb/index_0.txt index e295b2aadf..3be81b5435 100644 --- a/test/prism/snapshots/seattlerb/index_0.txt +++ b/test/prism/snapshots/seattlerb/index_0.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,26 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[]= ├── message_loc: (1,1)-(1,3) = "[]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,6)-(1,7)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :b - │ │ ├── message_loc: (1,6)-(1,7) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,6)-(1,7)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :b + │ ├── message_loc: (1,6)-(1,7) = "b" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (1,2)-(1,3) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/index_0_opasgn.txt b/test/prism/snapshots/seattlerb/index_0_opasgn.txt index 30eba375e0..d43bdceb71 100644 --- a/test/prism/snapshots/seattlerb/index_0_opasgn.txt +++ b/test/prism/snapshots/seattlerb/index_0_opasgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: ∅ ├── closing_loc: (1,2)-(1,3) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator: :+ ├── operator_loc: (1,4)-(1,6) = "+=" └── value: @ CallNode (location: (1,7)-(1,8)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -32,5 +33,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt index 3a8819e7a1..c203ec781c 100644 --- a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,1)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (2,0)-(2,1)) │ │ │ ├── opening_loc: ∅ @@ -16,7 +17,6 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%I(" - │ ├── closing_loc: (4,0)-(4,1) = ")" - │ └── flags: ∅ + │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt index 5d81874350..bc28bf8574 100644 --- a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,1)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(2,1)) │ │ │ ├── flags: ∅ @@ -18,7 +19,6 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%W(" - │ ├── closing_loc: (4,0)-(4,1) = ")" - │ └── flags: ∅ + │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/iter_args_1.txt b/test/prism/snapshots/seattlerb/iter_args_1.txt index 86d2974746..0a296a66cd 100644 --- a/test/prism/snapshots/seattlerb/iter_args_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,29 +12,28 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,11)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,9)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,8)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,8)) - │ │ │ │ └── name: :b - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,8)-(1,9) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,10)-(1,11) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,11)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,9)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,8)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,8)) + │ │ │ └── name: :b + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,8)-(1,9) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,10)-(1,11) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_10_1.txt b/test/prism/snapshots/seattlerb/iter_args_10_1.txt index 41db5311e3..8bccaacefd 100644 --- a/test/prism/snapshots/seattlerb/iter_args_10_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_10_1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,21)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,21)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,19)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,18)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c" - │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*" - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,18)-(1,19) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,20)-(1,21) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,21)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,17)-(1,18) = "c" + │ │ │ └── operator_loc: (1,16)-(1,17) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,18)-(1,19) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,20)-(1,21) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_10_2.txt b/test/prism/snapshots/seattlerb/iter_args_10_2.txt index 511ea42820..08eacad4aa 100644 --- a/test/prism/snapshots/seattlerb/iter_args_10_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_10_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,25)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,42 +12,41 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,25)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,23)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,22)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c" - │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*" - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,20)-(1,22)) - │ │ │ ├── name: :d - │ │ │ ├── name_loc: (1,21)-(1,22) = "d" - │ │ │ └── operator_loc: (1,20)-(1,21) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,22)-(1,23) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,24)-(1,25) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,25)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,17)-(1,18) = "c" + │ │ │ └── operator_loc: (1,16)-(1,17) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,20)-(1,22)) + │ │ ├── name: :d + │ │ ├── name_loc: (1,21)-(1,22) = "d" + │ │ └── operator_loc: (1,20)-(1,21) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,22)-(1,23) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,24)-(1,25) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_11_1.txt b/test/prism/snapshots/seattlerb/iter_args_11_1.txt index b9abf90fd7..e4c0a21997 100644 --- a/test/prism/snapshots/seattlerb/iter_args_11_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_11_1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,24)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,24)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,24)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,22)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,21)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c" - │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21)) - │ │ │ │ └── name: :d - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,21)-(1,22) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,23)-(1,24) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,24)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,22)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,21)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,17)-(1,18) = "c" + │ │ │ └── operator_loc: (1,16)-(1,17) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21)) + │ │ │ └── name: :d + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,21)-(1,22) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,23)-(1,24) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_11_2.txt b/test/prism/snapshots/seattlerb/iter_args_11_2.txt index 10fae97455..369075ca3c 100644 --- a/test/prism/snapshots/seattlerb/iter_args_11_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_11_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,28)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,44 +12,43 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,28)) - │ ├── locals: [:a, :b, :c, :d, :e] - │ ├── locals_body_index: 5 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,26)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,25)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c" - │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21)) - │ │ │ │ └── name: :d - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,23)-(1,25)) - │ │ │ ├── name: :e - │ │ │ ├── name_loc: (1,24)-(1,25) = "e" - │ │ │ └── operator_loc: (1,23)-(1,24) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,25)-(1,26) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,27)-(1,28) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,28)) + ├── locals: [:a, :b, :c, :d, :e] + ├── locals_body_index: 5 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,26)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,25)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,14)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,17)-(1,18) = "c" + │ │ │ └── operator_loc: (1,16)-(1,17) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21)) + │ │ │ └── name: :d + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,23)-(1,25)) + │ │ ├── name: :e + │ │ ├── name_loc: (1,24)-(1,25) = "e" + │ │ └── operator_loc: (1,23)-(1,24) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,25)-(1,26) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,27)-(1,28) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_2__19.txt b/test/prism/snapshots/seattlerb/iter_args_2__19.txt index 4e2c2d8337..9934cc4349 100644 --- a/test/prism/snapshots/seattlerb/iter_args_2__19.txt +++ b/test/prism/snapshots/seattlerb/iter_args_2__19.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,35 +12,34 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,14)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,12)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,11)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) - │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── rights: (length: 0) - │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,11)-(1,12) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,13)-(1,14) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,14)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── lefts: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :b + │ │ │ ├── rest: ∅ + │ │ │ ├── rights: (length: 0) + │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ └── rparen_loc: (1,10)-(1,11) = ")" + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,11)-(1,12) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,13)-(1,14) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_3.txt b/test/prism/snapshots/seattlerb/iter_args_3.txt index 90e04a8650..abd2eec189 100644 --- a/test/prism/snapshots/seattlerb/iter_args_3.txt +++ b/test/prism/snapshots/seattlerb/iter_args_3.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,20)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,39 +12,38 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,20)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,18)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,17)) - │ │ │ ├── requireds: (length: 3) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── @ MultiTargetNode (location: (1,8)-(1,14)) - │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ │ │ └── name: :b - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) - │ │ │ │ │ │ └── name: :c - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" - │ │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" - │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17)) - │ │ │ │ └── name: :d - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,17)-(1,18) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,19)-(1,20) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,20)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,18)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,17)) + │ │ ├── requireds: (length: 3) + │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ │ └── name: :a + │ │ │ ├── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ │ │ └── name: :b + │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) + │ │ │ │ │ └── name: :c + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (1,8)-(1,9) = "(" + │ │ │ │ └── rparen_loc: (1,13)-(1,14) = ")" + │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17)) + │ │ │ └── name: :d + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,17)-(1,18) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,19)-(1,20) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_4.txt b/test/prism/snapshots/seattlerb/iter_args_4.txt index 4433820c6c..8a64bdb1f8 100644 --- a/test/prism/snapshots/seattlerb/iter_args_4.txt +++ b/test/prism/snapshots/seattlerb/iter_args_4.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,33 +12,32 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,16)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,14)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,13)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,8)-(1,10)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,9)-(1,10) = "b" - │ │ │ │ └── operator_loc: (1,8)-(1,9) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) - │ │ │ │ └── name: :c - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,13)-(1,14) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,15)-(1,16) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,16)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,14)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,13)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,8)-(1,10)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,9)-(1,10) = "b" + │ │ │ └── operator_loc: (1,8)-(1,9) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) + │ │ │ └── name: :c + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,13)-(1,14) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,15)-(1,16) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_5.txt b/test/prism/snapshots/seattlerb/iter_args_5.txt index c47531f69e..0aaf2c47b2 100644 --- a/test/prism/snapshots/seattlerb/iter_args_5.txt +++ b/test/prism/snapshots/seattlerb/iter_args_5.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,13)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,10)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,8)-(1,10)) - │ │ │ ├── name: :b - │ │ │ ├── name_loc: (1,9)-(1,10) = "b" - │ │ │ └── operator_loc: (1,8)-(1,9) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,12)-(1,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,13)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,8)-(1,10)) + │ │ ├── name: :b + │ │ ├── name_loc: (1,9)-(1,10) = "b" + │ │ └── operator_loc: (1,8)-(1,9) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_6.txt b/test/prism/snapshots/seattlerb/iter_args_6.txt index f5bcbbe027..cc8a4f72eb 100644 --- a/test/prism/snapshots/seattlerb/iter_args_6.txt +++ b/test/prism/snapshots/seattlerb/iter_args_6.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,18)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) - │ │ │ │ └── name: :a - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,12)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b" - │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,10)-(1,12)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) - │ │ │ │ └── name: :c - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,17)-(1,18) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,18)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) + │ │ │ └── name: :a + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,12)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,8)-(1,9) = "b" + │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,10)-(1,12)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15)) + │ │ │ └── name: :c + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,15)-(1,16) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,17)-(1,18) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_7_1.txt b/test/prism/snapshots/seattlerb/iter_args_7_1.txt index ca1a729acb..5deb0d55be 100644 --- a/test/prism/snapshots/seattlerb/iter_args_7_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_7_1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,36 +12,35 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,18)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b" - │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*" - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,17)-(1,18) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,18)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,14)-(1,15) = "b" + │ │ │ └── operator_loc: (1,13)-(1,14) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,15)-(1,16) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,17)-(1,18) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_7_2.txt b/test/prism/snapshots/seattlerb/iter_args_7_2.txt index f581191e39..fc49660153 100644 --- a/test/prism/snapshots/seattlerb/iter_args_7_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_7_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,22)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,22)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,20)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,19)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b" - │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*" - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,17)-(1,19)) - │ │ │ ├── name: :c - │ │ │ ├── name_loc: (1,18)-(1,19) = "c" - │ │ │ └── operator_loc: (1,17)-(1,18) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,19)-(1,20) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,21)-(1,22) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,22)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,20)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,19)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,14)-(1,15) = "b" + │ │ │ └── operator_loc: (1,13)-(1,14) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,17)-(1,19)) + │ │ ├── name: :c + │ │ ├── name_loc: (1,18)-(1,19) = "c" + │ │ └── operator_loc: (1,17)-(1,18) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,19)-(1,20) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,21)-(1,22) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_8_1.txt b/test/prism/snapshots/seattlerb/iter_args_8_1.txt index c9ddadf4c6..aec251bffb 100644 --- a/test/prism/snapshots/seattlerb/iter_args_8_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_8_1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,21)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,21)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,19)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,18)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b" - │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18)) - │ │ │ │ └── name: :c - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,18)-(1,19) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,20)-(1,21) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,21)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,14)-(1,15) = "b" + │ │ │ └── operator_loc: (1,13)-(1,14) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18)) + │ │ │ └── name: :c + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,18)-(1,19) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,20)-(1,21) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_8_2.txt b/test/prism/snapshots/seattlerb/iter_args_8_2.txt index f5e2e19fb6..f1f925dd86 100644 --- a/test/prism/snapshots/seattlerb/iter_args_8_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_8_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,25)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,42 +12,41 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,25)) - │ ├── locals: [:a, :b, :c, :d] - │ ├── locals_body_index: 4 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,23)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,22)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: - │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b" - │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*" - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18)) - │ │ │ │ └── name: :c - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,20)-(1,22)) - │ │ │ ├── name: :d - │ │ │ ├── name_loc: (1,21)-(1,22) = "d" - │ │ │ └── operator_loc: (1,20)-(1,21) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,22)-(1,23) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,24)-(1,25) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,25)) + ├── locals: [:a, :b, :c, :d] + ├── locals_body_index: 4 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,14)-(1,15) = "b" + │ │ │ └── operator_loc: (1,13)-(1,14) = "*" + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18)) + │ │ │ └── name: :c + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,20)-(1,22)) + │ │ ├── name: :d + │ │ ├── name_loc: (1,21)-(1,22) = "d" + │ │ └── operator_loc: (1,20)-(1,21) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,22)-(1,23) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,24)-(1,25) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_9_1.txt b/test/prism/snapshots/seattlerb/iter_args_9_1.txt index 5d89d7c6c4..1fc22f1043 100644 --- a/test/prism/snapshots/seattlerb/iter_args_9_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_9_1.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,34 +12,33 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:a, :b] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ └── name: :b - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:a, :b] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ └── name: :b + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_args_9_2.txt b/test/prism/snapshots/seattlerb/iter_args_9_2.txt index 5bb7359e03..6a18271ba2 100644 --- a/test/prism/snapshots/seattlerb/iter_args_9_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_9_2.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,21)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,21)) - │ ├── locals: [:a, :b, :c] - │ ├── locals_body_index: 3 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,19)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,18)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 1) - │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) - │ │ │ │ ├── name: :a - │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) - │ │ │ │ └── name: :b - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: - │ │ │ @ BlockParameterNode (location: (1,16)-(1,18)) - │ │ │ ├── name: :c - │ │ │ ├── name_loc: (1,17)-(1,18) = "c" - │ │ │ └── operator_loc: (1,16)-(1,17) = "&" - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,18)-(1,19) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,20)-(1,21) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,21)) + ├── locals: [:a, :b, :c] + ├── locals_body_index: 3 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 1) + │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) + │ │ │ ├── name: :a + │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,9)-(1,11)) + │ │ │ └── flags: decimal + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) + │ │ │ └── name: :b + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: + │ │ @ BlockParameterNode (location: (1,16)-(1,18)) + │ │ ├── name: :c + │ │ ├── name_loc: (1,17)-(1,18) = "c" + │ │ └── operator_loc: (1,16)-(1,17) = "&" + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,18)-(1,19) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,20)-(1,21) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_kwarg.txt b/test/prism/snapshots/seattlerb/iter_kwarg.txt index 8aa0823bc5..d1f71bfd08 100644 --- a/test/prism/snapshots/seattlerb/iter_kwarg.txt +++ b/test/prism/snapshots/seattlerb/iter_kwarg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,12)) - │ ├── locals: [:b] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,10)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,9)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 1) - │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ └── flags: decimal - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,9)-(1,10) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,11)-(1,12) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,12)) + ├── locals: [:b] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,10)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,9)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,7) = "b:" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ │ └── flags: decimal + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,9)-(1,10) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,11)-(1,12) = "}" diff --git a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt index bf1a2e8f82..6b85b3858e 100644 --- a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,35 +12,34 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(1,17)) - │ ├── locals: [:b, :c] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,4)-(1,15)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,5)-(1,14)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 1) - │ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:" - │ │ │ │ └── value: - │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ └── flags: decimal - │ │ │ ├── keyword_rest: - │ │ │ │ @ KeywordRestParameterNode (location: (1,11)-(1,14)) - │ │ │ │ ├── name: :c - │ │ │ │ ├── name_loc: (1,13)-(1,14) = "c" - │ │ │ │ └── operator_loc: (1,11)-(1,13) = "**" - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ └── closing_loc: (1,14)-(1,15) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,2)-(1,3) = "{" - │ └── closing_loc: (1,16)-(1,17) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(1,17)) + ├── locals: [:b, :c] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (1,5)-(1,9)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (1,5)-(1,7) = "b:" + │ │ │ └── value: + │ │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ │ └── flags: decimal + │ │ ├── keyword_rest: + │ │ │ @ KeywordRestParameterNode (location: (1,11)-(1,14)) + │ │ │ ├── name: :c + │ │ │ ├── name_loc: (1,13)-(1,14) = "c" + │ │ │ └── operator_loc: (1,11)-(1,13) = "**" + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,4)-(1,5) = "|" + │ └── closing_loc: (1,14)-(1,15) = "|" + ├── body: ∅ + ├── opening_loc: (1,2)-(1,3) = "{" + └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/seattlerb/label_vs_string.txt b/test/prism/snapshots/seattlerb/label_vs_string.txt index 55c40273b8..a0832d8a47 100644 --- a/test/prism/snapshots/seattlerb/label_vs_string.txt +++ b/test/prism/snapshots/seattlerb/label_vs_string.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(2,1)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,1)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,4)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :_buf @@ -13,22 +15,20 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :<< ├── message_loc: (1,5)-(1,7) = "<<" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,8)-(2,1)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (1,8)-(2,1)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,8)-(1,9) = "'" - │ │ ├── content_loc: (1,9)-(2,0) = ":\n" - │ │ ├── closing_loc: (2,0)-(2,1) = "'" - │ │ └── unescaped: ":\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (1,8)-(2,1)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,8)-(1,9) = "'" + │ ├── content_loc: (1,9)-(2,0) = ":\n" + │ ├── closing_loc: (2,0)-(2,1) = "'" + │ └── unescaped: ":\n" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt index b9018e8f50..e451aca510 100644 --- a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt +++ b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,9)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -11,20 +12,20 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LambdaNode (location: (1,2)-(1,11)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ │ ├── opening_loc: (1,5)-(1,7) = "do" - │ │ │ ├── closing_loc: (1,8)-(1,11) = "end" - │ │ │ ├── parameters: ∅ - │ │ │ └── body: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LambdaNode (location: (1,2)-(1,11)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── operator_loc: (1,2)-(1,4) = "->" + │ │ ├── opening_loc: (1,5)-(1,7) = "do" + │ │ ├── closing_loc: (1,8)-(1,11) = "end" + │ │ ├── parameters: ∅ + │ │ └── body: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -32,20 +33,20 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,2)-(3,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LambdaNode (location: (3,2)-(3,7)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── operator_loc: (3,2)-(3,4) = "->" - │ │ │ ├── opening_loc: (3,5)-(3,6) = "{" - │ │ │ ├── closing_loc: (3,6)-(3,7) = "}" - │ │ │ ├── parameters: ∅ - │ │ │ └── body: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LambdaNode (location: (3,2)-(3,7)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── operator_loc: (3,2)-(3,4) = "->" + │ │ ├── opening_loc: (3,5)-(3,6) = "{" + │ │ ├── closing_loc: (3,6)-(3,7) = "}" + │ │ ├── parameters: ∅ + │ │ └── body: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,13)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -53,25 +54,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,2)-(5,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LambdaNode (location: (5,2)-(5,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── operator_loc: (5,2)-(5,4) = "->" - │ │ │ ├── opening_loc: (5,7)-(5,9) = "do" - │ │ │ ├── closing_loc: (5,10)-(5,13) = "end" - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (5,4)-(5,6)) - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (5,4)-(5,5) = "(" - │ │ │ │ └── closing_loc: (5,5)-(5,6) = ")" - │ │ │ └── body: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LambdaNode (location: (5,2)-(5,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── operator_loc: (5,2)-(5,4) = "->" + │ │ ├── opening_loc: (5,7)-(5,9) = "do" + │ │ ├── closing_loc: (5,10)-(5,13) = "end" + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (5,4)-(5,6)) + │ │ │ ├── parameters: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (5,4)-(5,5) = "(" + │ │ │ └── closing_loc: (5,5)-(5,6) = ")" + │ │ └── body: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (7,0)-(7,9)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -79,21 +80,20 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (7,2)-(7,9)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (7,2)-(7,9)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (7,2)-(7,4) = "->" - │ │ ├── opening_loc: (7,7)-(7,8) = "{" - │ │ ├── closing_loc: (7,8)-(7,9) = "}" - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (7,4)-(7,6)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (7,4)-(7,5) = "(" - │ │ │ └── closing_loc: (7,5)-(7,6) = ")" - │ │ └── body: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (7,2)-(7,9)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (7,2)-(7,4) = "->" + │ ├── opening_loc: (7,7)-(7,8) = "{" + │ ├── closing_loc: (7,8)-(7,9) = "}" + │ ├── parameters: + │ │ @ BlockParametersNode (location: (7,4)-(7,6)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (7,4)-(7,5) = "(" + │ │ └── closing_loc: (7,5)-(7,6) = ")" + │ └── body: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt index 82bc590100..fe18d5ad49 100644 --- a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt @@ -11,6 +11,7 @@ │ @ RescueModifierNode (location: (1,4)-(1,17)) │ ├── expression: │ │ @ CallNode (location: (1,4)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -18,13 +19,12 @@ │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (1,7)-(1,8) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (1,9)-(1,15) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,16)-(1,17)) diff --git a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt index ce6b05e8d1..637451a550 100644 --- a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt @@ -11,6 +11,7 @@ │ @ RescueModifierNode (location: (1,4)-(1,16)) │ ├── expression: │ │ @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -18,13 +19,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,15)-(1,16)) diff --git a/test/prism/snapshots/seattlerb/lasgn_command.txt b/test/prism/snapshots/seattlerb/lasgn_command.txt index 2f2709577b..4b38e56028 100644 --- a/test/prism/snapshots/seattlerb/lasgn_command.txt +++ b/test/prism/snapshots/seattlerb/lasgn_command.txt @@ -9,8 +9,10 @@ ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ CallNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -18,19 +20,17 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,5)-(1,6) = "." │ ├── name: :c │ ├── message_loc: (1,6)-(1,7) = "c" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,8)-(1,9)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt index 6c5bfb8d9e..8d6662ae0d 100644 --- a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt @@ -14,6 +14,7 @@ │ ├── name_loc: (1,4)-(1,5) = "b" │ ├── value: │ │ @ CallNode (location: (1,8)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c @@ -21,12 +22,11 @@ │ │ ├── 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: ∅ │ └── operator_loc: (1,6)-(1,7) = "=" └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt index f88e98dd50..076c4ec89d 100644 --- a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt +++ b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt @@ -9,8 +9,10 @@ ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ ArrayNode (location: (1,4)-(1,12)) + │ ├── flags: contains_splat │ ├── elements: (length: 3) │ │ ├── @ CallNode (location: (1,4)-(1,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -18,12 +20,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── @ SplatNode (location: (1,7)-(1,9)) │ │ │ ├── operator_loc: (1,7)-(1,8) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -31,9 +33,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (1,11)-(1,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -41,9 +43,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: contains_splat + │ └── closing_loc: ∅ └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt index f0e7b58109..f1f07d2908 100644 --- a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt @@ -18,6 +18,7 @@ ├── operator_loc: (1,5)-(1,6) = "=" └── value: @ CallNode (location: (1,7)-(1,8)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -25,5 +26,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt index 8bf3c37350..e7e304f7c8 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt @@ -9,8 +9,10 @@ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ CallNode (location: (1,3)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -18,16 +20,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,4)-(1,6) = "::" │ ├── name: :c= │ ├── message_loc: (1,6)-(1,7) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── rest: ∅ ├── rights: (length: 0) ├── lparen_loc: ∅ @@ -35,6 +35,7 @@ ├── operator_loc: (1,8)-(1,9) = "=" └── value: @ CallNode (location: (1,10)-(1,11)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :d @@ -42,5 +43,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt index ff55c6b8f7..e8c9958e74 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt @@ -9,8 +9,10 @@ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ CallNode (location: (1,3)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -18,16 +20,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,4)-(1,5) = "." │ ├── name: :C= │ ├── message_loc: (1,5)-(1,6) = "C" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── rest: ∅ ├── rights: (length: 0) ├── lparen_loc: ∅ @@ -35,6 +35,7 @@ ├── operator_loc: (1,7)-(1,8) = "=" └── value: @ CallNode (location: (1,9)-(1,10)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :d @@ -42,5 +43,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt index 9492bd340f..3d756144c5 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt @@ -24,6 +24,7 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ CallNode (location: (1,11)-(1,12)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :d @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_colon2.txt b/test/prism/snapshots/seattlerb/masgn_colon2.txt index e97891ebd3..5a5b5e67db 100644 --- a/test/prism/snapshots/seattlerb/masgn_colon2.txt +++ b/test/prism/snapshots/seattlerb/masgn_colon2.txt @@ -11,6 +11,7 @@ │ └── @ ConstantPathTargetNode (location: (1,3)-(1,7)) │ ├── parent: │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -18,8 +19,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── child: │ │ @ ConstantReadNode (location: (1,6)-(1,7)) │ │ └── name: :C @@ -31,11 +31,11 @@ ├── operator_loc: (1,8)-(1,9) = "=" └── value: @ ArrayNode (location: (1,10)-(1,14)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,10)-(1,11)) │ │ └── flags: decimal │ └── @ IntegerNode (location: (1,13)-(1,14)) │ └── flags: decimal ├── opening_loc: ∅ - ├── closing_loc: ∅ - └── flags: ∅ + └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_colon3.txt b/test/prism/snapshots/seattlerb/masgn_colon3.txt index 836ce91c7f..f2880a4426 100644 --- a/test/prism/snapshots/seattlerb/masgn_colon3.txt +++ b/test/prism/snapshots/seattlerb/masgn_colon3.txt @@ -24,11 +24,11 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ ArrayNode (location: (1,11)-(1,15)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,11)-(1,12)) │ │ └── flags: decimal │ └── @ IntegerNode (location: (1,14)-(1,15)) │ └── flags: decimal ├── opening_loc: ∅ - ├── closing_loc: ∅ - └── flags: ∅ + └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_command_call.txt b/test/prism/snapshots/seattlerb/masgn_command_call.txt index 7a7b26b9c3..974910101b 100644 --- a/test/prism/snapshots/seattlerb/masgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/masgn_command_call.txt @@ -16,8 +16,10 @@ ├── operator_loc: (1,3)-(1,4) = "=" └── value: @ CallNode (location: (1,5)-(1,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,5)-(1,6)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -25,18 +27,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,6)-(1,7) = "." ├── name: :c ├── message_loc: (1,7)-(1,8) = "c" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,9)-(1,10)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,9)-(1,10)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,9)-(1,10)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_double_paren.txt b/test/prism/snapshots/seattlerb/masgn_double_paren.txt index b6a3748d3f..900e8e0f14 100644 --- a/test/prism/snapshots/seattlerb/masgn_double_paren.txt +++ b/test/prism/snapshots/seattlerb/masgn_double_paren.txt @@ -24,6 +24,7 @@ ├── operator_loc: (1,7)-(1,8) = "=" └── value: @ CallNode (location: (1,8)-(1,9)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt index 10d0dc3a4a..7615d7d02b 100644 --- a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt +++ b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt @@ -18,6 +18,7 @@ ├── operator_loc: (1,3)-(1,4) = "=" └── value: @ ArrayNode (location: (1,5)-(1,12)) + ├── flags: ∅ ├── elements: (length: 3) │ ├── @ IntegerNode (location: (1,5)-(1,6)) │ │ └── flags: decimal @@ -26,5 +27,4 @@ │ └── @ IntegerNode (location: (1,11)-(1,12)) │ └── flags: decimal ├── opening_loc: ∅ - ├── closing_loc: ∅ - └── flags: ∅ + └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_paren.txt b/test/prism/snapshots/seattlerb/masgn_paren.txt index 49c1a488b2..610f6ba2e4 100644 --- a/test/prism/snapshots/seattlerb/masgn_paren.txt +++ b/test/prism/snapshots/seattlerb/masgn_paren.txt @@ -18,8 +18,10 @@ ├── operator_loc: (1,7)-(1,8) = "=" └── value: @ CallNode (location: (1,9)-(1,12)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,9)-(1,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c @@ -27,13 +29,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,10)-(1,11) = "." ├── name: :d ├── message_loc: (1,11)-(1,12) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt index 75dfd499fe..0d2d782bf1 100644 --- a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt @@ -21,6 +21,7 @@ ├── operator_loc: (1,6)-(1,7) = "=" └── value: @ CallNode (location: (1,8)-(1,9)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -28,5 +29,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt index 16fd28db42..be9e1324f8 100644 --- a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt @@ -24,6 +24,7 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ CallNode (location: (1,11)-(1,12)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :d @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt index 00ef2e5cf4..0833b44d6b 100644 --- a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt +++ b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt @@ -21,6 +21,7 @@ ├── operator_loc: (1,8)-(1,9) = "=" └── value: @ CallNode (location: (1,10)-(1,11)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -28,5 +29,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt index 92b636949f..d15cf6fcbc 100644 --- a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt +++ b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,50 +12,49 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,15)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,2)-(1,15)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,3)-(1,14)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ ConstantPathOperatorWriteNode (location: (1,3)-(1,14)) - │ │ │ ├── target: - │ │ │ │ @ ConstantPathNode (location: (1,3)-(1,7)) - │ │ │ │ ├── parent: - │ │ │ │ │ @ ConstantReadNode (location: (1,3)-(1,4)) - │ │ │ │ │ └── name: :B - │ │ │ │ ├── child: - │ │ │ │ │ @ ConstantReadNode (location: (1,6)-(1,7)) - │ │ │ │ │ └── name: :C - │ │ │ │ └── delimiter_loc: (1,4)-(1,6) = "::" - │ │ │ ├── operator_loc: (1,8)-(1,10) = "*=" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (1,11)-(1,14)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :d - │ │ │ │ ├── message_loc: (1,11)-(1,12) = "d" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :e - │ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "e" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── operator: :* - │ │ ├── opening_loc: (1,2)-(1,3) = "(" - │ │ └── closing_loc: (1,14)-(1,15) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,2)-(1,15)) + │ ├── body: + │ │ @ StatementsNode (location: (1,3)-(1,14)) + │ │ └── body: (length: 1) + │ │ └── @ ConstantPathOperatorWriteNode (location: (1,3)-(1,14)) + │ │ ├── target: + │ │ │ @ ConstantPathNode (location: (1,3)-(1,7)) + │ │ │ ├── parent: + │ │ │ │ @ ConstantReadNode (location: (1,3)-(1,4)) + │ │ │ │ └── name: :B + │ │ │ ├── child: + │ │ │ │ @ ConstantReadNode (location: (1,6)-(1,7)) + │ │ │ │ └── name: :C + │ │ │ └── delimiter_loc: (1,4)-(1,6) = "::" + │ │ ├── operator_loc: (1,8)-(1,10) = "*=" + │ │ ├── value: + │ │ │ @ CallNode (location: (1,11)-(1,14)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d + │ │ │ ├── message_loc: (1,11)-(1,12) = "d" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (1,13)-(1,14)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :e + │ │ │ │ ├── message_loc: (1,13)-(1,14) = "e" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator: :* + │ ├── opening_loc: (1,2)-(1,3) = "(" + │ └── closing_loc: (1,14)-(1,15) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt index b2e8c11887..1fa0510b2d 100644 --- a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,26 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :f ├── message_loc: (1,2)-(1,3) = "f" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,4)-(1,8)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,4)-(1,8)) - │ │ ├── key: - │ │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,5)-(1,7) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,4)-(1,8)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,4)-(1,8)) + │ ├── key: + │ │ @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ ├── value: + │ │ @ IntegerNode (location: (1,7)-(1,8)) + │ │ └── flags: decimal + │ └── operator_loc: (1,5)-(1,7) = "=>" ├── closing_loc: (1,9)-(1,10) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt index 4c9a412404..aea6bc7de1 100644 --- a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :f ├── message_loc: (1,2)-(1,3) = "f" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,4)-(1,5)) + │ └── flags: decimal ├── closing_loc: (1,6)-(1,7) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt index debb1e52d2..0bf5baefd5 100644 --- a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt @@ -24,6 +24,7 @@ ├── operator_loc: (1,11)-(1,12) = "=" └── value: @ CallNode (location: (1,13)-(1,14)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt index bd80071854..2051bb832b 100644 --- a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt @@ -27,6 +27,7 @@ ├── operator_loc: (1,12)-(1,13) = "=" └── value: @ CallNode (location: (1,14)-(1,15)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -34,5 +35,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt index dd984f725f..fbe7480d50 100644 --- a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt @@ -24,6 +24,7 @@ ├── operator_loc: (1,11)-(1,12) = "=" └── value: @ CallNode (location: (1,13)-(1,14)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt index 49a7b1629a..6585289d54 100644 --- a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt @@ -27,6 +27,7 @@ ├── operator_loc: (1,12)-(1,13) = "=" └── value: @ CallNode (location: (1,14)-(1,15)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -34,5 +35,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_keyword.txt b/test/prism/snapshots/seattlerb/mlhs_keyword.txt index 7612ebe2f0..d7033a5203 100644 --- a/test/prism/snapshots/seattlerb/mlhs_keyword.txt +++ b/test/prism/snapshots/seattlerb/mlhs_keyword.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :!= ├── message_loc: (1,2)-(1,4) = "!=" ├── opening_loc: (1,4)-(1,5) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,15)) - │ ├── arguments: (length: 2) - │ │ ├── @ TrueNode (location: (1,5)-(1,9)) - │ │ └── @ TrueNode (location: (1,11)-(1,15)) - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ TrueNode (location: (1,5)-(1,9)) + │ └── @ TrueNode (location: (1,11)-(1,15)) ├── closing_loc: (1,15)-(1,16) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt index f0fc933ff5..a2aad9a335 100644 --- a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt @@ -33,6 +33,7 @@ ├── operator_loc: (1,20)-(1,21) = "=" └── value: @ CallNode (location: (1,22)-(1,23)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -40,5 +41,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt index f0d2126ad7..10a0a23917 100644 --- a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt @@ -36,6 +36,7 @@ ├── operator_loc: (1,21)-(1,22) = "=" └── value: @ CallNode (location: (1,23)-(1,24)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -43,5 +44,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_rescue.txt b/test/prism/snapshots/seattlerb/mlhs_rescue.txt index f438bf6041..9885ab4c78 100644 --- a/test/prism/snapshots/seattlerb/mlhs_rescue.txt +++ b/test/prism/snapshots/seattlerb/mlhs_rescue.txt @@ -20,6 +20,7 @@ @ RescueModifierNode (location: (1,7)-(1,18)) ├── expression: │ @ CallNode (location: (1,7)-(1,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -27,8 +28,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── keyword_loc: (1,9)-(1,15) = "rescue" └── rescue_expression: @ IntegerNode (location: (1,16)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt index b2041a0a3e..208ecdcbc5 100644 --- a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt +++ b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(8,12)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(3,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -11,27 +12,27 @@ │ ├── opening_loc: (1,1)-(1,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(3,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,2)-(3,1)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,2)-(3,1)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,2)-(1,8)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (1,2)-(1,7) = "state" - │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" - │ │ │ │ └── unescaped: "state" - │ │ │ ├── value: - │ │ │ │ @ HashNode (location: (2,1)-(3,1)) - │ │ │ │ ├── opening_loc: (2,1)-(2,2) = "{" - │ │ │ │ ├── elements: (length: 0) - │ │ │ │ └── closing_loc: (3,0)-(3,1) = "}" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,2)-(3,1)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,2)-(3,1)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,2)-(1,8)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (1,2)-(1,7) = "state" + │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" + │ │ │ └── unescaped: "state" + │ │ ├── value: + │ │ │ @ HashNode (location: (2,1)-(3,1)) + │ │ │ ├── opening_loc: (2,1)-(2,2) = "{" + │ │ │ ├── elements: (length: 0) + │ │ │ └── closing_loc: (3,0)-(3,1) = "}" + │ │ └── operator_loc: ∅ │ ├── closing_loc: (3,1)-(3,2) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(6,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -39,27 +40,27 @@ │ ├── opening_loc: (5,1)-(5,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (5,2)-(6,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (5,2)-(6,1)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (5,2)-(6,1)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (5,2)-(5,8)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (5,2)-(5,7) = "state" - │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ":" - │ │ │ │ └── unescaped: "state" - │ │ │ ├── value: - │ │ │ │ @ HashNode (location: (5,9)-(6,1)) - │ │ │ │ ├── opening_loc: (5,9)-(5,10) = "{" - │ │ │ │ ├── elements: (length: 0) - │ │ │ │ └── closing_loc: (6,0)-(6,1) = "}" - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (5,2)-(6,1)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (5,2)-(6,1)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (5,2)-(5,8)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (5,2)-(5,7) = "state" + │ │ │ ├── closing_loc: (5,7)-(5,8) = ":" + │ │ │ └── unescaped: "state" + │ │ ├── value: + │ │ │ @ HashNode (location: (5,9)-(6,1)) + │ │ │ ├── opening_loc: (5,9)-(5,10) = "{" + │ │ │ ├── elements: (length: 0) + │ │ │ └── closing_loc: (6,0)-(6,1) = "}" + │ │ └── operator_loc: ∅ │ ├── closing_loc: (6,1)-(6,2) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (8,0)-(8,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -67,23 +68,22 @@ ├── opening_loc: (8,1)-(8,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (8,2)-(8,11)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (8,2)-(8,11)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (8,2)-(8,11)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (8,2)-(8,8)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (8,2)-(8,7) = "state" - │ │ │ ├── closing_loc: (8,7)-(8,8) = ":" - │ │ │ └── unescaped: "state" - │ │ ├── value: - │ │ │ @ HashNode (location: (8,9)-(8,11)) - │ │ │ ├── opening_loc: (8,9)-(8,10) = "{" - │ │ │ ├── elements: (length: 0) - │ │ │ └── closing_loc: (8,10)-(8,11) = "}" - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (8,2)-(8,11)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (8,2)-(8,11)) + │ ├── key: + │ │ @ SymbolNode (location: (8,2)-(8,8)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (8,2)-(8,7) = "state" + │ │ ├── closing_loc: (8,7)-(8,8) = ":" + │ │ └── unescaped: "state" + │ ├── value: + │ │ @ HashNode (location: (8,9)-(8,11)) + │ │ ├── opening_loc: (8,9)-(8,10) = "{" + │ │ ├── elements: (length: 0) + │ │ └── closing_loc: (8,10)-(8,11) = "}" + │ └── operator_loc: ∅ ├── closing_loc: (8,11)-(8,12) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt index 34ea8f2480..4bea3d1a26 100644 --- a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,1)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (2,0)-(2,1)) │ │ │ ├── opening_loc: ∅ @@ -16,7 +17,6 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%i(" - │ ├── closing_loc: (4,0)-(4,1) = ")" - │ └── flags: ∅ + │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt index 821f18995b..705ab476d6 100644 --- a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,1)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(2,1)) │ │ │ ├── flags: ∅ @@ -18,7 +19,6 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%w(" - │ ├── closing_loc: (4,0)-(4,1) = ")" - │ └── flags: ∅ + │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt index 22251546e9..ae82ec31cd 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt @@ -8,8 +8,10 @@ ├── operator_loc: (1,2)-(1,5) = "||=" ├── value: │ @ CallNode (location: (1,6)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,6)-(1,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -17,20 +19,18 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,7)-(1,8) = "." │ ├── name: :c │ ├── message_loc: (1,8)-(1,9) = "c" │ ├── 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: ∅ ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt index 6da5424b8e..f25e6328be 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt @@ -4,17 +4,18 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallOrWriteNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A ├── call_operator_loc: (1,1)-(1,2) = "." ├── message_loc: (1,2)-(1,3) = "B" - ├── flags: ∅ ├── read_name: :B ├── write_name: :B= ├── operator_loc: (1,4)-(1,7) = "||=" └── value: @ CallNode (location: (1,8)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -22,10 +23,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: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt index b3f1e1fc35..8737263e2b 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ IndexOrWriteNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,25 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ ├── arguments: (length: 1) - │ │ └── @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── opening_loc: (1,2)-(1,3) = ":" - │ │ ├── value_loc: (1,3)-(1,4) = "b" - │ │ ├── closing_loc: ∅ - │ │ └── unescaped: "b" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ SymbolNode (location: (1,2)-(1,4)) + │ ├── opening_loc: (1,2)-(1,3) = ":" + │ ├── value_loc: (1,3)-(1,4) = "b" + │ ├── closing_loc: ∅ + │ └── unescaped: "b" ├── closing_loc: (1,4)-(1,5) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator_loc: (1,6)-(1,9) = "||=" └── value: @ CallNode (location: (1,10)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -39,12 +40,11 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,12)-(1,16)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,15)-(1,16)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,12)-(1,13)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,15)-(1,16)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt index ff10caee56..f17ca505da 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt @@ -16,6 +16,7 @@ ├── operator_loc: (1,5)-(1,7) = "*=" ├── value: │ @ CallNode (location: (1,8)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c @@ -23,19 +24,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,10)-(1,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,10)-(1,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :d - │ │ │ ├── message_loc: (1,10)-(1,11) = "d" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,10)-(1,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d + │ │ ├── message_loc: (1,10)-(1,11) = "d" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── operator: :* diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt index 2320e2be0f..0416e0fa71 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt @@ -4,12 +4,12 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallOperatorWriteNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" ├── message_loc: (1,3)-(1,4) = "b" - ├── flags: ∅ ├── read_name: :b ├── write_name: :b= ├── operator: :+ diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt index 3b9bee333f..0fbbe197c7 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt @@ -4,18 +4,19 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallOperatorWriteNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" ├── message_loc: (1,3)-(1,4) = "b" - ├── flags: ∅ ├── read_name: :b ├── write_name: :b= ├── operator: :* ├── operator_loc: (1,5)-(1,7) = "*=" └── value: @ CallNode (location: (1,8)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -23,18 +24,17 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,10)-(1,11)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,10)-(1,11)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :d - │ │ ├── message_loc: (1,10)-(1,11) = "d" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,10)-(1,11)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :d + │ ├── message_loc: (1,10)-(1,11) = "d" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt index 4e35a7d827..afd48a88f8 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallOrWriteNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,16 +15,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── message_loc: (1,2)-(1,3) = "b" - ├── flags: ∅ ├── read_name: :b ├── write_name: :b= ├── operator_loc: (1,4)-(1,7) = "||=" └── value: @ CallNode (location: (1,8)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -30,10 +31,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: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt index 3342f56ff9..10f788a271 100644 --- a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt @@ -7,10 +7,13 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,7)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -18,24 +21,21 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (1,10)-(1,11) = "." │ │ ├── name: :nil? │ │ ├── message_loc: (1,11)-(1,15) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,3)-(1,6) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: │ @ StatementsNode (location: (1,21)-(1,26)) diff --git a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt index 3342f56ff9..10f788a271 100644 --- a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt @@ -7,10 +7,13 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,7)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -18,24 +21,21 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (1,10)-(1,11) = "." │ │ ├── name: :nil? │ │ ├── message_loc: (1,11)-(1,15) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,3)-(1,6) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: │ @ StatementsNode (location: (1,21)-(1,26)) diff --git a/test/prism/snapshots/seattlerb/parse_line_block.txt b/test/prism/snapshots/seattlerb/parse_line_block.txt index e0d46ffeb3..ba579a280a 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block.txt @@ -12,6 +12,7 @@ │ │ └── flags: decimal │ └── operator_loc: (1,2)-(1,3) = "=" └── @ CallNode (location: (2,0)-(2,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -19,11 +20,10 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (2,2)-(2,3)) - │ ├── arguments: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (2,2)-(2,3)) - │ │ ├── name: :a - │ │ └── depth: 0 - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ ├── name: :a + │ └── depth: 0 ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt index f8fc06ed97..5b4c006eff 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,1)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -21,9 +22,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt index b51919ae36..ddabbe84e4 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (4,0)-(7,1)) └── body: (length: 3) ├── @ CallNode (location: (4,0)-(4,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -21,9 +22,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ CallNode (location: (7,0)-(7,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt index 97feaf3bf6..7a55397bac 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,1)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -21,9 +22,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ CallNode (location: (4,0)-(4,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -31,5 +32,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt index 21ea5368db..991e3a1685 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,10 +12,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ ├── arguments: (length: 1) - │ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) - │ │ └── name: :@b - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ └── name: :@b ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt index 9fc496ef94..15af12fe83 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,1)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,1)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,10 +12,9 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ ├── arguments: (length: 1) - │ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) - │ │ └── name: :@b - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ └── name: :@b ├── closing_loc: (2,0)-(2,1) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt index 557fcd6546..8a07a8912c 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,50 +12,49 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,2)-(3,3)) - │ ├── locals: [:x, :y] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,5)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,6)-(1,10)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) - │ │ │ │ │ └── name: :x - │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ └── name: :y - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,5)-(1,6) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (2,2)-(2,7)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ ├── receiver: - │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) - │ │ │ ├── name: :x - │ │ │ └── depth: 0 - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (2,4)-(2,5) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (2,6)-(2,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) - │ │ │ │ ├── name: :y - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── opening_loc: (1,2)-(1,4) = "do" - │ └── closing_loc: (3,0)-(3,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,2)-(3,3)) + ├── locals: [:x, :y] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,5)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,6)-(1,10)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) + │ │ │ │ └── name: :x + │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ └── name: :y + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,5)-(1,6) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: + │ @ StatementsNode (location: (2,2)-(2,7)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (2,2)-(2,7)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ │ ├── name: :x + │ │ └── depth: 0 + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (2,4)-(2,5) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) + │ │ ├── name: :y + │ │ └── depth: 0 + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,2)-(1,4) = "do" + └── closing_loc: (3,0)-(3,3) = "end" diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt index dda6852a0f..0ec63b3123 100644 --- a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt +++ b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt @@ -22,6 +22,7 @@ │ @ StatementsNode (location: (2,2)-(4,10)) │ └── body: (length: 3) │ ├── @ CallNode (location: (2,2)-(2,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -29,14 +30,13 @@ │ │ ├── opening_loc: (2,3)-(2,4) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (2,4)-(2,5)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (2,4)-(2,5)) - │ │ │ │ ├── name: :y - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (2,4)-(2,5)) + │ │ │ ├── name: :y + │ │ │ └── depth: 0 │ │ ├── closing_loc: (2,5)-(2,6) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── @ LocalVariableOperatorWriteNode (location: (3,2)-(3,8)) │ │ ├── name_loc: (3,2)-(3,3) = "y" │ │ ├── operator_loc: (3,4)-(3,6) = "*=" @@ -50,11 +50,11 @@ │ ├── keyword_loc: (4,2)-(4,8) = "return" │ └── arguments: │ @ ArgumentsNode (location: (4,9)-(4,10)) - │ ├── arguments: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (4,9)-(4,10)) - │ │ ├── name: :y - │ │ └── depth: 0 - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LocalVariableReadNode (location: (4,9)-(4,10)) + │ ├── name: :y + │ └── depth: 0 ├── locals: [:y] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2.txt b/test/prism/snapshots/seattlerb/parse_line_dot2.txt index 51276d2107..960369cfa5 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot2.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot2.txt @@ -4,17 +4,19 @@ @ StatementsNode (location: (1,0)-(5,1)) └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(2,1)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) │ │ └── flags: decimal │ ├── right: │ │ @ IntegerNode (location: (2,0)-(2,1)) │ │ └── flags: decimal - │ ├── operator_loc: (1,1)-(1,3) = ".." - │ └── flags: ∅ + │ └── operator_loc: (1,1)-(1,3) = ".." ├── @ RangeNode (location: (3,0)-(4,1)) + │ ├── flags: ∅ │ ├── left: │ │ @ CallNode (location: (3,0)-(3,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -22,10 +24,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (4,0)-(4,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -33,11 +35,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (3,1)-(3,3) = ".." - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (3,1)-(3,3) = ".." └── @ CallNode (location: (5,0)-(5,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -45,5 +46,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt index 7383c1f88c..986f57136e 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt @@ -4,15 +4,17 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) │ │ └── flags: decimal │ ├── right: ∅ - │ ├── operator_loc: (1,1)-(1,3) = ".." - │ └── flags: ∅ + │ └── operator_loc: (1,1)-(1,3) = ".." ├── @ RangeNode (location: (2,2)-(2,5)) + │ ├── flags: ∅ │ ├── left: │ │ @ CallNode (location: (2,2)-(2,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -20,12 +22,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: ∅ - │ ├── operator_loc: (2,3)-(2,5) = ".." - │ └── flags: ∅ + │ └── operator_loc: (2,3)-(2,5) = ".." └── @ CallNode (location: (3,2)-(3,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -33,5 +34,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3.txt b/test/prism/snapshots/seattlerb/parse_line_dot3.txt index 87b6642040..791618812d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot3.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot3.txt @@ -4,17 +4,19 @@ @ StatementsNode (location: (1,0)-(5,1)) └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(2,1)) + │ ├── flags: exclude_end │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) │ │ └── flags: decimal │ ├── right: │ │ @ IntegerNode (location: (2,0)-(2,1)) │ │ └── flags: decimal - │ ├── operator_loc: (1,1)-(1,4) = "..." - │ └── flags: exclude_end + │ └── operator_loc: (1,1)-(1,4) = "..." ├── @ RangeNode (location: (3,0)-(4,1)) + │ ├── flags: exclude_end │ ├── left: │ │ @ CallNode (location: (3,0)-(3,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -22,10 +24,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (4,0)-(4,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -33,11 +35,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (3,1)-(3,4) = "..." - │ └── flags: exclude_end + │ │ └── block: ∅ + │ └── operator_loc: (3,1)-(3,4) = "..." └── @ CallNode (location: (5,0)-(5,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -45,5 +46,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt index 639917b5dc..49ce1b0bae 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt @@ -4,15 +4,17 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,4)) + │ ├── flags: exclude_end │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) │ │ └── flags: decimal │ ├── right: ∅ - │ ├── operator_loc: (1,1)-(1,4) = "..." - │ └── flags: exclude_end + │ └── operator_loc: (1,1)-(1,4) = "..." ├── @ RangeNode (location: (2,2)-(2,6)) + │ ├── flags: exclude_end │ ├── left: │ │ @ CallNode (location: (2,2)-(2,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -20,12 +22,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: ∅ - │ ├── operator_loc: (2,3)-(2,6) = "..." - │ └── flags: exclude_end + │ └── operator_loc: (2,3)-(2,6) = "..." └── @ CallNode (location: (3,2)-(3,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c @@ -33,5 +34,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt index 28d126b840..9a6cbfdb65 100644 --- a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt +++ b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt @@ -21,6 +21,7 @@ │ │ │ @ StatementsNode (location: (2,3)-(2,4)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -28,8 +29,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (2,4)-(2,5) = "}" │ └── closing_loc: (2,5)-(2,6) = "\"" └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt index 8e5a8598d2..2b52a3b6fb 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt @@ -9,6 +9,7 @@ │ ├── name_loc: (1,6)-(1,12) = "string" │ ├── value: │ │ @ CallNode (location: (1,15)-(1,31)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ StringNode (location: (1,15)-(1,25)) │ │ │ ├── flags: ∅ @@ -22,10 +23,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (1,13)-(1,14) = "=" └── @ CallNode (location: (4,6)-(4,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :puts @@ -33,11 +34,10 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (4,11)-(4,17)) - │ ├── arguments: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17)) - │ │ ├── name: :string - │ │ └── depth: 0 - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LocalVariableReadNode (location: (4,11)-(4,17)) + │ ├── name: :string + │ └── depth: 0 ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt index 120560084a..0a96830a65 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt @@ -18,6 +18,7 @@ │ │ │ @ StatementsNode (location: (3,2)-(3,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -25,8 +26,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (3,3)-(3,4) = "}" │ └── @ StringNode (location: (3,4)-(4,0)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt index b77d79519b..c762376f14 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt @@ -16,6 +16,7 @@ │ │ └── unescaped: " very long string\n" │ └── operator_loc: (1,13)-(1,14) = "=" └── @ CallNode (location: (4,6)-(4,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :puts @@ -23,11 +24,10 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (4,11)-(4,17)) - │ ├── arguments: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17)) - │ │ ├── name: :string - │ │ └── depth: 0 - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LocalVariableReadNode (location: (4,11)-(4,17)) + │ ├── name: :string + │ └── depth: 0 ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt index fc36ac7a5c..a22d252918 100644 --- a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,63 +12,62 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,3)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,2)-(1,3)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (1,2)-(1,3) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,2)-(1,3)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (1,2)-(1,3) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,4)-(3,3)) - │ ├── locals: [:x, :y] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,7)-(1,13)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,8)-(1,12)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9)) - │ │ │ │ │ └── name: :x - │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12)) - │ │ │ │ └── name: :y - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,7)-(1,8) = "|" - │ │ └── closing_loc: (1,12)-(1,13) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (2,2)-(2,7)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ ├── receiver: - │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) - │ │ │ ├── name: :x - │ │ │ └── depth: 0 - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (2,4)-(2,5) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (2,6)-(2,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) - │ │ │ │ ├── name: :y - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── opening_loc: (1,4)-(1,6) = "do" - │ └── closing_loc: (3,0)-(3,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,4)-(3,3)) + ├── locals: [:x, :y] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,7)-(1,13)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,8)-(1,12)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9)) + │ │ │ │ └── name: :x + │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12)) + │ │ │ └── name: :y + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,7)-(1,8) = "|" + │ └── closing_loc: (1,12)-(1,13) = "|" + ├── body: + │ @ StatementsNode (location: (2,2)-(2,7)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (2,2)-(2,7)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ │ ├── name: :x + │ │ └── depth: 0 + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (2,4)-(2,5) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) + │ │ ├── name: :y + │ │ └── depth: 0 + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,4)-(1,6) = "do" + └── closing_loc: (3,0)-(3,3) = "end" diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt index ad318e4b05..e9a7b0140d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,63 +12,62 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,3)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,2)-(1,3)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (1,2)-(1,3) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,2)-(1,3)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (1,2)-(1,3) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (1,3)-(1,4) = ")" - ├── block: - │ @ BlockNode (location: (1,5)-(3,3)) - │ ├── locals: [:x, :y] - │ ├── locals_body_index: 2 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,8)-(1,14)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,9)-(1,13)) - │ │ │ ├── requireds: (length: 2) - │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ │ └── name: :x - │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) - │ │ │ │ └── name: :y - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,8)-(1,9) = "|" - │ │ └── closing_loc: (1,13)-(1,14) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (2,2)-(2,7)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ ├── receiver: - │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) - │ │ │ ├── name: :x - │ │ │ └── depth: 0 - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (2,4)-(2,5) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (2,6)-(2,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) - │ │ │ │ ├── name: :y - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── opening_loc: (1,5)-(1,7) = "do" - │ └── closing_loc: (3,0)-(3,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(3,3)) + ├── locals: [:x, :y] + ├── locals_body_index: 2 + ├── parameters: + │ @ BlockParametersNode (location: (1,8)-(1,14)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,9)-(1,13)) + │ │ ├── requireds: (length: 2) + │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ │ └── name: :x + │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13)) + │ │ │ └── name: :y + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,8)-(1,9) = "|" + │ └── closing_loc: (1,13)-(1,14) = "|" + ├── body: + │ @ StatementsNode (location: (2,2)-(2,7)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (2,2)-(2,7)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ │ ├── name: :x + │ │ └── depth: 0 + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (2,4)-(2,5) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) + │ │ ├── name: :y + │ │ └── depth: 0 + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (1,5)-(1,7) = "do" + └── closing_loc: (3,0)-(3,3) = "end" diff --git a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt index 46378fa9c4..63d52a477d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt +++ b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt @@ -8,6 +8,7 @@ │ ├── operator_loc: (1,10)-(1,12) = "+=" │ ├── value: │ │ @ CallNode (location: (2,8)-(2,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -15,12 +16,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── name: :foo │ ├── operator: :+ │ └── depth: 0 └── @ CallNode (location: (3,6)-(3,9)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :baz @@ -28,5 +29,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_postexe.txt b/test/prism/snapshots/seattlerb/parse_line_postexe.txt index 37114601aa..3a5e0f084e 100644 --- a/test/prism/snapshots/seattlerb/parse_line_postexe.txt +++ b/test/prism/snapshots/seattlerb/parse_line_postexe.txt @@ -8,6 +8,7 @@ │ @ StatementsNode (location: (2,0)-(2,3)) │ └── body: (length: 1) │ └── @ CallNode (location: (2,0)-(2,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,8 +16,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── keyword_loc: (1,0)-(1,3) = "END" ├── opening_loc: (1,4)-(1,5) = "{" └── closing_loc: (3,0)-(3,1) = "}" diff --git a/test/prism/snapshots/seattlerb/parse_line_preexe.txt b/test/prism/snapshots/seattlerb/parse_line_preexe.txt index 9de912be8f..71ca121314 100644 --- a/test/prism/snapshots/seattlerb/parse_line_preexe.txt +++ b/test/prism/snapshots/seattlerb/parse_line_preexe.txt @@ -8,6 +8,7 @@ │ @ StatementsNode (location: (2,0)-(2,3)) │ └── body: (length: 1) │ └── @ CallNode (location: (2,0)-(2,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,8 +16,7 @@ │ ├── 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) = "}" diff --git a/test/prism/snapshots/seattlerb/parse_line_rescue.txt b/test/prism/snapshots/seattlerb/parse_line_rescue.txt index d269c2e820..a13ef4357d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_rescue.txt +++ b/test/prism/snapshots/seattlerb/parse_line_rescue.txt @@ -9,6 +9,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 @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (3,0)-(6,3)) │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -28,6 +28,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 @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: │ @ RescueNode (location: (5,0)-(6,3)) │ ├── keyword_loc: (5,0)-(5,6) = "rescue" @@ -47,6 +47,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 @@ -54,8 +55,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_return.txt b/test/prism/snapshots/seattlerb/parse_line_return.txt index 46312194d5..fc83061d01 100644 --- a/test/prism/snapshots/seattlerb/parse_line_return.txt +++ b/test/prism/snapshots/seattlerb/parse_line_return.txt @@ -23,10 +23,10 @@ │ │ ├── keyword_loc: (3,10)-(3,16) = "return" │ │ └── arguments: │ │ @ ArgumentsNode (location: (3,17)-(3,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (3,17)-(3,19)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (3,17)-(3,19)) + │ │ └── flags: decimal │ ├── consequent: ∅ │ └── end_keyword_loc: (4,8)-(4,11) = "end" ├── locals: [] diff --git a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt index c0b4f6cd3d..ee1fa91116 100644 --- a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt +++ b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,15 +12,14 @@ ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,12)) - │ ├── arguments: (length: 2) - │ │ ├── @ StringNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ │ ├── content_loc: (1,3)-(1,5) = "\\n" - │ │ │ ├── closing_loc: (1,5)-(1,6) = "\"" - │ │ │ └── unescaped: "\n" - │ │ └── @ TrueNode (location: (1,8)-(1,12)) - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ StringNode (location: (1,2)-(1,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ │ ├── content_loc: (1,3)-(1,5) = "\\n" + │ │ ├── closing_loc: (1,5)-(1,6) = "\"" + │ │ └── unescaped: "\n" + │ └── @ TrueNode (location: (1,8)-(1,12)) ├── closing_loc: (1,12)-(1,13) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt index bedd6611f9..c0a7a6f631 100644 --- a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt +++ b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt @@ -18,6 +18,7 @@ │ ├── operator_loc: (2,2)-(2,3) = "=" │ └── value: │ @ CallNode (location: (2,4)-(2,5)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c @@ -25,9 +26,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :d @@ -35,5 +36,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt index ab15f51526..355a0da11c 100644 --- a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,1)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ CallNode (location: (2,0)-(2,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -21,5 +22,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt index 5624d07a73..528ade93a7 100644 --- a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt +++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,18 +14,17 @@ ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,2)-(1,6)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,2)-(1,6)) - │ │ ├── key: - │ │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ └── flags: decimal - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,3)-(1,5) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,2)-(1,6)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,2)-(1,6)) + │ ├── key: + │ │ @ IntegerNode (location: (1,2)-(1,3)) + │ │ └── flags: decimal + │ ├── value: + │ │ @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ └── operator_loc: (1,3)-(1,5) = "=>" ├── closing_loc: (1,7)-(1,8) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt index a16635a0eb..c1d086d5f3 100644 --- a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt +++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal @@ -13,10 +14,9 @@ ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,3)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,2)-(1,3)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,2)-(1,3)) + │ └── flags: decimal ├── closing_loc: (1,4)-(1,5) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_019.txt b/test/prism/snapshots/seattlerb/parse_pattern_019.txt index 196cb186b9..2ba406f186 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_019.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_019.txt @@ -11,14 +11,14 @@ │ └── @ InNode (location: (2,0)-(3,6)) │ ├── pattern: │ │ @ RangeNode (location: (2,3)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ IntegerNode (location: (2,3)-(2,5)) │ │ │ └── flags: decimal │ │ ├── right: │ │ │ @ IntegerNode (location: (2,7)-(2,8)) │ │ │ └── flags: decimal - │ │ ├── operator_loc: (2,5)-(2,7) = ".." - │ │ └── flags: ∅ + │ │ └── operator_loc: (2,5)-(2,7) = ".." │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,6)) │ │ └── body: (length: 1) diff --git a/test/prism/snapshots/seattlerb/parse_pattern_044.txt b/test/prism/snapshots/seattlerb/parse_pattern_044.txt index 36189b756d..1eeb954839 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_044.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_044.txt @@ -6,6 +6,7 @@ └── @ CaseMatchNode (location: (1,0)-(4,3)) ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :obj @@ -13,8 +14,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/parse_pattern_051.txt b/test/prism/snapshots/seattlerb/parse_pattern_051.txt index 6067c109e1..6ae0944d10 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_051.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_051.txt @@ -6,6 +6,7 @@ └── @ CaseMatchNode (location: (1,0)-(4,3)) ├── predicate: │ @ ArrayNode (location: (1,5)-(1,14)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (1,6)-(1,7)) │ │ │ └── flags: decimal @@ -14,8 +15,7 @@ │ │ └── @ IntegerNode (location: (1,12)-(1,13)) │ │ └── flags: decimal │ ├── opening_loc: (1,5)-(1,6) = "[" - │ ├── closing_loc: (1,13)-(1,14) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,13)-(1,14) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058.txt b/test/prism/snapshots/seattlerb/parse_pattern_058.txt index 4dee865a2b..830cdaef1d 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_058.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_058.txt @@ -48,6 +48,7 @@ │ │ @ StatementsNode (location: (3,2)-(3,11)) │ │ └── body: (length: 1) │ │ └── @ ArrayNode (location: (3,2)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ LocalVariableReadNode (location: (3,3)-(3,4)) │ │ │ │ ├── name: :a @@ -56,8 +57,7 @@ │ │ │ ├── name: :rest │ │ │ └── depth: 0 │ │ ├── opening_loc: (3,2)-(3,3) = "[" - │ │ ├── closing_loc: (3,10)-(3,11) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (3,10)-(3,11) = "]" │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt index f55300e6d1..18f3bde6aa 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt @@ -45,13 +45,13 @@ │ │ @ StatementsNode (location: (3,2)-(3,5)) │ │ └── body: (length: 1) │ │ └── @ ArrayNode (location: (3,2)-(3,5)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (3,3)-(3,4)) │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── opening_loc: (3,2)-(3,3) = "[" - │ │ ├── closing_loc: (3,4)-(3,5) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (3,4)-(3,5) = "]" │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt index f7544713f1..71002ef207 100644 --- a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt @@ -4,14 +4,18 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ UntilNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── keyword_loc: (1,0)-(1,5) = "until" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: │ @ CallNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,10)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,10)-(1,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -19,31 +23,27 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (1,13)-(1,14) = "." │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ - ├── statements: - │ @ StatementsNode (location: (2,2)-(2,7)) - │ └── body: (length: 1) - │ └── @ StringNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ - │ ├── opening_loc: (2,2)-(2,3) = "'" - │ ├── content_loc: (2,3)-(2,6) = "foo" - │ ├── closing_loc: (2,6)-(2,7) = "'" - │ └── unescaped: "foo" - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (2,2)-(2,7)) + └── body: (length: 1) + └── @ StringNode (location: (2,2)-(2,7)) + ├── flags: ∅ + ├── opening_loc: (2,2)-(2,3) = "'" + ├── content_loc: (2,3)-(2,6) = "foo" + ├── closing_loc: (2,6)-(2,7) = "'" + └── unescaped: "foo" diff --git a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt index f7544713f1..71002ef207 100644 --- a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt @@ -4,14 +4,18 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ UntilNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── keyword_loc: (1,0)-(1,5) = "until" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: │ @ CallNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,10)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,10)-(1,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -19,31 +23,27 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (1,13)-(1,14) = "." │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ - ├── statements: - │ @ StatementsNode (location: (2,2)-(2,7)) - │ └── body: (length: 1) - │ └── @ StringNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ - │ ├── opening_loc: (2,2)-(2,3) = "'" - │ ├── content_loc: (2,3)-(2,6) = "foo" - │ ├── closing_loc: (2,6)-(2,7) = "'" - │ └── unescaped: "foo" - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (2,2)-(2,7)) + └── body: (length: 1) + └── @ StringNode (location: (2,2)-(2,7)) + ├── flags: ∅ + ├── opening_loc: (2,2)-(2,3) = "'" + ├── content_loc: (2,3)-(2,6) = "foo" + ├── closing_loc: (2,6)-(2,7) = "'" + └── unescaped: "foo" diff --git a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt index e745a865c9..973d32fe39 100644 --- a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt @@ -4,14 +4,18 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ WhileNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── keyword_loc: (1,0)-(1,5) = "while" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: │ @ CallNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,10)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,10)-(1,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -19,31 +23,27 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (1,13)-(1,14) = "." │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ - ├── statements: - │ @ StatementsNode (location: (2,2)-(2,7)) - │ └── body: (length: 1) - │ └── @ StringNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ - │ ├── opening_loc: (2,2)-(2,3) = "'" - │ ├── content_loc: (2,3)-(2,6) = "foo" - │ ├── closing_loc: (2,6)-(2,7) = "'" - │ └── unescaped: "foo" - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (2,2)-(2,7)) + └── body: (length: 1) + └── @ StringNode (location: (2,2)-(2,7)) + ├── flags: ∅ + ├── opening_loc: (2,2)-(2,3) = "'" + ├── content_loc: (2,3)-(2,6) = "foo" + ├── closing_loc: (2,6)-(2,7) = "'" + └── unescaped: "foo" diff --git a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt index e745a865c9..973d32fe39 100644 --- a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt @@ -4,14 +4,18 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ WhileNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── keyword_loc: (1,0)-(1,5) = "while" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: │ @ CallNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,10)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ CallNode (location: (1,10)-(1,13)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -19,31 +23,27 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── call_operator_loc: (1,13)-(1,14) = "." │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ - ├── statements: - │ @ StatementsNode (location: (2,2)-(2,7)) - │ └── body: (length: 1) - │ └── @ StringNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ - │ ├── opening_loc: (2,2)-(2,3) = "'" - │ ├── content_loc: (2,3)-(2,6) = "foo" - │ ├── closing_loc: (2,6)-(2,7) = "'" - │ └── unescaped: "foo" - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (2,2)-(2,7)) + └── body: (length: 1) + └── @ StringNode (location: (2,2)-(2,7)) + ├── flags: ∅ + ├── opening_loc: (2,2)-(2,3) = "'" + ├── content_loc: (2,3)-(2,6) = "foo" + ├── closing_loc: (2,6)-(2,7) = "'" + └── unescaped: "foo" diff --git a/test/prism/snapshots/seattlerb/pctW_lineno.txt b/test/prism/snapshots/seattlerb/pctW_lineno.txt index 6ec354bd0e..58efa9c59a 100644 --- a/test/prism/snapshots/seattlerb/pctW_lineno.txt +++ b/test/prism/snapshots/seattlerb/pctW_lineno.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,11)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(5,11)) + ├── flags: ∅ ├── elements: (length: 7) │ ├── @ StringNode (location: (1,3)-(1,7)) │ │ ├── flags: ∅ @@ -48,5 +49,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "iy" ├── opening_loc: (1,0)-(1,3) = "%W(" - ├── closing_loc: (5,10)-(5,11) = ")" - └── flags: ∅ + └── closing_loc: (5,10)-(5,11) = ")" diff --git a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt index 5ce3fa6c55..946f08bc3c 100644 --- a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt +++ b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,11)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(4,11)) + ├── flags: ∅ ├── elements: (length: 5) │ ├── @ StringNode (location: (1,4)-(1,5)) │ │ ├── flags: ∅ @@ -46,5 +47,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "5" ├── opening_loc: (1,0)-(1,3) = "%W(" - ├── closing_loc: (4,10)-(4,11) = ")" - └── flags: ∅ + └── closing_loc: (4,10)-(4,11) = ")" diff --git a/test/prism/snapshots/seattlerb/pipe_semicolon.txt b/test/prism/snapshots/seattlerb/pipe_semicolon.txt index 18e7d25a27..3b611021c8 100644 --- a/test/prism/snapshots/seattlerb/pipe_semicolon.txt +++ b/test/prism/snapshots/seattlerb/pipe_semicolon.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,27 +15,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,4)-(1,18)) - │ ├── locals: [:c] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,7)-(1,14)) - │ │ ├── parameters: ∅ - │ │ ├── locals: (length: 1) - │ │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,12)) - │ │ │ └── name: :c - │ │ ├── opening_loc: (1,7)-(1,8) = "|" - │ │ └── closing_loc: (1,13)-(1,14) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,4)-(1,6) = "do" - │ └── closing_loc: (1,15)-(1,18) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,4)-(1,18)) + ├── locals: [:c] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,7)-(1,14)) + │ ├── parameters: ∅ + │ ├── locals: (length: 1) + │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,12)) + │ │ └── name: :c + │ ├── opening_loc: (1,7)-(1,8) = "|" + │ └── closing_loc: (1,13)-(1,14) = "|" + ├── body: ∅ + ├── opening_loc: (1,4)-(1,6) = "do" + └── closing_loc: (1,15)-(1,18) = "end" diff --git a/test/prism/snapshots/seattlerb/pipe_space.txt b/test/prism/snapshots/seattlerb/pipe_space.txt index c04ea4b775..c791d2b117 100644 --- a/test/prism/snapshots/seattlerb/pipe_space.txt +++ b/test/prism/snapshots/seattlerb/pipe_space.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,25 +15,23 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,4)-(1,14)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,7)-(1,10)) - │ │ ├── parameters: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,7)-(1,8) = "|" - │ │ └── closing_loc: (1,9)-(1,10) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,4)-(1,6) = "do" - │ └── closing_loc: (1,11)-(1,14) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,4)-(1,14)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: + │ @ BlockParametersNode (location: (1,7)-(1,10)) + │ ├── parameters: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,7)-(1,8) = "|" + │ └── closing_loc: (1,9)-(1,10) = "|" + ├── body: ∅ + ├── opening_loc: (1,4)-(1,6) = "do" + └── closing_loc: (1,11)-(1,14) = "end" diff --git a/test/prism/snapshots/seattlerb/qWords_space.txt b/test/prism/snapshots/seattlerb/qWords_space.txt index d8ca822ac2..95ae6d4075 100644 --- a/test/prism/snapshots/seattlerb/qWords_space.txt +++ b/test/prism/snapshots/seattlerb/qWords_space.txt @@ -4,7 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%W(" - ├── closing_loc: (1,4)-(1,5) = ")" - └── flags: ∅ + └── closing_loc: (1,4)-(1,5) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols.txt b/test/prism/snapshots/seattlerb/qsymbols.txt index b22155d271..fea12b646a 100644 --- a/test/prism/snapshots/seattlerb/qsymbols.txt +++ b/test/prism/snapshots/seattlerb/qsymbols.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) │ │ ├── opening_loc: ∅ @@ -21,5 +22,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%I(" - ├── closing_loc: (1,8)-(1,9) = ")" - └── flags: ∅ + └── closing_loc: (1,8)-(1,9) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty.txt b/test/prism/snapshots/seattlerb/qsymbols_empty.txt index 8505453713..54aa3f77d7 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_empty.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_empty.txt @@ -4,7 +4,7 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%I(" - ├── closing_loc: (1,3)-(1,4) = ")" - └── flags: ∅ + └── closing_loc: (1,3)-(1,4) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt index 46ef892d65..624b922ce6 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt @@ -4,7 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%I(" - ├── closing_loc: (1,4)-(1,5) = ")" - └── flags: ∅ + └── closing_loc: (1,4)-(1,5) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols_interp.txt b/test/prism/snapshots/seattlerb/qsymbols_interp.txt index 6e240759dd..67645c4053 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_interp.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_interp.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) │ │ ├── opening_loc: ∅ @@ -25,6 +26,7 @@ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,8)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) │ │ │ │ │ └── flags: decimal @@ -34,13 +36,12 @@ │ │ │ │ ├── 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: ∅ │ │ │ └── closing_loc: (1,11)-(1,12) = "}" │ │ └── closing_loc: ∅ │ └── @ SymbolNode (location: (1,13)-(1,14)) @@ -49,5 +50,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%I(" - ├── closing_loc: (1,14)-(1,15) = ")" - └── flags: ∅ + └── closing_loc: (1,14)-(1,15) = ")" diff --git a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt index cdaf54b6c8..9727fac0a0 100644 --- a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt +++ b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :puts @@ -11,23 +12,22 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,12)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,5)-(1,12)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,5)-(1,12)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,5)-(1,9)) - │ │ │ ├── opening_loc: (1,5)-(1,6) = "'" - │ │ │ ├── value_loc: (1,6)-(1,7) = "a" - │ │ │ ├── closing_loc: (1,7)-(1,9) = "':" - │ │ │ └── unescaped: "a" - │ │ ├── value: - │ │ │ @ HashNode (location: (1,10)-(1,12)) - │ │ │ ├── opening_loc: (1,10)-(1,11) = "{" - │ │ │ ├── elements: (length: 0) - │ │ │ └── closing_loc: (1,11)-(1,12) = "}" - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,5)-(1,12)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,5)-(1,12)) + │ ├── key: + │ │ @ SymbolNode (location: (1,5)-(1,9)) + │ │ ├── opening_loc: (1,5)-(1,6) = "'" + │ │ ├── value_loc: (1,6)-(1,7) = "a" + │ │ ├── closing_loc: (1,7)-(1,9) = "':" + │ │ └── unescaped: "a" + │ ├── value: + │ │ @ HashNode (location: (1,10)-(1,12)) + │ │ ├── opening_loc: (1,10)-(1,11) = "{" + │ │ ├── elements: (length: 0) + │ │ └── closing_loc: (1,11)-(1,12) = "}" + │ └── operator_loc: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/qwords_empty.txt b/test/prism/snapshots/seattlerb/qwords_empty.txt index 4f50f52cbb..f9915c97c9 100644 --- a/test/prism/snapshots/seattlerb/qwords_empty.txt +++ b/test/prism/snapshots/seattlerb/qwords_empty.txt @@ -4,7 +4,7 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%w(" - ├── closing_loc: (1,3)-(1,4) = ")" - └── flags: ∅ + └── closing_loc: (1,3)-(1,4) = ")" diff --git a/test/prism/snapshots/seattlerb/regexp.txt b/test/prism/snapshots/seattlerb/regexp.txt index fead46a8be..abe17918e5 100644 --- a/test/prism/snapshots/seattlerb/regexp.txt +++ b/test/prism/snapshots/seattlerb/regexp.txt @@ -4,32 +4,32 @@ @ StatementsNode (location: (1,0)-(9,13)) └── body: (length: 5) ├── @ RegularExpressionNode (location: (1,0)-(1,5)) + │ ├── flags: ∅ │ ├── opening_loc: (1,0)-(1,1) = "/" │ ├── content_loc: (1,1)-(1,4) = "wtf" │ ├── closing_loc: (1,4)-(1,5) = "/" - │ ├── unescaped: "wtf" - │ └── flags: ∅ + │ └── unescaped: "wtf" ├── @ RegularExpressionNode (location: (3,0)-(3,6)) + │ ├── flags: multi_line │ ├── opening_loc: (3,0)-(3,1) = "/" │ ├── content_loc: (3,1)-(3,4) = "wtf" │ ├── closing_loc: (3,4)-(3,6) = "/m" - │ ├── unescaped: "wtf" - │ └── flags: multi_line + │ └── unescaped: "wtf" ├── @ RegularExpressionNode (location: (5,0)-(5,6)) + │ ├── flags: ascii_8bit │ ├── opening_loc: (5,0)-(5,1) = "/" │ ├── content_loc: (5,1)-(5,4) = "wtf" │ ├── closing_loc: (5,4)-(5,6) = "/n" - │ ├── unescaped: "wtf" - │ └── flags: ascii_8bit + │ └── unescaped: "wtf" ├── @ RegularExpressionNode (location: (7,0)-(7,7)) + │ ├── flags: multi_line, ascii_8bit │ ├── opening_loc: (7,0)-(7,1) = "/" │ ├── content_loc: (7,1)-(7,4) = "wtf" │ ├── closing_loc: (7,4)-(7,7) = "/nm" - │ ├── unescaped: "wtf" - │ └── flags: multi_line, ascii_8bit + │ └── unescaped: "wtf" └── @ RegularExpressionNode (location: (9,0)-(9,13)) + ├── flags: multi_line, ascii_8bit ├── opening_loc: (9,0)-(9,1) = "/" ├── content_loc: (9,1)-(9,4) = "wtf" ├── closing_loc: (9,4)-(9,13) = "/nmnmnmnm" - ├── unescaped: "wtf" - └── flags: multi_line, ascii_8bit + └── unescaped: "wtf" diff --git a/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt b/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt index caf67b892d..b6bf242612 100644 --- a/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt +++ b/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,6) = "\\cC\\d" ├── closing_loc: (1,6)-(1,7) = "/" - ├── unescaped: "\\x03\\d" - └── flags: ∅ + └── unescaped: "\\x03\\d" diff --git a/test/prism/snapshots/seattlerb/regexp_esc_u.txt b/test/prism/snapshots/seattlerb/regexp_esc_u.txt index ea6bbb6141..7b1ebdc636 100644 --- a/test/prism/snapshots/seattlerb/regexp_esc_u.txt +++ b/test/prism/snapshots/seattlerb/regexp_esc_u.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,16) = "[\\u0021-\\u0027]" ├── closing_loc: (1,16)-(1,17) = "/" - ├── unescaped: "[\\u0021-\\u0027]" - └── flags: ∅ + └── unescaped: "[\\u0021-\\u0027]" diff --git a/test/prism/snapshots/seattlerb/regexp_escape_extended.txt b/test/prism/snapshots/seattlerb/regexp_escape_extended.txt index a8fb9a56f0..6568d2bd92 100644 --- a/test/prism/snapshots/seattlerb/regexp_escape_extended.txt +++ b/test/prism/snapshots/seattlerb/regexp_escape_extended.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,5) = "\\“" ├── closing_loc: (1,5)-(1,6) = "/" - ├── unescaped: "“" - └── flags: ∅ + └── unescaped: "“" diff --git a/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt b/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt index 74e8b52787..8dd265af5f 100644 --- a/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt +++ b/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt @@ -4,14 +4,14 @@ @ StatementsNode (location: (1,0)-(3,8)) └── body: (length: 2) ├── @ RegularExpressionNode (location: (1,0)-(1,15)) + │ ├── flags: ∅ │ ├── opening_loc: (1,0)-(1,1) = "/" │ ├── content_loc: (1,1)-(1,14) = "\\u{c0de babe}" │ ├── closing_loc: (1,14)-(1,15) = "/" - │ ├── unescaped: "\\u{c0de babe}" - │ └── flags: ∅ + │ └── unescaped: "\\u{c0de babe}" └── @ RegularExpressionNode (location: (3,0)-(3,8)) + ├── flags: ∅ ├── opening_loc: (3,0)-(3,1) = "/" ├── content_loc: (3,1)-(3,7) = "\\u{df}" ├── closing_loc: (3,7)-(3,8) = "/" - ├── unescaped: "\\u{df}" - └── flags: ∅ + └── unescaped: "\\u{df}" diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt index fa67add940..4dd724b36b 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(5,8)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(5,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :proc @@ -13,45 +15,43 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,5)-(5,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ BeginNode (location: (2,2)-(5,3)) - │ │ │ ├── begin_keyword_loc: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (2,2)-(2,8)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (2,2)-(2,8)) - │ │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" - │ │ │ │ ├── value_loc: (2,3)-(2,8) = "begin" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "begin" - │ │ │ ├── rescue_clause: ∅ - │ │ │ ├── else_clause: ∅ - │ │ │ ├── ensure_clause: - │ │ │ │ @ EnsureNode (location: (3,0)-(5,3)) - │ │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" - │ │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "ensure" - │ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" - │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" - │ │ ├── opening_loc: (1,5)-(1,7) = "do" - │ │ └── closing_loc: (5,0)-(5,3) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,5)-(5,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: + │ │ @ BeginNode (location: (2,2)-(5,3)) + │ │ ├── begin_keyword_loc: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (2,2)-(2,8)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (2,2)-(2,8)) + │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" + │ │ │ ├── value_loc: (2,3)-(2,8) = "begin" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "begin" + │ │ ├── rescue_clause: ∅ + │ │ ├── else_clause: ∅ + │ │ ├── ensure_clause: + │ │ │ @ EnsureNode (location: (3,0)-(5,3)) + │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) + │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" + │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "ensure" + │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" + │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" + │ ├── opening_loc: (1,5)-(1,7) = "do" + │ └── closing_loc: (5,0)-(5,3) = "end" ├── call_operator_loc: (5,3)-(5,4) = "." ├── name: :call ├── message_loc: (5,4)-(5,8) = "call" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt index 2f2b21602f..06cff0804b 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(9,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(9,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -11,62 +12,61 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,4)-(9,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ BeginNode (location: (2,2)-(9,3)) - │ │ ├── begin_keyword_loc: ∅ - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (2,2)-(2,8)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ SymbolNode (location: (2,2)-(2,8)) - │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" - │ │ │ ├── value_loc: (2,3)-(2,8) = "begin" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "begin" - │ │ ├── rescue_clause: - │ │ │ @ RescueNode (location: (3,0)-(4,9)) - │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" - │ │ │ ├── exceptions: (length: 0) - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── reference: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (4,2)-(4,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" - │ │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "rescue" - │ │ │ └── consequent: ∅ - │ │ ├── else_clause: - │ │ │ @ ElseNode (location: (5,0)-(7,6)) - │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (6,2)-(6,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (6,2)-(6,7)) - │ │ │ │ ├── opening_loc: (6,2)-(6,3) = ":" - │ │ │ │ ├── value_loc: (6,3)-(6,7) = "else" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "else" - │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" - │ │ ├── ensure_clause: - │ │ │ @ EnsureNode (location: (7,0)-(9,3)) - │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (8,2)-(8,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (8,2)-(8,9)) - │ │ │ │ ├── opening_loc: (8,2)-(8,3) = ":" - │ │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "ensure" - │ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" - │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" - │ ├── opening_loc: (1,4)-(1,6) = "do" - │ └── closing_loc: (9,0)-(9,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,4)-(9,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ BeginNode (location: (2,2)-(9,3)) + │ ├── begin_keyword_loc: ∅ + │ ├── statements: + │ │ @ StatementsNode (location: (2,2)-(2,8)) + │ │ └── body: (length: 1) + │ │ └── @ SymbolNode (location: (2,2)-(2,8)) + │ │ ├── opening_loc: (2,2)-(2,3) = ":" + │ │ ├── value_loc: (2,3)-(2,8) = "begin" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "begin" + │ ├── rescue_clause: + │ │ @ RescueNode (location: (3,0)-(4,9)) + │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" + │ │ ├── exceptions: (length: 0) + │ │ ├── operator_loc: ∅ + │ │ ├── reference: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) + │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" + │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "rescue" + │ │ └── consequent: ∅ + │ ├── else_clause: + │ │ @ ElseNode (location: (5,0)-(7,6)) + │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (6,2)-(6,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (6,2)-(6,7)) + │ │ │ ├── opening_loc: (6,2)-(6,3) = ":" + │ │ │ ├── value_loc: (6,3)-(6,7) = "else" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "else" + │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" + │ ├── ensure_clause: + │ │ @ EnsureNode (location: (7,0)-(9,3)) + │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (8,2)-(8,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (8,2)-(8,9)) + │ │ │ ├── opening_loc: (8,2)-(8,3) = ":" + │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "ensure" + │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" + │ └── end_keyword_loc: (9,0)-(9,3) = "end" + ├── opening_loc: (1,4)-(1,6) = "do" + └── closing_loc: (9,0)-(9,3) = "end" diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt index ca565cb6d8..e4eedae9a8 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(5,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -11,42 +12,41 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,4)-(5,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ BeginNode (location: (2,2)-(5,3)) - │ │ ├── begin_keyword_loc: ∅ - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (2,2)-(2,7)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :raise - │ │ │ ├── message_loc: (2,2)-(2,7) = "raise" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: - │ │ │ @ EnsureNode (location: (3,0)-(5,3)) - │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (4,2)-(4,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" - │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "ensure" - │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" - │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" - │ ├── opening_loc: (1,4)-(1,6) = "do" - │ └── closing_loc: (5,0)-(5,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,4)-(5,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ BeginNode (location: (2,2)-(5,3)) + │ ├── begin_keyword_loc: ∅ + │ ├── statements: + │ │ @ StatementsNode (location: (2,2)-(2,7)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (2,2)-(2,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise + │ │ ├── message_loc: (2,2)-(2,7) = "raise" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: + │ │ @ EnsureNode (location: (3,0)-(5,3)) + │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) + │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" + │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "ensure" + │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" + │ └── end_keyword_loc: (5,0)-(5,3) = "end" + ├── opening_loc: (1,4)-(1,6) = "do" + └── closing_loc: (5,0)-(5,3) = "end" diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt index 69ae4d1173..8beab662e6 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(9,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(9,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -11,67 +12,66 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,4)-(9,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ BeginNode (location: (2,2)-(9,3)) - │ │ ├── begin_keyword_loc: ∅ - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (2,2)-(2,7)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :raise - │ │ │ ├── message_loc: (2,2)-(2,7) = "raise" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── rescue_clause: - │ │ │ @ RescueNode (location: (3,0)-(4,9)) - │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" - │ │ │ ├── exceptions: (length: 0) - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── reference: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (4,2)-(4,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" - │ │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "rescue" - │ │ │ └── consequent: ∅ - │ │ ├── else_clause: - │ │ │ @ ElseNode (location: (5,0)-(7,6)) - │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (6,2)-(6,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (6,2)-(6,7)) - │ │ │ │ ├── opening_loc: (6,2)-(6,3) = ":" - │ │ │ │ ├── value_loc: (6,3)-(6,7) = "else" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "else" - │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" - │ │ ├── ensure_clause: - │ │ │ @ EnsureNode (location: (7,0)-(9,3)) - │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (8,2)-(8,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (8,2)-(8,9)) - │ │ │ │ ├── opening_loc: (8,2)-(8,3) = ":" - │ │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "ensure" - │ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" - │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" - │ ├── opening_loc: (1,4)-(1,6) = "do" - │ └── closing_loc: (9,0)-(9,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,4)-(9,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ BeginNode (location: (2,2)-(9,3)) + │ ├── begin_keyword_loc: ∅ + │ ├── statements: + │ │ @ StatementsNode (location: (2,2)-(2,7)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (2,2)-(2,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise + │ │ ├── message_loc: (2,2)-(2,7) = "raise" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── rescue_clause: + │ │ @ RescueNode (location: (3,0)-(4,9)) + │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" + │ │ ├── exceptions: (length: 0) + │ │ ├── operator_loc: ∅ + │ │ ├── reference: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) + │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" + │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "rescue" + │ │ └── consequent: ∅ + │ ├── else_clause: + │ │ @ ElseNode (location: (5,0)-(7,6)) + │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (6,2)-(6,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (6,2)-(6,7)) + │ │ │ ├── opening_loc: (6,2)-(6,3) = ":" + │ │ │ ├── value_loc: (6,3)-(6,7) = "else" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "else" + │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" + │ ├── ensure_clause: + │ │ @ EnsureNode (location: (7,0)-(9,3)) + │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (8,2)-(8,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ SymbolNode (location: (8,2)-(8,9)) + │ │ │ ├── opening_loc: (8,2)-(8,3) = ":" + │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "ensure" + │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" + │ └── end_keyword_loc: (9,0)-(9,3) = "end" + ├── opening_loc: (1,4)-(1,6) = "do" + └── closing_loc: (9,0)-(9,3) = "end" diff --git a/test/prism/snapshots/seattlerb/rescue_in_block.txt b/test/prism/snapshots/seattlerb/rescue_in_block.txt index 7598ad6d45..10019765e3 100644 --- a/test/prism/snapshots/seattlerb/rescue_in_block.txt +++ b/test/prism/snapshots/seattlerb/rescue_in_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :blah @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,5)-(4,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ BeginNode (location: (2,0)-(4,3)) - │ │ ├── begin_keyword_loc: ∅ - │ │ ├── statements: ∅ - │ │ ├── rescue_clause: - │ │ │ @ RescueNode (location: (2,0)-(3,7)) - │ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue" - │ │ │ ├── exceptions: (length: 0) - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── reference: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (3,2)-(3,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (3,2)-(3,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :stuff - │ │ │ │ ├── message_loc: (3,2)-(3,7) = "stuff" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── consequent: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (4,0)-(4,3) = "end" - │ ├── opening_loc: (1,5)-(1,7) = "do" - │ └── closing_loc: (4,0)-(4,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(4,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ BeginNode (location: (2,0)-(4,3)) + │ ├── begin_keyword_loc: ∅ + │ ├── statements: ∅ + │ ├── rescue_clause: + │ │ @ RescueNode (location: (2,0)-(3,7)) + │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue" + │ │ ├── exceptions: (length: 0) + │ │ ├── operator_loc: ∅ + │ │ ├── reference: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (3,2)-(3,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (3,2)-(3,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :stuff + │ │ │ ├── message_loc: (3,2)-(3,7) = "stuff" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── consequent: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (4,0)-(4,3) = "end" + ├── opening_loc: (1,5)-(1,7) = "do" + └── closing_loc: (4,0)-(4,3) = "end" diff --git a/test/prism/snapshots/seattlerb/rescue_parens.txt b/test/prism/snapshots/seattlerb/rescue_parens.txt index 300627ac80..0471b8b36a 100644 --- a/test/prism/snapshots/seattlerb/rescue_parens.txt +++ b/test/prism/snapshots/seattlerb/rescue_parens.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,38 +12,37 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,14)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,2)-(1,14)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,3)-(1,13)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ RescueModifierNode (location: (1,3)-(1,13)) - │ │ │ ├── expression: - │ │ │ │ @ CallNode (location: (1,3)-(1,4)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (1,3)-(1,4) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" - │ │ │ └── rescue_expression: - │ │ │ @ CallNode (location: (1,12)-(1,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :c - │ │ │ ├── message_loc: (1,12)-(1,13) = "c" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (1,2)-(1,3) = "(" - │ │ └── closing_loc: (1,13)-(1,14) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,2)-(1,14)) + │ ├── body: + │ │ @ StatementsNode (location: (1,3)-(1,13)) + │ │ └── body: (length: 1) + │ │ └── @ RescueModifierNode (location: (1,3)-(1,13)) + │ │ ├── expression: + │ │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (1,3)-(1,4) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" + │ │ └── rescue_expression: + │ │ @ CallNode (location: (1,12)-(1,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c + │ │ ├── message_loc: (1,12)-(1,13) = "c" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (1,2)-(1,3) = "(" + │ └── closing_loc: (1,13)-(1,14) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/return_call_assocs.txt b/test/prism/snapshots/seattlerb/return_call_assocs.txt index d67290ffb8..64ab636ffc 100644 --- a/test/prism/snapshots/seattlerb/return_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/return_call_assocs.txt @@ -7,185 +7,185 @@ │ ├── keyword_loc: (1,0)-(1,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (1,7)-(1,17)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ └── flags: decimal - │ │ └── @ KeywordHashNode (location: (1,10)-(1,17)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,10)-(1,17)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,10)-(1,12)) - │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" - │ │ │ ├── value_loc: (1,11)-(1,12) = "z" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "z" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,16)-(1,17)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,13)-(1,15) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,7)-(1,8)) + │ │ └── flags: decimal + │ └── @ KeywordHashNode (location: (1,10)-(1,17)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,10)-(1,17)) + │ ├── key: + │ │ @ SymbolNode (location: (1,10)-(1,12)) + │ │ ├── opening_loc: (1,10)-(1,11) = ":" + │ │ ├── value_loc: (1,11)-(1,12) = "z" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "z" + │ ├── value: + │ │ @ IntegerNode (location: (1,16)-(1,17)) + │ │ └── flags: decimal + │ └── operator_loc: (1,13)-(1,15) = "=>" ├── @ ReturnNode (location: (3,0)-(3,26)) │ ├── keyword_loc: (3,0)-(3,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (3,7)-(3,26)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (3,7)-(3,8)) - │ │ │ └── flags: decimal - │ │ └── @ KeywordHashNode (location: (3,10)-(3,26)) - │ │ └── elements: (length: 2) - │ │ ├── @ AssocNode (location: (3,10)-(3,17)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (3,10)-(3,12)) - │ │ │ │ ├── opening_loc: (3,10)-(3,11) = ":" - │ │ │ │ ├── value_loc: (3,11)-(3,12) = "z" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "z" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (3,13)-(3,15) = "=>" - │ │ └── @ AssocNode (location: (3,19)-(3,26)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (3,19)-(3,21)) - │ │ │ ├── opening_loc: (3,19)-(3,20) = ":" - │ │ │ ├── value_loc: (3,20)-(3,21) = "w" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "w" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (3,25)-(3,26)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (3,22)-(3,24) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (3,7)-(3,8)) + │ │ └── flags: decimal + │ └── @ KeywordHashNode (location: (3,10)-(3,26)) + │ └── elements: (length: 2) + │ ├── @ AssocNode (location: (3,10)-(3,17)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (3,10)-(3,12)) + │ │ │ ├── opening_loc: (3,10)-(3,11) = ":" + │ │ │ ├── value_loc: (3,11)-(3,12) = "z" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "z" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (3,16)-(3,17)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (3,13)-(3,15) = "=>" + │ └── @ AssocNode (location: (3,19)-(3,26)) + │ ├── key: + │ │ @ SymbolNode (location: (3,19)-(3,21)) + │ │ ├── opening_loc: (3,19)-(3,20) = ":" + │ │ ├── value_loc: (3,20)-(3,21) = "w" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "w" + │ ├── value: + │ │ @ IntegerNode (location: (3,25)-(3,26)) + │ │ └── flags: decimal + │ └── operator_loc: (3,22)-(3,24) = "=>" ├── @ ReturnNode (location: (5,0)-(5,14)) │ ├── keyword_loc: (5,0)-(5,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (5,7)-(5,14)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (5,7)-(5,14)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :y - │ │ ├── message_loc: (5,7)-(5,8) = "y" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (5,9)-(5,14)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (5,9)-(5,14)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocNode (location: (5,9)-(5,14)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11)) - │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" - │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "z" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "z" - │ │ │ │ ├── value: - │ │ │ │ │ @ IntegerNode (location: (5,13)-(5,14)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── operator_loc: (5,11)-(5,13) = "=>" - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (5,7)-(5,14)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :y + │ ├── message_loc: (5,7)-(5,8) = "y" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (5,9)-(5,14)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (5,9)-(5,14)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (5,9)-(5,14)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (5,9)-(5,11)) + │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" + │ │ │ ├── value_loc: (5,10)-(5,11) = "z" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "z" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (5,13)-(5,14)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (5,11)-(5,13) = "=>" + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ ReturnNode (location: (7,0)-(7,12)) │ ├── keyword_loc: (7,0)-(7,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (7,7)-(7,12)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (7,7)-(7,12)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :y - │ │ ├── message_loc: (7,7)-(7,8) = "y" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (7,9)-(7,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (7,9)-(7,12)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocNode (location: (7,9)-(7,12)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "z" - │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":" - │ │ │ │ │ └── unescaped: "z" - │ │ │ │ ├── value: - │ │ │ │ │ @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (7,7)-(7,12)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :y + │ ├── message_loc: (7,7)-(7,8) = "y" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (7,9)-(7,12)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (7,9)-(7,12)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (7,9)-(7,12)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (7,9)-(7,11)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (7,9)-(7,10) = "z" + │ │ │ ├── closing_loc: (7,10)-(7,11) = ":" + │ │ │ └── unescaped: "z" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (7,11)-(7,12)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ ReturnNode (location: (9,0)-(9,13)) │ ├── keyword_loc: (9,0)-(9,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (9,7)-(9,13)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (9,7)-(9,13)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :y - │ │ ├── message_loc: (9,7)-(9,8) = "y" - │ │ ├── opening_loc: (9,8)-(9,9) = "(" - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (9,9)-(9,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (9,9)-(9,12)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocNode (location: (9,9)-(9,12)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (9,9)-(9,11)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (9,9)-(9,10) = "z" - │ │ │ │ │ ├── closing_loc: (9,10)-(9,11) = ":" - │ │ │ │ │ └── unescaped: "z" - │ │ │ │ ├── value: - │ │ │ │ │ @ IntegerNode (location: (9,11)-(9,12)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: (9,12)-(9,13) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (9,7)-(9,13)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :y + │ ├── message_loc: (9,7)-(9,8) = "y" + │ ├── opening_loc: (9,8)-(9,9) = "(" + │ ├── arguments: + │ │ @ ArgumentsNode (location: (9,9)-(9,12)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (9,9)-(9,12)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (9,9)-(9,12)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (9,9)-(9,11)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (9,9)-(9,10) = "z" + │ │ │ ├── closing_loc: (9,10)-(9,11) = ":" + │ │ │ └── unescaped: "z" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (9,11)-(9,12)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ + │ ├── closing_loc: (9,12)-(9,13) = ")" + │ └── block: ∅ └── @ ReturnNode (location: (11,0)-(11,14)) ├── keyword_loc: (11,0)-(11,6) = "return" └── arguments: @ ArgumentsNode (location: (11,7)-(11,14)) - ├── arguments: (length: 1) - │ └── @ CallNode (location: (11,7)-(11,14)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :y - │ ├── message_loc: (11,7)-(11,8) = "y" - │ ├── opening_loc: (11,8)-(11,9) = "(" - │ ├── arguments: - │ │ @ ArgumentsNode (location: (11,9)-(11,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (11,9)-(11,13)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (11,9)-(11,13)) - │ │ │ ├── key: - │ │ │ │ @ CallNode (location: (11,9)-(11,10)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :z - │ │ │ │ ├── message_loc: (11,9)-(11,10) = "z" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (11,12)-(11,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (11,10)-(11,12) = "=>" - │ │ └── flags: ∅ - │ ├── closing_loc: (11,13)-(11,14) = ")" - │ ├── block: ∅ - │ └── flags: ∅ - └── flags: ∅ + ├── flags: ∅ + └── arguments: (length: 1) + └── @ CallNode (location: (11,7)-(11,14)) + ├── flags: ∅ + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :y + ├── message_loc: (11,7)-(11,8) = "y" + ├── opening_loc: (11,8)-(11,9) = "(" + ├── arguments: + │ @ ArgumentsNode (location: (11,9)-(11,13)) + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (11,9)-(11,13)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (11,9)-(11,13)) + │ ├── key: + │ │ @ CallNode (location: (11,9)-(11,10)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :z + │ │ ├── message_loc: (11,9)-(11,10) = "z" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── value: + │ │ @ IntegerNode (location: (11,12)-(11,13)) + │ │ └── flags: decimal + │ └── operator_loc: (11,10)-(11,12) = "=>" + ├── closing_loc: (11,13)-(11,14) = ")" + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/ruby21_numbers.txt b/test/prism/snapshots/seattlerb/ruby21_numbers.txt index 3d1d1f0dd2..e1ad6b924c 100644 --- a/test/prism/snapshots/seattlerb/ruby21_numbers.txt +++ b/test/prism/snapshots/seattlerb/ruby21_numbers.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── elements: (length: 3) │ ├── @ ImaginaryNode (location: (1,1)-(1,3)) │ │ └── numeric: @@ -20,5 +21,4 @@ │ @ IntegerNode (location: (1,9)-(1,10)) │ └── flags: decimal ├── opening_loc: (1,0)-(1,1) = "[" - ├── closing_loc: (1,12)-(1,13) = "]" - └── flags: ∅ + └── closing_loc: (1,12)-(1,13) = "]" diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn.txt b/test/prism/snapshots/seattlerb/safe_attrasgn.txt index d7d36c5d7f..b29fef3feb 100644 --- a/test/prism/snapshots/seattlerb/safe_attrasgn.txt +++ b/test/prism/snapshots/seattlerb/safe_attrasgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :b= ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,7)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt index c299e95929..39fb489e5e 100644 --- a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt +++ b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :B= ├── message_loc: (1,3)-(1,4) = "B" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,7)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call.txt b/test/prism/snapshots/seattlerb/safe_call.txt index 108c6ca820..a6ba52bede 100644 --- a/test/prism/snapshots/seattlerb/safe_call.txt +++ b/test/prism/snapshots/seattlerb/safe_call.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt index cee2dacb26..e9adf068c7 100644 --- a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(2,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,3)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (2,0)-(2,2) = "&." ├── name: :b ├── message_loc: (2,2)-(2,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt index 1c8eade099..e46db2b102 100644 --- a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt +++ b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :call ├── message_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,4)-(1,5) = ")" - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call_newline.txt b/test/prism/snapshots/seattlerb/safe_call_newline.txt index 108c6ca820..a6ba52bede 100644 --- a/test/prism/snapshots/seattlerb/safe_call_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_newline.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call_operator.txt b/test/prism/snapshots/seattlerb/safe_call_operator.txt index ed8a790add..f6027afefb 100644 --- a/test/prism/snapshots/seattlerb/safe_call_operator.txt +++ b/test/prism/snapshots/seattlerb/safe_call_operator.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :> ├── message_loc: (1,3)-(1,4) = ">" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt index 41c17c6ef3..9acf398819 100644 --- a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt @@ -9,8 +9,10 @@ ├── name_loc: (1,0)-(1,1) = "c" ├── value: │ @ CallNode (location: (1,4)-(1,8)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -18,14 +20,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,5)-(1,7) = "&." │ ├── name: :b │ ├── message_loc: (1,7)-(1,8) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/safe_calls.txt b/test/prism/snapshots/seattlerb/safe_calls.txt index 66d155db84..76931bd4fe 100644 --- a/test/prism/snapshots/seattlerb/safe_calls.txt +++ b/test/prism/snapshots/seattlerb/safe_calls.txt @@ -4,10 +4,13 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,4)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -15,26 +18,23 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,3) = "&." │ ├── name: :b │ ├── message_loc: (1,3)-(1,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── call_operator_loc: (1,4)-(1,6) = "&." ├── name: :c ├── message_loc: (1,6)-(1,7) = "c" ├── opening_loc: (1,7)-(1,8) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,8)-(1,9)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,8)-(1,9)) + │ └── flags: decimal ├── closing_loc: (1,9)-(1,10) = ")" - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn.txt b/test/prism/snapshots/seattlerb/safe_op_asgn.txt index 46cc542dfc..01b783642f 100644 --- a/test/prism/snapshots/seattlerb/safe_op_asgn.txt +++ b/test/prism/snapshots/seattlerb/safe_op_asgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallOperatorWriteNode (location: (1,0)-(1,11)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,17 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── message_loc: (1,3)-(1,4) = "b" - ├── flags: safe_navigation ├── read_name: :b ├── write_name: :b= ├── operator: :+ ├── operator_loc: (1,5)-(1,7) = "+=" └── value: @ CallNode (location: (1,8)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -31,10 +32,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: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt index 238153f9fb..9d350e53a1 100644 --- a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt +++ b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(2,1)) └── body: (length: 1) └── @ CallOrWriteNode (location: (1,0)-(2,1)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,16 +15,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── message_loc: (1,3)-(1,4) = "b" - ├── flags: safe_navigation ├── read_name: :b ├── write_name: :b= ├── operator_loc: (1,5)-(1,8) = "||=" └── value: @ CallNode (location: (2,0)-(2,1)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt index a8486b25c0..840b67ab1a 100644 --- a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt +++ b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(6,5)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(4,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :puts @@ -11,20 +12,21 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,5)-(4,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,5)-(4,8)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,5)-(1,6) = "\"" - │ │ │ ├── content_loc: (1,6)-(4,7) = "hello\\\n my\\\n dear\\\n friend" - │ │ │ ├── closing_loc: (4,7)-(4,8) = "\"" - │ │ │ └── unescaped: "hello my dear friend" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,5)-(4,8)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,5)-(1,6) = "\"" + │ │ ├── content_loc: (1,6)-(4,7) = "hello\\\n my\\\n dear\\\n friend" + │ │ ├── closing_loc: (4,7)-(4,8) = "\"" + │ │ └── unescaped: "hello my dear friend" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (6,0)-(6,5)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (6,0)-(6,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -32,26 +34,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :+ ├── message_loc: (6,2)-(6,3) = "+" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (6,4)-(6,5)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (6,4)-(6,5)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :b - │ │ ├── message_loc: (6,4)-(6,5) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (6,4)-(6,5)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :b + │ ├── message_loc: (6,4)-(6,5) = "b" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt index f1c9237e32..0115ceb46a 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -11,50 +12,49 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(4,3)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (1,2)-(4,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ ├── opening_loc: (1,8)-(1,10) = "do" - │ │ ├── closing_loc: (4,0)-(4,3) = "end" - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,5)-(1,7)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ │ └── closing_loc: (1,6)-(1,7) = ")" - │ │ └── body: - │ │ @ StatementsNode (location: (2,0)-(3,3)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (2,0)-(3,3)) - │ │ ├── receiver: - │ │ │ @ CallNode (location: (2,0)-(2,1)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (2,0)-(2,1) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── call_operator_loc: (2,1)-(2,2) = "." - │ │ ├── name: :b - │ │ ├── message_loc: (2,2)-(2,3) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (2,4)-(3,3)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (2,4)-(2,6) = "do" - │ │ │ └── closing_loc: (3,0)-(3,3) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (1,2)-(4,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (1,2)-(1,4) = "->" + │ ├── opening_loc: (1,8)-(1,10) = "do" + │ ├── closing_loc: (4,0)-(4,3) = "end" + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,5)-(1,7)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,5)-(1,6) = "(" + │ │ └── closing_loc: (1,6)-(1,7) = ")" + │ └── body: + │ @ StatementsNode (location: (2,0)-(3,3)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (2,0)-(3,3)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ CallNode (location: (2,0)-(2,1)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (2,0)-(2,1) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── call_operator_loc: (2,1)-(2,2) = "." + │ ├── name: :b + │ ├── message_loc: (2,2)-(2,3) = "b" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (2,4)-(3,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (2,4)-(2,6) = "do" + │ └── closing_loc: (3,0)-(3,3) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt index 13062e1c5a..2c680db712 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(4,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -11,45 +12,44 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(4,3)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (1,2)-(4,3)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ ├── opening_loc: (1,8)-(1,10) = "do" - │ │ ├── closing_loc: (4,0)-(4,3) = "end" - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,5)-(1,7)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ │ └── closing_loc: (1,6)-(1,7) = ")" - │ │ └── body: - │ │ @ StatementsNode (location: (2,0)-(3,3)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (2,0)-(3,3)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (2,0)-(2,1) = "a" - │ │ ├── opening_loc: (2,1)-(2,2) = "(" - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (2,2)-(2,3)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (2,2)-(2,3)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: (2,3)-(2,4) = ")" - │ │ ├── block: - │ │ │ @ BlockNode (location: (2,5)-(3,3)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (2,5)-(2,7) = "do" - │ │ │ └── closing_loc: (3,0)-(3,3) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (1,2)-(4,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (1,2)-(1,4) = "->" + │ ├── opening_loc: (1,8)-(1,10) = "do" + │ ├── closing_loc: (4,0)-(4,3) = "end" + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,5)-(1,7)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,5)-(1,6) = "(" + │ │ └── closing_loc: (1,6)-(1,7) = ")" + │ └── body: + │ @ StatementsNode (location: (2,0)-(3,3)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (2,0)-(3,3)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (2,0)-(2,1) = "a" + │ ├── opening_loc: (2,1)-(2,2) = "(" + │ ├── arguments: + │ │ @ ArgumentsNode (location: (2,2)-(2,3)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (2,2)-(2,3)) + │ │ └── flags: decimal + │ ├── closing_loc: (2,3)-(2,4) = ")" + │ └── block: + │ @ BlockNode (location: (2,5)-(3,3)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (2,5)-(2,7) = "do" + │ └── closing_loc: (3,0)-(3,3) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_backslashes.txt b/test/prism/snapshots/seattlerb/str_backslashes.txt index 6cfb89875c..ce5160fd3b 100644 --- a/test/prism/snapshots/seattlerb/str_backslashes.txt +++ b/test/prism/snapshots/seattlerb/str_backslashes.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,204)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,204)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -11,14 +12,13 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,204)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (1,2)-(1,204)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,2)-(1,3) = "'" - │ │ ├── content_loc: (1,3)-(1,203) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n" - │ │ ├── closing_loc: (1,203)-(1,204) = "'" - │ │ └── unescaped: "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (1,2)-(1,204)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,2)-(1,3) = "'" + │ ├── content_loc: (1,3)-(1,203) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n" + │ ├── closing_loc: (1,203)-(1,204) = "'" + │ └── unescaped: "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt index 3e7ae51f77..2edea58cc1 100644 --- a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,18 +12,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,2)-(1,7)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n" - │ │ │ ├── closing_loc: (1,6)-(1,7) = "\"" - │ │ │ └── unescaped: "\\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,2)-(1,7)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n" + │ │ ├── closing_loc: (1,6)-(1,7) = "\"" + │ │ └── unescaped: "\\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (1,8)-(1,9)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt index 10563703a1..53d356ddaa 100644 --- a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,18 +12,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ │ ├── content_loc: (1,3)-(1,5) = "\\n" - │ │ │ ├── closing_loc: (1,5)-(1,6) = "\"" - │ │ │ └── unescaped: "\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,2)-(1,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ │ ├── content_loc: (1,3)-(1,5) = "\\n" + │ │ ├── closing_loc: (1,5)-(1,6) = "\"" + │ │ └── unescaped: "\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (1,7)-(1,8)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_double_newline.txt b/test/prism/snapshots/seattlerb/str_double_newline.txt index 3c35f62802..b5fd8fb582 100644 --- a/test/prism/snapshots/seattlerb/str_double_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,3)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(2,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,18 +12,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(2,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,2)-(2,1)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ │ ├── content_loc: (1,3)-(2,0) = "\n" - │ │ │ ├── closing_loc: (2,0)-(2,1) = "\"" - │ │ │ └── unescaped: "\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,2)-(2,1)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ │ ├── content_loc: (1,3)-(2,0) = "\n" + │ │ ├── closing_loc: (2,0)-(2,1) = "\"" + │ │ └── unescaped: "\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (2,2)-(2,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_evstr.txt b/test/prism/snapshots/seattlerb/str_evstr.txt index 7dd048397e..48798a3ddb 100644 --- a/test/prism/snapshots/seattlerb/str_evstr.txt +++ b/test/prism/snapshots/seattlerb/str_evstr.txt @@ -18,6 +18,7 @@ │ │ @ StatementsNode (location: (1,5)-(1,6)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -25,7 +26,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── closing_loc: (1,6)-(1,7) = "}" └── closing_loc: (1,7)-(1,8) = "\"" diff --git a/test/prism/snapshots/seattlerb/str_evstr_escape.txt b/test/prism/snapshots/seattlerb/str_evstr_escape.txt index a71ab57cf5..f173c0269b 100644 --- a/test/prism/snapshots/seattlerb/str_evstr_escape.txt +++ b/test/prism/snapshots/seattlerb/str_evstr_escape.txt @@ -18,6 +18,7 @@ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,5)-(1,6)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -25,8 +26,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ └── @ StringNode (location: (1,7)-(1,15)) │ ├── flags: forced_utf8_encoding diff --git a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt index 03852bfcdd..eab9b874d6 100644 --- a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt +++ b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt @@ -12,6 +12,7 @@ │ │ │ @ StatementsNode (location: (2,2)-(2,3)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :x @@ -19,8 +20,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (2,3)-(2,4) = "}" │ └── @ StringNode (location: (2,4)-(4,0)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt index 5f6d628846..5fadc71333 100644 --- a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt +++ b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt @@ -15,8 +15,10 @@ │ │ ├── if_keyword_loc: ∅ │ │ ├── predicate: │ │ │ @ CallNode (location: (1,3)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -24,23 +26,23 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "." │ │ │ ├── name: :b? │ │ │ ├── message_loc: (1,5)-(1,7) = "b?" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── then_keyword_loc: (1,8)-(1,9) = "?" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,10)-(1,17)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,10)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (1,10)-(1,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ StringNode (location: (1,10)-(1,12)) │ │ │ │ │ ├── flags: ∅ @@ -54,38 +56,36 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: │ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :a - │ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "a" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── flags: ∅ + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :a + │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "a" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :+ │ │ │ ├── message_loc: (1,14)-(1,15) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (1,15)-(1,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ StringNode (location: (1,15)-(1,17)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\"" - │ │ │ │ │ ├── content_loc: (1,16)-(1,16) = "" - │ │ │ │ │ ├── closing_loc: (1,16)-(1,17) = "\"" - │ │ │ │ │ └── unescaped: "" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ StringNode (location: (1,15)-(1,17)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\"" + │ │ │ │ ├── content_loc: (1,16)-(1,16) = "" + │ │ │ │ ├── closing_loc: (1,16)-(1,17) = "\"" + │ │ │ │ └── unescaped: "" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── consequent: │ │ │ @ ElseNode (location: (1,17)-(1,21)) │ │ │ ├── else_keyword_loc: (1,17)-(1,18) = ":" diff --git a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt index 9aec3ab503..edf51fff7b 100644 --- a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt +++ b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt @@ -18,6 +18,7 @@ │ │ │ @ StatementsNode (location: (1,13)-(1,17)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,13)-(1,17)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :nest @@ -25,8 +26,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,17)-(1,18) = "}" │ └── @ StringNode (location: (1,18)-(1,25)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt index a100d78b57..c519951ed0 100644 --- a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,18 +12,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,2)-(1,7)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "'" - │ │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n" - │ │ │ ├── closing_loc: (1,6)-(1,7) = "'" - │ │ │ └── unescaped: "\\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,2)-(1,7)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "'" + │ │ ├── content_loc: (1,3)-(1,6) = "\\\\n" + │ │ ├── closing_loc: (1,6)-(1,7) = "'" + │ │ └── unescaped: "\\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (1,8)-(1,9)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt index 5e971dea47..80c4712a74 100644 --- a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,18 +12,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "'" - │ │ │ ├── content_loc: (1,3)-(1,5) = "\\n" - │ │ │ ├── closing_loc: (1,5)-(1,6) = "'" - │ │ │ └── unescaped: "\\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,2)-(1,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "'" + │ │ ├── content_loc: (1,3)-(1,5) = "\\n" + │ │ ├── closing_loc: (1,5)-(1,6) = "'" + │ │ └── unescaped: "\\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (1,7)-(1,8)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/str_single_newline.txt b/test/prism/snapshots/seattlerb/str_single_newline.txt index 32e95c6542..d9b8d69f99 100644 --- a/test/prism/snapshots/seattlerb/str_single_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,3)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(2,1)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,18 +12,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(2,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,2)-(2,1)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,3) = "'" - │ │ │ ├── content_loc: (1,3)-(2,0) = "\n" - │ │ │ ├── closing_loc: (2,0)-(2,1) = "'" - │ │ │ └── unescaped: "\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,2)-(2,1)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,2)-(1,3) = "'" + │ │ ├── content_loc: (1,3)-(2,0) = "\n" + │ │ ├── closing_loc: (2,0)-(2,1) = "'" + │ │ └── unescaped: "\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (2,2)-(2,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b @@ -30,5 +31,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/super_arg.txt b/test/prism/snapshots/seattlerb/super_arg.txt index f3b4faf572..a7f13a4adf 100644 --- a/test/prism/snapshots/seattlerb/super_arg.txt +++ b/test/prism/snapshots/seattlerb/super_arg.txt @@ -8,9 +8,9 @@ ├── lparen_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,6)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,6)-(1,8)) + │ └── flags: decimal ├── rparen_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/symbol_list.txt b/test/prism/snapshots/seattlerb/symbol_list.txt index bdb901daaf..212edfcbc7 100644 --- a/test/prism/snapshots/seattlerb/symbol_list.txt +++ b/test/prism/snapshots/seattlerb/symbol_list.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ InterpolatedSymbolNode (location: (1,3)-(1,7)) │ │ ├── opening_loc: ∅ @@ -14,6 +15,7 @@ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -21,8 +23,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ │ └── closing_loc: ∅ │ └── @ InterpolatedSymbolNode (location: (1,8)-(1,12)) @@ -34,6 +35,7 @@ │ │ │ @ StatementsNode (location: (1,10)-(1,11)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,10)-(1,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -41,10 +43,8 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,11)-(1,12) = "}" │ └── closing_loc: ∅ ├── opening_loc: (1,0)-(1,3) = "%I[" - ├── closing_loc: (1,12)-(1,13) = "]" - └── flags: ∅ + └── closing_loc: (1,12)-(1,13) = "]" diff --git a/test/prism/snapshots/seattlerb/symbols.txt b/test/prism/snapshots/seattlerb/symbols.txt index 2eb9da1be9..936acc01f3 100644 --- a/test/prism/snapshots/seattlerb/symbols.txt +++ b/test/prism/snapshots/seattlerb/symbols.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) │ │ ├── opening_loc: ∅ @@ -21,5 +22,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%i(" - ├── closing_loc: (1,8)-(1,9) = ")" - └── flags: ∅ + └── closing_loc: (1,8)-(1,9) = ")" diff --git a/test/prism/snapshots/seattlerb/symbols_empty.txt b/test/prism/snapshots/seattlerb/symbols_empty.txt index 93db50109f..dc743e2be5 100644 --- a/test/prism/snapshots/seattlerb/symbols_empty.txt +++ b/test/prism/snapshots/seattlerb/symbols_empty.txt @@ -4,7 +4,7 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%i(" - ├── closing_loc: (1,3)-(1,4) = ")" - └── flags: ∅ + └── closing_loc: (1,3)-(1,4) = ")" diff --git a/test/prism/snapshots/seattlerb/symbols_empty_space.txt b/test/prism/snapshots/seattlerb/symbols_empty_space.txt index a74d76649d..ea7ada9446 100644 --- a/test/prism/snapshots/seattlerb/symbols_empty_space.txt +++ b/test/prism/snapshots/seattlerb/symbols_empty_space.txt @@ -4,7 +4,7 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,5)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%i(" - ├── closing_loc: (1,4)-(1,5) = ")" - └── flags: ∅ + └── closing_loc: (1,4)-(1,5) = ")" diff --git a/test/prism/snapshots/seattlerb/symbols_interp.txt b/test/prism/snapshots/seattlerb/symbols_interp.txt index c7a0b41c3b..a86d41f448 100644 --- a/test/prism/snapshots/seattlerb/symbols_interp.txt +++ b/test/prism/snapshots/seattlerb/symbols_interp.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) │ │ ├── opening_loc: ∅ @@ -21,5 +22,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%i(" - ├── closing_loc: (1,14)-(1,15) = ")" - └── flags: ∅ + └── closing_loc: (1,14)-(1,15) = ")" diff --git a/test/prism/snapshots/seattlerb/thingy.txt b/test/prism/snapshots/seattlerb/thingy.txt index 244d858e2e..63ec8c7e36 100644 --- a/test/prism/snapshots/seattlerb/thingy.txt +++ b/test/prism/snapshots/seattlerb/thingy.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(3,7)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :f @@ -13,24 +15,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,1)-(1,2) = "." │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (1,2)-(1,3) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,3)-(1,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,3)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,3)-(1,5)) + │ │ └── flags: decimal │ ├── closing_loc: (1,5)-(1,6) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (3,0)-(3,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -38,18 +40,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (3,1)-(3,3) = "::" ├── name: :call ├── message_loc: ∅ ├── opening_loc: (3,3)-(3,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (3,4)-(3,6)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (3,4)-(3,6)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (3,4)-(3,6)) + │ └── flags: decimal ├── closing_loc: (3,6)-(3,7) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_minus.txt b/test/prism/snapshots/seattlerb/unary_minus.txt index d68788f89b..53fe7a65f2 100644 --- a/test/prism/snapshots/seattlerb/unary_minus.txt +++ b/test/prism/snapshots/seattlerb/unary_minus.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,1)-(1,2)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :-@ ├── message_loc: (1,0)-(1,1) = "-" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_plus.txt b/test/prism/snapshots/seattlerb/unary_plus.txt index 9061198242..34ea027ce3 100644 --- a/test/prism/snapshots/seattlerb/unary_plus.txt +++ b/test/prism/snapshots/seattlerb/unary_plus.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,1)-(1,2)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :+@ ├── message_loc: (1,0)-(1,1) = "+" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt index f910059153..7564d00ba1 100644 --- a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt +++ b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,3)) + ├── flags: ∅ ├── receiver: │ @ SymbolNode (location: (1,1)-(1,3)) │ ├── opening_loc: (1,1)-(1,2) = ":" @@ -16,5 +17,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_tilde.txt b/test/prism/snapshots/seattlerb/unary_tilde.txt index 5ba20eb961..7268b99cd3 100644 --- a/test/prism/snapshots/seattlerb/unary_tilde.txt +++ b/test/prism/snapshots/seattlerb/unary_tilde.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,2)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,1)-(1,2)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :~ ├── message_loc: (1,0)-(1,1) = "~" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/utf8_bom.txt b/test/prism/snapshots/seattlerb/utf8_bom.txt index af5ce88bdb..ad48aa068f 100644 --- a/test/prism/snapshots/seattlerb/utf8_bom.txt +++ b/test/prism/snapshots/seattlerb/utf8_bom.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (2,0)-(2,3)) └── body: (length: 1) └── @ CallNode (location: (2,0)-(2,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,10 +12,9 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (2,2)-(2,3)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (2,2)-(2,3)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (2,2)-(2,3)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/when_splat.txt b/test/prism/snapshots/seattlerb/when_splat.txt index f47f501738..bd5928ca8b 100644 --- a/test/prism/snapshots/seattlerb/when_splat.txt +++ b/test/prism/snapshots/seattlerb/when_splat.txt @@ -6,6 +6,7 @@ └── @ CaseNode (location: (1,0)-(1,25)) ├── predicate: │ @ CallNode (location: (1,5)-(1,6)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,8 +14,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,8)-(1,15)) │ ├── keyword_loc: (1,8)-(1,12) = "when" @@ -23,6 +23,7 @@ │ │ ├── operator_loc: (1,13)-(1,14) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,14)-(1,15)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -30,8 +31,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/seattlerb/words_interp.txt b/test/prism/snapshots/seattlerb/words_interp.txt index c47cc6b5f7..864f826dcb 100644 --- a/test/prism/snapshots/seattlerb/words_interp.txt +++ b/test/prism/snapshots/seattlerb/words_interp.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── elements: (length: 1) │ └── @ InterpolatedStringNode (location: (1,3)-(1,8)) │ ├── opening_loc: ∅ @@ -24,5 +25,4 @@ │ │ └── unescaped: "b" │ └── closing_loc: ∅ ├── opening_loc: (1,0)-(1,3) = "%W(" - ├── closing_loc: (1,8)-(1,9) = ")" - └── flags: ∅ + └── closing_loc: (1,8)-(1,9) = ")" diff --git a/test/prism/snapshots/seattlerb/yield_arg.txt b/test/prism/snapshots/seattlerb/yield_arg.txt index 808af4c91c..d297e5acdb 100644 --- a/test/prism/snapshots/seattlerb/yield_arg.txt +++ b/test/prism/snapshots/seattlerb/yield_arg.txt @@ -8,8 +8,8 @@ ├── lparen_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,6)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,6)-(1,8)) + │ └── flags: decimal └── rparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/yield_call_assocs.txt b/test/prism/snapshots/seattlerb/yield_call_assocs.txt index 5424c5558e..cade701ce3 100644 --- a/test/prism/snapshots/seattlerb/yield_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/yield_call_assocs.txt @@ -8,196 +8,196 @@ │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,6)-(1,16)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ KeywordHashNode (location: (1,9)-(1,16)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,9)-(1,16)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,9)-(1,11)) - │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" - │ │ │ │ ├── value_loc: (1,10)-(1,11) = "z" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "z" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,15)-(1,16)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (1,12)-(1,14) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (1,6)-(1,7)) + │ │ │ └── flags: decimal + │ │ └── @ KeywordHashNode (location: (1,9)-(1,16)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,9)-(1,16)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,9)-(1,11)) + │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" + │ │ │ ├── value_loc: (1,10)-(1,11) = "z" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "z" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,15)-(1,16)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (1,12)-(1,14) = "=>" │ └── rparen_loc: ∅ ├── @ YieldNode (location: (3,0)-(3,25)) │ ├── keyword_loc: (3,0)-(3,5) = "yield" │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,6)-(3,25)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ IntegerNode (location: (3,6)-(3,7)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ KeywordHashNode (location: (3,9)-(3,25)) - │ │ │ └── elements: (length: 2) - │ │ │ ├── @ AssocNode (location: (3,9)-(3,16)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (3,9)-(3,11)) - │ │ │ │ │ ├── opening_loc: (3,9)-(3,10) = ":" - │ │ │ │ │ ├── value_loc: (3,10)-(3,11) = "z" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "z" - │ │ │ │ ├── value: - │ │ │ │ │ @ IntegerNode (location: (3,15)-(3,16)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── operator_loc: (3,12)-(3,14) = "=>" - │ │ │ └── @ AssocNode (location: (3,18)-(3,25)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (3,18)-(3,20)) - │ │ │ │ ├── opening_loc: (3,18)-(3,19) = ":" - │ │ │ │ ├── value_loc: (3,19)-(3,20) = "w" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "w" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (3,24)-(3,25)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (3,21)-(3,23) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ IntegerNode (location: (3,6)-(3,7)) + │ │ │ └── flags: decimal + │ │ └── @ KeywordHashNode (location: (3,9)-(3,25)) + │ │ └── elements: (length: 2) + │ │ ├── @ AssocNode (location: (3,9)-(3,16)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (3,9)-(3,11)) + │ │ │ │ ├── opening_loc: (3,9)-(3,10) = ":" + │ │ │ │ ├── value_loc: (3,10)-(3,11) = "z" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "z" + │ │ │ ├── value: + │ │ │ │ @ IntegerNode (location: (3,15)-(3,16)) + │ │ │ │ └── flags: decimal + │ │ │ └── operator_loc: (3,12)-(3,14) = "=>" + │ │ └── @ AssocNode (location: (3,18)-(3,25)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (3,18)-(3,20)) + │ │ │ ├── opening_loc: (3,18)-(3,19) = ":" + │ │ │ ├── value_loc: (3,19)-(3,20) = "w" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "w" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (3,24)-(3,25)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (3,21)-(3,23) = "=>" │ └── rparen_loc: ∅ ├── @ YieldNode (location: (5,0)-(5,13)) │ ├── keyword_loc: (5,0)-(5,5) = "yield" │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,6)-(5,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (5,6)-(5,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :y - │ │ │ ├── message_loc: (5,6)-(5,7) = "y" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (5,8)-(5,13)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ KeywordHashNode (location: (5,8)-(5,13)) - │ │ │ │ │ └── elements: (length: 1) - │ │ │ │ │ └── @ AssocNode (location: (5,8)-(5,13)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (5,8)-(5,10)) - │ │ │ │ │ │ ├── opening_loc: (5,8)-(5,9) = ":" - │ │ │ │ │ │ ├── value_loc: (5,9)-(5,10) = "z" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "z" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ IntegerNode (location: (5,12)-(5,13)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── operator_loc: (5,10)-(5,12) = "=>" - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (5,6)-(5,13)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y + │ │ ├── message_loc: (5,6)-(5,7) = "y" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (5,8)-(5,13)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ KeywordHashNode (location: (5,8)-(5,13)) + │ │ │ └── elements: (length: 1) + │ │ │ └── @ AssocNode (location: (5,8)-(5,13)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (5,8)-(5,10)) + │ │ │ │ ├── opening_loc: (5,8)-(5,9) = ":" + │ │ │ │ ├── value_loc: (5,9)-(5,10) = "z" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "z" + │ │ │ ├── value: + │ │ │ │ @ IntegerNode (location: (5,12)-(5,13)) + │ │ │ │ └── flags: decimal + │ │ │ └── operator_loc: (5,10)-(5,12) = "=>" + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ └── rparen_loc: ∅ ├── @ YieldNode (location: (7,0)-(7,11)) │ ├── keyword_loc: (7,0)-(7,5) = "yield" │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,6)-(7,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (7,6)-(7,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :y - │ │ │ ├── message_loc: (7,6)-(7,7) = "y" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (7,8)-(7,11)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ KeywordHashNode (location: (7,8)-(7,11)) - │ │ │ │ │ └── elements: (length: 1) - │ │ │ │ │ └── @ AssocNode (location: (7,8)-(7,11)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (7,8)-(7,10)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (7,8)-(7,9) = "z" - │ │ │ │ │ │ ├── closing_loc: (7,9)-(7,10) = ":" - │ │ │ │ │ │ └── unescaped: "z" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ IntegerNode (location: (7,10)-(7,11)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (7,6)-(7,11)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y + │ │ ├── message_loc: (7,6)-(7,7) = "y" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (7,8)-(7,11)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ KeywordHashNode (location: (7,8)-(7,11)) + │ │ │ └── elements: (length: 1) + │ │ │ └── @ AssocNode (location: (7,8)-(7,11)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (7,8)-(7,10)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (7,8)-(7,9) = "z" + │ │ │ │ ├── closing_loc: (7,9)-(7,10) = ":" + │ │ │ │ └── unescaped: "z" + │ │ │ ├── value: + │ │ │ │ @ IntegerNode (location: (7,10)-(7,11)) + │ │ │ │ └── flags: decimal + │ │ │ └── operator_loc: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ └── rparen_loc: ∅ ├── @ YieldNode (location: (9,0)-(9,12)) │ ├── keyword_loc: (9,0)-(9,5) = "yield" │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (9,6)-(9,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (9,6)-(9,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :y - │ │ │ ├── message_loc: (9,6)-(9,7) = "y" - │ │ │ ├── opening_loc: (9,7)-(9,8) = "(" - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (9,8)-(9,11)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ KeywordHashNode (location: (9,8)-(9,11)) - │ │ │ │ │ └── elements: (length: 1) - │ │ │ │ │ └── @ AssocNode (location: (9,8)-(9,11)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (9,8)-(9,10)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (9,8)-(9,9) = "z" - │ │ │ │ │ │ ├── closing_loc: (9,9)-(9,10) = ":" - │ │ │ │ │ │ └── unescaped: "z" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ IntegerNode (location: (9,10)-(9,11)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: (9,11)-(9,12) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (9,6)-(9,12)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y + │ │ ├── message_loc: (9,6)-(9,7) = "y" + │ │ ├── opening_loc: (9,7)-(9,8) = "(" + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (9,8)-(9,11)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ KeywordHashNode (location: (9,8)-(9,11)) + │ │ │ └── elements: (length: 1) + │ │ │ └── @ AssocNode (location: (9,8)-(9,11)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (9,8)-(9,10)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (9,8)-(9,9) = "z" + │ │ │ │ ├── closing_loc: (9,9)-(9,10) = ":" + │ │ │ │ └── unescaped: "z" + │ │ │ ├── value: + │ │ │ │ @ IntegerNode (location: (9,10)-(9,11)) + │ │ │ │ └── flags: decimal + │ │ │ └── operator_loc: ∅ + │ │ ├── closing_loc: (9,11)-(9,12) = ")" + │ │ └── block: ∅ │ └── rparen_loc: ∅ └── @ YieldNode (location: (11,0)-(11,13)) ├── keyword_loc: (11,0)-(11,5) = "yield" ├── lparen_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (11,6)-(11,13)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (11,6)-(11,13)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :y - │ │ ├── message_loc: (11,6)-(11,7) = "y" - │ │ ├── opening_loc: (11,7)-(11,8) = "(" - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (11,8)-(11,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ KeywordHashNode (location: (11,8)-(11,12)) - │ │ │ │ └── elements: (length: 1) - │ │ │ │ └── @ AssocNode (location: (11,8)-(11,12)) - │ │ │ │ ├── key: - │ │ │ │ │ @ CallNode (location: (11,8)-(11,9)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :z - │ │ │ │ │ ├── message_loc: (11,8)-(11,9) = "z" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ ├── value: - │ │ │ │ │ @ IntegerNode (location: (11,11)-(11,12)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── operator_loc: (11,9)-(11,11) = "=>" - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: (11,12)-(11,13) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (11,6)-(11,13)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :y + │ ├── message_loc: (11,6)-(11,7) = "y" + │ ├── opening_loc: (11,7)-(11,8) = "(" + │ ├── arguments: + │ │ @ ArgumentsNode (location: (11,8)-(11,12)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (11,8)-(11,12)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (11,8)-(11,12)) + │ │ ├── key: + │ │ │ @ CallNode (location: (11,8)-(11,9)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :z + │ │ │ ├── message_loc: (11,8)-(11,9) = "z" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── value: + │ │ │ @ IntegerNode (location: (11,11)-(11,12)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (11,9)-(11,11) = "=>" + │ ├── closing_loc: (11,12)-(11,13) = ")" + │ └── block: ∅ └── rparen_loc: ∅ diff --git a/test/prism/snapshots/spanning_heredoc.txt b/test/prism/snapshots/spanning_heredoc.txt index c28def31ad..f203e5ac26 100644 --- a/test/prism/snapshots/spanning_heredoc.txt +++ b/test/prism/snapshots/spanning_heredoc.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (4,0)-(55,13)) └── body: (length: 10) ├── @ CallNode (location: (4,0)-(7,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -11,54 +12,54 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (4,3)-(7,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (4,3)-(7,7)) - │ │ │ ├── receiver: - │ │ │ │ @ StringNode (location: (4,3)-(4,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (4,3)-(4,7) = "<<-A" - │ │ │ │ ├── content_loc: (5,0)-(6,0) = "a\n" - │ │ │ │ ├── closing_loc: (6,0)-(7,0) = "A\n" - │ │ │ │ └── unescaped: "a\n" - │ │ │ ├── call_operator_loc: (4,7)-(4,8) = "." - │ │ │ ├── name: :gsub - │ │ │ ├── message_loc: (4,8)-(4,12) = "gsub" - │ │ │ ├── opening_loc: (4,12)-(4,13) = "(" - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (4,13)-(7,6)) - │ │ │ │ ├── arguments: (length: 2) - │ │ │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (4,13)-(7,2)) - │ │ │ │ │ │ ├── opening_loc: (4,13)-(4,14) = "/" - │ │ │ │ │ │ ├── parts: (length: 2) - │ │ │ │ │ │ │ ├── @ StringNode (location: (4,14)-(4,16)) - │ │ │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── content_loc: (4,14)-(4,16) = "b\\" - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ └── unescaped: "b" - │ │ │ │ │ │ │ └── @ StringNode (location: (7,0)-(7,1)) - │ │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── content_loc: (7,0)-(7,1) = "b" - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ └── unescaped: "b" - │ │ │ │ │ │ ├── closing_loc: (7,1)-(7,2) = "/" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── @ StringNode (location: (7,4)-(7,6)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: (7,4)-(7,5) = "\"" - │ │ │ │ │ ├── content_loc: (7,5)-(7,5) = "" - │ │ │ │ │ ├── closing_loc: (7,5)-(7,6) = "\"" - │ │ │ │ │ └── unescaped: "" - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: (7,6)-(7,7) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (4,3)-(7,7)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ StringNode (location: (4,3)-(4,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (4,3)-(4,7) = "<<-A" + │ │ │ ├── content_loc: (5,0)-(6,0) = "a\n" + │ │ │ ├── closing_loc: (6,0)-(7,0) = "A\n" + │ │ │ └── unescaped: "a\n" + │ │ ├── call_operator_loc: (4,7)-(4,8) = "." + │ │ ├── name: :gsub + │ │ ├── message_loc: (4,8)-(4,12) = "gsub" + │ │ ├── opening_loc: (4,12)-(4,13) = "(" + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (4,13)-(7,6)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (4,13)-(7,2)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (4,13)-(4,14) = "/" + │ │ │ │ ├── parts: (length: 2) + │ │ │ │ │ ├── @ StringNode (location: (4,14)-(4,16)) + │ │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ │ ├── content_loc: (4,14)-(4,16) = "b\\" + │ │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ │ └── unescaped: "b" + │ │ │ │ │ └── @ StringNode (location: (7,0)-(7,1)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── content_loc: (7,0)-(7,1) = "b" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "b" + │ │ │ │ └── closing_loc: (7,1)-(7,2) = "/" + │ │ │ └── @ StringNode (location: (7,4)-(7,6)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (7,4)-(7,5) = "\"" + │ │ │ ├── content_loc: (7,5)-(7,5) = "" + │ │ │ ├── closing_loc: (7,5)-(7,6) = "\"" + │ │ │ └── unescaped: "" + │ │ ├── closing_loc: (7,6)-(7,7) = ")" + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (10,0)-(13,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -66,34 +67,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (10,3)-(13,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (10,3)-(10,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (10,3)-(10,7) = "<<-A" - │ │ │ │ ├── content_loc: (11,0)-(12,0) = "c\n" - │ │ │ │ ├── closing_loc: (12,0)-(13,0) = "A\n" - │ │ │ │ └── unescaped: "c\n" - │ │ │ └── @ InterpolatedStringNode (location: (10,9)-(13,2)) - │ │ │ ├── opening_loc: (10,9)-(10,10) = "\"" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (10,10)-(10,12)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (10,10)-(10,12) = "d\\" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "d" - │ │ │ │ └── @ StringNode (location: (13,0)-(13,1)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (13,0)-(13,1) = "d" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "d" - │ │ │ └── closing_loc: (13,1)-(13,2) = "\"" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (10,3)-(10,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (10,3)-(10,7) = "<<-A" + │ │ │ ├── content_loc: (11,0)-(12,0) = "c\n" + │ │ │ ├── closing_loc: (12,0)-(13,0) = "A\n" + │ │ │ └── unescaped: "c\n" + │ │ └── @ InterpolatedStringNode (location: (10,9)-(13,2)) + │ │ ├── opening_loc: (10,9)-(10,10) = "\"" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (10,10)-(10,12)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (10,10)-(10,12) = "d\\" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "d" + │ │ │ └── @ StringNode (location: (13,0)-(13,1)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (13,0)-(13,1) = "d" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "d" + │ │ └── closing_loc: (13,1)-(13,2) = "\"" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (16,0)-(19,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -101,34 +102,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (16,3)-(19,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (16,3)-(16,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (16,3)-(16,7) = "<<-A" - │ │ │ │ ├── content_loc: (17,0)-(18,0) = "e\n" - │ │ │ │ ├── closing_loc: (18,0)-(19,0) = "A\n" - │ │ │ │ └── unescaped: "e\n" - │ │ │ └── @ InterpolatedStringNode (location: (16,9)-(19,2)) - │ │ │ ├── opening_loc: (16,9)-(16,12) = "%q[" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (16,12)-(16,14)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (16,12)-(16,14) = "f\\" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "f\\\n" - │ │ │ │ └── @ StringNode (location: (19,0)-(19,1)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (19,0)-(19,1) = "f" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "f" - │ │ │ └── closing_loc: (19,1)-(19,2) = "]" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (16,3)-(16,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (16,3)-(16,7) = "<<-A" + │ │ │ ├── content_loc: (17,0)-(18,0) = "e\n" + │ │ │ ├── closing_loc: (18,0)-(19,0) = "A\n" + │ │ │ └── unescaped: "e\n" + │ │ └── @ InterpolatedStringNode (location: (16,9)-(19,2)) + │ │ ├── opening_loc: (16,9)-(16,12) = "%q[" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (16,12)-(16,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (16,12)-(16,14) = "f\\" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "f\\\n" + │ │ │ └── @ StringNode (location: (19,0)-(19,1)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (19,0)-(19,1) = "f" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "f" + │ │ └── closing_loc: (19,1)-(19,2) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (22,0)-(25,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -136,34 +137,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (22,3)-(25,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (22,3)-(22,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (22,3)-(22,7) = "<<-A" - │ │ │ │ ├── content_loc: (23,0)-(24,0) = "g\n" - │ │ │ │ ├── closing_loc: (24,0)-(25,0) = "A\n" - │ │ │ │ └── unescaped: "g\n" - │ │ │ └── @ InterpolatedStringNode (location: (22,9)-(25,2)) - │ │ │ ├── opening_loc: (22,9)-(22,12) = "%Q[" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (22,12)-(22,14)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (22,12)-(22,14) = "h\\" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "h" - │ │ │ │ └── @ StringNode (location: (25,0)-(25,1)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (25,0)-(25,1) = "h" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "h" - │ │ │ └── closing_loc: (25,1)-(25,2) = "]" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (22,3)-(22,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (22,3)-(22,7) = "<<-A" + │ │ │ ├── content_loc: (23,0)-(24,0) = "g\n" + │ │ │ ├── closing_loc: (24,0)-(25,0) = "A\n" + │ │ │ └── unescaped: "g\n" + │ │ └── @ InterpolatedStringNode (location: (22,9)-(25,2)) + │ │ ├── opening_loc: (22,9)-(22,12) = "%Q[" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (22,12)-(22,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (22,12)-(22,14) = "h\\" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "h" + │ │ │ └── @ StringNode (location: (25,0)-(25,1)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (25,0)-(25,1) = "h" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "h" + │ │ └── closing_loc: (25,1)-(25,2) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (28,0)-(31,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -171,35 +172,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (28,3)-(31,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (28,3)-(28,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (28,3)-(28,7) = "<<-A" - │ │ │ │ ├── content_loc: (29,0)-(30,0) = "i\n" - │ │ │ │ ├── closing_loc: (30,0)-(31,0) = "A\n" - │ │ │ │ └── unescaped: "i\n" - │ │ │ └── @ ArrayNode (location: (28,9)-(31,2)) - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ StringNode (location: (28,12)-(28,14)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (28,12)-(28,14) = "j\\" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "j\n" - │ │ │ │ └── @ StringNode (location: (31,0)-(31,1)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (31,0)-(31,1) = "j" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "j" - │ │ │ ├── opening_loc: (28,9)-(28,12) = "%w[" - │ │ │ ├── closing_loc: (31,1)-(31,2) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (28,3)-(28,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (28,3)-(28,7) = "<<-A" + │ │ │ ├── content_loc: (29,0)-(30,0) = "i\n" + │ │ │ ├── closing_loc: (30,0)-(31,0) = "A\n" + │ │ │ └── unescaped: "i\n" + │ │ └── @ ArrayNode (location: (28,9)-(31,2)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 2) + │ │ │ ├── @ StringNode (location: (28,12)-(28,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (28,12)-(28,14) = "j\\" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "j\n" + │ │ │ └── @ StringNode (location: (31,0)-(31,1)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (31,0)-(31,1) = "j" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "j" + │ │ ├── opening_loc: (28,9)-(28,12) = "%w[" + │ │ └── closing_loc: (31,1)-(31,2) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(38,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -207,39 +208,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (35,3)-(38,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (35,3)-(35,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (35,3)-(35,7) = "<<-A" - │ │ │ │ ├── content_loc: (36,0)-(37,0) = "k\n" - │ │ │ │ ├── closing_loc: (37,0)-(38,0) = "A\n" - │ │ │ │ └── unescaped: "k\n" - │ │ │ └── @ ArrayNode (location: (35,9)-(38,2)) - │ │ │ ├── elements: (length: 1) - │ │ │ │ └── @ InterpolatedStringNode (location: (35,12)-(38,1)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── parts: (length: 2) - │ │ │ │ │ ├── @ StringNode (location: (35,12)-(35,14)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── content_loc: (35,12)-(35,14) = "l\\" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "l\n" - │ │ │ │ │ └── @ StringNode (location: (38,0)-(38,1)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (38,0)-(38,1) = "l" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "l" - │ │ │ │ └── closing_loc: ∅ - │ │ │ ├── opening_loc: (35,9)-(35,12) = "%W[" - │ │ │ ├── closing_loc: (38,1)-(38,2) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (35,3)-(35,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (35,3)-(35,7) = "<<-A" + │ │ │ ├── content_loc: (36,0)-(37,0) = "k\n" + │ │ │ ├── closing_loc: (37,0)-(38,0) = "A\n" + │ │ │ └── unescaped: "k\n" + │ │ └── @ ArrayNode (location: (35,9)-(38,2)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 1) + │ │ │ └── @ InterpolatedStringNode (location: (35,12)-(38,1)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── parts: (length: 2) + │ │ │ │ ├── @ StringNode (location: (35,12)-(35,14)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── content_loc: (35,12)-(35,14) = "l\\" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "l\n" + │ │ │ │ └── @ StringNode (location: (38,0)-(38,1)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (38,0)-(38,1) = "l" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "l" + │ │ │ └── closing_loc: ∅ + │ │ ├── opening_loc: (35,9)-(35,12) = "%W[" + │ │ └── closing_loc: (38,1)-(38,2) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (41,0)-(44,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -247,33 +248,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (41,3)-(44,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (41,3)-(41,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (41,3)-(41,7) = "<<-A" - │ │ │ │ ├── content_loc: (42,0)-(43,0) = "m\n" - │ │ │ │ ├── closing_loc: (43,0)-(44,0) = "A\n" - │ │ │ │ └── unescaped: "m\n" - │ │ │ └── @ ArrayNode (location: (41,9)-(44,2)) - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ SymbolNode (location: (41,12)-(41,14)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (41,12)-(41,14) = "n\\" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "n\n" - │ │ │ │ └── @ SymbolNode (location: (44,0)-(44,1)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (44,0)-(44,1) = "n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "n" - │ │ │ ├── opening_loc: (41,9)-(41,12) = "%i[" - │ │ │ ├── closing_loc: (44,1)-(44,2) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (41,3)-(41,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (41,3)-(41,7) = "<<-A" + │ │ │ ├── content_loc: (42,0)-(43,0) = "m\n" + │ │ │ ├── closing_loc: (43,0)-(44,0) = "A\n" + │ │ │ └── unescaped: "m\n" + │ │ └── @ ArrayNode (location: (41,9)-(44,2)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 2) + │ │ │ ├── @ SymbolNode (location: (41,12)-(41,14)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (41,12)-(41,14) = "n\\" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "n\n" + │ │ │ └── @ SymbolNode (location: (44,0)-(44,1)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (44,0)-(44,1) = "n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "n" + │ │ ├── opening_loc: (41,9)-(41,12) = "%i[" + │ │ └── closing_loc: (44,1)-(44,2) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (48,0)-(51,2)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -281,37 +282,36 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (48,3)-(51,2)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ StringNode (location: (48,3)-(48,7)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A" - │ │ │ │ ├── content_loc: (49,0)-(50,0) = "o\n" - │ │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n" - │ │ │ │ └── unescaped: "o\n" - │ │ │ └── @ ArrayNode (location: (48,9)-(51,2)) - │ │ │ ├── elements: (length: 1) - │ │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── parts: (length: 2) - │ │ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "p\n" - │ │ │ │ │ └── @ StringNode (location: (48,12)-(48,14)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "p" - │ │ │ │ └── closing_loc: ∅ - │ │ │ ├── opening_loc: (48,9)-(48,12) = "%I[" - │ │ │ ├── closing_loc: (51,1)-(51,2) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ StringNode (location: (48,3)-(48,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A" + │ │ │ ├── content_loc: (49,0)-(50,0) = "o\n" + │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n" + │ │ │ └── unescaped: "o\n" + │ │ └── @ ArrayNode (location: (48,9)-(51,2)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 1) + │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── parts: (length: 2) + │ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14)) + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "p\n" + │ │ │ │ └── @ StringNode (location: (48,12)-(48,14)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "p" + │ │ │ └── closing_loc: ∅ + │ │ ├── opening_loc: (48,9)-(48,12) = "%I[" + │ │ └── closing_loc: (51,1)-(51,2) = "]" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ StringNode (location: (53,0)-(53,3)) │ ├── flags: ∅ │ ├── opening_loc: (53,0)-(53,3) = "<<A" @@ -321,8 +321,10 @@ └── @ MatchWriteNode (location: (53,5)-(55,13)) ├── call: │ @ CallNode (location: (53,5)-(55,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ InterpolatedRegularExpressionNode (location: (53,5)-(55,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (53,5)-(53,6) = "/" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (53,6)-(53,7)) @@ -337,25 +339,23 @@ │ │ │ ├── content_loc: (55,0)-(55,6) = "(?<a>)" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "(?<a>)" - │ │ ├── closing_loc: (55,6)-(55,7) = "/" - │ │ └── flags: ∅ + │ │ └── closing_loc: (55,6)-(55,7) = "/" │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (55,8)-(55,10) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (55,11)-(55,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (55,11)-(55,13)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (55,11)-(55,12) = "'" - │ │ │ ├── content_loc: (55,12)-(55,12) = "" - │ │ │ ├── closing_loc: (55,12)-(55,13) = "'" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (55,11)-(55,13)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (55,11)-(55,12) = "'" + │ │ ├── content_loc: (55,12)-(55,12) = "" + │ │ ├── closing_loc: (55,12)-(55,13) = "'" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── targets: (length: 1) └── @ LocalVariableTargetNode (location: (53,5)-(55,7)) ├── name: :a diff --git a/test/prism/snapshots/strings.txt b/test/prism/snapshots/strings.txt index aab888f57f..d625fa0d58 100644 --- a/test/prism/snapshots/strings.txt +++ b/test/prism/snapshots/strings.txt @@ -76,10 +76,10 @@ │ ├── closing_loc: (23,5)-(23,6) = "?" │ └── unescaped: "abc" ├── @ ArrayNode (location: (25,0)-(25,8)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (25,0)-(25,3) = "%w{" - │ ├── closing_loc: (25,7)-(25,8) = "}" - │ └── flags: ∅ + │ └── closing_loc: (25,7)-(25,8) = "}" ├── @ StringNode (location: (27,0)-(27,6)) │ ├── flags: ∅ │ ├── opening_loc: (27,0)-(27,2) = "%/" @@ -122,6 +122,7 @@ │ │ │ │ @ StatementsNode (location: (35,8)-(35,11)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (35,8)-(35,11)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bbb @@ -129,8 +130,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (35,11)-(35,12) = "}" │ │ └── @ StringNode (location: (35,12)-(35,16)) │ │ ├── flags: ∅ @@ -146,6 +146,7 @@ │ ├── closing_loc: (37,7)-(37,8) = "]" │ └── unescaped: "foo[]" ├── @ CallNode (location: (39,0)-(41,5)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ StringNode (location: (39,0)-(39,5)) │ │ ├── flags: ∅ @@ -159,17 +160,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (41,0)-(41,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (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: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (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" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ StringNode (location: (43,0)-(43,7)) │ ├── flags: ∅ │ ├── opening_loc: (43,0)-(43,3) = "%q{" @@ -220,6 +220,7 @@ │ │ │ │ @ StatementsNode (location: (55,7)-(55,10)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (55,7)-(55,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bbb @@ -227,8 +228,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (55,10)-(55,11) = "}" │ │ └── @ StringNode (location: (55,11)-(55,15)) │ │ ├── flags: ∅ @@ -244,6 +244,7 @@ │ ├── closing_loc: (57,4)-(57,5) = "'" │ └── unescaped: "abc" ├── @ ArrayNode (location: (59,0)-(59,9)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (59,3)-(59,4)) │ │ │ ├── flags: ∅ @@ -264,9 +265,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "c" │ ├── opening_loc: (59,0)-(59,3) = "%w[" - │ ├── closing_loc: (59,8)-(59,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (59,8)-(59,9) = "]" ├── @ ArrayNode (location: (61,0)-(61,17)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (61,3)-(61,6)) │ │ │ ├── flags: ∅ @@ -287,9 +288,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "c[]" │ ├── opening_loc: (61,0)-(61,3) = "%w[" - │ ├── closing_loc: (61,16)-(61,17) = "]" - │ └── flags: ∅ + │ └── closing_loc: (61,16)-(61,17) = "]" ├── @ ArrayNode (location: (63,0)-(63,18)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (63,3)-(63,11)) │ │ │ ├── flags: ∅ @@ -304,9 +305,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\\\#{1}" │ ├── opening_loc: (63,0)-(63,3) = "%w[" - │ ├── closing_loc: (63,17)-(63,18) = "]" - │ └── flags: ∅ + │ └── closing_loc: (63,17)-(63,18) = "]" ├── @ ArrayNode (location: (65,0)-(65,16)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (65,3)-(65,11)) │ │ │ ├── flags: ∅ @@ -321,9 +322,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" │ ├── opening_loc: (65,0)-(65,3) = "%w[" - │ ├── closing_loc: (65,15)-(65,16) = "]" - │ └── flags: ∅ + │ └── closing_loc: (65,15)-(65,16) = "]" ├── @ ArrayNode (location: (67,0)-(67,14)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (67,3)-(67,4)) │ │ │ ├── flags: ∅ @@ -346,6 +347,7 @@ │ │ │ │ │ │ @ StatementsNode (location: (67,8)-(67,9)) │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ CallNode (location: (67,8)-(67,9)) + │ │ │ │ │ │ ├── flags: variable_call │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :c @@ -353,8 +355,7 @@ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call + │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ └── closing_loc: (67,9)-(67,10) = "}" │ │ │ │ └── @ StringNode (location: (67,10)-(67,11)) │ │ │ │ ├── flags: ∅ @@ -370,9 +371,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "e" │ ├── opening_loc: (67,0)-(67,3) = "%W[" - │ ├── closing_loc: (67,13)-(67,14) = "]" - │ └── flags: ∅ + │ └── closing_loc: (67,13)-(67,14) = "]" ├── @ ArrayNode (location: (69,0)-(69,9)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (69,3)-(69,4)) │ │ │ ├── flags: ∅ @@ -393,9 +394,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "c" │ ├── opening_loc: (69,0)-(69,3) = "%W[" - │ ├── closing_loc: (69,8)-(69,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (69,8)-(69,9) = "]" ├── @ ArrayNode (location: (71,0)-(75,1)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (72,2)-(72,3)) │ │ │ ├── flags: ∅ @@ -416,8 +417,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "c" │ ├── opening_loc: (71,0)-(71,3) = "%w[" - │ ├── closing_loc: (75,0)-(75,1) = "]" - │ └── flags: ∅ + │ └── closing_loc: (75,0)-(75,1) = "]" ├── @ StringNode (location: (77,0)-(77,15)) │ ├── flags: ∅ │ ├── opening_loc: (77,0)-(77,1) = "'" diff --git a/test/prism/snapshots/super.txt b/test/prism/snapshots/super.txt index cc18ac15ff..940acd5beb 100644 --- a/test/prism/snapshots/super.txt +++ b/test/prism/snapshots/super.txt @@ -16,10 +16,10 @@ │ ├── lparen_loc: (5,5)-(5,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,6)-(5,7)) + │ │ └── flags: decimal │ ├── rparen_loc: (5,7)-(5,8) = ")" │ └── block: ∅ ├── @ SuperNode (location: (7,0)-(7,14)) @@ -27,14 +27,14 @@ │ ├── lparen_loc: (7,5)-(7,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,6)-(7,13)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (7,6)-(7,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (7,9)-(7,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (7,12)-(7,13)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (7,6)-(7,7)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (7,9)-(7,10)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (7,12)-(7,13)) + │ │ └── flags: decimal │ ├── rparen_loc: (7,13)-(7,14) = ")" │ └── block: ∅ ├── @ SuperNode (location: (9,0)-(9,11)) @@ -79,14 +79,14 @@ │ ├── lparen_loc: (15,5)-(15,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (15,6)-(15,13)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ IntegerNode (location: (15,6)-(15,7)) - │ │ │ │ └── flags: decimal - │ │ │ ├── @ IntegerNode (location: (15,9)-(15,10)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ IntegerNode (location: (15,12)-(15,13)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ IntegerNode (location: (15,6)-(15,7)) + │ │ │ └── flags: decimal + │ │ ├── @ IntegerNode (location: (15,9)-(15,10)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (15,12)-(15,13)) + │ │ └── flags: decimal │ ├── rparen_loc: (15,13)-(15,14) = ")" │ └── block: │ @ BlockNode (location: (15,15)-(15,17)) @@ -101,14 +101,14 @@ ├── lparen_loc: (17,5)-(17,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (17,6)-(17,13)) - │ ├── arguments: (length: 3) - │ │ ├── @ IntegerNode (location: (17,6)-(17,7)) - │ │ │ └── flags: decimal - │ │ ├── @ IntegerNode (location: (17,9)-(17,10)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (17,12)-(17,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ IntegerNode (location: (17,6)-(17,7)) + │ │ └── flags: decimal + │ ├── @ IntegerNode (location: (17,9)-(17,10)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (17,12)-(17,13)) + │ └── flags: decimal ├── rparen_loc: (17,20)-(17,21) = ")" └── block: @ BlockArgumentNode (location: (17,15)-(17,20)) diff --git a/test/prism/snapshots/symbols.txt b/test/prism/snapshots/symbols.txt index 3770cad292..0cf1757e6b 100644 --- a/test/prism/snapshots/symbols.txt +++ b/test/prism/snapshots/symbols.txt @@ -17,6 +17,7 @@ │ │ │ @ StatementsNode (location: (3,4)-(3,7)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,4)-(3,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var @@ -24,8 +25,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (3,7)-(3,8) = "}" │ └── closing_loc: (3,8)-(3,9) = "\"" ├── @ InterpolatedSymbolNode (location: (5,0)-(5,10)) @@ -47,6 +47,7 @@ │ │ └── closing_loc: (5,8)-(5,9) = "}" │ └── closing_loc: (5,9)-(5,10) = "\"" ├── @ ArrayNode (location: (7,0)-(7,20)) + │ ├── flags: ∅ │ ├── elements: (length: 4) │ │ ├── @ SymbolNode (location: (7,1)-(7,4)) │ │ │ ├── opening_loc: (7,1)-(7,2) = ":" @@ -69,8 +70,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "ρ" │ ├── opening_loc: (7,0)-(7,1) = "[" - │ ├── closing_loc: (7,19)-(7,20) = "]" - │ └── flags: ∅ + │ └── closing_loc: (7,19)-(7,20) = "]" ├── @ SymbolNode (location: (9,0)-(9,3)) │ ├── opening_loc: (9,0)-(9,1) = ":" │ ├── value_loc: (9,1)-(9,3) = "-@" @@ -122,6 +122,7 @@ │ ├── closing_loc: ∅ │ └── unescaped: "~@" ├── @ ArrayNode (location: (29,0)-(29,16)) + │ ├── flags: ∅ │ ├── elements: (length: 4) │ │ ├── @ IntegerNode (location: (29,1)-(29,2)) │ │ │ └── flags: decimal @@ -135,8 +136,7 @@ │ │ @ IntegerNode (location: (29,13)-(29,14)) │ │ └── flags: decimal │ ├── opening_loc: (29,0)-(29,1) = "[" - │ ├── closing_loc: (29,15)-(29,16) = "]" - │ └── flags: ∅ + │ └── closing_loc: (29,15)-(29,16) = "]" ├── @ SymbolNode (location: (31,0)-(31,2)) │ ├── opening_loc: (31,0)-(31,1) = ":" │ ├── value_loc: (31,1)-(31,2) = "~" @@ -148,6 +148,7 @@ │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── @ ArrayNode (location: (35,0)-(35,9)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (35,3)-(35,4)) │ │ │ ├── opening_loc: ∅ @@ -165,9 +166,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "c" │ ├── opening_loc: (35,0)-(35,3) = "%i[" - │ ├── closing_loc: (35,8)-(35,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (35,8)-(35,9) = "]" ├── @ ArrayNode (location: (37,0)-(37,24)) + │ ├── flags: ∅ │ ├── elements: (length: 4) │ │ ├── @ SymbolNode (location: (37,3)-(37,4)) │ │ │ ├── opening_loc: ∅ @@ -190,9 +191,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "d\#{3}f" │ ├── opening_loc: (37,0)-(37,3) = "%i[" - │ ├── closing_loc: (37,23)-(37,24) = "]" - │ └── flags: ∅ + │ └── closing_loc: (37,23)-(37,24) = "]" ├── @ ArrayNode (location: (39,0)-(39,24)) + │ ├── flags: ∅ │ ├── elements: (length: 4) │ │ ├── @ SymbolNode (location: (39,3)-(39,4)) │ │ │ ├── opening_loc: ∅ @@ -260,8 +261,7 @@ │ │ │ └── unescaped: "f" │ │ └── closing_loc: ∅ │ ├── opening_loc: (39,0)-(39,3) = "%I[" - │ ├── closing_loc: (39,23)-(39,24) = "]" - │ └── flags: ∅ + │ └── closing_loc: (39,23)-(39,24) = "]" ├── @ SymbolNode (location: (41,0)-(41,4)) │ ├── opening_loc: (41,0)-(41,1) = ":" │ ├── value_loc: (41,1)-(41,4) = "@@a" @@ -273,6 +273,7 @@ │ ├── closing_loc: ∅ │ └── unescaped: "👍" ├── @ ArrayNode (location: (45,0)-(45,7)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (45,3)-(45,6)) │ │ ├── opening_loc: ∅ @@ -280,8 +281,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\\b" │ ├── opening_loc: (45,0)-(45,3) = "%i[" - │ ├── closing_loc: (45,6)-(45,7) = "]" - │ └── flags: ∅ + │ └── closing_loc: (45,6)-(45,7) = "]" ├── @ SymbolNode (location: (47,0)-(47,3)) │ ├── opening_loc: (47,0)-(47,1) = ":" │ ├── value_loc: (47,1)-(47,3) = "$a" diff --git a/test/prism/snapshots/ternary_operator.txt b/test/prism/snapshots/ternary_operator.txt index d26b425187..541bd8c792 100644 --- a/test/prism/snapshots/ternary_operator.txt +++ b/test/prism/snapshots/ternary_operator.txt @@ -7,6 +7,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -14,13 +15,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,2)-(1,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,5)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -28,8 +29,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,6)-(1,9)) │ │ ├── else_keyword_loc: (1,6)-(1,7) = ":" @@ -37,6 +37,7 @@ │ │ │ @ StatementsNode (location: (1,8)-(1,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -44,14 +45,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (3,0)-(3,27)) │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (3,0)-(3,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -59,8 +60,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (3,2)-(3,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (3,4)-(3,14)) @@ -69,6 +69,7 @@ │ │ ├── lparen_loc: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (3,13)-(3,14)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -76,8 +77,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── rparen_loc: ∅ │ │ └── keyword_loc: (3,4)-(3,12) = "defined?" │ ├── consequent: @@ -90,6 +90,7 @@ │ │ │ ├── lparen_loc: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (3,26)-(3,27)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -97,8 +98,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── rparen_loc: ∅ │ │ │ └── keyword_loc: (3,17)-(3,25) = "defined?" │ │ └── end_keyword_loc: ∅ @@ -107,6 +107,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (5,0)-(5,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :empty? @@ -114,8 +115,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── then_keyword_loc: (5,6)-(5,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (5,7)-(5,11)) @@ -134,6 +134,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (7,0)-(7,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :empty? @@ -141,8 +142,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── then_keyword_loc: (7,6)-(7,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (7,7)-(7,12)) @@ -161,6 +161,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (9,0)-(9,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :empty? @@ -168,8 +169,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── then_keyword_loc: (9,6)-(9,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (9,7)-(9,10)) @@ -188,6 +188,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (11,0)-(11,2)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a? @@ -195,8 +196,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── then_keyword_loc: (11,2)-(11,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (11,3)-(11,6)) @@ -215,6 +215,7 @@ │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (13,0)-(13,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -222,13 +223,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (13,2)-(13,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (13,3)-(13,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (13,3)-(13,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :var1 @@ -236,8 +237,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (13,8)-(13,14)) │ │ ├── else_keyword_loc: (13,8)-(13,9) = ":" @@ -245,6 +245,7 @@ │ │ │ @ StatementsNode (location: (13,10)-(13,14)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (13,10)-(13,14)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var2 @@ -252,14 +253,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (15,0)-(15,12)) ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (15,0)-(15,4)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :nil? @@ -267,8 +268,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── then_keyword_loc: (15,4)-(15,5) = "?" ├── statements: │ @ StatementsNode (location: (15,5)-(15,10)) diff --git a/test/prism/snapshots/unescaping.txt b/test/prism/snapshots/unescaping.txt index 3821a36c20..00c5f59cd1 100644 --- a/test/prism/snapshots/unescaping.txt +++ b/test/prism/snapshots/unescaping.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,7)) └── body: (length: 4) ├── @ ArrayNode (location: (1,0)-(1,10)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (1,1)-(1,9)) │ │ ├── flags: ∅ @@ -12,14 +13,13 @@ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" │ │ └── unescaped: "\u0003{1}" │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (1,9)-(1,10) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,9)-(1,10) = "]" ├── @ RegularExpressionNode (location: (3,0)-(3,8)) + │ ├── flags: ∅ │ ├── opening_loc: (3,0)-(3,1) = "/" │ ├── content_loc: (3,1)-(3,7) = "\\c\#{1}" │ ├── closing_loc: (3,7)-(3,8) = "/" - │ ├── unescaped: "\\x03{1}" - │ └── flags: ∅ + │ └── unescaped: "\\x03{1}" ├── @ StringNode (location: (5,0)-(5,8)) │ ├── flags: ∅ │ ├── opening_loc: (5,0)-(5,1) = "\"" diff --git a/test/prism/snapshots/unless.txt b/test/prism/snapshots/unless.txt index e37fee8ff6..571f595af5 100644 --- a/test/prism/snapshots/unless.txt +++ b/test/prism/snapshots/unless.txt @@ -90,6 +90,7 @@ ├── keyword_loc: (14,11)-(14,17) = "unless" ├── predicate: │ @ CallNode (location: (14,18)-(14,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar? @@ -97,13 +98,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (14,0)-(14,10)) │ └── body: (length: 1) │ └── @ CallNode (location: (14,0)-(14,10)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -111,20 +112,19 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (14,4)-(14,10)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (14,4)-(14,6)) - │ │ │ │ ├── opening_loc: (14,4)-(14,5) = ":" - │ │ │ │ ├── value_loc: (14,5)-(14,6) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ └── @ SymbolNode (location: (14,8)-(14,10)) - │ │ │ ├── opening_loc: (14,8)-(14,9) = ":" - │ │ │ ├── value_loc: (14,9)-(14,10) = "b" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "b" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (14,4)-(14,6)) + │ │ │ ├── opening_loc: (14,4)-(14,5) = ":" + │ │ │ ├── value_loc: (14,5)-(14,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ SymbolNode (location: (14,8)-(14,10)) + │ │ ├── opening_loc: (14,8)-(14,9) = ":" + │ │ ├── value_loc: (14,9)-(14,10) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: ∅ 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 diff --git a/test/prism/snapshots/until.txt b/test/prism/snapshots/until.txt index dd50b084a1..e93ddab77c 100644 --- a/test/prism/snapshots/until.txt +++ b/test/prism/snapshots/until.txt @@ -4,68 +4,70 @@ @ StatementsNode (location: (1,0)-(13,20)) └── body: (length: 7) ├── @ UntilNode (location: (1,0)-(1,18)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "until" │ ├── closing_loc: (1,15)-(1,18) = "end" │ ├── predicate: │ │ @ TrueNode (location: (1,6)-(1,10)) - │ ├── statements: - │ │ @ StatementsNode (location: (1,12)-(1,13)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (1,12)-(1,13)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (1,12)-(1,13)) + │ └── flags: decimal ├── @ UntilNode (location: (3,0)-(3,12)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,2)-(3,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (3,8)-(3,12)) - │ ├── statements: - │ │ @ StatementsNode (location: (3,0)-(3,1)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (3,0)-(3,1)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (3,0)-(3,1)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (3,0)-(3,1)) + │ └── flags: decimal ├── @ UntilNode (location: (5,0)-(5,16)) + │ ├── flags: ∅ │ ├── keyword_loc: (5,6)-(5,11) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (5,12)-(5,16)) - │ ├── statements: - │ │ @ StatementsNode (location: (5,0)-(5,5)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (5,0)-(5,5)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (5,0)-(5,5) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (5,0)-(5,5)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (5,0)-(5,5)) + │ ├── arguments: ∅ + │ └── keyword_loc: (5,0)-(5,5) = "break" ├── @ UntilNode (location: (7,0)-(7,15)) + │ ├── flags: ∅ │ ├── keyword_loc: (7,5)-(7,10) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (7,11)-(7,15)) - │ ├── statements: - │ │ @ StatementsNode (location: (7,0)-(7,4)) - │ │ └── body: (length: 1) - │ │ └── @ NextNode (location: (7,0)-(7,4)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (7,0)-(7,4) = "next" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (7,0)-(7,4)) + │ └── body: (length: 1) + │ └── @ NextNode (location: (7,0)-(7,4)) + │ ├── arguments: ∅ + │ └── keyword_loc: (7,0)-(7,4) = "next" ├── @ UntilNode (location: (9,0)-(9,17)) + │ ├── flags: ∅ │ ├── keyword_loc: (9,7)-(9,12) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (9,13)-(9,17)) - │ ├── statements: - │ │ @ StatementsNode (location: (9,0)-(9,6)) - │ │ └── body: (length: 1) - │ │ └── @ ReturnNode (location: (9,0)-(9,6)) - │ │ ├── keyword_loc: (9,0)-(9,6) = "return" - │ │ └── arguments: ∅ - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (9,0)-(9,6)) + │ └── body: (length: 1) + │ └── @ ReturnNode (location: (9,0)-(9,6)) + │ ├── keyword_loc: (9,0)-(9,6) = "return" + │ └── arguments: ∅ ├── @ UntilNode (location: (11,0)-(11,21)) + │ ├── flags: ∅ │ ├── keyword_loc: (11,11)-(11,16) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (11,17)-(11,21)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar? @@ -73,42 +75,42 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (11,0)-(11,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (11,0)-(11,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (11,0)-(11,3) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (11,4)-(11,10)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ SymbolNode (location: (11,4)-(11,6)) - │ │ │ │ │ ├── opening_loc: (11,4)-(11,5) = ":" - │ │ │ │ │ ├── value_loc: (11,5)-(11,6) = "a" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "a" - │ │ │ │ └── @ SymbolNode (location: (11,8)-(11,10)) - │ │ │ │ ├── opening_loc: (11,8)-(11,9) = ":" - │ │ │ │ ├── value_loc: (11,9)-(11,10) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (11,0)-(11,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (11,0)-(11,10)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (11,0)-(11,3) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (11,4)-(11,10)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (11,4)-(11,6)) + │ │ │ ├── opening_loc: (11,4)-(11,5) = ":" + │ │ │ ├── value_loc: (11,5)-(11,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ SymbolNode (location: (11,8)-(11,10)) + │ │ ├── opening_loc: (11,8)-(11,9) = ":" + │ │ ├── value_loc: (11,9)-(11,10) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" + │ ├── closing_loc: ∅ + │ └── block: ∅ └── @ WhileNode (location: (13,0)-(13,20)) + ├── flags: ∅ ├── keyword_loc: (13,4)-(13,9) = "while" ├── closing_loc: ∅ ├── predicate: │ @ MatchPredicateNode (location: (13,10)-(13,20)) │ ├── value: │ │ @ CallNode (location: (13,10)-(13,13)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -116,24 +118,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (13,17)-(13,20)) │ │ ├── name: :baz │ │ └── depth: 0 │ └── operator_loc: (13,14)-(13,16) = "in" - ├── statements: - │ @ StatementsNode (location: (13,0)-(13,3)) - │ └── body: (length: 1) - │ └── @ CallNode (location: (13,0)-(13,3)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :foo - │ ├── message_loc: (13,0)-(13,3) = "foo" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - └── flags: ∅ + └── statements: + @ StatementsNode (location: (13,0)-(13,3)) + └── body: (length: 1) + └── @ CallNode (location: (13,0)-(13,3)) + ├── flags: variable_call + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :foo + ├── message_loc: (13,0)-(13,3) = "foo" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/variables.txt b/test/prism/snapshots/variables.txt index 6930d43b25..f8134aeab6 100644 --- a/test/prism/snapshots/variables.txt +++ b/test/prism/snapshots/variables.txt @@ -31,14 +31,14 @@ │ ├── name_loc: (7,0)-(7,5) = "@@foo" │ ├── value: │ │ @ ArrayNode (location: (7,8)-(7,12)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (7,8)-(7,9)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (7,11)-(7,12)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (7,6)-(7,7) = "=" ├── @ GlobalVariableWriteNode (location: (9,0)-(9,8)) │ ├── name: :$abc @@ -59,6 +59,7 @@ │ │ └── flags: decimal │ └── operator_loc: (15,5)-(15,6) = "=" ├── @ CallNode (location: (17,0)-(17,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -66,8 +67,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (19,0)-(19,7)) │ ├── name: :abc │ ├── depth: 0 @@ -95,14 +95,14 @@ │ ├── name_loc: (23,0)-(23,4) = "$foo" │ ├── value: │ │ @ ArrayNode (location: (23,7)-(23,11)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (23,7)-(23,8)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (23,10)-(23,11)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (23,5)-(23,6) = "=" ├── @ MultiWriteNode (location: (25,0)-(25,14)) │ ├── lefts: (length: 2) @@ -123,14 +123,14 @@ │ ├── name_loc: (27,0)-(27,4) = "@foo" │ ├── value: │ │ @ ArrayNode (location: (27,7)-(27,11)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (27,7)-(27,8)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (27,10)-(27,11)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (27,5)-(27,6) = "=" ├── @ LocalVariableWriteNode (location: (29,0)-(29,7)) │ ├── name: :foo @@ -146,14 +146,14 @@ │ ├── name_loc: (29,9)-(29,12) = "foo" │ ├── value: │ │ @ ArrayNode (location: (29,15)-(29,19)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (29,15)-(29,16)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (29,18)-(29,19)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (29,13)-(29,14) = "=" ├── @ LocalVariableWriteNode (location: (31,0)-(31,10)) │ ├── name: :foo @@ -161,14 +161,14 @@ │ ├── name_loc: (31,0)-(31,3) = "foo" │ ├── value: │ │ @ ArrayNode (location: (31,6)-(31,10)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (31,6)-(31,7)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (31,9)-(31,10)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (31,4)-(31,5) = "=" ├── @ MultiWriteNode (location: (33,0)-(33,13)) │ ├── lefts: (length: 1) @@ -185,14 +185,14 @@ │ ├── operator_loc: (33,7)-(33,8) = "=" │ └── value: │ @ ArrayNode (location: (33,9)-(33,13)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (33,9)-(33,10)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (33,12)-(33,13)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (35,0)-(35,11)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (35,0)-(35,3)) @@ -206,14 +206,14 @@ │ ├── operator_loc: (35,5)-(35,6) = "=" │ └── value: │ @ ArrayNode (location: (35,7)-(35,11)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (35,7)-(35,8)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (35,10)-(35,11)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (37,0)-(37,16)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (37,0)-(37,3)) @@ -232,14 +232,14 @@ │ ├── operator_loc: (37,10)-(37,11) = "=" │ └── value: │ @ ArrayNode (location: (37,12)-(37,16)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (37,12)-(37,13)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (37,15)-(37,16)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (39,0)-(39,27)) │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (39,0)-(39,3)) @@ -264,27 +264,28 @@ │ ├── operator_loc: (39,16)-(39,17) = "=" │ └── value: │ @ ArrayNode (location: (39,18)-(39,27)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (39,18)-(39,19)) │ │ │ └── flags: decimal │ │ └── @ ArrayNode (location: (39,21)-(39,27)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (39,22)-(39,23)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (39,25)-(39,26)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (39,21)-(39,22) = "[" - │ │ ├── closing_loc: (39,26)-(39,27) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (39,26)-(39,27) = "]" │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ LocalVariableWriteNode (location: (41,0)-(41,10)) │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (41,0)-(41,3) = "foo" │ ├── value: │ │ @ ArrayNode (location: (41,6)-(41,10)) + │ │ ├── flags: contains_splat │ │ ├── elements: (length: 1) │ │ │ └── @ SplatNode (location: (41,6)-(41,10)) │ │ │ ├── operator_loc: (41,6)-(41,7) = "*" @@ -293,28 +294,28 @@ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: contains_splat + │ │ └── closing_loc: ∅ │ └── operator_loc: (41,4)-(41,5) = "=" ├── @ ConstantWriteNode (location: (43,0)-(43,10)) │ ├── name: :Foo │ ├── name_loc: (43,0)-(43,3) = "Foo" │ ├── value: │ │ @ ArrayNode (location: (43,6)-(43,10)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (43,6)-(43,7)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (43,9)-(43,10)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (43,4)-(43,5) = "=" ├── @ ParenthesesNode (location: (45,0)-(45,9)) │ ├── body: │ │ @ StatementsNode (location: (45,1)-(45,8)) │ │ └── body: (length: 3) │ │ ├── @ CallNode (location: (45,1)-(45,2)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -322,9 +323,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── @ CallNode (location: (45,4)-(45,5)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -332,9 +333,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (45,7)-(45,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c @@ -342,8 +343,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (45,0)-(45,1) = "(" │ └── closing_loc: (45,8)-(45,9) = ")" └── @ MultiWriteNode (location: (47,0)-(47,17)) @@ -373,7 +373,7 @@ ├── operator_loc: (47,13)-(47,14) = "=" └── value: @ ArrayNode (location: (47,15)-(47,17)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (47,15)-(47,16) = "[" - ├── closing_loc: (47,16)-(47,17) = "]" - └── flags: ∅ + └── closing_loc: (47,16)-(47,17) = "]" diff --git a/test/prism/snapshots/while.txt b/test/prism/snapshots/while.txt index ded1c8b09b..67c707b03b 100644 --- a/test/prism/snapshots/while.txt +++ b/test/prism/snapshots/while.txt @@ -4,68 +4,70 @@ @ StatementsNode (location: (1,0)-(23,20)) └── body: (length: 12) ├── @ WhileNode (location: (1,0)-(1,18)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,15)-(1,18) = "end" │ ├── predicate: │ │ @ TrueNode (location: (1,6)-(1,10)) - │ ├── statements: - │ │ @ StatementsNode (location: (1,12)-(1,13)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (1,12)-(1,13)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (1,12)-(1,13)) + │ └── flags: decimal ├── @ WhileNode (location: (3,0)-(3,12)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,2)-(3,7) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (3,8)-(3,12)) - │ ├── statements: - │ │ @ StatementsNode (location: (3,0)-(3,1)) - │ │ └── body: (length: 1) - │ │ └── @ IntegerNode (location: (3,0)-(3,1)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (3,0)-(3,1)) + │ └── body: (length: 1) + │ └── @ IntegerNode (location: (3,0)-(3,1)) + │ └── flags: decimal ├── @ WhileNode (location: (5,0)-(5,16)) + │ ├── flags: ∅ │ ├── keyword_loc: (5,6)-(5,11) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (5,12)-(5,16)) - │ ├── statements: - │ │ @ StatementsNode (location: (5,0)-(5,5)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (5,0)-(5,5)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (5,0)-(5,5) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (5,0)-(5,5)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (5,0)-(5,5)) + │ ├── arguments: ∅ + │ └── keyword_loc: (5,0)-(5,5) = "break" ├── @ WhileNode (location: (7,0)-(7,15)) + │ ├── flags: ∅ │ ├── keyword_loc: (7,5)-(7,10) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (7,11)-(7,15)) - │ ├── statements: - │ │ @ StatementsNode (location: (7,0)-(7,4)) - │ │ └── body: (length: 1) - │ │ └── @ NextNode (location: (7,0)-(7,4)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (7,0)-(7,4) = "next" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (7,0)-(7,4)) + │ └── body: (length: 1) + │ └── @ NextNode (location: (7,0)-(7,4)) + │ ├── arguments: ∅ + │ └── keyword_loc: (7,0)-(7,4) = "next" ├── @ WhileNode (location: (9,0)-(9,17)) + │ ├── flags: ∅ │ ├── keyword_loc: (9,7)-(9,12) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (9,13)-(9,17)) - │ ├── statements: - │ │ @ StatementsNode (location: (9,0)-(9,6)) - │ │ └── body: (length: 1) - │ │ └── @ ReturnNode (location: (9,0)-(9,6)) - │ │ ├── keyword_loc: (9,0)-(9,6) = "return" - │ │ └── arguments: ∅ - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (9,0)-(9,6)) + │ └── body: (length: 1) + │ └── @ ReturnNode (location: (9,0)-(9,6)) + │ ├── keyword_loc: (9,0)-(9,6) = "return" + │ └── arguments: ∅ ├── @ WhileNode (location: (11,0)-(11,21)) + │ ├── flags: ∅ │ ├── keyword_loc: (11,11)-(11,16) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (11,17)-(11,21)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar? @@ -73,36 +75,35 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── statements: - │ │ @ StatementsNode (location: (11,0)-(11,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (11,0)-(11,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (11,0)-(11,3) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (11,4)-(11,10)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ SymbolNode (location: (11,4)-(11,6)) - │ │ │ │ │ ├── opening_loc: (11,4)-(11,5) = ":" - │ │ │ │ │ ├── value_loc: (11,5)-(11,6) = "a" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "a" - │ │ │ │ └── @ SymbolNode (location: (11,8)-(11,10)) - │ │ │ │ ├── opening_loc: (11,8)-(11,9) = ":" - │ │ │ │ ├── value_loc: (11,9)-(11,10) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (11,0)-(11,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (11,0)-(11,10)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (11,0)-(11,3) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (11,4)-(11,10)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (11,4)-(11,6)) + │ │ │ ├── opening_loc: (11,4)-(11,5) = ":" + │ │ │ ├── value_loc: (11,5)-(11,6) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ └── @ SymbolNode (location: (11,8)-(11,10)) + │ │ ├── opening_loc: (11,8)-(11,9) = ":" + │ │ ├── value_loc: (11,9)-(11,10) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ WhileNode (location: (13,0)-(13,50)) + │ ├── flags: ∅ │ ├── keyword_loc: (13,0)-(13,5) = "while" │ ├── closing_loc: (13,47)-(13,50) = "end" │ ├── predicate: @@ -121,6 +122,7 @@ │ │ │ │ ├── operator_loc: (13,21)-(13,22) = "=" │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (13,23)-(13,33)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -128,15 +130,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (13,27)-(13,33)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (13,27)-(13,29) = "do" - │ │ │ │ │ └── closing_loc: (13,30)-(13,33) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (13,27)-(13,33)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (13,27)-(13,29) = "do" + │ │ │ │ └── closing_loc: (13,30)-(13,33) = "end" │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -151,14 +152,14 @@ │ │ ├── rparen_loc: ∅ │ │ ├── equal_loc: ∅ │ │ └── end_keyword_loc: (13,35)-(13,38) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (13,40)-(13,45)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (13,40)-(13,45)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (13,40)-(13,45) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (13,40)-(13,45)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (13,40)-(13,45)) + │ ├── arguments: ∅ + │ └── keyword_loc: (13,40)-(13,45) = "break" ├── @ WhileNode (location: (15,0)-(15,47)) + │ ├── flags: ∅ │ ├── keyword_loc: (15,0)-(15,5) = "while" │ ├── closing_loc: (15,44)-(15,47) = "end" │ ├── predicate: @@ -179,6 +180,7 @@ │ │ │ ├── name_loc: (15,16)-(15,17) = "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (15,20)-(15,30)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -186,26 +188,25 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (15,24)-(15,30)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (15,24)-(15,26) = "do" - │ │ │ │ │ └── closing_loc: (15,27)-(15,30) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (15,24)-(15,30)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (15,24)-(15,26) = "do" + │ │ │ │ └── closing_loc: (15,27)-(15,30) = "end" │ │ │ └── operator_loc: (15,18)-(15,19) = "=" │ │ ├── end_keyword_loc: (15,32)-(15,35) = "end" │ │ └── name: :Foo - │ ├── statements: - │ │ @ StatementsNode (location: (15,37)-(15,42)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (15,37)-(15,42)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (15,37)-(15,42) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (15,37)-(15,42)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (15,37)-(15,42)) + │ ├── arguments: ∅ + │ └── keyword_loc: (15,37)-(15,42) = "break" ├── @ WhileNode (location: (17,0)-(17,48)) + │ ├── flags: ∅ │ ├── keyword_loc: (17,0)-(17,5) = "while" │ ├── closing_loc: (17,45)-(17,48) = "end" │ ├── predicate: @@ -219,6 +220,7 @@ │ │ │ @ StatementsNode (location: (17,21)-(17,31)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (17,21)-(17,31)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -226,24 +228,23 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (17,25)-(17,31)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (17,25)-(17,27) = "do" - │ │ │ │ └── closing_loc: (17,28)-(17,31) = "end" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (17,25)-(17,31)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (17,25)-(17,27) = "do" + │ │ │ └── closing_loc: (17,28)-(17,31) = "end" │ │ └── end_keyword_loc: (17,33)-(17,36) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (17,38)-(17,43)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (17,38)-(17,43)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (17,38)-(17,43) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (17,38)-(17,43)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (17,38)-(17,43)) + │ ├── arguments: ∅ + │ └── keyword_loc: (17,38)-(17,43) = "break" ├── @ WhileNode (location: (19,0)-(19,52)) + │ ├── flags: ∅ │ ├── keyword_loc: (19,0)-(19,5) = "while" │ ├── closing_loc: (19,49)-(19,52) = "end" │ ├── predicate: @@ -262,6 +263,7 @@ │ │ │ ├── name_loc: (19,21)-(19,22) = "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (19,25)-(19,35)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -269,25 +271,24 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (19,29)-(19,35)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (19,29)-(19,31) = "do" - │ │ │ │ │ └── closing_loc: (19,32)-(19,35) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (19,29)-(19,35)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (19,29)-(19,31) = "do" + │ │ │ │ └── closing_loc: (19,32)-(19,35) = "end" │ │ │ └── operator_loc: (19,23)-(19,24) = "=" │ │ └── end_keyword_loc: (19,37)-(19,40) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (19,42)-(19,47)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (19,42)-(19,47)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (19,42)-(19,47) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (19,42)-(19,47)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (19,42)-(19,47)) + │ ├── arguments: ∅ + │ └── keyword_loc: (19,42)-(19,47) = "break" ├── @ WhileNode (location: (21,0)-(21,31)) + │ ├── flags: ∅ │ ├── keyword_loc: (21,0)-(21,5) = "while" │ ├── closing_loc: (21,28)-(21,31) = "end" │ ├── predicate: @@ -300,6 +301,7 @@ │ │ │ @ StatementsNode (location: (21,16)-(21,26)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (21,16)-(21,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -307,15 +309,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (21,20)-(21,26)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (21,20)-(21,22) = "do" - │ │ │ │ └── closing_loc: (21,23)-(21,26) = "end" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (21,20)-(21,26)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (21,20)-(21,22) = "do" + │ │ │ └── closing_loc: (21,23)-(21,26) = "end" │ │ ├── locals: [] │ │ ├── locals_body_index: 0 │ │ ├── def_keyword_loc: (21,6)-(21,9) = "def" @@ -324,15 +325,16 @@ │ │ ├── rparen_loc: ∅ │ │ ├── equal_loc: (21,14)-(21,15) = "=" │ │ └── end_keyword_loc: ∅ - │ ├── statements: ∅ - │ └── flags: ∅ + │ └── statements: ∅ └── @ WhileNode (location: (23,0)-(23,20)) + ├── flags: ∅ ├── keyword_loc: (23,4)-(23,9) = "while" ├── closing_loc: ∅ ├── predicate: │ @ MatchPredicateNode (location: (23,10)-(23,20)) │ ├── value: │ │ @ CallNode (location: (23,10)-(23,13)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -340,24 +342,22 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (23,17)-(23,20)) │ │ ├── name: :baz │ │ └── depth: 0 │ └── operator_loc: (23,14)-(23,16) = "in" - ├── statements: - │ @ StatementsNode (location: (23,0)-(23,3)) - │ └── body: (length: 1) - │ └── @ CallNode (location: (23,0)-(23,3)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :foo - │ ├── message_loc: (23,0)-(23,3) = "foo" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - └── flags: ∅ + └── statements: + @ StatementsNode (location: (23,0)-(23,3)) + └── body: (length: 1) + └── @ CallNode (location: (23,0)-(23,3)) + ├── flags: variable_call + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :foo + ├── message_loc: (23,0)-(23,3) = "foo" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt b/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt index e407945622..535266c325 100644 --- a/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt +++ b/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,15 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: (1,2)-(1,3) = "?" ├── statements: │ @ StatementsNode (location: (1,4)-(1,10)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,4)-(1,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,4)-(1,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -30,25 +32,23 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :& │ ├── message_loc: (1,6)-(1,7) = "&" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (1,8)-(1,10)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,8)-(1,9) = "'" - │ │ │ ├── content_loc: (1,9)-(1,9) = "" - │ │ │ ├── closing_loc: (1,9)-(1,10) = "'" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (1,8)-(1,10)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,8)-(1,9) = "'" + │ │ ├── content_loc: (1,9)-(1,9) = "" + │ │ ├── closing_loc: (1,9)-(1,10) = "'" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (1,10)-(1,15)) │ ├── else_keyword_loc: (1,10)-(1,11) = ":" diff --git a/test/prism/snapshots/whitequark/and.txt b/test/prism/snapshots/whitequark/and.txt index a0bbc72917..35b1c43dd0 100644 --- a/test/prism/snapshots/whitequark/and.txt +++ b/test/prism/snapshots/whitequark/and.txt @@ -6,6 +6,7 @@ ├── @ AndNode (location: (1,0)-(1,10)) │ ├── left: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,10 +14,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -24,12 +25,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── operator_loc: (1,4)-(1,6) = "&&" └── @ AndNode (location: (3,0)-(3,11)) ├── left: │ @ CallNode (location: (3,0)-(3,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -37,10 +38,10 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── right: │ @ CallNode (location: (3,8)-(3,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -48,6 +49,5 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── operator_loc: (3,4)-(3,7) = "and" diff --git a/test/prism/snapshots/whitequark/and_asgn.txt b/test/prism/snapshots/whitequark/and_asgn.txt index 5c6ae1d703..789ba792f2 100644 --- a/test/prism/snapshots/whitequark/and_asgn.txt +++ b/test/prism/snapshots/whitequark/and_asgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(3,15)) └── body: (length: 2) ├── @ CallAndWriteNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,11 +15,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "a" - │ ├── flags: ∅ │ ├── read_name: :a │ ├── write_name: :a= │ ├── operator_loc: (1,6)-(1,9) = "&&=" @@ -25,8 +25,10 @@ │ @ IntegerNode (location: (1,10)-(1,11)) │ └── flags: decimal └── @ IndexAndWriteNode (location: (3,0)-(3,15)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -34,21 +36,19 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (3,3)-(3,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (3,4)-(3,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (3,4)-(3,5)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (3,4)-(3,5)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (3,7)-(3,8)) + │ └── flags: decimal ├── closing_loc: (3,8)-(3,9) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator_loc: (3,10)-(3,13) = "&&=" └── value: @ IntegerNode (location: (3,14)-(3,15)) diff --git a/test/prism/snapshots/whitequark/and_or_masgn.txt b/test/prism/snapshots/whitequark/and_or_masgn.txt index 033c4f6321..d1a349619b 100644 --- a/test/prism/snapshots/whitequark/and_or_masgn.txt +++ b/test/prism/snapshots/whitequark/and_or_masgn.txt @@ -6,6 +6,7 @@ ├── @ AndNode (location: (1,0)-(1,19)) │ ├── left: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,8 +14,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ ParenthesesNode (location: (1,7)-(1,19)) │ │ ├── body: @@ -35,6 +35,7 @@ │ │ │ ├── operator_loc: (1,13)-(1,14) = "=" │ │ │ └── value: │ │ │ @ CallNode (location: (1,15)-(1,18)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -42,14 +43,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── opening_loc: (1,7)-(1,8) = "(" │ │ └── closing_loc: (1,18)-(1,19) = ")" │ └── operator_loc: (1,4)-(1,6) = "&&" └── @ OrNode (location: (3,0)-(3,19)) ├── left: │ @ CallNode (location: (3,0)-(3,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -57,8 +58,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── right: │ @ ParenthesesNode (location: (3,7)-(3,19)) │ ├── body: @@ -79,6 +79,7 @@ │ │ ├── operator_loc: (3,13)-(3,14) = "=" │ │ └── value: │ │ @ CallNode (location: (3,15)-(3,18)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -86,8 +87,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (3,7)-(3,8) = "(" │ └── closing_loc: (3,18)-(3,19) = ")" └── operator_loc: (3,4)-(3,6) = "||" diff --git a/test/prism/snapshots/whitequark/anonymous_blockarg.txt b/test/prism/snapshots/whitequark/anonymous_blockarg.txt index 368a12bb89..dea08d7e73 100644 --- a/test/prism/snapshots/whitequark/anonymous_blockarg.txt +++ b/test/prism/snapshots/whitequark/anonymous_blockarg.txt @@ -24,6 +24,7 @@ │ @ StatementsNode (location: (1,12)-(1,17)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,12)-(1,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -31,11 +32,10 @@ │ ├── opening_loc: (1,15)-(1,16) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (1,17)-(1,18) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (1,16)-(1,17)) - │ │ ├── expression: ∅ - │ │ └── operator_loc: (1,16)-(1,17) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (1,16)-(1,17)) + │ ├── expression: ∅ + │ └── operator_loc: (1,16)-(1,17) = "&" ├── locals: [:&] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/arg_label.txt b/test/prism/snapshots/whitequark/arg_label.txt index 2ca884cfca..892dd882ae 100644 --- a/test/prism/snapshots/whitequark/arg_label.txt +++ b/test/prism/snapshots/whitequark/arg_label.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (2,1)-(2,4)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,1)-(2,4)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -19,16 +20,15 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (2,2)-(2,4)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (2,2)-(2,4)) - │ │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" - │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SymbolNode (location: (2,2)-(2,4)) + │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" + │ │ │ ├── value_loc: (2,3)-(2,4) = "b" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "b" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -46,6 +46,7 @@ │ │ @ StatementsNode (location: (4,10)-(4,13)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (4,10)-(4,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -53,16 +54,15 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (4,11)-(4,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (4,11)-(4,13)) - │ │ │ │ ├── opening_loc: (4,11)-(4,12) = ":" - │ │ │ │ ├── value_loc: (4,12)-(4,13) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SymbolNode (location: (4,11)-(4,13)) + │ │ │ ├── opening_loc: (4,11)-(4,12) = ":" + │ │ │ ├── value_loc: (4,12)-(4,13) = "b" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "b" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (4,0)-(4,3) = "def" @@ -72,6 +72,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (4,14)-(4,17) = "end" └── @ CallNode (location: (6,0)-(6,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -79,37 +80,36 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (6,2)-(6,12)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (6,4)-(6,6)) - │ │ ├── parameters: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (6,4)-(6,5) = "|" - │ │ └── closing_loc: (6,5)-(6,6) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (6,7)-(6,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (6,7)-(6,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (6,7)-(6,8) = "a" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (6,8)-(6,10)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (6,8)-(6,10)) - │ │ │ │ ├── opening_loc: (6,8)-(6,9) = ":" - │ │ │ │ ├── value_loc: (6,9)-(6,10) = "b" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "b" - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── opening_loc: (6,2)-(6,3) = "{" - │ └── closing_loc: (6,11)-(6,12) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (6,2)-(6,12)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: + │ @ BlockParametersNode (location: (6,4)-(6,6)) + │ ├── parameters: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (6,4)-(6,5) = "|" + │ └── closing_loc: (6,5)-(6,6) = "|" + ├── body: + │ @ StatementsNode (location: (6,7)-(6,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (6,7)-(6,10)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (6,7)-(6,8) = "a" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (6,8)-(6,10)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (6,8)-(6,10)) + │ │ ├── opening_loc: (6,8)-(6,9) = ":" + │ │ ├── value_loc: (6,9)-(6,10) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (6,2)-(6,3) = "{" + └── closing_loc: (6,11)-(6,12) = "}" diff --git a/test/prism/snapshots/whitequark/arg_scope.txt b/test/prism/snapshots/whitequark/arg_scope.txt index 91f486cc59..a27d7dc016 100644 --- a/test/prism/snapshots/whitequark/arg_scope.txt +++ b/test/prism/snapshots/whitequark/arg_scope.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :lambda @@ -11,24 +12,23 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,6)-(1,13)) - │ ├── locals: [:a] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,7)-(1,11)) - │ │ ├── parameters: ∅ - │ │ ├── locals: (length: 1) - │ │ │ └── @ BlockLocalVariableNode (location: (1,9)-(1,10)) - │ │ │ └── name: :a - │ │ ├── opening_loc: (1,7)-(1,8) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: - │ │ @ StatementsNode (location: (1,11)-(1,12)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,12)) - │ │ ├── name: :a - │ │ └── depth: 0 - │ ├── opening_loc: (1,6)-(1,7) = "{" - │ └── closing_loc: (1,12)-(1,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,6)-(1,13)) + ├── locals: [:a] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,7)-(1,11)) + │ ├── parameters: ∅ + │ ├── locals: (length: 1) + │ │ └── @ BlockLocalVariableNode (location: (1,9)-(1,10)) + │ │ └── name: :a + │ ├── opening_loc: (1,7)-(1,8) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: + │ @ StatementsNode (location: (1,11)-(1,12)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (1,11)-(1,12)) + │ ├── name: :a + │ └── depth: 0 + ├── opening_loc: (1,6)-(1,7) = "{" + └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/whitequark/args_args_assocs.txt b/test/prism/snapshots/whitequark/args_args_assocs.txt index ce9ef9b4c1..479c5f551e 100644 --- a/test/prism/snapshots/whitequark/args_args_assocs.txt +++ b/test/prism/snapshots/whitequark/args_args_assocs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,24)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,35 +12,35 @@ │ ├── opening_loc: (1,3)-(1,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,18)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (1,4)-(1,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ KeywordHashNode (location: (1,9)-(1,18)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,9)-(1,18)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,9)-(1,13)) - │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" - │ │ │ │ ├── value_loc: (1,10)-(1,13) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,17)-(1,18)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (1,14)-(1,16) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (1,4)-(1,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (1,4)-(1,7) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ KeywordHashNode (location: (1,9)-(1,18)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,9)-(1,18)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,9)-(1,13)) + │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" + │ │ │ ├── value_loc: (1,10)-(1,13) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,17)-(1,18)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (1,14)-(1,16) = "=>" │ ├── closing_loc: (1,18)-(1,19) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,24)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -47,44 +48,43 @@ ├── opening_loc: (3,3)-(3,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (3,4)-(3,18)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (3,4)-(3,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,4)-(3,7) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ KeywordHashNode (location: (3,9)-(3,18)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (3,9)-(3,18)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (3,9)-(3,13)) - │ │ │ ├── opening_loc: (3,9)-(3,10) = ":" - │ │ │ ├── value_loc: (3,10)-(3,13) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (3,17)-(3,18)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (3,14)-(3,16) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (3,4)-(3,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,4)-(3,7) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ KeywordHashNode (location: (3,9)-(3,18)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (3,9)-(3,18)) + │ ├── key: + │ │ @ SymbolNode (location: (3,9)-(3,13)) + │ │ ├── opening_loc: (3,9)-(3,10) = ":" + │ │ ├── value_loc: (3,10)-(3,13) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" + │ ├── value: + │ │ @ IntegerNode (location: (3,17)-(3,18)) + │ │ └── flags: decimal + │ └── operator_loc: (3,14)-(3,16) = "=>" ├── closing_loc: (3,24)-(3,25) = ")" - ├── block: - │ @ BlockArgumentNode (location: (3,20)-(3,24)) - │ ├── expression: - │ │ @ CallNode (location: (3,21)-(3,24)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :baz - │ │ ├── message_loc: (3,21)-(3,24) = "baz" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── operator_loc: (3,20)-(3,21) = "&" - └── flags: ∅ + └── block: + @ BlockArgumentNode (location: (3,20)-(3,24)) + ├── expression: + │ @ CallNode (location: (3,21)-(3,24)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :baz + │ ├── message_loc: (3,21)-(3,24) = "baz" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + └── operator_loc: (3,20)-(3,21) = "&" diff --git a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt index ca87c57e69..98e94733e9 100644 --- a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt +++ b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,20)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,39 +15,37 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,3)-(1,20) = "[bar, :baz => 1,]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,18)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (1,4)-(1,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (1,4)-(1,7) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ KeywordHashNode (location: (1,9)-(1,18)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,9)-(1,18)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,9)-(1,13)) - │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" - │ │ │ ├── value_loc: (1,10)-(1,13) = "baz" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "baz" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,17)-(1,18)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,14)-(1,16) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,4)-(1,7) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ KeywordHashNode (location: (1,9)-(1,18)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,9)-(1,18)) + │ ├── key: + │ │ @ SymbolNode (location: (1,9)-(1,13)) + │ │ ├── opening_loc: (1,9)-(1,10) = ":" + │ │ ├── value_loc: (1,10)-(1,13) = "baz" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "baz" + │ ├── value: + │ │ @ IntegerNode (location: (1,17)-(1,18)) + │ │ └── flags: decimal + │ └── operator_loc: (1,14)-(1,16) = "=>" ├── closing_loc: (1,19)-(1,20) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/args_args_comma.txt b/test/prism/snapshots/whitequark/args_args_comma.txt index 2bd95fde0f..70f6c07d6f 100644 --- a/test/prism/snapshots/whitequark/args_args_comma.txt +++ b/test/prism/snapshots/whitequark/args_args_comma.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,26 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,3)-(1,9) = "[bar,]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (1,4)-(1,7) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,4)-(1,7)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (1,4)-(1,7) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (1,8)-(1,9) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/args_args_star.txt b/test/prism/snapshots/whitequark/args_args_star.txt index 21ce7af2b4..b38eacfb14 100644 --- a/test/prism/snapshots/whitequark/args_args_star.txt +++ b/test/prism/snapshots/whitequark/args_args_star.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,19)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,35 +12,35 @@ │ ├── opening_loc: (1,3)-(1,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (1,4)-(1,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ SplatNode (location: (1,9)-(1,13)) - │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (1,10)-(1,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (1,10)-(1,13) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (1,4)-(1,7)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (1,4)-(1,7) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ SplatNode (location: (1,9)-(1,13)) + │ │ ├── operator_loc: (1,9)-(1,10) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (1,10)-(1,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,10)-(1,13) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (1,13)-(1,14) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -47,44 +48,43 @@ ├── opening_loc: (3,3)-(3,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (3,4)-(3,13)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (3,4)-(3,7)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,4)-(3,7) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ SplatNode (location: (3,9)-(3,13)) - │ │ ├── operator_loc: (3,9)-(3,10) = "*" - │ │ └── expression: - │ │ @ CallNode (location: (3,10)-(3,13)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (3,10)-(3,13) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (3,4)-(3,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,4)-(3,7) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ SplatNode (location: (3,9)-(3,13)) + │ ├── operator_loc: (3,9)-(3,10) = "*" + │ └── expression: + │ @ CallNode (location: (3,10)-(3,13)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (3,10)-(3,13) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (3,19)-(3,20) = ")" - ├── block: - │ @ BlockArgumentNode (location: (3,15)-(3,19)) - │ ├── expression: - │ │ @ CallNode (location: (3,16)-(3,19)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :baz - │ │ ├── message_loc: (3,16)-(3,19) = "baz" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── operator_loc: (3,15)-(3,16) = "&" - └── flags: ∅ + └── block: + @ BlockArgumentNode (location: (3,15)-(3,19)) + ├── expression: + │ @ CallNode (location: (3,16)-(3,19)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :baz + │ ├── message_loc: (3,16)-(3,19) = "baz" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + └── operator_loc: (3,15)-(3,16) = "&" diff --git a/test/prism/snapshots/whitequark/args_assocs.txt b/test/prism/snapshots/whitequark/args_assocs.txt index b136bbd322..fecf1b3663 100644 --- a/test/prism/snapshots/whitequark/args_assocs.txt +++ b/test/prism/snapshots/whitequark/args_assocs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(11,17)) └── body: (length: 6) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,25 +12,25 @@ │ ├── opening_loc: (1,3)-(1,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,4)-(1,13)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,4)-(1,8)) - │ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" - │ │ │ │ ├── value_loc: (1,5)-(1,8) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (1,9)-(1,11) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,4)-(1,13)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,4)-(1,8)) + │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" + │ │ │ ├── value_loc: (1,5)-(1,8) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,13)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (1,9)-(1,11) = "=>" │ ├── closing_loc: (1,13)-(1,14) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -37,38 +38,38 @@ │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (3,4)-(3,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (3,4)-(3,13)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (3,4)-(3,8)) - │ │ │ │ ├── opening_loc: (3,4)-(3,5) = ":" - │ │ │ │ ├── value_loc: (3,5)-(3,8) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (3,12)-(3,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (3,9)-(3,11) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (3,4)-(3,13)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (3,4)-(3,13)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (3,4)-(3,8)) + │ │ │ ├── opening_loc: (3,4)-(3,5) = ":" + │ │ │ ├── value_loc: (3,5)-(3,8) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (3,12)-(3,13)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (3,9)-(3,11) = "=>" │ ├── closing_loc: (3,19)-(3,20) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (3,15)-(3,19)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (3,16)-(3,19)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (3,16)-(3,19) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (3,15)-(3,16) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (3,15)-(3,19)) + │ ├── expression: + │ │ @ CallNode (location: (3,16)-(3,19)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (3,16)-(3,19) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (3,15)-(3,16) = "&" ├── @ CallNode (location: (5,0)-(5,21)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SelfNode (location: (5,0)-(5,4)) │ ├── call_operator_loc: (5,4)-(5,5) = "." @@ -77,35 +78,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,9)-(5,21)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (5,9)-(5,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (5,14)-(5,21)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (5,14)-(5,16)) - │ │ │ │ ├── opening_loc: (5,14)-(5,15) = ":" - │ │ │ │ ├── value_loc: (5,15)-(5,16) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (5,20)-(5,21)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (5,17)-(5,19) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (5,9)-(5,12)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (5,9)-(5,12) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ KeywordHashNode (location: (5,14)-(5,21)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (5,14)-(5,21)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (5,14)-(5,16)) + │ │ │ ├── opening_loc: (5,14)-(5,15) = ":" + │ │ │ ├── value_loc: (5,15)-(5,16) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (5,20)-(5,21)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (5,17)-(5,19) = "=>" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SelfNode (location: (7,0)-(7,4)) │ ├── call_operator_loc: ∅ @@ -114,44 +115,43 @@ │ ├── opening_loc: (7,4)-(7,5) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,5)-(7,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (7,5)-(7,14)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (7,5)-(7,9)) - │ │ │ │ ├── opening_loc: (7,5)-(7,6) = ":" - │ │ │ │ ├── value_loc: (7,6)-(7,9) = "bar" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "bar" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (7,13)-(7,14)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (7,10)-(7,12) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (7,5)-(7,14)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (7,5)-(7,14)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (7,5)-(7,9)) + │ │ │ ├── opening_loc: (7,5)-(7,6) = ":" + │ │ │ ├── value_loc: (7,6)-(7,9) = "bar" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "bar" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (7,13)-(7,14)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (7,10)-(7,12) = "=>" │ ├── closing_loc: (7,14)-(7,15) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ SuperNode (location: (9,0)-(9,17)) │ ├── keyword_loc: (9,0)-(9,5) = "super" │ ├── lparen_loc: (9,5)-(9,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (9,6)-(9,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (9,6)-(9,16)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (9,6)-(9,10)) - │ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":" - │ │ │ │ ├── value_loc: (9,7)-(9,10) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (9,14)-(9,16)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (9,11)-(9,13) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (9,6)-(9,16)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (9,6)-(9,16)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (9,6)-(9,10)) + │ │ │ ├── opening_loc: (9,6)-(9,7) = ":" + │ │ │ ├── value_loc: (9,7)-(9,10) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (9,14)-(9,16)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (9,11)-(9,13) = "=>" │ ├── rparen_loc: (9,16)-(9,17) = ")" │ └── block: ∅ └── @ YieldNode (location: (11,0)-(11,17)) @@ -159,19 +159,19 @@ ├── lparen_loc: (11,5)-(11,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (11,6)-(11,16)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (11,6)-(11,16)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (11,6)-(11,16)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (11,6)-(11,10)) - │ │ │ ├── opening_loc: (11,6)-(11,7) = ":" - │ │ │ ├── value_loc: (11,7)-(11,10) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (11,14)-(11,16)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (11,11)-(11,13) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (11,6)-(11,16)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (11,6)-(11,16)) + │ ├── key: + │ │ @ SymbolNode (location: (11,6)-(11,10)) + │ │ ├── opening_loc: (11,6)-(11,7) = ":" + │ │ ├── value_loc: (11,7)-(11,10) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" + │ ├── value: + │ │ @ IntegerNode (location: (11,14)-(11,16)) + │ │ └── flags: decimal + │ └── operator_loc: (11,11)-(11,13) = "=>" └── rparen_loc: (11,16)-(11,17) = ")" diff --git a/test/prism/snapshots/whitequark/args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_assocs_comma.txt index bb3dc68d06..ac9a72adbc 100644 --- a/test/prism/snapshots/whitequark/args_assocs_comma.txt +++ b/test/prism/snapshots/whitequark/args_assocs_comma.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,29 +15,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,3)-(1,15) = "[:baz => 1,]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,13)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,4)-(1,13)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,4)-(1,8)) - │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" - │ │ │ ├── value_loc: (1,5)-(1,8) = "baz" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "baz" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (1,9)-(1,11) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,4)-(1,13)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,4)-(1,13)) + │ ├── key: + │ │ @ SymbolNode (location: (1,4)-(1,8)) + │ │ ├── opening_loc: (1,4)-(1,5) = ":" + │ │ ├── value_loc: (1,5)-(1,8) = "baz" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "baz" + │ ├── value: + │ │ @ IntegerNode (location: (1,12)-(1,13)) + │ │ └── flags: decimal + │ └── operator_loc: (1,9)-(1,11) = "=>" ├── closing_loc: (1,14)-(1,15) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/args_assocs_legacy.txt b/test/prism/snapshots/whitequark/args_assocs_legacy.txt index b136bbd322..fecf1b3663 100644 --- a/test/prism/snapshots/whitequark/args_assocs_legacy.txt +++ b/test/prism/snapshots/whitequark/args_assocs_legacy.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(11,17)) └── body: (length: 6) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,25 +12,25 @@ │ ├── opening_loc: (1,3)-(1,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,4)-(1,13)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,4)-(1,8)) - │ │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" - │ │ │ │ ├── value_loc: (1,5)-(1,8) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (1,9)-(1,11) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,4)-(1,13)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,4)-(1,8)) + │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" + │ │ │ ├── value_loc: (1,5)-(1,8) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,13)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (1,9)-(1,11) = "=>" │ ├── closing_loc: (1,13)-(1,14) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -37,38 +38,38 @@ │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (3,4)-(3,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (3,4)-(3,13)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (3,4)-(3,8)) - │ │ │ │ ├── opening_loc: (3,4)-(3,5) = ":" - │ │ │ │ ├── value_loc: (3,5)-(3,8) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (3,12)-(3,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (3,9)-(3,11) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (3,4)-(3,13)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (3,4)-(3,13)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (3,4)-(3,8)) + │ │ │ ├── opening_loc: (3,4)-(3,5) = ":" + │ │ │ ├── value_loc: (3,5)-(3,8) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (3,12)-(3,13)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (3,9)-(3,11) = "=>" │ ├── closing_loc: (3,19)-(3,20) = ")" - │ ├── block: - │ │ @ BlockArgumentNode (location: (3,15)-(3,19)) - │ │ ├── expression: - │ │ │ @ CallNode (location: (3,16)-(3,19)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :baz - │ │ │ ├── message_loc: (3,16)-(3,19) = "baz" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (3,15)-(3,16) = "&" - │ └── flags: ∅ + │ └── block: + │ @ BlockArgumentNode (location: (3,15)-(3,19)) + │ ├── expression: + │ │ @ CallNode (location: (3,16)-(3,19)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz + │ │ ├── message_loc: (3,16)-(3,19) = "baz" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (3,15)-(3,16) = "&" ├── @ CallNode (location: (5,0)-(5,21)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SelfNode (location: (5,0)-(5,4)) │ ├── call_operator_loc: (5,4)-(5,5) = "." @@ -77,35 +78,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,9)-(5,21)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (5,9)-(5,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (5,14)-(5,21)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (5,14)-(5,16)) - │ │ │ │ ├── opening_loc: (5,14)-(5,15) = ":" - │ │ │ │ ├── value_loc: (5,15)-(5,16) = "a" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (5,20)-(5,21)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (5,17)-(5,19) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (5,9)-(5,12)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (5,9)-(5,12) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── @ KeywordHashNode (location: (5,14)-(5,21)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (5,14)-(5,21)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (5,14)-(5,16)) + │ │ │ ├── opening_loc: (5,14)-(5,15) = ":" + │ │ │ ├── value_loc: (5,15)-(5,16) = "a" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (5,20)-(5,21)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (5,17)-(5,19) = "=>" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ SelfNode (location: (7,0)-(7,4)) │ ├── call_operator_loc: ∅ @@ -114,44 +115,43 @@ │ ├── opening_loc: (7,4)-(7,5) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,5)-(7,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (7,5)-(7,14)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (7,5)-(7,9)) - │ │ │ │ ├── opening_loc: (7,5)-(7,6) = ":" - │ │ │ │ ├── value_loc: (7,6)-(7,9) = "bar" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "bar" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (7,13)-(7,14)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (7,10)-(7,12) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (7,5)-(7,14)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (7,5)-(7,14)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (7,5)-(7,9)) + │ │ │ ├── opening_loc: (7,5)-(7,6) = ":" + │ │ │ ├── value_loc: (7,6)-(7,9) = "bar" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "bar" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (7,13)-(7,14)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (7,10)-(7,12) = "=>" │ ├── closing_loc: (7,14)-(7,15) = "]" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ SuperNode (location: (9,0)-(9,17)) │ ├── keyword_loc: (9,0)-(9,5) = "super" │ ├── lparen_loc: (9,5)-(9,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (9,6)-(9,16)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (9,6)-(9,16)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (9,6)-(9,10)) - │ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":" - │ │ │ │ ├── value_loc: (9,7)-(9,10) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (9,14)-(9,16)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: (9,11)-(9,13) = "=>" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (9,6)-(9,16)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (9,6)-(9,16)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (9,6)-(9,10)) + │ │ │ ├── opening_loc: (9,6)-(9,7) = ":" + │ │ │ ├── value_loc: (9,7)-(9,10) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (9,14)-(9,16)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: (9,11)-(9,13) = "=>" │ ├── rparen_loc: (9,16)-(9,17) = ")" │ └── block: ∅ └── @ YieldNode (location: (11,0)-(11,17)) @@ -159,19 +159,19 @@ ├── lparen_loc: (11,5)-(11,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (11,6)-(11,16)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (11,6)-(11,16)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (11,6)-(11,16)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (11,6)-(11,10)) - │ │ │ ├── opening_loc: (11,6)-(11,7) = ":" - │ │ │ ├── value_loc: (11,7)-(11,10) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (11,14)-(11,16)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: (11,11)-(11,13) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (11,6)-(11,16)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (11,6)-(11,16)) + │ ├── key: + │ │ @ SymbolNode (location: (11,6)-(11,10)) + │ │ ├── opening_loc: (11,6)-(11,7) = ":" + │ │ ├── value_loc: (11,7)-(11,10) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" + │ ├── value: + │ │ @ IntegerNode (location: (11,14)-(11,16)) + │ │ └── flags: decimal + │ └── operator_loc: (11,11)-(11,13) = "=>" └── rparen_loc: (11,16)-(11,17) = ")" diff --git a/test/prism/snapshots/whitequark/args_block_pass.txt b/test/prism/snapshots/whitequark/args_block_pass.txt index b4c70862c1..84089ed92c 100644 --- a/test/prism/snapshots/whitequark/args_block_pass.txt +++ b/test/prism/snapshots/whitequark/args_block_pass.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,18 +12,17 @@ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,8)-(1,9) = ")" - ├── block: - │ @ BlockArgumentNode (location: (1,4)-(1,8)) - │ ├── expression: - │ │ @ CallNode (location: (1,5)-(1,8)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (1,5)-(1,8) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── operator_loc: (1,4)-(1,5) = "&" - └── flags: ∅ + └── block: + @ BlockArgumentNode (location: (1,4)-(1,8)) + ├── expression: + │ @ CallNode (location: (1,5)-(1,8)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (1,5)-(1,8) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + └── operator_loc: (1,4)-(1,5) = "&" diff --git a/test/prism/snapshots/whitequark/args_cmd.txt b/test/prism/snapshots/whitequark/args_cmd.txt index eca8ff1ce8..f626fc686e 100644 --- a/test/prism/snapshots/whitequark/args_cmd.txt +++ b/test/prism/snapshots/whitequark/args_cmd.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,31 +12,30 @@ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,9)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,4)-(1,9)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :f - │ │ ├── message_loc: (1,4)-(1,5) = "f" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,6)-(1,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :f + │ ├── message_loc: (1,4)-(1,5) = "f" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,6)-(1,9) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (1,9)-(1,10) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/args_star.txt b/test/prism/snapshots/whitequark/args_star.txt index 0715016d55..6cbc248ba2 100644 --- a/test/prism/snapshots/whitequark/args_star.txt +++ b/test/prism/snapshots/whitequark/args_star.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,14)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,25 +12,25 @@ │ ├── opening_loc: (1,3)-(1,4) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (1,4)-(1,8)) - │ │ │ ├── operator_loc: (1,4)-(1,5) = "*" - │ │ │ └── expression: - │ │ │ @ CallNode (location: (1,5)-(1,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (1,5)-(1,8) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (1,4)-(1,8)) + │ │ ├── operator_loc: (1,4)-(1,5) = "*" + │ │ └── expression: + │ │ @ CallNode (location: (1,5)-(1,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,5)-(1,8) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (1,8)-(1,9) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -37,34 +38,33 @@ ├── opening_loc: (3,3)-(3,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (3,4)-(3,8)) - │ ├── arguments: (length: 1) - │ │ └── @ SplatNode (location: (3,4)-(3,8)) - │ │ ├── operator_loc: (3,4)-(3,5) = "*" - │ │ └── expression: - │ │ @ CallNode (location: (3,5)-(3,8)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (3,5)-(3,8) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ SplatNode (location: (3,4)-(3,8)) + │ ├── operator_loc: (3,4)-(3,5) = "*" + │ └── expression: + │ @ CallNode (location: (3,5)-(3,8)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (3,5)-(3,8) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (3,14)-(3,15) = ")" - ├── block: - │ @ BlockArgumentNode (location: (3,10)-(3,14)) - │ ├── expression: - │ │ @ CallNode (location: (3,11)-(3,14)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :baz - │ │ ├── message_loc: (3,11)-(3,14) = "baz" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── operator_loc: (3,10)-(3,11) = "&" - └── flags: ∅ + └── block: + @ BlockArgumentNode (location: (3,10)-(3,14)) + ├── expression: + │ @ CallNode (location: (3,11)-(3,14)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :baz + │ ├── message_loc: (3,11)-(3,14) = "baz" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + └── operator_loc: (3,10)-(3,11) = "&" diff --git a/test/prism/snapshots/whitequark/array_assocs.txt b/test/prism/snapshots/whitequark/array_assocs.txt index 3fa036d7a2..0ddd0451ee 100644 --- a/test/prism/snapshots/whitequark/array_assocs.txt +++ b/test/prism/snapshots/whitequark/array_assocs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,13)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,10)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (1,2)-(1,8)) │ │ └── elements: (length: 1) @@ -16,9 +17,9 @@ │ │ │ └── flags: decimal │ │ └── operator_loc: (1,4)-(1,6) = "=>" │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (1,9)-(1,10) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,9)-(1,10) = "]" └── @ ArrayNode (location: (3,0)-(3,13)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (3,2)-(3,3)) │ │ └── flags: decimal @@ -33,5 +34,4 @@ │ │ └── flags: decimal │ └── operator_loc: (3,7)-(3,9) = "=>" ├── opening_loc: (3,0)-(3,1) = "[" - ├── closing_loc: (3,12)-(3,13) = "]" - └── flags: ∅ + └── closing_loc: (3,12)-(3,13) = "]" diff --git a/test/prism/snapshots/whitequark/array_plain.txt b/test/prism/snapshots/whitequark/array_plain.txt index 631f1862f7..17dd4a2137 100644 --- a/test/prism/snapshots/whitequark/array_plain.txt +++ b/test/prism/snapshots/whitequark/array_plain.txt @@ -4,11 +4,11 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,1)-(1,2)) │ │ └── flags: decimal │ └── @ IntegerNode (location: (1,4)-(1,5)) │ └── flags: decimal ├── opening_loc: (1,0)-(1,1) = "[" - ├── closing_loc: (1,5)-(1,6) = "]" - └── flags: ∅ + └── closing_loc: (1,5)-(1,6) = "]" diff --git a/test/prism/snapshots/whitequark/array_splat.txt b/test/prism/snapshots/whitequark/array_splat.txt index f0e14838e4..3e6c8a6efe 100644 --- a/test/prism/snapshots/whitequark/array_splat.txt +++ b/test/prism/snapshots/whitequark/array_splat.txt @@ -4,11 +4,13 @@ @ StatementsNode (location: (1,0)-(5,9)) └── body: (length: 3) ├── @ ArrayNode (location: (1,0)-(1,6)) + │ ├── flags: contains_splat │ ├── elements: (length: 1) │ │ └── @ SplatNode (location: (1,1)-(1,5)) │ │ ├── operator_loc: (1,1)-(1,2) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,2)-(1,5)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -16,12 +18,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,0)-(1,1) = "[" - │ ├── closing_loc: (1,5)-(1,6) = "]" - │ └── flags: contains_splat + │ └── closing_loc: (1,5)-(1,6) = "]" ├── @ ArrayNode (location: (3,0)-(3,12)) + │ ├── flags: contains_splat │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (3,1)-(3,2)) │ │ │ └── flags: decimal @@ -29,6 +30,7 @@ │ │ │ ├── operator_loc: (3,4)-(3,5) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (3,5)-(3,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -36,14 +38,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ IntegerNode (location: (3,10)-(3,11)) │ │ └── flags: decimal │ ├── opening_loc: (3,0)-(3,1) = "[" - │ ├── closing_loc: (3,11)-(3,12) = "]" - │ └── flags: contains_splat + │ └── closing_loc: (3,11)-(3,12) = "]" └── @ ArrayNode (location: (5,0)-(5,9)) + ├── flags: contains_splat ├── elements: (length: 2) │ ├── @ IntegerNode (location: (5,1)-(5,2)) │ │ └── flags: decimal @@ -51,6 +52,7 @@ │ ├── operator_loc: (5,4)-(5,5) = "*" │ └── expression: │ @ CallNode (location: (5,5)-(5,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -58,8 +60,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── opening_loc: (5,0)-(5,1) = "[" - ├── closing_loc: (5,8)-(5,9) = "]" - └── flags: contains_splat + └── closing_loc: (5,8)-(5,9) = "]" diff --git a/test/prism/snapshots/whitequark/array_symbols.txt b/test/prism/snapshots/whitequark/array_symbols.txt index a2a3d284be..dd80fe11dc 100644 --- a/test/prism/snapshots/whitequark/array_symbols.txt +++ b/test/prism/snapshots/whitequark/array_symbols.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ SymbolNode (location: (1,3)-(1,6)) │ │ ├── opening_loc: ∅ @@ -16,5 +17,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "bar" ├── opening_loc: (1,0)-(1,3) = "%i[" - ├── closing_loc: (1,10)-(1,11) = "]" - └── flags: ∅ + └── closing_loc: (1,10)-(1,11) = "]" diff --git a/test/prism/snapshots/whitequark/array_symbols_empty.txt b/test/prism/snapshots/whitequark/array_symbols_empty.txt index 13c78b5497..1068ba6d0e 100644 --- a/test/prism/snapshots/whitequark/array_symbols_empty.txt +++ b/test/prism/snapshots/whitequark/array_symbols_empty.txt @@ -4,12 +4,12 @@ @ StatementsNode (location: (1,0)-(3,4)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,4)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%I(" - │ ├── closing_loc: (1,3)-(1,4) = ")" - │ └── flags: ∅ + │ └── closing_loc: (1,3)-(1,4) = ")" └── @ ArrayNode (location: (3,0)-(3,4)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (3,0)-(3,3) = "%i[" - ├── closing_loc: (3,3)-(3,4) = "]" - └── flags: ∅ + └── closing_loc: (3,3)-(3,4) = "]" diff --git a/test/prism/snapshots/whitequark/array_symbols_interp.txt b/test/prism/snapshots/whitequark/array_symbols_interp.txt index 433e78de7f..a36920ba06 100644 --- a/test/prism/snapshots/whitequark/array_symbols_interp.txt +++ b/test/prism/snapshots/whitequark/array_symbols_interp.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,13)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,3)-(1,6)) │ │ │ ├── opening_loc: ∅ @@ -19,6 +20,7 @@ │ │ │ │ @ StatementsNode (location: (1,9)-(1,12)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -26,14 +28,13 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (1,12)-(1,13) = "}" │ │ └── closing_loc: ∅ │ ├── opening_loc: (1,0)-(1,3) = "%I[" - │ ├── closing_loc: (1,13)-(1,14) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,13)-(1,14) = "]" └── @ ArrayNode (location: (3,0)-(3,13)) + ├── flags: ∅ ├── elements: (length: 1) │ └── @ InterpolatedSymbolNode (location: (3,3)-(3,12)) │ ├── opening_loc: ∅ @@ -50,6 +51,7 @@ │ │ │ @ StatementsNode (location: (3,8)-(3,11)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,8)-(3,11)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -57,10 +59,8 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (3,11)-(3,12) = "}" │ └── closing_loc: ∅ ├── opening_loc: (3,0)-(3,3) = "%I[" - ├── closing_loc: (3,12)-(3,13) = "]" - └── flags: ∅ + └── closing_loc: (3,12)-(3,13) = "]" diff --git a/test/prism/snapshots/whitequark/array_words.txt b/test/prism/snapshots/whitequark/array_words.txt index 6a5cbf0772..84121de355 100644 --- a/test/prism/snapshots/whitequark/array_words.txt +++ b/test/prism/snapshots/whitequark/array_words.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ StringNode (location: (1,3)-(1,6)) │ │ ├── flags: ∅ @@ -18,5 +19,4 @@ │ ├── closing_loc: ∅ │ └── unescaped: "bar" ├── opening_loc: (1,0)-(1,3) = "%w[" - ├── closing_loc: (1,10)-(1,11) = "]" - └── flags: ∅ + └── closing_loc: (1,10)-(1,11) = "]" diff --git a/test/prism/snapshots/whitequark/array_words_empty.txt b/test/prism/snapshots/whitequark/array_words_empty.txt index f24f8508ea..e4dba94cdf 100644 --- a/test/prism/snapshots/whitequark/array_words_empty.txt +++ b/test/prism/snapshots/whitequark/array_words_empty.txt @@ -4,12 +4,12 @@ @ StatementsNode (location: (1,0)-(3,4)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,4)) + │ ├── flags: ∅ │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%W(" - │ ├── closing_loc: (1,3)-(1,4) = ")" - │ └── flags: ∅ + │ └── closing_loc: (1,3)-(1,4) = ")" └── @ ArrayNode (location: (3,0)-(3,4)) + ├── flags: ∅ ├── elements: (length: 0) ├── opening_loc: (3,0)-(3,3) = "%w[" - ├── closing_loc: (3,3)-(3,4) = "]" - └── flags: ∅ + └── closing_loc: (3,3)-(3,4) = "]" diff --git a/test/prism/snapshots/whitequark/array_words_interp.txt b/test/prism/snapshots/whitequark/array_words_interp.txt index ff3bb3d0ed..3e9e0eaaaa 100644 --- a/test/prism/snapshots/whitequark/array_words_interp.txt +++ b/test/prism/snapshots/whitequark/array_words_interp.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,22)) └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (1,3)-(1,6)) │ │ │ ├── flags: ∅ @@ -20,6 +21,7 @@ │ │ │ │ @ StatementsNode (location: (1,9)-(1,12)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -27,14 +29,13 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (1,12)-(1,13) = "}" │ │ └── closing_loc: ∅ │ ├── opening_loc: (1,0)-(1,3) = "%W[" - │ ├── closing_loc: (1,13)-(1,14) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,13)-(1,14) = "]" └── @ ArrayNode (location: (3,0)-(3,22)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ StringNode (location: (3,3)-(3,6)) │ │ ├── flags: ∅ @@ -51,6 +52,7 @@ │ │ │ │ @ StatementsNode (location: (3,9)-(3,12)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (3,9)-(3,12)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -58,8 +60,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (3,12)-(3,13) = "}" │ │ ├── @ StringNode (location: (3,13)-(3,16)) │ │ │ ├── flags: ∅ @@ -74,5 +75,4 @@ │ │ └── name: :@baz │ └── closing_loc: ∅ ├── opening_loc: (3,0)-(3,3) = "%W[" - ├── closing_loc: (3,21)-(3,22) = "]" - └── flags: ∅ + └── closing_loc: (3,21)-(3,22) = "]" diff --git a/test/prism/snapshots/whitequark/asgn_cmd.txt b/test/prism/snapshots/whitequark/asgn_cmd.txt index 79dc064bb8..ee13da76c0 100644 --- a/test/prism/snapshots/whitequark/asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/asgn_cmd.txt @@ -14,6 +14,7 @@ │ │ ├── name_loc: (1,6)-(1,9) = "bar" │ │ ├── value: │ │ │ @ CallNode (location: (1,12)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :m @@ -21,14 +22,13 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (1,14)-(1,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,14)-(1,17)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (1,14)-(1,17)) + │ │ │ │ ├── name: :foo + │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── operator_loc: (1,10)-(1,11) = "=" │ └── operator_loc: (1,4)-(1,5) = "=" └── @ LocalVariableWriteNode (location: (3,0)-(3,11)) @@ -37,6 +37,7 @@ ├── name_loc: (3,0)-(3,3) = "foo" ├── value: │ @ CallNode (location: (3,6)-(3,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -44,12 +45,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,8)-(3,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (3,8)-(3,11)) - │ │ │ ├── name: :foo - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (3,8)-(3,11)) + │ │ ├── name: :foo + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── operator_loc: (3,4)-(3,5) = "=" diff --git a/test/prism/snapshots/whitequark/asgn_mrhs.txt b/test/prism/snapshots/whitequark/asgn_mrhs.txt index 869a2d0626..11caa62274 100644 --- a/test/prism/snapshots/whitequark/asgn_mrhs.txt +++ b/test/prism/snapshots/whitequark/asgn_mrhs.txt @@ -9,11 +9,13 @@ │ ├── name_loc: (1,0)-(1,3) = "foo" │ ├── value: │ │ @ ArrayNode (location: (1,6)-(1,10)) + │ │ ├── flags: contains_splat │ │ ├── elements: (length: 1) │ │ │ └── @ SplatNode (location: (1,6)-(1,10)) │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -21,11 +23,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: contains_splat + │ │ └── closing_loc: ∅ │ └── operator_loc: (1,4)-(1,5) = "=" ├── @ LocalVariableWriteNode (location: (3,0)-(3,12)) │ ├── name: :foo @@ -33,8 +33,10 @@ │ ├── name_loc: (3,0)-(3,3) = "foo" │ ├── value: │ │ @ ArrayNode (location: (3,6)-(3,12)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ CallNode (location: (3,6)-(3,9)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -42,13 +44,11 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12)) │ │ │ └── flags: decimal │ │ ├── opening_loc: ∅ - │ │ ├── closing_loc: ∅ - │ │ └── flags: ∅ + │ │ └── closing_loc: ∅ │ └── operator_loc: (3,4)-(3,5) = "=" └── @ LocalVariableWriteNode (location: (5,0)-(5,15)) ├── name: :foo @@ -56,8 +56,10 @@ ├── name_loc: (5,0)-(5,3) = "foo" ├── value: │ @ ArrayNode (location: (5,6)-(5,15)) + │ ├── flags: contains_splat │ ├── elements: (length: 2) │ │ ├── @ CallNode (location: (5,6)-(5,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -65,12 +67,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (5,11)-(5,15)) │ │ ├── operator_loc: (5,11)-(5,12) = "*" │ │ └── expression: │ │ @ CallNode (location: (5,12)-(5,15)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -78,9 +80,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: contains_splat + │ └── closing_loc: ∅ └── operator_loc: (5,4)-(5,5) = "=" diff --git a/test/prism/snapshots/whitequark/bang.txt b/test/prism/snapshots/whitequark/bang.txt index 0638e48e46..843d0edea4 100644 --- a/test/prism/snapshots/whitequark/bang.txt +++ b/test/prism/snapshots/whitequark/bang.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,1)-(1,4)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bang_cmd.txt b/test/prism/snapshots/whitequark/bang_cmd.txt index df6f18ae81..83f70c6c2b 100644 --- a/test/prism/snapshots/whitequark/bang_cmd.txt +++ b/test/prism/snapshots/whitequark/bang_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,6)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,1)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -13,26 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,3)-(1,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,3)-(1,6)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (1,3)-(1,6) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,3)-(1,6)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,3)-(1,6) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/begin_cmdarg.txt b/test/prism/snapshots/whitequark/begin_cmdarg.txt index 1794cad2b7..26045f1caa 100644 --- a/test/prism/snapshots/whitequark/begin_cmdarg.txt +++ b/test/prism/snapshots/whitequark/begin_cmdarg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,28)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,28)) - │ ├── arguments: (length: 1) - │ │ └── @ BeginNode (location: (1,2)-(1,28)) - │ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin" - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (1,8)-(1,24)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,8)-(1,24)) - │ │ │ ├── receiver: - │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ └── flags: decimal - │ │ │ ├── call_operator_loc: (1,9)-(1,10) = "." - │ │ │ ├── name: :times - │ │ │ ├── message_loc: (1,10)-(1,15) = "times" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,16)-(1,24)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (1,19)-(1,20)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (1,19)-(1,20)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── opening_loc: (1,16)-(1,18) = "do" - │ │ │ │ └── closing_loc: (1,21)-(1,24) = "end" - │ │ │ └── flags: ∅ - │ │ ├── rescue_clause: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (1,25)-(1,28) = "end" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ BeginNode (location: (1,2)-(1,28)) + │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin" + │ ├── statements: + │ │ @ StatementsNode (location: (1,8)-(1,24)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,8)-(1,24)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ │ └── flags: decimal + │ │ ├── call_operator_loc: (1,9)-(1,10) = "." + │ │ ├── name: :times + │ │ ├── message_loc: (1,10)-(1,15) = "times" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,16)-(1,24)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (1,19)-(1,20)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,19)-(1,20)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (1,16)-(1,18) = "do" + │ │ └── closing_loc: (1,21)-(1,24) = "end" + │ ├── rescue_clause: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (1,25)-(1,28) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt b/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt index 97cdd35f5c..e67233cc03 100644 --- a/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt +++ b/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,6)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,12 +12,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ RangeNode (location: (2,0)-(2,6)) + ├── flags: exclude_end ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,3)-(2,6)) │ └── flags: decimal - ├── operator_loc: (2,0)-(2,3) = "..." - └── flags: exclude_end + └── operator_loc: (2,0)-(2,3) = "..." diff --git a/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt b/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt index 6792574ec9..64643f2189 100644 --- a/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt +++ b/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,5)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,12 +12,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ RangeNode (location: (2,0)-(2,5)) + ├── flags: ∅ ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,2)-(2,5)) │ └── flags: decimal - ├── operator_loc: (2,0)-(2,2) = ".." - └── flags: ∅ + └── operator_loc: (2,0)-(2,2) = ".." diff --git a/test/prism/snapshots/whitequark/beginless_range.txt b/test/prism/snapshots/whitequark/beginless_range.txt index 7ec06309c4..ffbde4de34 100644 --- a/test/prism/snapshots/whitequark/beginless_range.txt +++ b/test/prism/snapshots/whitequark/beginless_range.txt @@ -4,16 +4,16 @@ @ StatementsNode (location: (1,0)-(3,5)) └── body: (length: 2) ├── @ RangeNode (location: (1,0)-(1,6)) + │ ├── flags: exclude_end │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (1,3)-(1,6)) │ │ └── flags: decimal - │ ├── operator_loc: (1,0)-(1,3) = "..." - │ └── flags: exclude_end + │ └── operator_loc: (1,0)-(1,3) = "..." └── @ RangeNode (location: (3,0)-(3,5)) + ├── flags: ∅ ├── left: ∅ ├── right: │ @ IntegerNode (location: (3,2)-(3,5)) │ └── flags: decimal - ├── operator_loc: (3,0)-(3,2) = ".." - └── flags: ∅ + └── operator_loc: (3,0)-(3,2) = ".." diff --git a/test/prism/snapshots/whitequark/blockargs.txt b/test/prism/snapshots/whitequark/blockargs.txt index 76ff9a6eaa..3abacbea60 100644 --- a/test/prism/snapshots/whitequark/blockargs.txt +++ b/test/prism/snapshots/whitequark/blockargs.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(71,7)) └── body: (length: 35) ├── @ CallNode (location: (1,0)-(1,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -11,16 +12,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,1)-(1,5)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,1)-(1,2) = "{" - │ │ └── closing_loc: (1,4)-(1,5) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,1)-(1,5)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,1)-(1,2) = "{" + │ └── closing_loc: (1,4)-(1,5) = "}" ├── @ CallNode (location: (3,0)-(3,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -28,21 +29,21 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,1)-(3,8)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (3,3)-(3,6)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (3,3)-(3,4) = "|" - │ │ │ └── closing_loc: (3,5)-(3,6) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,1)-(3,2) = "{" - │ │ └── closing_loc: (3,7)-(3,8) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,1)-(3,8)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (3,3)-(3,6)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (3,3)-(3,4) = "|" + │ │ └── closing_loc: (3,5)-(3,6) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (3,1)-(3,2) = "{" + │ └── closing_loc: (3,7)-(3,8) = "}" ├── @ CallNode (location: (5,0)-(5,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -50,33 +51,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,1)-(5,9)) - │ │ ├── locals: [:b] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (5,3)-(5,7)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (5,4)-(5,6)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (5,4)-(5,6)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (5,5)-(5,6) = "b" - │ │ │ │ └── operator_loc: (5,4)-(5,5) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (5,3)-(5,4) = "|" - │ │ │ └── closing_loc: (5,6)-(5,7) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,1)-(5,2) = "{" - │ │ └── closing_loc: (5,8)-(5,9) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,1)-(5,9)) + │ ├── locals: [:b] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (5,3)-(5,7)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (5,4)-(5,6)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (5,4)-(5,6)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (5,5)-(5,6) = "b" + │ │ │ └── operator_loc: (5,4)-(5,5) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (5,3)-(5,4) = "|" + │ │ └── closing_loc: (5,6)-(5,7) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (5,1)-(5,2) = "{" + │ └── closing_loc: (5,8)-(5,9) = "}" ├── @ CallNode (location: (7,0)-(7,16)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -84,37 +85,37 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (7,1)-(7,16)) - │ │ ├── locals: [:baz, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (7,3)-(7,14)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (7,4)-(7,13)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: - │ │ │ │ │ @ KeywordRestParameterNode (location: (7,4)-(7,9)) - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── name_loc: (7,6)-(7,9) = "baz" - │ │ │ │ │ └── operator_loc: (7,4)-(7,6) = "**" - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (7,11)-(7,13)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (7,12)-(7,13) = "b" - │ │ │ │ └── operator_loc: (7,11)-(7,12) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (7,3)-(7,4) = "|" - │ │ │ └── closing_loc: (7,13)-(7,14) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (7,1)-(7,2) = "{" - │ │ └── closing_loc: (7,15)-(7,16) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (7,1)-(7,16)) + │ ├── locals: [:baz, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (7,3)-(7,14)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (7,4)-(7,13)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: + │ │ │ │ @ KeywordRestParameterNode (location: (7,4)-(7,9)) + │ │ │ │ ├── name: :baz + │ │ │ │ ├── name_loc: (7,6)-(7,9) = "baz" + │ │ │ │ └── operator_loc: (7,4)-(7,6) = "**" + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (7,11)-(7,13)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (7,12)-(7,13) = "b" + │ │ │ └── operator_loc: (7,11)-(7,12) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (7,3)-(7,4) = "|" + │ │ └── closing_loc: (7,13)-(7,14) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (7,1)-(7,2) = "{" + │ └── closing_loc: (7,15)-(7,16) = "}" ├── @ CallNode (location: (9,0)-(9,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -122,37 +123,37 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (9,1)-(9,12)) - │ │ ├── locals: [:b] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (9,3)-(9,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (9,4)-(9,9)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (9,4)-(9,5)) - │ │ │ │ │ ├── name: ∅ - │ │ │ │ │ ├── name_loc: ∅ - │ │ │ │ │ └── operator_loc: (9,4)-(9,5) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (9,7)-(9,9)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (9,8)-(9,9) = "b" - │ │ │ │ └── operator_loc: (9,7)-(9,8) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (9,3)-(9,4) = "|" - │ │ │ └── closing_loc: (9,9)-(9,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (9,1)-(9,2) = "{" - │ │ └── closing_loc: (9,11)-(9,12) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (9,1)-(9,12)) + │ ├── locals: [:b] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (9,3)-(9,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (9,4)-(9,9)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (9,4)-(9,5)) + │ │ │ │ ├── name: ∅ + │ │ │ │ ├── name_loc: ∅ + │ │ │ │ └── operator_loc: (9,4)-(9,5) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (9,7)-(9,9)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (9,8)-(9,9) = "b" + │ │ │ └── operator_loc: (9,7)-(9,8) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (9,3)-(9,4) = "|" + │ │ └── closing_loc: (9,9)-(9,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (9,1)-(9,2) = "{" + │ └── closing_loc: (9,11)-(9,12) = "}" ├── @ CallNode (location: (11,0)-(11,16)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -160,39 +161,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (11,1)-(11,16)) - │ │ ├── locals: [:r, :p, :b] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (11,3)-(11,14)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (11,4)-(11,13)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (11,4)-(11,6)) - │ │ │ │ │ ├── name: :r - │ │ │ │ │ ├── name_loc: (11,5)-(11,6) = "r" - │ │ │ │ │ └── operator_loc: (11,4)-(11,5) = "*" - │ │ │ │ ├── posts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (11,8)-(11,9)) - │ │ │ │ │ └── name: :p - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (11,11)-(11,13)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (11,12)-(11,13) = "b" - │ │ │ │ └── operator_loc: (11,11)-(11,12) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (11,3)-(11,4) = "|" - │ │ │ └── closing_loc: (11,13)-(11,14) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (11,1)-(11,2) = "{" - │ │ └── closing_loc: (11,15)-(11,16) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (11,1)-(11,16)) + │ ├── locals: [:r, :p, :b] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (11,3)-(11,14)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (11,4)-(11,13)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (11,4)-(11,6)) + │ │ │ │ ├── name: :r + │ │ │ │ ├── name_loc: (11,5)-(11,6) = "r" + │ │ │ │ └── operator_loc: (11,4)-(11,5) = "*" + │ │ │ ├── posts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (11,8)-(11,9)) + │ │ │ │ └── name: :p + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (11,11)-(11,13)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (11,12)-(11,13) = "b" + │ │ │ └── operator_loc: (11,11)-(11,12) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (11,3)-(11,4) = "|" + │ │ └── closing_loc: (11,13)-(11,14) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (11,1)-(11,2) = "{" + │ └── closing_loc: (11,15)-(11,16) = "}" ├── @ CallNode (location: (13,0)-(13,13)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -200,37 +201,37 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (13,1)-(13,13)) - │ │ ├── locals: [:s, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (13,3)-(13,11)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (13,4)-(13,10)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (13,4)-(13,6)) - │ │ │ │ │ ├── name: :s - │ │ │ │ │ ├── name_loc: (13,5)-(13,6) = "s" - │ │ │ │ │ └── operator_loc: (13,4)-(13,5) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (13,8)-(13,10)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (13,9)-(13,10) = "b" - │ │ │ │ └── operator_loc: (13,8)-(13,9) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (13,3)-(13,4) = "|" - │ │ │ └── closing_loc: (13,10)-(13,11) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (13,1)-(13,2) = "{" - │ │ └── closing_loc: (13,12)-(13,13) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (13,1)-(13,13)) + │ ├── locals: [:s, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (13,3)-(13,11)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (13,4)-(13,10)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (13,4)-(13,6)) + │ │ │ │ ├── name: :s + │ │ │ │ ├── name_loc: (13,5)-(13,6) = "s" + │ │ │ │ └── operator_loc: (13,4)-(13,5) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (13,8)-(13,10)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (13,9)-(13,10) = "b" + │ │ │ └── operator_loc: (13,8)-(13,9) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (13,3)-(13,4) = "|" + │ │ └── closing_loc: (13,10)-(13,11) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (13,1)-(13,2) = "{" + │ └── closing_loc: (13,12)-(13,13) = "}" ├── @ CallNode (location: (15,0)-(15,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -238,33 +239,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (15,1)-(15,9)) - │ │ ├── locals: [:s] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (15,3)-(15,7)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (15,4)-(15,6)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (15,4)-(15,6)) - │ │ │ │ │ ├── name: :s - │ │ │ │ │ ├── name_loc: (15,5)-(15,6) = "s" - │ │ │ │ │ └── operator_loc: (15,4)-(15,5) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (15,3)-(15,4) = "|" - │ │ │ └── closing_loc: (15,6)-(15,7) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (15,1)-(15,2) = "{" - │ │ └── closing_loc: (15,8)-(15,9) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (15,1)-(15,9)) + │ ├── locals: [:s] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (15,3)-(15,7)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (15,4)-(15,6)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (15,4)-(15,6)) + │ │ │ │ ├── name: :s + │ │ │ │ ├── name_loc: (15,5)-(15,6) = "s" + │ │ │ │ └── operator_loc: (15,4)-(15,5) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (15,3)-(15,4) = "|" + │ │ └── closing_loc: (15,6)-(15,7) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (15,1)-(15,2) = "{" + │ └── closing_loc: (15,8)-(15,9) = "}" ├── @ CallNode (location: (17,0)-(17,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -272,33 +273,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (17,1)-(17,8)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (17,3)-(17,6)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (17,4)-(17,5)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (17,4)-(17,5)) - │ │ │ │ │ ├── name: ∅ - │ │ │ │ │ ├── name_loc: ∅ - │ │ │ │ │ └── operator_loc: (17,4)-(17,5) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (17,3)-(17,4) = "|" - │ │ │ └── closing_loc: (17,5)-(17,6) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (17,1)-(17,2) = "{" - │ │ └── closing_loc: (17,7)-(17,8) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (17,1)-(17,8)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (17,3)-(17,6)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (17,4)-(17,5)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (17,4)-(17,5)) + │ │ │ │ ├── name: ∅ + │ │ │ │ ├── name_loc: ∅ + │ │ │ │ └── operator_loc: (17,4)-(17,5) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (17,3)-(17,4) = "|" + │ │ └── closing_loc: (17,5)-(17,6) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (17,1)-(17,2) = "{" + │ └── closing_loc: (17,7)-(17,8) = "}" ├── @ CallNode (location: (19,0)-(21,3)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -306,23 +307,23 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (19,1)-(21,3)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (19,3)-(21,1)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 1) - │ │ │ │ └── @ BlockLocalVariableNode (location: (20,0)-(20,1)) - │ │ │ │ └── name: :a - │ │ │ ├── opening_loc: (19,3)-(19,4) = "|" - │ │ │ └── closing_loc: (21,0)-(21,1) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (19,1)-(19,2) = "{" - │ │ └── closing_loc: (21,2)-(21,3) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (19,1)-(21,3)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (19,3)-(21,1)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 1) + │ │ │ └── @ BlockLocalVariableNode (location: (20,0)-(20,1)) + │ │ │ └── name: :a + │ │ ├── opening_loc: (19,3)-(19,4) = "|" + │ │ └── closing_loc: (21,0)-(21,1) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (19,1)-(19,2) = "{" + │ └── closing_loc: (21,2)-(21,3) = "}" ├── @ CallNode (location: (23,0)-(23,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -330,23 +331,23 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (23,1)-(23,9)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (23,3)-(23,7)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 1) - │ │ │ │ └── @ BlockLocalVariableNode (location: (23,5)-(23,6)) - │ │ │ │ └── name: :a - │ │ │ ├── opening_loc: (23,3)-(23,4) = "|" - │ │ │ └── closing_loc: (23,6)-(23,7) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (23,1)-(23,2) = "{" - │ │ └── closing_loc: (23,8)-(23,9) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (23,1)-(23,9)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (23,3)-(23,7)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 1) + │ │ │ └── @ BlockLocalVariableNode (location: (23,5)-(23,6)) + │ │ │ └── name: :a + │ │ ├── opening_loc: (23,3)-(23,4) = "|" + │ │ └── closing_loc: (23,6)-(23,7) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (23,1)-(23,2) = "{" + │ └── closing_loc: (23,8)-(23,9) = "}" ├── @ CallNode (location: (25,0)-(25,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -354,35 +355,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (25,1)-(25,12)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (25,3)-(25,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (25,4)-(25,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (25,7)-(25,9)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (25,8)-(25,9) = "b" - │ │ │ │ └── operator_loc: (25,7)-(25,8) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (25,3)-(25,4) = "|" - │ │ │ └── closing_loc: (25,9)-(25,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (25,1)-(25,2) = "{" - │ │ └── closing_loc: (25,11)-(25,12) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (25,1)-(25,12)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (25,3)-(25,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (25,4)-(25,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (25,7)-(25,9)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (25,8)-(25,9) = "b" + │ │ │ └── operator_loc: (25,7)-(25,8) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (25,3)-(25,4) = "|" + │ │ └── closing_loc: (25,9)-(25,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (25,1)-(25,2) = "{" + │ └── closing_loc: (25,11)-(25,12) = "}" ├── @ CallNode (location: (27,0)-(27,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -390,39 +391,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (27,1)-(27,15)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (27,3)-(27,13)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (27,4)-(27,12)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (27,4)-(27,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (27,7)-(27,8)) - │ │ │ │ │ ├── name: ∅ - │ │ │ │ │ ├── name_loc: ∅ - │ │ │ │ │ └── operator_loc: (27,7)-(27,8) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (27,10)-(27,12)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (27,11)-(27,12) = "b" - │ │ │ │ └── operator_loc: (27,10)-(27,11) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (27,3)-(27,4) = "|" - │ │ │ └── closing_loc: (27,12)-(27,13) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (27,1)-(27,2) = "{" - │ │ └── closing_loc: (27,14)-(27,15) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (27,1)-(27,15)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (27,3)-(27,13)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (27,4)-(27,12)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (27,4)-(27,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (27,7)-(27,8)) + │ │ │ │ ├── name: ∅ + │ │ │ │ ├── name_loc: ∅ + │ │ │ │ └── operator_loc: (27,7)-(27,8) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (27,10)-(27,12)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (27,11)-(27,12) = "b" + │ │ │ └── operator_loc: (27,10)-(27,11) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (27,3)-(27,4) = "|" + │ │ └── closing_loc: (27,12)-(27,13) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (27,1)-(27,2) = "{" + │ └── closing_loc: (27,14)-(27,15) = "}" ├── @ CallNode (location: (29,0)-(29,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -430,41 +431,41 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (29,1)-(29,19)) - │ │ ├── locals: [:a, :r, :p, :b] - │ │ ├── locals_body_index: 4 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (29,3)-(29,17)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (29,4)-(29,16)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (29,4)-(29,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (29,7)-(29,9)) - │ │ │ │ │ ├── name: :r - │ │ │ │ │ ├── name_loc: (29,8)-(29,9) = "r" - │ │ │ │ │ └── operator_loc: (29,7)-(29,8) = "*" - │ │ │ │ ├── posts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (29,11)-(29,12)) - │ │ │ │ │ └── name: :p - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (29,14)-(29,16)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (29,15)-(29,16) = "b" - │ │ │ │ └── operator_loc: (29,14)-(29,15) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (29,3)-(29,4) = "|" - │ │ │ └── closing_loc: (29,16)-(29,17) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (29,1)-(29,2) = "{" - │ │ └── closing_loc: (29,18)-(29,19) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (29,1)-(29,19)) + │ ├── locals: [:a, :r, :p, :b] + │ ├── locals_body_index: 4 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (29,3)-(29,17)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (29,4)-(29,16)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (29,4)-(29,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (29,7)-(29,9)) + │ │ │ │ ├── name: :r + │ │ │ │ ├── name_loc: (29,8)-(29,9) = "r" + │ │ │ │ └── operator_loc: (29,7)-(29,8) = "*" + │ │ │ ├── posts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (29,11)-(29,12)) + │ │ │ │ └── name: :p + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (29,14)-(29,16)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (29,15)-(29,16) = "b" + │ │ │ └── operator_loc: (29,14)-(29,15) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (29,3)-(29,4) = "|" + │ │ └── closing_loc: (29,16)-(29,17) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (29,1)-(29,2) = "{" + │ └── closing_loc: (29,18)-(29,19) = "}" ├── @ CallNode (location: (31,0)-(31,16)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -472,39 +473,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (31,1)-(31,16)) - │ │ ├── locals: [:a, :s, :b] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (31,3)-(31,14)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (31,4)-(31,13)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (31,4)-(31,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (31,7)-(31,9)) - │ │ │ │ │ ├── name: :s - │ │ │ │ │ ├── name_loc: (31,8)-(31,9) = "s" - │ │ │ │ │ └── operator_loc: (31,7)-(31,8) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (31,11)-(31,13)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (31,12)-(31,13) = "b" - │ │ │ │ └── operator_loc: (31,11)-(31,12) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (31,3)-(31,4) = "|" - │ │ │ └── closing_loc: (31,13)-(31,14) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (31,1)-(31,2) = "{" - │ │ └── closing_loc: (31,15)-(31,16) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (31,1)-(31,16)) + │ ├── locals: [:a, :s, :b] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (31,3)-(31,14)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (31,4)-(31,13)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (31,4)-(31,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (31,7)-(31,9)) + │ │ │ │ ├── name: :s + │ │ │ │ ├── name_loc: (31,8)-(31,9) = "s" + │ │ │ │ └── operator_loc: (31,7)-(31,8) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (31,11)-(31,13)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (31,12)-(31,13) = "b" + │ │ │ └── operator_loc: (31,11)-(31,12) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (31,3)-(31,4) = "|" + │ │ └── closing_loc: (31,13)-(31,14) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (31,1)-(31,2) = "{" + │ └── closing_loc: (31,15)-(31,16) = "}" ├── @ CallNode (location: (33,0)-(33,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -512,35 +513,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (33,1)-(33,12)) - │ │ ├── locals: [:a, :s] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (33,3)-(33,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (33,4)-(33,9)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (33,4)-(33,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (33,7)-(33,9)) - │ │ │ │ │ ├── name: :s - │ │ │ │ │ ├── name_loc: (33,8)-(33,9) = "s" - │ │ │ │ │ └── operator_loc: (33,7)-(33,8) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (33,3)-(33,4) = "|" - │ │ │ └── closing_loc: (33,9)-(33,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (33,1)-(33,2) = "{" - │ │ └── closing_loc: (33,11)-(33,12) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (33,1)-(33,12)) + │ ├── locals: [:a, :s] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (33,3)-(33,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (33,4)-(33,9)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (33,4)-(33,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (33,7)-(33,9)) + │ │ │ │ ├── name: :s + │ │ │ │ ├── name_loc: (33,8)-(33,9) = "s" + │ │ │ │ └── operator_loc: (33,7)-(33,8) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (33,3)-(33,4) = "|" + │ │ └── closing_loc: (33,9)-(33,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (33,1)-(33,2) = "{" + │ └── closing_loc: (33,11)-(33,12) = "}" ├── @ CallNode (location: (35,0)-(35,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -548,35 +549,35 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (35,1)-(35,11)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (35,3)-(35,9)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (35,4)-(35,8)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (35,4)-(35,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (35,7)-(35,8)) - │ │ │ │ │ ├── name: ∅ - │ │ │ │ │ ├── name_loc: ∅ - │ │ │ │ │ └── operator_loc: (35,7)-(35,8) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (35,3)-(35,4) = "|" - │ │ │ └── closing_loc: (35,8)-(35,9) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (35,1)-(35,2) = "{" - │ │ └── closing_loc: (35,10)-(35,11) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (35,1)-(35,11)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (35,3)-(35,9)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (35,4)-(35,8)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (35,4)-(35,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (35,7)-(35,8)) + │ │ │ │ ├── name: ∅ + │ │ │ │ ├── name_loc: ∅ + │ │ │ │ └── operator_loc: (35,7)-(35,8) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (35,3)-(35,4) = "|" + │ │ └── closing_loc: (35,8)-(35,9) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (35,1)-(35,2) = "{" + │ └── closing_loc: (35,10)-(35,11) = "}" ├── @ CallNode (location: (37,0)-(37,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -584,34 +585,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (37,1)-(37,12)) - │ │ ├── locals: [:a, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (37,3)-(37,10)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (37,4)-(37,9)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (37,4)-(37,5)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (37,7)-(37,8)) - │ │ │ │ │ └── name: :b - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ ImplicitRestNode (location: (37,8)-(37,9)) - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (37,3)-(37,4) = "|" - │ │ │ └── closing_loc: (37,9)-(37,10) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (37,1)-(37,2) = "{" - │ │ └── closing_loc: (37,11)-(37,12) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (37,1)-(37,12)) + │ ├── locals: [:a, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (37,3)-(37,10)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (37,4)-(37,9)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (37,4)-(37,5)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (37,7)-(37,8)) + │ │ │ │ └── name: :b + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ ImplicitRestNode (location: (37,8)-(37,9)) + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (37,3)-(37,4) = "|" + │ │ └── closing_loc: (37,9)-(37,10) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (37,1)-(37,2) = "{" + │ └── closing_loc: (37,11)-(37,12) = "}" ├── @ CallNode (location: (39,0)-(39,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -619,33 +620,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (39,1)-(39,11)) - │ │ ├── locals: [:a, :c] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (39,3)-(39,9)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (39,4)-(39,8)) - │ │ │ │ ├── requireds: (length: 2) - │ │ │ │ │ ├── @ RequiredParameterNode (location: (39,4)-(39,5)) - │ │ │ │ │ │ └── name: :a - │ │ │ │ │ └── @ RequiredParameterNode (location: (39,7)-(39,8)) - │ │ │ │ │ └── name: :c - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (39,3)-(39,4) = "|" - │ │ │ └── closing_loc: (39,8)-(39,9) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (39,1)-(39,2) = "{" - │ │ └── closing_loc: (39,10)-(39,11) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (39,1)-(39,11)) + │ ├── locals: [:a, :c] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (39,3)-(39,9)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (39,4)-(39,8)) + │ │ │ ├── requireds: (length: 2) + │ │ │ │ ├── @ RequiredParameterNode (location: (39,4)-(39,5)) + │ │ │ │ │ └── name: :a + │ │ │ │ └── @ RequiredParameterNode (location: (39,7)-(39,8)) + │ │ │ │ └── name: :c + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (39,3)-(39,4) = "|" + │ │ └── closing_loc: (39,8)-(39,9) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (39,1)-(39,2) = "{" + │ └── closing_loc: (39,10)-(39,11) = "}" ├── @ CallNode (location: (41,0)-(41,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -653,42 +654,42 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (41,1)-(41,17)) - │ │ ├── locals: [:a, :o, :b] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (41,3)-(41,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (41,4)-(41,14)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (41,4)-(41,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (41,7)-(41,10)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (41,7)-(41,8) = "o" - │ │ │ │ │ ├── operator_loc: (41,8)-(41,9) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (41,9)-(41,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (41,12)-(41,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (41,13)-(41,14) = "b" - │ │ │ │ └── operator_loc: (41,12)-(41,13) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (41,3)-(41,4) = "|" - │ │ │ └── closing_loc: (41,14)-(41,15) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (41,1)-(41,2) = "{" - │ │ └── closing_loc: (41,16)-(41,17) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (41,1)-(41,17)) + │ ├── locals: [:a, :o, :b] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (41,3)-(41,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (41,4)-(41,14)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (41,4)-(41,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (41,7)-(41,10)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (41,7)-(41,8) = "o" + │ │ │ │ ├── operator_loc: (41,8)-(41,9) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (41,9)-(41,10)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (41,12)-(41,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (41,13)-(41,14) = "b" + │ │ │ └── operator_loc: (41,12)-(41,13) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (41,3)-(41,4) = "|" + │ │ └── closing_loc: (41,14)-(41,15) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (41,1)-(41,2) = "{" + │ └── closing_loc: (41,16)-(41,17) = "}" ├── @ CallNode (location: (43,0)-(43,24)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -696,48 +697,48 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (43,1)-(43,24)) - │ │ ├── locals: [:a, :o, :r, :p, :b] - │ │ ├── locals_body_index: 5 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (43,3)-(43,22)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (43,4)-(43,21)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (43,4)-(43,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (43,7)-(43,10)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (43,7)-(43,8) = "o" - │ │ │ │ │ ├── operator_loc: (43,8)-(43,9) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (43,9)-(43,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (43,12)-(43,14)) - │ │ │ │ │ ├── name: :r - │ │ │ │ │ ├── name_loc: (43,13)-(43,14) = "r" - │ │ │ │ │ └── operator_loc: (43,12)-(43,13) = "*" - │ │ │ │ ├── posts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (43,16)-(43,17)) - │ │ │ │ │ └── name: :p - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (43,19)-(43,21)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (43,20)-(43,21) = "b" - │ │ │ │ └── operator_loc: (43,19)-(43,20) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (43,3)-(43,4) = "|" - │ │ │ └── closing_loc: (43,21)-(43,22) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (43,1)-(43,2) = "{" - │ │ └── closing_loc: (43,23)-(43,24) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (43,1)-(43,24)) + │ ├── locals: [:a, :o, :r, :p, :b] + │ ├── locals_body_index: 5 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (43,3)-(43,22)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (43,4)-(43,21)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (43,4)-(43,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (43,7)-(43,10)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (43,7)-(43,8) = "o" + │ │ │ │ ├── operator_loc: (43,8)-(43,9) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (43,9)-(43,10)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (43,12)-(43,14)) + │ │ │ │ ├── name: :r + │ │ │ │ ├── name_loc: (43,13)-(43,14) = "r" + │ │ │ │ └── operator_loc: (43,12)-(43,13) = "*" + │ │ │ ├── posts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (43,16)-(43,17)) + │ │ │ │ └── name: :p + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (43,19)-(43,21)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (43,20)-(43,21) = "b" + │ │ │ └── operator_loc: (43,19)-(43,20) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (43,3)-(43,4) = "|" + │ │ └── closing_loc: (43,21)-(43,22) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (43,1)-(43,2) = "{" + │ └── closing_loc: (43,23)-(43,24) = "}" ├── @ CallNode (location: (45,0)-(45,27)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -745,53 +746,53 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (45,1)-(45,27)) - │ │ ├── locals: [:a, :o, :o1, :r, :b] - │ │ ├── locals_body_index: 5 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (45,3)-(45,25)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (45,4)-(45,24)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (45,4)-(45,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 2) - │ │ │ │ │ ├── @ OptionalParameterNode (location: (45,7)-(45,10)) - │ │ │ │ │ │ ├── name: :o - │ │ │ │ │ │ ├── name_loc: (45,7)-(45,8) = "o" - │ │ │ │ │ │ ├── operator_loc: (45,8)-(45,9) = "=" - │ │ │ │ │ │ └── value: - │ │ │ │ │ │ @ IntegerNode (location: (45,9)-(45,10)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── @ OptionalParameterNode (location: (45,12)-(45,16)) - │ │ │ │ │ ├── name: :o1 - │ │ │ │ │ ├── name_loc: (45,12)-(45,14) = "o1" - │ │ │ │ │ ├── operator_loc: (45,14)-(45,15) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (45,15)-(45,16)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (45,18)-(45,20)) - │ │ │ │ │ ├── name: :r - │ │ │ │ │ ├── name_loc: (45,19)-(45,20) = "r" - │ │ │ │ │ └── operator_loc: (45,18)-(45,19) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (45,22)-(45,24)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (45,23)-(45,24) = "b" - │ │ │ │ └── operator_loc: (45,22)-(45,23) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (45,3)-(45,4) = "|" - │ │ │ └── closing_loc: (45,24)-(45,25) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (45,1)-(45,2) = "{" - │ │ └── closing_loc: (45,26)-(45,27) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (45,1)-(45,27)) + │ ├── locals: [:a, :o, :o1, :r, :b] + │ ├── locals_body_index: 5 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (45,3)-(45,25)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (45,4)-(45,24)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (45,4)-(45,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 2) + │ │ │ │ ├── @ OptionalParameterNode (location: (45,7)-(45,10)) + │ │ │ │ │ ├── name: :o + │ │ │ │ │ ├── name_loc: (45,7)-(45,8) = "o" + │ │ │ │ │ ├── operator_loc: (45,8)-(45,9) = "=" + │ │ │ │ │ └── value: + │ │ │ │ │ @ IntegerNode (location: (45,9)-(45,10)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ └── @ OptionalParameterNode (location: (45,12)-(45,16)) + │ │ │ │ ├── name: :o1 + │ │ │ │ ├── name_loc: (45,12)-(45,14) = "o1" + │ │ │ │ ├── operator_loc: (45,14)-(45,15) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (45,15)-(45,16)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (45,18)-(45,20)) + │ │ │ │ ├── name: :r + │ │ │ │ ├── name_loc: (45,19)-(45,20) = "r" + │ │ │ │ └── operator_loc: (45,18)-(45,19) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (45,22)-(45,24)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (45,23)-(45,24) = "b" + │ │ │ └── operator_loc: (45,22)-(45,23) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (45,3)-(45,4) = "|" + │ │ └── closing_loc: (45,24)-(45,25) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (45,1)-(45,2) = "{" + │ └── closing_loc: (45,26)-(45,27) = "}" ├── @ CallNode (location: (47,0)-(47,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -799,44 +800,44 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (47,1)-(47,20)) - │ │ ├── locals: [:a, :o, :p, :b] - │ │ ├── locals_body_index: 4 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (47,3)-(47,18)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (47,4)-(47,17)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (47,4)-(47,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (47,7)-(47,10)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (47,7)-(47,8) = "o" - │ │ │ │ │ ├── operator_loc: (47,8)-(47,9) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (47,9)-(47,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (47,12)-(47,13)) - │ │ │ │ │ └── name: :p - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (47,15)-(47,17)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (47,16)-(47,17) = "b" - │ │ │ │ └── operator_loc: (47,15)-(47,16) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (47,3)-(47,4) = "|" - │ │ │ └── closing_loc: (47,17)-(47,18) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (47,1)-(47,2) = "{" - │ │ └── closing_loc: (47,19)-(47,20) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (47,1)-(47,20)) + │ ├── locals: [:a, :o, :p, :b] + │ ├── locals_body_index: 4 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (47,3)-(47,18)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (47,4)-(47,17)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (47,4)-(47,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (47,7)-(47,10)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (47,7)-(47,8) = "o" + │ │ │ │ ├── operator_loc: (47,8)-(47,9) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (47,9)-(47,10)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (47,12)-(47,13)) + │ │ │ │ └── name: :p + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (47,15)-(47,17)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (47,16)-(47,17) = "b" + │ │ │ └── operator_loc: (47,15)-(47,16) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (47,3)-(47,4) = "|" + │ │ └── closing_loc: (47,17)-(47,18) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (47,1)-(47,2) = "{" + │ └── closing_loc: (47,19)-(47,20) = "}" ├── @ CallNode (location: (49,0)-(49,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -844,32 +845,32 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (49,1)-(49,9)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (49,3)-(49,7)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (49,4)-(49,6)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (49,4)-(49,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: - │ │ │ │ │ @ ImplicitRestNode (location: (49,5)-(49,6)) - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (49,3)-(49,4) = "|" - │ │ │ └── closing_loc: (49,6)-(49,7) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (49,1)-(49,2) = "{" - │ │ └── closing_loc: (49,8)-(49,9) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (49,1)-(49,9)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (49,3)-(49,7)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (49,4)-(49,6)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (49,4)-(49,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: + │ │ │ │ @ ImplicitRestNode (location: (49,5)-(49,6)) + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (49,3)-(49,4) = "|" + │ │ └── closing_loc: (49,6)-(49,7) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (49,1)-(49,2) = "{" + │ └── closing_loc: (49,8)-(49,9) = "}" ├── @ CallNode (location: (51,0)-(51,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -877,31 +878,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (51,1)-(51,8)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (51,3)-(51,6)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (51,4)-(51,5)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (51,4)-(51,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (51,3)-(51,4) = "|" - │ │ │ └── closing_loc: (51,5)-(51,6) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (51,1)-(51,2) = "{" - │ │ └── closing_loc: (51,7)-(51,8) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (51,1)-(51,8)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (51,3)-(51,6)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (51,4)-(51,5)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (51,4)-(51,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (51,3)-(51,4) = "|" + │ │ └── closing_loc: (51,5)-(51,6) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (51,1)-(51,2) = "{" + │ └── closing_loc: (51,7)-(51,8) = "}" ├── @ CallNode (location: (53,0)-(53,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -909,31 +910,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (53,1)-(53,8)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (53,3)-(53,6)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (53,4)-(53,5)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (53,4)-(53,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (53,3)-(53,4) = "|" - │ │ │ └── closing_loc: (53,5)-(53,6) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (53,1)-(53,2) = "{" - │ │ └── closing_loc: (53,7)-(53,8) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (53,1)-(53,8)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (53,3)-(53,6)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (53,4)-(53,5)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (53,4)-(53,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (53,3)-(53,4) = "|" + │ │ └── closing_loc: (53,5)-(53,6) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (53,1)-(53,2) = "{" + │ └── closing_loc: (53,7)-(53,8) = "}" ├── @ CallNode (location: (55,0)-(55,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -941,31 +942,31 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (55,1)-(55,8)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (55,3)-(55,6)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (55,4)-(55,5)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (55,4)-(55,5)) - │ │ │ │ │ └── name: :a - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (55,3)-(55,4) = "|" - │ │ │ └── closing_loc: (55,5)-(55,6) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (55,1)-(55,2) = "{" - │ │ └── closing_loc: (55,7)-(55,8) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (55,1)-(55,8)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (55,3)-(55,6)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (55,4)-(55,5)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (55,4)-(55,5)) + │ │ │ │ └── name: :a + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (55,3)-(55,4) = "|" + │ │ └── closing_loc: (55,5)-(55,6) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (55,1)-(55,2) = "{" + │ └── closing_loc: (55,7)-(55,8) = "}" ├── @ CallNode (location: (57,0)-(57,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -973,39 +974,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (57,1)-(57,17)) - │ │ ├── locals: [:foo, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (57,3)-(57,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (57,4)-(57,14)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 1) - │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (57,4)-(57,10)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── name_loc: (57,4)-(57,8) = "foo:" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (57,9)-(57,10)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (57,12)-(57,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (57,13)-(57,14) = "b" - │ │ │ │ └── operator_loc: (57,12)-(57,13) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (57,3)-(57,4) = "|" - │ │ │ └── closing_loc: (57,14)-(57,15) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (57,1)-(57,2) = "{" - │ │ └── closing_loc: (57,16)-(57,17) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (57,1)-(57,17)) + │ ├── locals: [:foo, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (57,3)-(57,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (57,4)-(57,14)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 1) + │ │ │ │ └── @ OptionalKeywordParameterNode (location: (57,4)-(57,10)) + │ │ │ │ ├── name: :foo + │ │ │ │ ├── name_loc: (57,4)-(57,8) = "foo:" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (57,9)-(57,10)) + │ │ │ │ └── flags: decimal + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (57,12)-(57,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (57,13)-(57,14) = "b" + │ │ │ └── operator_loc: (57,12)-(57,13) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (57,3)-(57,4) = "|" + │ │ └── closing_loc: (57,14)-(57,15) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (57,1)-(57,2) = "{" + │ └── closing_loc: (57,16)-(57,17) = "}" ├── @ CallNode (location: (59,0)-(59,32)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1013,49 +1014,49 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (59,1)-(59,32)) - │ │ ├── locals: [:foo, :bar, :baz, :b] - │ │ ├── locals_body_index: 4 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (59,3)-(59,30)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (59,4)-(59,29)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 2) - │ │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (59,4)-(59,10)) - │ │ │ │ │ │ ├── name: :foo - │ │ │ │ │ │ ├── name_loc: (59,4)-(59,8) = "foo:" - │ │ │ │ │ │ └── value: - │ │ │ │ │ │ @ IntegerNode (location: (59,9)-(59,10)) - │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (59,12)-(59,18)) - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── name_loc: (59,12)-(59,16) = "bar:" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (59,17)-(59,18)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── keyword_rest: - │ │ │ │ │ @ KeywordRestParameterNode (location: (59,20)-(59,25)) - │ │ │ │ │ ├── name: :baz - │ │ │ │ │ ├── name_loc: (59,22)-(59,25) = "baz" - │ │ │ │ │ └── operator_loc: (59,20)-(59,22) = "**" - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (59,27)-(59,29)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (59,28)-(59,29) = "b" - │ │ │ │ └── operator_loc: (59,27)-(59,28) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (59,3)-(59,4) = "|" - │ │ │ └── closing_loc: (59,29)-(59,30) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (59,1)-(59,2) = "{" - │ │ └── closing_loc: (59,31)-(59,32) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (59,1)-(59,32)) + │ ├── locals: [:foo, :bar, :baz, :b] + │ ├── locals_body_index: 4 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (59,3)-(59,30)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (59,4)-(59,29)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 2) + │ │ │ │ ├── @ OptionalKeywordParameterNode (location: (59,4)-(59,10)) + │ │ │ │ │ ├── name: :foo + │ │ │ │ │ ├── name_loc: (59,4)-(59,8) = "foo:" + │ │ │ │ │ └── value: + │ │ │ │ │ @ IntegerNode (location: (59,9)-(59,10)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ └── @ OptionalKeywordParameterNode (location: (59,12)-(59,18)) + │ │ │ │ ├── name: :bar + │ │ │ │ ├── name_loc: (59,12)-(59,16) = "bar:" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (59,17)-(59,18)) + │ │ │ │ └── flags: decimal + │ │ │ ├── keyword_rest: + │ │ │ │ @ KeywordRestParameterNode (location: (59,20)-(59,25)) + │ │ │ │ ├── name: :baz + │ │ │ │ ├── name_loc: (59,22)-(59,25) = "baz" + │ │ │ │ └── operator_loc: (59,20)-(59,22) = "**" + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (59,27)-(59,29)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (59,28)-(59,29) = "b" + │ │ │ └── operator_loc: (59,27)-(59,28) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (59,3)-(59,4) = "|" + │ │ └── closing_loc: (59,29)-(59,30) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (59,1)-(59,2) = "{" + │ └── closing_loc: (59,31)-(59,32) = "}" ├── @ CallNode (location: (61,0)-(61,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1063,32 +1064,32 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (61,1)-(61,11)) - │ │ ├── locals: [:foo] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (61,3)-(61,9)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (61,4)-(61,8)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 1) - │ │ │ │ │ └── @ RequiredKeywordParameterNode (location: (61,4)-(61,8)) - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ └── name_loc: (61,4)-(61,8) = "foo:" - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (61,3)-(61,4) = "|" - │ │ │ └── closing_loc: (61,8)-(61,9) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (61,1)-(61,2) = "{" - │ │ └── closing_loc: (61,10)-(61,11) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (61,1)-(61,11)) + │ ├── locals: [:foo] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (61,3)-(61,9)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (61,4)-(61,8)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 1) + │ │ │ │ └── @ RequiredKeywordParameterNode (location: (61,4)-(61,8)) + │ │ │ │ ├── name: :foo + │ │ │ │ └── name_loc: (61,4)-(61,8) = "foo:" + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (61,3)-(61,4) = "|" + │ │ └── closing_loc: (61,8)-(61,9) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (61,1)-(61,2) = "{" + │ └── closing_loc: (61,10)-(61,11) = "}" ├── @ CallNode (location: (63,0)-(63,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1096,40 +1097,40 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (63,1)-(63,14)) - │ │ ├── locals: [:o, :b] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (63,3)-(63,12)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (63,4)-(63,11)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (63,4)-(63,7)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (63,4)-(63,5) = "o" - │ │ │ │ │ ├── operator_loc: (63,5)-(63,6) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (63,6)-(63,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (63,9)-(63,11)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (63,10)-(63,11) = "b" - │ │ │ │ └── operator_loc: (63,9)-(63,10) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (63,3)-(63,4) = "|" - │ │ │ └── closing_loc: (63,11)-(63,12) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (63,1)-(63,2) = "{" - │ │ └── closing_loc: (63,13)-(63,14) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (63,1)-(63,14)) + │ ├── locals: [:o, :b] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (63,3)-(63,12)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (63,4)-(63,11)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (63,4)-(63,7)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (63,4)-(63,5) = "o" + │ │ │ │ ├── operator_loc: (63,5)-(63,6) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (63,6)-(63,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (63,9)-(63,11)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (63,10)-(63,11) = "b" + │ │ │ └── operator_loc: (63,9)-(63,10) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (63,3)-(63,4) = "|" + │ │ └── closing_loc: (63,11)-(63,12) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (63,1)-(63,2) = "{" + │ └── closing_loc: (63,13)-(63,14) = "}" ├── @ CallNode (location: (65,0)-(65,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1137,44 +1138,44 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (65,1)-(65,18)) - │ │ ├── locals: [:o, :r, :b] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (65,3)-(65,16)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (65,4)-(65,15)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (65,4)-(65,7)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (65,4)-(65,5) = "o" - │ │ │ │ │ ├── operator_loc: (65,5)-(65,6) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (65,6)-(65,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (65,9)-(65,11)) - │ │ │ │ │ ├── name: :r - │ │ │ │ │ ├── name_loc: (65,10)-(65,11) = "r" - │ │ │ │ │ └── operator_loc: (65,9)-(65,10) = "*" - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (65,13)-(65,15)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (65,14)-(65,15) = "b" - │ │ │ │ └── operator_loc: (65,13)-(65,14) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (65,3)-(65,4) = "|" - │ │ │ └── closing_loc: (65,15)-(65,16) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (65,1)-(65,2) = "{" - │ │ └── closing_loc: (65,17)-(65,18) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (65,1)-(65,18)) + │ ├── locals: [:o, :r, :b] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (65,3)-(65,16)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (65,4)-(65,15)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (65,4)-(65,7)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (65,4)-(65,5) = "o" + │ │ │ │ ├── operator_loc: (65,5)-(65,6) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (65,6)-(65,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (65,9)-(65,11)) + │ │ │ │ ├── name: :r + │ │ │ │ ├── name_loc: (65,10)-(65,11) = "r" + │ │ │ │ └── operator_loc: (65,9)-(65,10) = "*" + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (65,13)-(65,15)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (65,14)-(65,15) = "b" + │ │ │ └── operator_loc: (65,13)-(65,14) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (65,3)-(65,4) = "|" + │ │ └── closing_loc: (65,15)-(65,16) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (65,1)-(65,2) = "{" + │ └── closing_loc: (65,17)-(65,18) = "}" ├── @ CallNode (location: (67,0)-(67,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1182,46 +1183,46 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (67,1)-(67,21)) - │ │ ├── locals: [:o, :r, :p, :b] - │ │ ├── locals_body_index: 4 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (67,3)-(67,19)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (67,4)-(67,18)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (67,4)-(67,7)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (67,4)-(67,5) = "o" - │ │ │ │ │ ├── operator_loc: (67,5)-(67,6) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (67,6)-(67,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: - │ │ │ │ │ @ RestParameterNode (location: (67,9)-(67,11)) - │ │ │ │ │ ├── name: :r - │ │ │ │ │ ├── name_loc: (67,10)-(67,11) = "r" - │ │ │ │ │ └── operator_loc: (67,9)-(67,10) = "*" - │ │ │ │ ├── posts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (67,13)-(67,14)) - │ │ │ │ │ └── name: :p - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (67,16)-(67,18)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (67,17)-(67,18) = "b" - │ │ │ │ └── operator_loc: (67,16)-(67,17) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (67,3)-(67,4) = "|" - │ │ │ └── closing_loc: (67,18)-(67,19) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (67,1)-(67,2) = "{" - │ │ └── closing_loc: (67,20)-(67,21) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (67,1)-(67,21)) + │ ├── locals: [:o, :r, :p, :b] + │ ├── locals_body_index: 4 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (67,3)-(67,19)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (67,4)-(67,18)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (67,4)-(67,7)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (67,4)-(67,5) = "o" + │ │ │ │ ├── operator_loc: (67,5)-(67,6) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (67,6)-(67,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: + │ │ │ │ @ RestParameterNode (location: (67,9)-(67,11)) + │ │ │ │ ├── name: :r + │ │ │ │ ├── name_loc: (67,10)-(67,11) = "r" + │ │ │ │ └── operator_loc: (67,9)-(67,10) = "*" + │ │ │ ├── posts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (67,13)-(67,14)) + │ │ │ │ └── name: :p + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (67,16)-(67,18)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (67,17)-(67,18) = "b" + │ │ │ └── operator_loc: (67,16)-(67,17) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (67,3)-(67,4) = "|" + │ │ └── closing_loc: (67,18)-(67,19) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (67,1)-(67,2) = "{" + │ └── closing_loc: (67,20)-(67,21) = "}" ├── @ CallNode (location: (69,0)-(69,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1229,42 +1230,42 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (69,1)-(69,17)) - │ │ ├── locals: [:o, :p, :b] - │ │ ├── locals_body_index: 3 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (69,3)-(69,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (69,4)-(69,14)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ └── @ OptionalParameterNode (location: (69,4)-(69,7)) - │ │ │ │ │ ├── name: :o - │ │ │ │ │ ├── name_loc: (69,4)-(69,5) = "o" - │ │ │ │ │ ├── operator_loc: (69,5)-(69,6) = "=" - │ │ │ │ │ └── value: - │ │ │ │ │ @ IntegerNode (location: (69,6)-(69,7)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (69,9)-(69,10)) - │ │ │ │ │ └── name: :p - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: - │ │ │ │ @ BlockParameterNode (location: (69,12)-(69,14)) - │ │ │ │ ├── name: :b - │ │ │ │ ├── name_loc: (69,13)-(69,14) = "b" - │ │ │ │ └── operator_loc: (69,12)-(69,13) = "&" - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (69,3)-(69,4) = "|" - │ │ │ └── closing_loc: (69,14)-(69,15) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (69,1)-(69,2) = "{" - │ │ └── closing_loc: (69,16)-(69,17) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (69,1)-(69,17)) + │ ├── locals: [:o, :p, :b] + │ ├── locals_body_index: 3 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (69,3)-(69,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (69,4)-(69,14)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 1) + │ │ │ │ └── @ OptionalParameterNode (location: (69,4)-(69,7)) + │ │ │ │ ├── name: :o + │ │ │ │ ├── name_loc: (69,4)-(69,5) = "o" + │ │ │ │ ├── operator_loc: (69,5)-(69,6) = "=" + │ │ │ │ └── value: + │ │ │ │ @ IntegerNode (location: (69,6)-(69,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (69,9)-(69,10)) + │ │ │ │ └── name: :p + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: + │ │ │ @ BlockParameterNode (location: (69,12)-(69,14)) + │ │ │ ├── name: :b + │ │ │ ├── name_loc: (69,13)-(69,14) = "b" + │ │ │ └── operator_loc: (69,12)-(69,13) = "&" + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (69,3)-(69,4) = "|" + │ │ └── closing_loc: (69,14)-(69,15) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (69,1)-(69,2) = "{" + │ └── closing_loc: (69,16)-(69,17) = "}" └── @ CallNode (location: (71,0)-(71,7)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -1272,17 +1273,16 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (71,1)-(71,7)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (71,3)-(71,5)) - │ │ ├── parameters: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (71,3)-(71,4) = "|" - │ │ └── closing_loc: (71,4)-(71,5) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (71,1)-(71,2) = "{" - │ └── closing_loc: (71,6)-(71,7) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (71,1)-(71,7)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: + │ @ BlockParametersNode (location: (71,3)-(71,5)) + │ ├── parameters: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (71,3)-(71,4) = "|" + │ └── closing_loc: (71,4)-(71,5) = "|" + ├── body: ∅ + ├── opening_loc: (71,1)-(71,2) = "{" + └── closing_loc: (71,6)-(71,7) = "}" diff --git a/test/prism/snapshots/whitequark/break.txt b/test/prism/snapshots/whitequark/break.txt index c9da928223..4f40ca759e 100644 --- a/test/prism/snapshots/whitequark/break.txt +++ b/test/prism/snapshots/whitequark/break.txt @@ -9,48 +9,48 @@ ├── @ BreakNode (location: (3,0)-(3,9)) │ ├── arguments: │ │ @ ArgumentsNode (location: (3,6)-(3,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,6)-(3,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,6)-(3,9) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,6)-(3,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,6)-(3,9) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ └── keyword_loc: (3,0)-(3,5) = "break" ├── @ BreakNode (location: (5,0)-(5,7)) │ ├── arguments: │ │ @ ArgumentsNode (location: (5,5)-(5,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (5,5)-(5,7)) - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (5,5)-(5,6) = "(" - │ │ │ └── closing_loc: (5,6)-(5,7) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (5,5)-(5,7)) + │ │ ├── body: ∅ + │ │ ├── opening_loc: (5,5)-(5,6) = "(" + │ │ └── closing_loc: (5,6)-(5,7) = ")" │ └── keyword_loc: (5,0)-(5,5) = "break" └── @ BreakNode (location: (7,0)-(7,10)) ├── arguments: │ @ ArgumentsNode (location: (7,5)-(7,10)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (7,5)-(7,10)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (7,6)-(7,9)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (7,6)-(7,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (7,6)-(7,9) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (7,5)-(7,6) = "(" - │ │ └── closing_loc: (7,9)-(7,10) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (7,5)-(7,10)) + │ ├── body: + │ │ @ StatementsNode (location: (7,6)-(7,9)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (7,6)-(7,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (7,6)-(7,9) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (7,5)-(7,6) = "(" + │ └── closing_loc: (7,9)-(7,10) = ")" └── keyword_loc: (7,0)-(7,5) = "break" diff --git a/test/prism/snapshots/whitequark/break_block.txt b/test/prism/snapshots/whitequark/break_block.txt index d615edd53f..12a9263911 100644 --- a/test/prism/snapshots/whitequark/break_block.txt +++ b/test/prism/snapshots/whitequark/break_block.txt @@ -6,36 +6,36 @@ └── @ BreakNode (location: (1,0)-(1,20)) ├── arguments: │ @ ArgumentsNode (location: (1,6)-(1,20)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,6)-(1,20)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :fun - │ │ ├── message_loc: (1,6)-(1,9) = "fun" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,10)-(1,13)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,10)-(1,13)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (1,10)-(1,13) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,14)-(1,20)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" - │ │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,6)-(1,20)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :fun + │ ├── message_loc: (1,6)-(1,9) = "fun" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,10)-(1,13)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,10)-(1,13)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,10)-(1,13) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (1,14)-(1,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,14)-(1,16) = "do" + │ └── closing_loc: (1,17)-(1,20) = "end" └── keyword_loc: (1,0)-(1,5) = "break" diff --git a/test/prism/snapshots/whitequark/bug_447.txt b/test/prism/snapshots/whitequark/bug_447.txt index b274662f9e..427579b8b8 100644 --- a/test/prism/snapshots/whitequark/bug_447.txt +++ b/test/prism/snapshots/whitequark/bug_447.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,14)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -11,24 +12,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ArrayNode (location: (1,2)-(1,4)) - │ │ │ ├── elements: (length: 0) - │ │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ │ ├── closing_loc: (1,3)-(1,4) = "]" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ArrayNode (location: (1,2)-(1,4)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 0) + │ │ ├── opening_loc: (1,2)-(1,3) = "[" + │ │ └── closing_loc: (1,3)-(1,4) = "]" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,5)-(1,11)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,5)-(1,7) = "do" - │ │ └── closing_loc: (1,8)-(1,11) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,5)-(1,11)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,5)-(1,7) = "do" + │ └── closing_loc: (1,8)-(1,11) = "end" └── @ CallNode (location: (3,0)-(3,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -36,22 +37,21 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (3,2)-(3,7)) - │ ├── arguments: (length: 2) - │ │ ├── @ ArrayNode (location: (3,2)-(3,4)) - │ │ │ ├── elements: (length: 0) - │ │ │ ├── opening_loc: (3,2)-(3,3) = "[" - │ │ │ ├── closing_loc: (3,3)-(3,4) = "]" - │ │ │ └── flags: ∅ - │ │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ ArrayNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ + │ │ ├── elements: (length: 0) + │ │ ├── opening_loc: (3,2)-(3,3) = "[" + │ │ └── closing_loc: (3,3)-(3,4) = "]" + │ └── @ IntegerNode (location: (3,6)-(3,7)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (3,8)-(3,14)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (3,8)-(3,10) = "do" - │ └── closing_loc: (3,11)-(3,14) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (3,8)-(3,14)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (3,8)-(3,10) = "do" + └── closing_loc: (3,11)-(3,14) = "end" diff --git a/test/prism/snapshots/whitequark/bug_452.txt b/test/prism/snapshots/whitequark/bug_452.txt index 32b3ff8d80..8bed829c80 100644 --- a/test/prism/snapshots/whitequark/bug_452.txt +++ b/test/prism/snapshots/whitequark/bug_452.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,37)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :td @@ -11,32 +12,33 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,3)-(1,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,3)-(1,21)) - │ │ │ ├── receiver: - │ │ │ │ @ ParenthesesNode (location: (1,3)-(1,10)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (1,4)-(1,9)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (1,4)-(1,9)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" - │ │ │ │ └── closing_loc: (1,9)-(1,10) = ")" - │ │ │ ├── call_operator_loc: (1,10)-(1,11) = "." - │ │ │ ├── name: :toString - │ │ │ ├── message_loc: (1,11)-(1,19) = "toString" - │ │ │ ├── opening_loc: (1,19)-(1,20) = "(" - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: (1,20)-(1,21) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,3)-(1,21)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ ParenthesesNode (location: (1,3)-(1,10)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (1,4)-(1,9)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (1,4)-(1,9)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" + │ │ │ └── closing_loc: (1,9)-(1,10) = ")" + │ │ ├── call_operator_loc: (1,10)-(1,11) = "." + │ │ ├── name: :toString + │ │ ├── message_loc: (1,11)-(1,19) = "toString" + │ │ ├── opening_loc: (1,19)-(1,20) = "(" + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: (1,20)-(1,21) = ")" + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (1,23)-(1,37)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,23)-(1,25)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :td @@ -44,20 +46,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,25)-(1,26) = "." ├── name: :num ├── message_loc: (1,26)-(1,29) = "num" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,30)-(1,37)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,30)-(1,32) = "do" - │ └── closing_loc: (1,34)-(1,37) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,30)-(1,37)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,30)-(1,32) = "do" + └── closing_loc: (1,34)-(1,37) = "end" diff --git a/test/prism/snapshots/whitequark/bug_466.txt b/test/prism/snapshots/whitequark/bug_466.txt index 37ff674bb9..32361b6e75 100644 --- a/test/prism/snapshots/whitequark/bug_466.txt +++ b/test/prism/snapshots/whitequark/bug_466.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,27)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,27)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -11,58 +12,57 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,19)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedStringNode (location: (1,4)-(1,19)) - │ │ ├── opening_loc: (1,4)-(1,5) = "\"" - │ │ ├── parts: (length: 1) - │ │ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,18)) - │ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (1,7)-(1,17)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,7)-(1,17)) - │ │ │ │ ├── receiver: - │ │ │ │ │ @ ParenthesesNode (location: (1,7)-(1,12)) - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11)) - │ │ │ │ │ │ ├── receiver: - │ │ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :+ - │ │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ │ │ └── flags: decimal - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (1,7)-(1,8) = "(" - │ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")" - │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "." - │ │ │ │ ├── name: :to_i - │ │ │ │ ├── message_loc: (1,13)-(1,17) = "to_i" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── closing_loc: (1,17)-(1,18) = "}" - │ │ └── closing_loc: (1,18)-(1,19) = "\"" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedStringNode (location: (1,4)-(1,19)) + │ ├── opening_loc: (1,4)-(1,5) = "\"" + │ ├── parts: (length: 1) + │ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,18)) + │ │ ├── opening_loc: (1,5)-(1,7) = "\#{" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (1,7)-(1,17)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (1,7)-(1,17)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: + │ │ │ │ @ ParenthesesNode (location: (1,7)-(1,12)) + │ │ │ │ ├── body: + │ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: + │ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) + │ │ │ │ │ │ └── flags: decimal + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :+ + │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: + │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11)) + │ │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) + │ │ │ │ │ │ └── flags: decimal + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── opening_loc: (1,7)-(1,8) = "(" + │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")" + │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "." + │ │ │ ├── name: :to_i + │ │ │ ├── message_loc: (1,13)-(1,17) = "to_i" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── closing_loc: (1,17)-(1,18) = "}" + │ └── closing_loc: (1,18)-(1,19) = "\"" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,20)-(1,27)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,20)-(1,22) = "do" - │ └── closing_loc: (1,24)-(1,27) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,20)-(1,27)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,20)-(1,22) = "do" + └── closing_loc: (1,24)-(1,27) = "end" diff --git a/test/prism/snapshots/whitequark/bug_473.txt b/test/prism/snapshots/whitequark/bug_473.txt index d78a8fe303..c4767f4ec1 100644 --- a/test/prism/snapshots/whitequark/bug_473.txt +++ b/test/prism/snapshots/whitequark/bug_473.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -11,23 +12,22 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,9)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,9)) - │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ ├── parts: (length: 1) - │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,8)) - │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (1,5)-(1,7)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ ArrayNode (location: (1,5)-(1,7)) - │ │ │ │ ├── elements: (length: 0) - │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "[" - │ │ │ │ ├── closing_loc: (1,6)-(1,7) = "]" - │ │ │ │ └── flags: ∅ - │ │ │ └── closing_loc: (1,7)-(1,8) = "}" - │ │ └── closing_loc: (1,8)-(1,9) = "\"" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedStringNode (location: (1,2)-(1,9)) + │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ ├── parts: (length: 1) + │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,8)) + │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (1,5)-(1,7)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ ArrayNode (location: (1,5)-(1,7)) + │ │ │ ├── flags: ∅ + │ │ │ ├── elements: (length: 0) + │ │ │ ├── opening_loc: (1,5)-(1,6) = "[" + │ │ │ └── closing_loc: (1,6)-(1,7) = "]" + │ │ └── closing_loc: (1,7)-(1,8) = "}" + │ └── closing_loc: (1,8)-(1,9) = "\"" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_480.txt b/test/prism/snapshots/whitequark/bug_480.txt index ab98c19d7d..73903adb78 100644 --- a/test/prism/snapshots/whitequark/bug_480.txt +++ b/test/prism/snapshots/whitequark/bug_480.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -11,26 +12,25 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,12)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12)) - │ │ ├── opening_loc: (1,2)-(1,3) = "\"" - │ │ ├── parts: (length: 2) - │ │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,6)) - │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" - │ │ │ │ ├── statements: ∅ - │ │ │ │ └── closing_loc: (1,5)-(1,6) = "}" - │ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,11)) - │ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (1,8)-(1,10)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,10)) - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "(" - │ │ │ │ └── closing_loc: (1,9)-(1,10) = ")" - │ │ │ └── closing_loc: (1,10)-(1,11) = "}" - │ │ └── closing_loc: (1,11)-(1,12) = "\"" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedStringNode (location: (1,2)-(1,12)) + │ ├── opening_loc: (1,2)-(1,3) = "\"" + │ ├── parts: (length: 2) + │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,6)) + │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" + │ │ │ ├── statements: ∅ + │ │ │ └── closing_loc: (1,5)-(1,6) = "}" + │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,11)) + │ │ ├── opening_loc: (1,6)-(1,8) = "\#{" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (1,8)-(1,10)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,10)) + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (1,8)-(1,9) = "(" + │ │ │ └── closing_loc: (1,9)-(1,10) = ")" + │ │ └── closing_loc: (1,10)-(1,11) = "}" + │ └── closing_loc: (1,11)-(1,12) = "\"" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_481.txt b/test/prism/snapshots/whitequark/bug_481.txt index c1ad0662f2..ccacf71b1e 100644 --- a/test/prism/snapshots/whitequark/bug_481.txt +++ b/test/prism/snapshots/whitequark/bug_481.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,28)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -11,26 +12,26 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ DefNode (location: (1,2)-(1,14)) - │ │ │ ├── name: :x - │ │ │ ├── name_loc: (1,6)-(1,7) = "x" - │ │ │ ├── receiver: ∅ - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── lparen_loc: (1,7)-(1,8) = "(" - │ │ │ ├── rparen_loc: (1,8)-(1,9) = ")" - │ │ │ ├── equal_loc: ∅ - │ │ │ └── end_keyword_loc: (1,11)-(1,14) = "end" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ DefNode (location: (1,2)-(1,14)) + │ │ ├── name: :x + │ │ ├── name_loc: (1,6)-(1,7) = "x" + │ │ ├── receiver: ∅ + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" + │ │ ├── operator_loc: ∅ + │ │ ├── lparen_loc: (1,7)-(1,8) = "(" + │ │ ├── rparen_loc: (1,8)-(1,9) = ")" + │ │ ├── equal_loc: ∅ + │ │ └── end_keyword_loc: (1,11)-(1,14) = "end" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (1,16)-(1,28)) + ├── flags: ∅ ├── receiver: │ @ IntegerNode (location: (1,16)-(1,17)) │ └── flags: decimal @@ -40,12 +41,11 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,22)-(1,28)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,22)-(1,24) = "do" - │ └── closing_loc: (1,25)-(1,28) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,22)-(1,28)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,22)-(1,24) = "do" + └── closing_loc: (1,25)-(1,28) = "end" diff --git a/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt b/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt index 4f4e7cad95..91e849c830 100644 --- a/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt +++ b/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :desc @@ -11,21 +12,20 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,10)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (1,5)-(1,10)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,5)-(1,6) = "\"" - │ │ ├── content_loc: (1,6)-(1,9) = "foo" - │ │ ├── closing_loc: (1,9)-(1,10) = "\"" - │ │ └── unescaped: "foo" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (1,5)-(1,10)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,5)-(1,6) = "\"" + │ ├── content_loc: (1,6)-(1,9) = "foo" + │ ├── closing_loc: (1,9)-(1,10) = "\"" + │ └── unescaped: "foo" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,11)-(1,17)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,11)-(1,13) = "do" - │ └── closing_loc: (1,14)-(1,17) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,11)-(1,17)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,11)-(1,13) = "do" + └── closing_loc: (1,14)-(1,17) = "end" diff --git a/test/prism/snapshots/whitequark/bug_cmdarg.txt b/test/prism/snapshots/whitequark/bug_cmdarg.txt index 630d784b81..ec0cd595c1 100644 --- a/test/prism/snapshots/whitequark/bug_cmdarg.txt +++ b/test/prism/snapshots/whitequark/bug_cmdarg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,26)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :assert @@ -11,24 +12,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,7)-(1,15)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,7)-(1,15)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,7)-(1,15)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,7)-(1,10)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (1,7)-(1,9) = "do" - │ │ │ │ ├── closing_loc: (1,9)-(1,10) = ":" - │ │ │ │ └── unescaped: "do" - │ │ │ ├── value: - │ │ │ │ @ TrueNode (location: (1,11)-(1,15)) - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,7)-(1,15)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,7)-(1,15)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,7)-(1,10)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (1,7)-(1,9) = "do" + │ │ │ ├── closing_loc: (1,9)-(1,10) = ":" + │ │ │ └── unescaped: "do" + │ │ ├── value: + │ │ │ @ TrueNode (location: (1,11)-(1,15)) + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,11)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :assert @@ -36,22 +37,22 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,7)-(3,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,7)-(3,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :dogs - │ │ │ ├── message_loc: (3,7)-(3,11) = "dogs" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,7)-(3,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :dogs + │ │ ├── message_loc: (3,7)-(3,11) = "dogs" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,26)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -59,46 +60,45 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (5,2)-(5,26)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (5,2)-(5,26)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (5,2)-(5,26)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (5,2)-(5,4)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (5,2)-(5,3) = "x" - │ │ │ ├── closing_loc: (5,3)-(5,4) = ":" - │ │ │ └── unescaped: "x" - │ │ ├── value: - │ │ │ @ LambdaNode (location: (5,5)-(5,26)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── operator_loc: (5,5)-(5,7) = "->" - │ │ │ ├── opening_loc: (5,8)-(5,10) = "do" - │ │ │ ├── closing_loc: (5,23)-(5,26) = "end" - │ │ │ ├── parameters: ∅ - │ │ │ └── body: - │ │ │ @ StatementsNode (location: (5,11)-(5,22)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (5,11)-(5,22)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :meth - │ │ │ ├── message_loc: (5,11)-(5,15) = "meth" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (5,16)-(5,22)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (5,16)-(5,18) = "do" - │ │ │ │ └── closing_loc: (5,19)-(5,22) = "end" - │ │ │ └── flags: ∅ - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (5,2)-(5,26)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (5,2)-(5,26)) + │ ├── key: + │ │ @ SymbolNode (location: (5,2)-(5,4)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (5,2)-(5,3) = "x" + │ │ ├── closing_loc: (5,3)-(5,4) = ":" + │ │ └── unescaped: "x" + │ ├── value: + │ │ @ LambdaNode (location: (5,5)-(5,26)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── operator_loc: (5,5)-(5,7) = "->" + │ │ ├── opening_loc: (5,8)-(5,10) = "do" + │ │ ├── closing_loc: (5,23)-(5,26) = "end" + │ │ ├── parameters: ∅ + │ │ └── body: + │ │ @ StatementsNode (location: (5,11)-(5,22)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (5,11)-(5,22)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth + │ │ ├── message_loc: (5,11)-(5,15) = "meth" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (5,16)-(5,22)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (5,16)-(5,18) = "do" + │ │ └── closing_loc: (5,19)-(5,22) = "end" + │ └── operator_loc: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt b/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt index 08ad0eb2ec..3b5bc5b475 100644 --- a/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt +++ b/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,33)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,33)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bar @@ -11,42 +12,41 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,33)) - │ ├── arguments: (length: 1) - │ │ └── @ DefNode (location: (1,4)-(1,33)) - │ │ ├── name: :foo - │ │ ├── name_loc: (1,8)-(1,11) = "foo" - │ │ ├── receiver: ∅ - │ │ ├── parameters: ∅ - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,13)-(1,29)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,13)-(1,29)) - │ │ │ ├── receiver: - │ │ │ │ @ SelfNode (location: (1,13)-(1,17)) - │ │ │ ├── call_operator_loc: (1,17)-(1,18) = "." - │ │ │ ├── name: :each - │ │ │ ├── message_loc: (1,18)-(1,22) = "each" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,23)-(1,29)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (1,23)-(1,25) = "do" - │ │ │ │ └── closing_loc: (1,26)-(1,29) = "end" - │ │ │ └── flags: ∅ - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── def_keyword_loc: (1,4)-(1,7) = "def" - │ │ ├── operator_loc: ∅ - │ │ ├── lparen_loc: ∅ - │ │ ├── rparen_loc: ∅ - │ │ ├── equal_loc: ∅ - │ │ └── end_keyword_loc: (1,30)-(1,33) = "end" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ DefNode (location: (1,4)-(1,33)) + │ ├── name: :foo + │ ├── name_loc: (1,8)-(1,11) = "foo" + │ ├── receiver: ∅ + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (1,13)-(1,29)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,13)-(1,29)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ SelfNode (location: (1,13)-(1,17)) + │ │ ├── call_operator_loc: (1,17)-(1,18) = "." + │ │ ├── name: :each + │ │ ├── message_loc: (1,18)-(1,22) = "each" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,23)-(1,29)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,23)-(1,25) = "do" + │ │ └── closing_loc: (1,26)-(1,29) = "end" + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── def_keyword_loc: (1,4)-(1,7) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (1,30)-(1,33) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt b/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt index 4637487196..3283361ac1 100644 --- a/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt +++ b/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,17)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -11,31 +12,30 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,17)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,17)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,5)-(1,16)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,5)-(1,16)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :proc - │ │ │ ├── message_loc: (1,5)-(1,9) = "proc" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,10)-(1,16)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (1,10)-(1,12) = "do" - │ │ │ │ └── closing_loc: (1,13)-(1,16) = "end" - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,16)-(1,17) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,17)) + │ ├── body: + │ │ @ StatementsNode (location: (1,5)-(1,16)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,5)-(1,16)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :proc + │ │ ├── message_loc: (1,5)-(1,9) = "proc" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,10)-(1,16)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,10)-(1,12) = "do" + │ │ └── closing_loc: (1,13)-(1,16) = "end" + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,16)-(1,17) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt b/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt index f04e3314f8..8fb885e236 100644 --- a/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt +++ b/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(9,52)) └── body: (length: 5) ├── @ CallNode (location: (1,0)-(1,42)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -11,73 +12,73 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,42)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (1,2)-(1,6)) - │ │ │ │ ├── opening_loc: (1,2)-(1,3) = ":" - │ │ │ │ ├── value_loc: (1,3)-(1,6) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ └── @ HashNode (location: (1,8)-(1,42)) - │ │ │ ├── opening_loc: (1,8)-(1,9) = "{" - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ AssocNode (location: (1,9)-(1,25)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (1,9)-(1,13)) - │ │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "\"" - │ │ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a" - │ │ │ │ │ │ ├── closing_loc: (1,11)-(1,13) = "\":" - │ │ │ │ │ │ └── unescaped: "a" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (1,14)-(1,25)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :proc - │ │ │ │ │ │ ├── message_loc: (1,14)-(1,18) = "proc" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (1,19)-(1,25)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (1,19)-(1,21) = "do" - │ │ │ │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── @ AssocNode (location: (1,27)-(1,41)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (1,27)-(1,29)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (1,27)-(1,28) = "b" - │ │ │ │ │ ├── closing_loc: (1,28)-(1,29) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ CallNode (location: (1,30)-(1,41)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :proc - │ │ │ │ │ ├── message_loc: (1,30)-(1,34) = "proc" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (1,35)-(1,41)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (1,35)-(1,37) = "do" - │ │ │ │ │ │ └── closing_loc: (1,38)-(1,41) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── closing_loc: (1,41)-(1,42) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (1,2)-(1,6)) + │ │ │ ├── opening_loc: (1,2)-(1,3) = ":" + │ │ │ ├── value_loc: (1,3)-(1,6) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ └── @ HashNode (location: (1,8)-(1,42)) + │ │ ├── opening_loc: (1,8)-(1,9) = "{" + │ │ ├── elements: (length: 2) + │ │ │ ├── @ AssocNode (location: (1,9)-(1,25)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (1,9)-(1,13)) + │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "\"" + │ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a" + │ │ │ │ │ ├── closing_loc: (1,11)-(1,13) = "\":" + │ │ │ │ │ └── unescaped: "a" + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (1,14)-(1,25)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :proc + │ │ │ │ │ ├── message_loc: (1,14)-(1,18) = "proc" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (1,19)-(1,25)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── opening_loc: (1,19)-(1,21) = "do" + │ │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end" + │ │ │ │ └── operator_loc: ∅ + │ │ │ └── @ AssocNode (location: (1,27)-(1,41)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (1,27)-(1,29)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (1,27)-(1,28) = "b" + │ │ │ │ ├── closing_loc: (1,28)-(1,29) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (1,30)-(1,41)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :proc + │ │ │ │ ├── message_loc: (1,30)-(1,34) = "proc" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (1,35)-(1,41)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (1,35)-(1,37) = "do" + │ │ │ │ └── closing_loc: (1,38)-(1,41) = "end" + │ │ │ └── operator_loc: ∅ + │ │ └── closing_loc: (1,41)-(1,42) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,40)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -85,67 +86,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,2)-(3,40)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (3,2)-(3,6)) - │ │ │ │ ├── opening_loc: (3,2)-(3,3) = ":" - │ │ │ │ ├── value_loc: (3,3)-(3,6) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ └── @ HashNode (location: (3,8)-(3,40)) - │ │ │ ├── opening_loc: (3,8)-(3,9) = "{" - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ AssocSplatNode (location: (3,9)-(3,23)) - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (3,12)-(3,23)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :proc - │ │ │ │ │ │ ├── message_loc: (3,12)-(3,16) = "proc" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (3,17)-(3,23)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (3,17)-(3,19) = "do" - │ │ │ │ │ │ │ └── closing_loc: (3,20)-(3,23) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── operator_loc: (3,9)-(3,11) = "**" - │ │ │ │ └── @ AssocNode (location: (3,25)-(3,39)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (3,25)-(3,27)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (3,25)-(3,26) = "b" - │ │ │ │ │ ├── closing_loc: (3,26)-(3,27) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ CallNode (location: (3,28)-(3,39)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :proc - │ │ │ │ │ ├── message_loc: (3,28)-(3,32) = "proc" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (3,33)-(3,39)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (3,33)-(3,35) = "do" - │ │ │ │ │ │ └── closing_loc: (3,36)-(3,39) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── closing_loc: (3,39)-(3,40) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (3,2)-(3,6)) + │ │ │ ├── opening_loc: (3,2)-(3,3) = ":" + │ │ │ ├── value_loc: (3,3)-(3,6) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ └── @ HashNode (location: (3,8)-(3,40)) + │ │ ├── opening_loc: (3,8)-(3,9) = "{" + │ │ ├── elements: (length: 2) + │ │ │ ├── @ AssocSplatNode (location: (3,9)-(3,23)) + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (3,12)-(3,23)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :proc + │ │ │ │ │ ├── message_loc: (3,12)-(3,16) = "proc" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (3,17)-(3,23)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── opening_loc: (3,17)-(3,19) = "do" + │ │ │ │ │ └── closing_loc: (3,20)-(3,23) = "end" + │ │ │ │ └── operator_loc: (3,9)-(3,11) = "**" + │ │ │ └── @ AssocNode (location: (3,25)-(3,39)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (3,25)-(3,27)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (3,25)-(3,26) = "b" + │ │ │ │ ├── closing_loc: (3,26)-(3,27) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (3,28)-(3,39)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :proc + │ │ │ │ ├── message_loc: (3,28)-(3,32) = "proc" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (3,33)-(3,39)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (3,33)-(3,35) = "do" + │ │ │ │ └── closing_loc: (3,36)-(3,39) = "end" + │ │ │ └── operator_loc: ∅ + │ │ └── closing_loc: (3,39)-(3,40) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,43)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -153,73 +154,73 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,2)-(5,43)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (5,2)-(5,6)) - │ │ │ │ ├── opening_loc: (5,2)-(5,3) = ":" - │ │ │ │ ├── value_loc: (5,3)-(5,6) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ └── @ HashNode (location: (5,8)-(5,43)) - │ │ │ ├── opening_loc: (5,8)-(5,9) = "{" - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ AssocNode (location: (5,9)-(5,26)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11)) - │ │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" - │ │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a" - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ └── unescaped: "a" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (5,15)-(5,26)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :proc - │ │ │ │ │ │ ├── message_loc: (5,15)-(5,19) = "proc" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (5,20)-(5,26)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (5,20)-(5,22) = "do" - │ │ │ │ │ │ │ └── closing_loc: (5,23)-(5,26) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── operator_loc: (5,12)-(5,14) = "=>" - │ │ │ │ └── @ AssocNode (location: (5,28)-(5,42)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (5,28)-(5,30)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (5,28)-(5,29) = "b" - │ │ │ │ │ ├── closing_loc: (5,29)-(5,30) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ CallNode (location: (5,31)-(5,42)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :proc - │ │ │ │ │ ├── message_loc: (5,31)-(5,35) = "proc" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (5,36)-(5,42)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (5,36)-(5,38) = "do" - │ │ │ │ │ │ └── closing_loc: (5,39)-(5,42) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── closing_loc: (5,42)-(5,43) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (5,2)-(5,6)) + │ │ │ ├── opening_loc: (5,2)-(5,3) = ":" + │ │ │ ├── value_loc: (5,3)-(5,6) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ └── @ HashNode (location: (5,8)-(5,43)) + │ │ ├── opening_loc: (5,8)-(5,9) = "{" + │ │ ├── elements: (length: 2) + │ │ │ ├── @ AssocNode (location: (5,9)-(5,26)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11)) + │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" + │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a" + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── unescaped: "a" + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (5,15)-(5,26)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :proc + │ │ │ │ │ ├── message_loc: (5,15)-(5,19) = "proc" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (5,20)-(5,26)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── opening_loc: (5,20)-(5,22) = "do" + │ │ │ │ │ └── closing_loc: (5,23)-(5,26) = "end" + │ │ │ │ └── operator_loc: (5,12)-(5,14) = "=>" + │ │ │ └── @ AssocNode (location: (5,28)-(5,42)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (5,28)-(5,30)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (5,28)-(5,29) = "b" + │ │ │ │ ├── closing_loc: (5,29)-(5,30) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (5,31)-(5,42)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :proc + │ │ │ │ ├── message_loc: (5,31)-(5,35) = "proc" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (5,36)-(5,42)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (5,36)-(5,38) = "do" + │ │ │ │ └── closing_loc: (5,39)-(5,42) = "end" + │ │ │ └── operator_loc: ∅ + │ │ └── closing_loc: (5,42)-(5,43) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,40)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -227,73 +228,73 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,2)-(7,40)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ SymbolNode (location: (7,2)-(7,6)) - │ │ │ │ ├── opening_loc: (7,2)-(7,3) = ":" - │ │ │ │ ├── value_loc: (7,3)-(7,6) = "foo" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "foo" - │ │ │ └── @ HashNode (location: (7,8)-(7,40)) - │ │ │ ├── opening_loc: (7,8)-(7,9) = "{" - │ │ │ ├── elements: (length: 2) - │ │ │ │ ├── @ AssocNode (location: (7,9)-(7,23)) - │ │ │ │ │ ├── key: - │ │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11)) - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "a" - │ │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":" - │ │ │ │ │ │ └── unescaped: "a" - │ │ │ │ │ ├── value: - │ │ │ │ │ │ @ CallNode (location: (7,12)-(7,23)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :proc - │ │ │ │ │ │ ├── message_loc: (7,12)-(7,16) = "proc" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: - │ │ │ │ │ │ │ @ BlockNode (location: (7,17)-(7,23)) - │ │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ │ ├── opening_loc: (7,17)-(7,19) = "do" - │ │ │ │ │ │ │ └── closing_loc: (7,20)-(7,23) = "end" - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── operator_loc: ∅ - │ │ │ │ └── @ AssocNode (location: (7,25)-(7,39)) - │ │ │ │ ├── key: - │ │ │ │ │ @ SymbolNode (location: (7,25)-(7,27)) - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── value_loc: (7,25)-(7,26) = "b" - │ │ │ │ │ ├── closing_loc: (7,26)-(7,27) = ":" - │ │ │ │ │ └── unescaped: "b" - │ │ │ │ ├── value: - │ │ │ │ │ @ CallNode (location: (7,28)-(7,39)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :proc - │ │ │ │ │ ├── message_loc: (7,28)-(7,32) = "proc" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (7,33)-(7,39)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (7,33)-(7,35) = "do" - │ │ │ │ │ │ └── closing_loc: (7,36)-(7,39) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: ∅ - │ │ │ └── closing_loc: (7,39)-(7,40) = "}" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ SymbolNode (location: (7,2)-(7,6)) + │ │ │ ├── opening_loc: (7,2)-(7,3) = ":" + │ │ │ ├── value_loc: (7,3)-(7,6) = "foo" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "foo" + │ │ └── @ HashNode (location: (7,8)-(7,40)) + │ │ ├── opening_loc: (7,8)-(7,9) = "{" + │ │ ├── elements: (length: 2) + │ │ │ ├── @ AssocNode (location: (7,9)-(7,23)) + │ │ │ │ ├── key: + │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11)) + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "a" + │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":" + │ │ │ │ │ └── unescaped: "a" + │ │ │ │ ├── value: + │ │ │ │ │ @ CallNode (location: (7,12)-(7,23)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :proc + │ │ │ │ │ ├── message_loc: (7,12)-(7,16) = "proc" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: + │ │ │ │ │ @ BlockNode (location: (7,17)-(7,23)) + │ │ │ │ │ ├── locals: [] + │ │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ │ ├── parameters: ∅ + │ │ │ │ │ ├── body: ∅ + │ │ │ │ │ ├── opening_loc: (7,17)-(7,19) = "do" + │ │ │ │ │ └── closing_loc: (7,20)-(7,23) = "end" + │ │ │ │ └── operator_loc: ∅ + │ │ │ └── @ AssocNode (location: (7,25)-(7,39)) + │ │ │ ├── key: + │ │ │ │ @ SymbolNode (location: (7,25)-(7,27)) + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── value_loc: (7,25)-(7,26) = "b" + │ │ │ │ ├── closing_loc: (7,26)-(7,27) = ":" + │ │ │ │ └── unescaped: "b" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (7,28)-(7,39)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :proc + │ │ │ │ ├── message_loc: (7,28)-(7,32) = "proc" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (7,33)-(7,39)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (7,33)-(7,35) = "do" + │ │ │ │ └── closing_loc: (7,36)-(7,39) = "end" + │ │ │ └── operator_loc: ∅ + │ │ └── closing_loc: (7,39)-(7,40) = "}" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (9,0)-(9,52)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -301,81 +302,80 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (9,2)-(9,52)) - │ ├── arguments: (length: 2) - │ │ ├── @ SymbolNode (location: (9,2)-(9,6)) - │ │ │ ├── opening_loc: (9,2)-(9,3) = ":" - │ │ │ ├── value_loc: (9,3)-(9,6) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ └── @ HashNode (location: (9,8)-(9,52)) - │ │ ├── opening_loc: (9,8)-(9,9) = "{" - │ │ ├── elements: (length: 2) - │ │ │ ├── @ AssocNode (location: (9,9)-(9,35)) - │ │ │ │ ├── key: - │ │ │ │ │ @ CallNode (location: (9,9)-(9,20)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :proc - │ │ │ │ │ ├── message_loc: (9,9)-(9,13) = "proc" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (9,14)-(9,20)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (9,14)-(9,16) = "do" - │ │ │ │ │ │ └── closing_loc: (9,17)-(9,20) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── value: - │ │ │ │ │ @ CallNode (location: (9,24)-(9,35)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :proc - │ │ │ │ │ ├── message_loc: (9,24)-(9,28) = "proc" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: - │ │ │ │ │ │ @ BlockNode (location: (9,29)-(9,35)) - │ │ │ │ │ │ ├── locals: [] - │ │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ │ ├── opening_loc: (9,29)-(9,31) = "do" - │ │ │ │ │ │ └── closing_loc: (9,32)-(9,35) = "end" - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── operator_loc: (9,21)-(9,23) = "=>" - │ │ │ └── @ AssocNode (location: (9,37)-(9,51)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (9,37)-(9,39)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (9,37)-(9,38) = "b" - │ │ │ │ ├── closing_loc: (9,38)-(9,39) = ":" - │ │ │ │ └── unescaped: "b" - │ │ │ ├── value: - │ │ │ │ @ CallNode (location: (9,40)-(9,51)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :proc - │ │ │ │ ├── message_loc: (9,40)-(9,44) = "proc" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (9,45)-(9,51)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (9,45)-(9,47) = "do" - │ │ │ │ │ └── closing_loc: (9,48)-(9,51) = "end" - │ │ │ │ └── flags: ∅ - │ │ │ └── operator_loc: ∅ - │ │ └── closing_loc: (9,51)-(9,52) = "}" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ SymbolNode (location: (9,2)-(9,6)) + │ │ ├── opening_loc: (9,2)-(9,3) = ":" + │ │ ├── value_loc: (9,3)-(9,6) = "foo" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "foo" + │ └── @ HashNode (location: (9,8)-(9,52)) + │ ├── opening_loc: (9,8)-(9,9) = "{" + │ ├── elements: (length: 2) + │ │ ├── @ AssocNode (location: (9,9)-(9,35)) + │ │ │ ├── key: + │ │ │ │ @ CallNode (location: (9,9)-(9,20)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :proc + │ │ │ │ ├── message_loc: (9,9)-(9,13) = "proc" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (9,14)-(9,20)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (9,14)-(9,16) = "do" + │ │ │ │ └── closing_loc: (9,17)-(9,20) = "end" + │ │ │ ├── value: + │ │ │ │ @ CallNode (location: (9,24)-(9,35)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :proc + │ │ │ │ ├── message_loc: (9,24)-(9,28) = "proc" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (9,29)-(9,35)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (9,29)-(9,31) = "do" + │ │ │ │ └── closing_loc: (9,32)-(9,35) = "end" + │ │ │ └── operator_loc: (9,21)-(9,23) = "=>" + │ │ └── @ AssocNode (location: (9,37)-(9,51)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (9,37)-(9,39)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (9,37)-(9,38) = "b" + │ │ │ ├── closing_loc: (9,38)-(9,39) = ":" + │ │ │ └── unescaped: "b" + │ │ ├── value: + │ │ │ @ CallNode (location: (9,40)-(9,51)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :proc + │ │ │ ├── message_loc: (9,40)-(9,44) = "proc" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (9,45)-(9,51)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (9,45)-(9,47) = "do" + │ │ │ └── closing_loc: (9,48)-(9,51) = "end" + │ │ └── operator_loc: ∅ + │ └── closing_loc: (9,51)-(9,52) = "}" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_heredoc_do.txt b/test/prism/snapshots/whitequark/bug_heredoc_do.txt index b6683f2676..7d1254f4fe 100644 --- a/test/prism/snapshots/whitequark/bug_heredoc_do.txt +++ b/test/prism/snapshots/whitequark/bug_heredoc_do.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,21 +12,20 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,10)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (1,2)-(1,10)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,2)-(1,10) = "<<-TABLE" - │ │ ├── content_loc: (2,0)-(2,0) = "" - │ │ ├── closing_loc: (2,0)-(3,0) = "TABLE\n" - │ │ └── unescaped: "" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (1,2)-(1,10)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,2)-(1,10) = "<<-TABLE" + │ ├── content_loc: (2,0)-(2,0) = "" + │ ├── closing_loc: (2,0)-(3,0) = "TABLE\n" + │ └── unescaped: "" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,11)-(3,3)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,11)-(1,13) = "do" - │ └── closing_loc: (3,0)-(3,3) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,11)-(3,3)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,11)-(1,13) = "do" + └── closing_loc: (3,0)-(3,3) = "end" diff --git a/test/prism/snapshots/whitequark/bug_interp_single.txt b/test/prism/snapshots/whitequark/bug_interp_single.txt index d073a9acaf..699dd6297e 100644 --- a/test/prism/snapshots/whitequark/bug_interp_single.txt +++ b/test/prism/snapshots/whitequark/bug_interp_single.txt @@ -16,6 +16,7 @@ │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── closing_loc: (1,5)-(1,6) = "\"" └── @ ArrayNode (location: (3,0)-(3,8)) + ├── flags: ∅ ├── elements: (length: 1) │ └── @ InterpolatedStringNode (location: (3,3)-(3,7)) │ ├── opening_loc: ∅ @@ -30,5 +31,4 @@ │ │ └── closing_loc: (3,6)-(3,7) = "}" │ └── closing_loc: ∅ ├── opening_loc: (3,0)-(3,3) = "%W\"" - ├── closing_loc: (3,7)-(3,8) = "\"" - └── flags: ∅ + └── closing_loc: (3,7)-(3,8) = "\"" diff --git a/test/prism/snapshots/whitequark/bug_lambda_leakage.txt b/test/prism/snapshots/whitequark/bug_lambda_leakage.txt index d9b6e30304..f538e3f613 100644 --- a/test/prism/snapshots/whitequark/bug_lambda_leakage.txt +++ b/test/prism/snapshots/whitequark/bug_lambda_leakage.txt @@ -27,6 +27,7 @@ │ │ └── closing_loc: (1,8)-(1,9) = ")" │ └── body: ∅ └── @ CallNode (location: (1,14)-(1,19)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :scope @@ -34,5 +35,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/bug_regex_verification.txt b/test/prism/snapshots/whitequark/bug_regex_verification.txt index 79ac10f3a5..5ca85e34c7 100644 --- a/test/prism/snapshots/whitequark/bug_regex_verification.txt +++ b/test/prism/snapshots/whitequark/bug_regex_verification.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,5)) + ├── flags: extended ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,3) = "#)" ├── closing_loc: (1,3)-(1,5) = "/x" - ├── unescaped: "#)" - └── flags: extended + └── unescaped: "#)" diff --git a/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt b/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt index bb973e766e..aa8aa11ccc 100644 --- a/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt +++ b/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(1,23)) └── body: (length: 1) └── @ WhileNode (location: (1,0)-(1,23)) + ├── flags: ∅ ├── keyword_loc: (1,0)-(1,5) = "while" ├── closing_loc: (1,20)-(1,23) = "end" ├── predicate: │ @ CallNode (location: (1,6)-(1,16)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (1,10)-(1,16)) │ │ ├── body: @@ -22,7 +24,5 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ - ├── statements: ∅ - └── flags: ∅ + │ └── block: ∅ + └── statements: ∅ diff --git a/test/prism/snapshots/whitequark/case_cond.txt b/test/prism/snapshots/whitequark/case_cond.txt index 3989390967..c578d386da 100644 --- a/test/prism/snapshots/whitequark/case_cond.txt +++ b/test/prism/snapshots/whitequark/case_cond.txt @@ -10,6 +10,7 @@ │ ├── keyword_loc: (1,6)-(1,10) = "when" │ ├── conditions: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,14)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -17,8 +18,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (1,16)-(1,21)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/whitequark/case_cond_else.txt b/test/prism/snapshots/whitequark/case_cond_else.txt index 18b13aa409..f6411ad5a9 100644 --- a/test/prism/snapshots/whitequark/case_cond_else.txt +++ b/test/prism/snapshots/whitequark/case_cond_else.txt @@ -10,6 +10,7 @@ │ ├── keyword_loc: (1,6)-(1,10) = "when" │ ├── conditions: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,14)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -17,8 +18,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (1,16)-(1,21)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/whitequark/case_expr.txt b/test/prism/snapshots/whitequark/case_expr.txt index 68e63c3e9b..d52625f74e 100644 --- a/test/prism/snapshots/whitequark/case_expr.txt +++ b/test/prism/snapshots/whitequark/case_expr.txt @@ -6,6 +6,7 @@ └── @ CaseNode (location: (1,0)-(1,30)) ├── 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: 1) │ └── @ WhenNode (location: (1,10)-(1,25)) │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -29,6 +29,7 @@ │ @ StatementsNode (location: (1,22)-(1,25)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,22)-(1,25)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -36,8 +37,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" └── end_keyword_loc: (1,27)-(1,30) = "end" diff --git a/test/prism/snapshots/whitequark/case_expr_else.txt b/test/prism/snapshots/whitequark/case_expr_else.txt index 0231a46c10..ddb80acfcb 100644 --- a/test/prism/snapshots/whitequark/case_expr_else.txt +++ b/test/prism/snapshots/whitequark/case_expr_else.txt @@ -6,6 +6,7 @@ └── @ CaseNode (location: (1,0)-(1,40)) ├── 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: 1) │ └── @ WhenNode (location: (1,10)-(1,25)) │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -29,6 +29,7 @@ │ @ StatementsNode (location: (1,22)-(1,25)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,22)-(1,25)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -36,8 +37,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (1,27)-(1,40)) │ ├── else_keyword_loc: (1,27)-(1,31) = "else" @@ -45,6 +45,7 @@ │ │ @ StatementsNode (location: (1,32)-(1,35)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,32)-(1,35)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -52,8 +53,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (1,37)-(1,40) = "end" ├── case_keyword_loc: (1,0)-(1,4) = "case" └── end_keyword_loc: (1,37)-(1,40) = "end" diff --git a/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt b/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt index 25a86f62e8..44b7d83765 100644 --- a/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt +++ b/test/prism/snapshots/whitequark/class_definition_in_while_cond.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,44)) └── body: (length: 4) ├── @ WhileNode (location: (1,0)-(1,52)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,49)-(1,52) = "end" │ ├── predicate: @@ -22,6 +23,7 @@ │ │ │ ├── name_loc: (1,21)-(1,22) = "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (1,25)-(1,35)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -29,25 +31,24 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (1,29)-(1,35)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (1,29)-(1,31) = "do" - │ │ │ │ │ └── closing_loc: (1,32)-(1,35) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (1,29)-(1,35)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (1,29)-(1,31) = "do" + │ │ │ │ └── closing_loc: (1,32)-(1,35) = "end" │ │ │ └── operator_loc: (1,23)-(1,24) = "=" │ │ └── end_keyword_loc: (1,37)-(1,40) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (1,42)-(1,47)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (1,42)-(1,47)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (1,42)-(1,47) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (1,42)-(1,47)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (1,42)-(1,47)) + │ ├── arguments: ∅ + │ └── keyword_loc: (1,42)-(1,47) = "break" ├── @ WhileNode (location: (3,0)-(3,48)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,0)-(3,5) = "while" │ ├── closing_loc: (3,45)-(3,48) = "end" │ ├── predicate: @@ -61,6 +62,7 @@ │ │ │ @ StatementsNode (location: (3,21)-(3,31)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,21)-(3,31)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -68,24 +70,23 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (3,25)-(3,31)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (3,25)-(3,27) = "do" - │ │ │ │ └── closing_loc: (3,28)-(3,31) = "end" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (3,25)-(3,31)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (3,25)-(3,27) = "do" + │ │ │ └── closing_loc: (3,28)-(3,31) = "end" │ │ └── end_keyword_loc: (3,33)-(3,36) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (3,38)-(3,43)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (3,38)-(3,43)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (3,38)-(3,43) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (3,38)-(3,43)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (3,38)-(3,43)) + │ ├── arguments: ∅ + │ └── keyword_loc: (3,38)-(3,43) = "break" ├── @ WhileNode (location: (5,0)-(5,47)) + │ ├── flags: ∅ │ ├── keyword_loc: (5,0)-(5,5) = "while" │ ├── closing_loc: (5,44)-(5,47) = "end" │ ├── predicate: @@ -106,6 +107,7 @@ │ │ │ ├── name_loc: (5,16)-(5,17) = "a" │ │ │ ├── value: │ │ │ │ @ CallNode (location: (5,20)-(5,30)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -113,26 +115,25 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (5,24)-(5,30)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (5,24)-(5,26) = "do" - │ │ │ │ │ └── closing_loc: (5,27)-(5,30) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (5,24)-(5,30)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (5,24)-(5,26) = "do" + │ │ │ │ └── closing_loc: (5,27)-(5,30) = "end" │ │ │ └── operator_loc: (5,18)-(5,19) = "=" │ │ ├── end_keyword_loc: (5,32)-(5,35) = "end" │ │ └── name: :Foo - │ ├── statements: - │ │ @ StatementsNode (location: (5,37)-(5,42)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (5,37)-(5,42)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (5,37)-(5,42) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (5,37)-(5,42)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (5,37)-(5,42)) + │ ├── arguments: ∅ + │ └── keyword_loc: (5,37)-(5,42) = "break" └── @ WhileNode (location: (7,0)-(7,44)) + ├── flags: ∅ ├── keyword_loc: (7,0)-(7,5) = "while" ├── closing_loc: (7,41)-(7,44) = "end" ├── predicate: @@ -148,6 +149,7 @@ │ │ @ StatementsNode (location: (7,17)-(7,27)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,17)-(7,27)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :tap @@ -155,21 +157,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (7,21)-(7,27)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (7,21)-(7,23) = "do" - │ │ │ └── closing_loc: (7,24)-(7,27) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (7,21)-(7,27)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (7,21)-(7,23) = "do" + │ │ └── closing_loc: (7,24)-(7,27) = "end" │ ├── end_keyword_loc: (7,29)-(7,32) = "end" │ └── name: :Foo - ├── statements: - │ @ StatementsNode (location: (7,34)-(7,39)) - │ └── body: (length: 1) - │ └── @ BreakNode (location: (7,34)-(7,39)) - │ ├── arguments: ∅ - │ └── keyword_loc: (7,34)-(7,39) = "break" - └── flags: ∅ + └── statements: + @ StatementsNode (location: (7,34)-(7,39)) + └── body: (length: 1) + └── @ BreakNode (location: (7,34)-(7,39)) + ├── arguments: ∅ + └── keyword_loc: (7,34)-(7,39) = "break" diff --git a/test/prism/snapshots/whitequark/class_super_label.txt b/test/prism/snapshots/whitequark/class_super_label.txt index 8e16cef1ed..a8a6cf54fc 100644 --- a/test/prism/snapshots/whitequark/class_super_label.txt +++ b/test/prism/snapshots/whitequark/class_super_label.txt @@ -12,6 +12,7 @@ ├── inheritance_operator_loc: (1,10)-(1,11) = "<" ├── superclass: │ @ CallNode (location: (1,12)-(1,15)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -19,16 +20,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,13)-(1,15)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SymbolNode (location: (1,13)-(1,15)) - │ │ │ ├── opening_loc: (1,13)-(1,14) = ":" - │ │ │ ├── value_loc: (1,14)-(1,15) = "b" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "b" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SymbolNode (location: (1,13)-(1,15)) + │ │ ├── opening_loc: (1,13)-(1,14) = ":" + │ │ ├── value_loc: (1,14)-(1,15) = "b" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "b" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── body: ∅ ├── end_keyword_loc: (1,17)-(1,20) = "end" └── name: :Foo diff --git a/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt b/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt index f560664f89..4868d0913e 100644 --- a/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt +++ b/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(18,4)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(3,5)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -13,19 +15,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,0)-(3,2) = "&." │ ├── name: :foo │ ├── message_loc: (3,2)-(3,5) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ ├── @ CallNode (location: (6,0)-(8,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (6,0)-(6,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -33,19 +35,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (8,0)-(8,1) = "." │ ├── name: :foo │ ├── message_loc: (8,1)-(8,4) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(13,5)) + │ ├── flags: safe_navigation │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,1)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -53,19 +55,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (13,0)-(13,2) = "&." │ ├── name: :foo │ ├── message_loc: (13,2)-(13,5) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: safe_navigation + │ └── block: ∅ └── @ CallNode (location: (16,0)-(18,4)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (16,0)-(16,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -73,13 +75,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (18,0)-(18,1) = "." ├── name: :foo ├── message_loc: (18,1)-(18,4) = "foo" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/cond_begin.txt b/test/prism/snapshots/whitequark/cond_begin.txt index 78e1f65d0a..d70314408f 100644 --- a/test/prism/snapshots/whitequark/cond_begin.txt +++ b/test/prism/snapshots/whitequark/cond_begin.txt @@ -11,6 +11,7 @@ │ │ @ StatementsNode (location: (1,4)-(1,7)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -18,8 +19,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,3)-(1,4) = "(" │ └── closing_loc: (1,7)-(1,8) = ")" ├── then_keyword_loc: ∅ @@ -27,6 +27,7 @@ │ @ StatementsNode (location: (1,10)-(1,13)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,10)-(1,13)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -34,7 +35,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: (1,15)-(1,18) = "end" diff --git a/test/prism/snapshots/whitequark/cond_begin_masgn.txt b/test/prism/snapshots/whitequark/cond_begin_masgn.txt index a763c7ee8b..93892315ac 100644 --- a/test/prism/snapshots/whitequark/cond_begin_masgn.txt +++ b/test/prism/snapshots/whitequark/cond_begin_masgn.txt @@ -11,6 +11,7 @@ │ │ @ StatementsNode (location: (1,4)-(1,19)) │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (1,4)-(1,7)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -18,8 +19,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── @ MultiWriteNode (location: (1,9)-(1,19)) │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (1,9)-(1,10)) @@ -35,6 +35,7 @@ │ │ ├── operator_loc: (1,14)-(1,15) = "=" │ │ └── value: │ │ @ CallNode (location: (1,16)-(1,19)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -42,8 +43,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,3)-(1,4) = "(" │ └── closing_loc: (1,19)-(1,20) = ")" ├── then_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/cond_eflipflop.txt b/test/prism/snapshots/whitequark/cond_eflipflop.txt index 4761b22164..ab617f583f 100644 --- a/test/prism/snapshots/whitequark/cond_eflipflop.txt +++ b/test/prism/snapshots/whitequark/cond_eflipflop.txt @@ -4,14 +4,17 @@ @ StatementsNode (location: (1,0)-(3,17)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (1,1)-(1,12)) │ │ ├── body: │ │ │ @ StatementsNode (location: (1,2)-(1,11)) │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (1,2)-(1,11)) + │ │ │ ├── flags: exclude_end │ │ │ ├── left: │ │ │ │ @ CallNode (location: (1,2)-(1,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -19,10 +22,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (1,8)-(1,11)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -30,10 +33,8 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (1,5)-(1,8) = "..." - │ │ │ └── flags: exclude_end + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (1,5)-(1,8) = "..." │ │ ├── opening_loc: (1,1)-(1,2) = "(" │ │ └── closing_loc: (1,11)-(1,12) = ")" │ ├── call_operator_loc: ∅ @@ -42,14 +43,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ IfNode (location: (3,0)-(3,17)) ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (3,3)-(3,12)) + │ ├── flags: exclude_end │ ├── left: │ │ @ CallNode (location: (3,3)-(3,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -57,10 +59,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (3,9)-(3,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -68,10 +70,8 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (3,6)-(3,9) = "..." - │ └── flags: exclude_end + │ │ └── block: ∅ + │ └── operator_loc: (3,6)-(3,9) = "..." ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/whitequark/cond_iflipflop.txt b/test/prism/snapshots/whitequark/cond_iflipflop.txt index 3d54edf883..061bfd4315 100644 --- a/test/prism/snapshots/whitequark/cond_iflipflop.txt +++ b/test/prism/snapshots/whitequark/cond_iflipflop.txt @@ -4,14 +4,17 @@ @ StatementsNode (location: (1,0)-(3,16)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (1,1)-(1,11)) │ │ ├── body: │ │ │ @ StatementsNode (location: (1,2)-(1,10)) │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (1,2)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── left: │ │ │ │ @ CallNode (location: (1,2)-(1,5)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -19,10 +22,10 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -30,10 +33,8 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── operator_loc: (1,5)-(1,7) = ".." - │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── operator_loc: (1,5)-(1,7) = ".." │ │ ├── opening_loc: (1,1)-(1,2) = "(" │ │ └── closing_loc: (1,10)-(1,11) = ")" │ ├── call_operator_loc: ∅ @@ -42,14 +43,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ IfNode (location: (3,0)-(3,16)) ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (3,3)-(3,11)) + │ ├── flags: ∅ │ ├── left: │ │ @ CallNode (location: (3,3)-(3,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -57,10 +59,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (3,8)-(3,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -68,10 +70,8 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── operator_loc: (3,6)-(3,8) = ".." - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (3,6)-(3,8) = ".." ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/whitequark/cond_match_current_line.txt b/test/prism/snapshots/whitequark/cond_match_current_line.txt index a3765182bd..fb5ff33ed5 100644 --- a/test/prism/snapshots/whitequark/cond_match_current_line.txt +++ b/test/prism/snapshots/whitequark/cond_match_current_line.txt @@ -4,30 +4,30 @@ @ StatementsNode (location: (1,0)-(3,13)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ MatchLastLineNode (location: (1,1)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,2) = "/" │ │ ├── content_loc: (1,2)-(1,5) = "wat" │ │ ├── closing_loc: (1,5)-(1,6) = "/" - │ │ ├── unescaped: "wat" - │ │ └── flags: ∅ + │ │ └── unescaped: "wat" │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,0)-(1,1) = "!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ IfNode (location: (3,0)-(3,13)) ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ MatchLastLineNode (location: (3,3)-(3,8)) + │ ├── flags: ∅ │ ├── opening_loc: (3,3)-(3,4) = "/" │ ├── content_loc: (3,4)-(3,7) = "wat" │ ├── closing_loc: (3,7)-(3,8) = "/" - │ ├── unescaped: "wat" - │ └── flags: ∅ + │ └── unescaped: "wat" ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/whitequark/dedenting_heredoc.txt b/test/prism/snapshots/whitequark/dedenting_heredoc.txt index 3d442e664a..a459cd851f 100644 --- a/test/prism/snapshots/whitequark/dedenting_heredoc.txt +++ b/test/prism/snapshots/whitequark/dedenting_heredoc.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(72,8)) └── body: (length: 16) ├── @ CallNode (location: (1,0)-(1,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -11,40 +12,40 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,8)) - │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\"" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " x\n" - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,2)-(3,10)) - │ │ │ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,9)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ StringNode (location: (3,4)-(3,9)) - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ ├── opening_loc: (3,4)-(3,5) = "\"" - │ │ │ │ │ │ ├── content_loc: (3,5)-(3,8) = " y" - │ │ │ │ │ │ ├── closing_loc: (3,8)-(3,9) = "\"" - │ │ │ │ │ │ └── unescaped: " y" - │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" - │ │ │ │ └── @ StringNode (location: (3,10)-(4,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (3,10)-(4,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (4,0)-(5,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,8)) + │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\"" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (2,0)-(3,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " x\n" + │ │ │ ├── @ EmbeddedStatementsNode (location: (3,2)-(3,10)) + │ │ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,9)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ StringNode (location: (3,4)-(3,9)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: (3,4)-(3,5) = "\"" + │ │ │ │ │ ├── content_loc: (3,5)-(3,8) = " y" + │ │ │ │ │ ├── closing_loc: (3,8)-(3,9) = "\"" + │ │ │ │ │ └── unescaped: " y" + │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" + │ │ │ └── @ StringNode (location: (3,10)-(4,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (3,10)-(4,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (4,0)-(5,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (6,0)-(6,8)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -52,44 +53,44 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (6,2)-(6,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,8)) - │ │ │ ├── opening_loc: (6,2)-(6,8) = "<<~\"E\"" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (7,0)-(8,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (7,0)-(8,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " x\n" - │ │ │ │ ├── @ EmbeddedStatementsNode (location: (8,2)-(8,8)) - │ │ │ │ │ ├── opening_loc: (8,2)-(8,4) = "\#{" - │ │ │ │ │ ├── statements: - │ │ │ │ │ │ @ StatementsNode (location: (8,4)-(8,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (8,4)-(8,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :foo - │ │ │ │ │ │ ├── message_loc: (8,4)-(8,7) = "foo" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}" - │ │ │ │ └── @ StringNode (location: (8,8)-(9,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (8,8)-(9,0) = "\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\n" - │ │ │ └── closing_loc: (9,0)-(10,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,8)) + │ │ ├── opening_loc: (6,2)-(6,8) = "<<~\"E\"" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (7,0)-(8,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (7,0)-(8,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " x\n" + │ │ │ ├── @ EmbeddedStatementsNode (location: (8,2)-(8,8)) + │ │ │ │ ├── opening_loc: (8,2)-(8,4) = "\#{" + │ │ │ │ ├── statements: + │ │ │ │ │ @ StatementsNode (location: (8,4)-(8,7)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (8,4)-(8,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :foo + │ │ │ │ │ ├── message_loc: (8,4)-(8,7) = "foo" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}" + │ │ │ └── @ StringNode (location: (8,8)-(9,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (8,8)-(9,0) = "\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\n" + │ │ └── closing_loc: (9,0)-(10,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -97,28 +98,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (11,2)-(11,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (11,2)-(11,6)) - │ │ │ ├── opening_loc: (11,2)-(11,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (12,0)-(13,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (12,0)-(13,0) = "\tx\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x\n" - │ │ │ │ └── @ StringNode (location: (13,0)-(14,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (13,0)-(14,0) = " y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "y\n" - │ │ │ └── closing_loc: (14,0)-(15,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (11,2)-(11,6)) + │ │ ├── opening_loc: (11,2)-(11,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (12,0)-(13,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (12,0)-(13,0) = "\tx\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x\n" + │ │ │ └── @ StringNode (location: (13,0)-(14,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (13,0)-(14,0) = " y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "y\n" + │ │ └── closing_loc: (14,0)-(15,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (16,0)-(16,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -126,28 +127,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (16,2)-(16,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (16,2)-(16,6)) - │ │ │ ├── opening_loc: (16,2)-(16,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (17,0)-(18,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (17,0)-(18,0) = "\tx\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "\tx\n" - │ │ │ │ └── @ StringNode (location: (18,0)-(19,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (18,0)-(19,0) = " y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "y\n" - │ │ │ └── closing_loc: (19,0)-(20,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (16,2)-(16,6)) + │ │ ├── opening_loc: (16,2)-(16,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (17,0)-(18,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (17,0)-(18,0) = "\tx\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "\tx\n" + │ │ │ └── @ StringNode (location: (18,0)-(19,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (18,0)-(19,0) = " y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "y\n" + │ │ └── closing_loc: (19,0)-(20,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -155,28 +156,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,2)-(21,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (21,2)-(21,6)) - │ │ │ ├── opening_loc: (21,2)-(21,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (22,0)-(23,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (22,0)-(23,0) = " \tx\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x\n" - │ │ │ │ └── @ StringNode (location: (23,0)-(24,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (23,0)-(24,0) = " y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "y\n" - │ │ │ └── closing_loc: (24,0)-(25,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (21,2)-(21,6)) + │ │ ├── opening_loc: (21,2)-(21,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (22,0)-(23,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (22,0)-(23,0) = " \tx\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x\n" + │ │ │ └── @ StringNode (location: (23,0)-(24,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (23,0)-(24,0) = " y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "y\n" + │ │ └── closing_loc: (24,0)-(25,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (26,0)-(26,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -184,28 +185,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (26,2)-(26,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (26,2)-(26,6)) - │ │ │ ├── opening_loc: (26,2)-(26,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (27,0)-(28,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (27,0)-(28,0) = " \tx\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "\tx\n" - │ │ │ │ └── @ StringNode (location: (28,0)-(29,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (28,0)-(29,0) = "\ty\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "y\n" - │ │ │ └── closing_loc: (29,0)-(30,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (26,2)-(26,6)) + │ │ ├── opening_loc: (26,2)-(26,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (27,0)-(28,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (27,0)-(28,0) = " \tx\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "\tx\n" + │ │ │ └── @ StringNode (location: (28,0)-(29,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (28,0)-(29,0) = "\ty\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "y\n" + │ │ └── closing_loc: (29,0)-(30,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -213,28 +214,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (31,2)-(31,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (31,2)-(31,6)) - │ │ │ ├── opening_loc: (31,2)-(31,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (32,0)-(33,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (32,0)-(33,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " x\n" - │ │ │ │ └── @ StringNode (location: (33,0)-(34,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (33,0)-(34,0) = " \\\ty\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "\ty\n" - │ │ │ └── closing_loc: (34,0)-(35,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (31,2)-(31,6)) + │ │ ├── opening_loc: (31,2)-(31,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (32,0)-(33,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (32,0)-(33,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " x\n" + │ │ │ └── @ StringNode (location: (33,0)-(34,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (33,0)-(34,0) = " \\\ty\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "\ty\n" + │ │ └── closing_loc: (34,0)-(35,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (36,0)-(36,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -242,28 +243,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (36,2)-(36,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (36,2)-(36,6)) - │ │ │ ├── opening_loc: (36,2)-(36,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (37,0)-(38,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (37,0)-(38,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " x\n" - │ │ │ │ └── @ StringNode (location: (38,0)-(39,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (38,0)-(39,0) = " \\ y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: " y\n" - │ │ │ └── closing_loc: (39,0)-(40,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (36,2)-(36,6)) + │ │ ├── opening_loc: (36,2)-(36,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (37,0)-(38,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (37,0)-(38,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " x\n" + │ │ │ └── @ StringNode (location: (38,0)-(39,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (38,0)-(39,0) = " \\ y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: " y\n" + │ │ └── closing_loc: (39,0)-(40,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -271,18 +272,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (41,2)-(41,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (41,2)-(41,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (41,2)-(41,6) = "<<~E" - │ │ │ ├── content_loc: (42,0)-(42,0) = "" - │ │ │ ├── closing_loc: (42,0)-(43,0) = " E\n" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (41,2)-(41,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (41,2)-(41,6) = "<<~E" + │ │ ├── content_loc: (42,0)-(42,0) = "" + │ │ ├── closing_loc: (42,0)-(43,0) = " E\n" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (44,0)-(44,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -290,34 +291,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (44,2)-(44,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (44,2)-(44,6)) - │ │ │ ├── opening_loc: (44,2)-(44,6) = "<<~E" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (45,0)-(46,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (45,0)-(46,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " x\n" - │ │ │ │ ├── @ StringNode (location: (46,0)-(47,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (46,0)-(47,0) = "\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "\n" - │ │ │ │ └── @ StringNode (location: (47,0)-(48,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (47,0)-(48,0) = "y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "y\n" - │ │ │ └── closing_loc: (48,0)-(49,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (44,2)-(44,6)) + │ │ ├── opening_loc: (44,2)-(44,6) = "<<~E" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (45,0)-(46,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (45,0)-(46,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " x\n" + │ │ │ ├── @ StringNode (location: (46,0)-(47,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (46,0)-(47,0) = "\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "\n" + │ │ │ └── @ StringNode (location: (47,0)-(48,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (47,0)-(48,0) = "y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "y\n" + │ │ └── closing_loc: (48,0)-(49,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (50,0)-(50,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -325,34 +326,34 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (50,2)-(50,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (50,2)-(50,6)) - │ │ │ ├── opening_loc: (50,2)-(50,6) = "<<~E" - │ │ │ ├── parts: (length: 3) - │ │ │ │ ├── @ StringNode (location: (51,0)-(52,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (51,0)-(52,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x\n" - │ │ │ │ ├── @ StringNode (location: (52,0)-(53,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (52,0)-(53,0) = " \n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: " \n" - │ │ │ │ └── @ StringNode (location: (53,0)-(54,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (53,0)-(54,0) = " y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "y\n" - │ │ │ └── closing_loc: (54,0)-(55,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (50,2)-(50,6)) + │ │ ├── opening_loc: (50,2)-(50,6) = "<<~E" + │ │ ├── parts: (length: 3) + │ │ │ ├── @ StringNode (location: (51,0)-(52,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (51,0)-(52,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x\n" + │ │ │ ├── @ StringNode (location: (52,0)-(53,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (52,0)-(53,0) = " \n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: " \n" + │ │ │ └── @ StringNode (location: (53,0)-(54,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (53,0)-(54,0) = " y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "y\n" + │ │ └── closing_loc: (54,0)-(55,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (56,0)-(56,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -360,28 +361,28 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (56,2)-(56,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ InterpolatedStringNode (location: (56,2)-(56,6)) - │ │ │ ├── opening_loc: (56,2)-(56,6) = "<<~E" - │ │ │ ├── parts: (length: 2) - │ │ │ │ ├── @ StringNode (location: (57,0)-(58,0)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── content_loc: (57,0)-(58,0) = " x\n" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x\n" - │ │ │ │ └── @ StringNode (location: (58,0)-(59,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (58,0)-(59,0) = " y\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: " y\n" - │ │ │ └── closing_loc: (59,0)-(60,0) = "E\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ InterpolatedStringNode (location: (56,2)-(56,6)) + │ │ ├── opening_loc: (56,2)-(56,6) = "<<~E" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (57,0)-(58,0)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (57,0)-(58,0) = " x\n" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x\n" + │ │ │ └── @ StringNode (location: (58,0)-(59,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (58,0)-(59,0) = " y\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: " y\n" + │ │ └── closing_loc: (59,0)-(60,0) = "E\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (61,0)-(61,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -389,18 +390,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (61,2)-(61,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (61,2)-(61,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (61,2)-(61,6) = "<<~E" - │ │ │ ├── content_loc: (62,0)-(63,0) = " x\n" - │ │ │ ├── closing_loc: (63,0)-(64,0) = "E\n" - │ │ │ └── unescaped: "x\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (61,2)-(61,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (61,2)-(61,6) = "<<~E" + │ │ ├── content_loc: (62,0)-(63,0) = " x\n" + │ │ ├── closing_loc: (63,0)-(64,0) = "E\n" + │ │ └── unescaped: "x\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (65,0)-(65,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -408,18 +409,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (65,2)-(65,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (65,2)-(65,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (65,2)-(65,6) = "<<~E" - │ │ │ ├── content_loc: (66,0)-(67,0) = " ð\n" - │ │ │ ├── closing_loc: (67,0)-(68,0) = "E\n" - │ │ │ └── unescaped: "ð\n" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (65,2)-(65,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (65,2)-(65,6) = "<<~E" + │ │ ├── content_loc: (66,0)-(67,0) = " ð\n" + │ │ ├── closing_loc: (67,0)-(68,0) = "E\n" + │ │ └── unescaped: "ð\n" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (69,0)-(69,6)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -427,18 +428,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (69,2)-(69,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringNode (location: (69,2)-(69,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (69,2)-(69,6) = "<<~E" - │ │ │ ├── content_loc: (70,0)-(70,0) = "" - │ │ │ ├── closing_loc: (70,0)-(71,0) = "E\n" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ StringNode (location: (69,2)-(69,6)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (69,2)-(69,6) = "<<~E" + │ │ ├── content_loc: (70,0)-(70,0) = "" + │ │ ├── closing_loc: (70,0)-(71,0) = "E\n" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (72,0)-(72,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -446,40 +447,39 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (72,2)-(72,8)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedXStringNode (location: (72,2)-(72,8)) - │ │ ├── opening_loc: (72,2)-(72,8) = "<<~`E`" - │ │ ├── parts: (length: 3) - │ │ │ ├── @ StringNode (location: (73,0)-(74,0)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── content_loc: (73,0)-(74,0) = " x\n" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: " x\n" - │ │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,8)) - │ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (74,4)-(74,7)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (74,4)-(74,7)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :foo - │ │ │ │ │ ├── message_loc: (74,4)-(74,7) = "foo" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── closing_loc: (74,7)-(74,8) = "}" - │ │ │ └── @ StringNode (location: (74,8)-(75,0)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── content_loc: (74,8)-(75,0) = "\n" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "\n" - │ │ └── closing_loc: (75,0)-(76,0) = "E\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedXStringNode (location: (72,2)-(72,8)) + │ ├── opening_loc: (72,2)-(72,8) = "<<~`E`" + │ ├── parts: (length: 3) + │ │ ├── @ StringNode (location: (73,0)-(74,0)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── content_loc: (73,0)-(74,0) = " x\n" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: " x\n" + │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,8)) + │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (74,4)-(74,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (74,4)-(74,7)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo + │ │ │ │ ├── message_loc: (74,4)-(74,7) = "foo" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ └── closing_loc: (74,7)-(74,8) = "}" + │ │ └── @ StringNode (location: (74,8)-(75,0)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: ∅ + │ │ ├── content_loc: (74,8)-(75,0) = "\n" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "\n" + │ └── closing_loc: (75,0)-(76,0) = "E\n" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/defined.txt b/test/prism/snapshots/whitequark/defined.txt index 1c83784db1..6a1d8cd499 100644 --- a/test/prism/snapshots/whitequark/defined.txt +++ b/test/prism/snapshots/whitequark/defined.txt @@ -14,6 +14,7 @@ │ ├── lparen_loc: ∅ │ ├── value: │ │ @ CallNode (location: (3,9)-(3,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -21,14 +22,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rparen_loc: ∅ │ └── keyword_loc: (3,0)-(3,8) = "defined?" └── @ DefinedNode (location: (5,0)-(5,13)) ├── lparen_loc: (5,8)-(5,9) = "(" ├── value: │ @ CallNode (location: (5,9)-(5,12)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -36,7 +37,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rparen_loc: (5,12)-(5,13) = ")" └── keyword_loc: (5,0)-(5,8) = "defined?" diff --git a/test/prism/snapshots/whitequark/defs.txt b/test/prism/snapshots/whitequark/defs.txt index 1c0bad523f..4bb97ea025 100644 --- a/test/prism/snapshots/whitequark/defs.txt +++ b/test/prism/snapshots/whitequark/defs.txt @@ -10,6 +10,7 @@ │ │ @ ParenthesesNode (location: (1,4)-(1,9)) │ │ ├── body: │ │ │ @ CallNode (location: (1,5)-(1,8)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -17,8 +18,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ └── closing_loc: (1,8)-(1,9) = ")" │ ├── parameters: ∅ diff --git a/test/prism/snapshots/whitequark/endless_comparison_method.txt b/test/prism/snapshots/whitequark/endless_comparison_method.txt index fcf721823a..7104b23494 100644 --- a/test/prism/snapshots/whitequark/endless_comparison_method.txt +++ b/test/prism/snapshots/whitequark/endless_comparison_method.txt @@ -22,6 +22,7 @@ │ │ @ StatementsNode (location: (1,16)-(1,28)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,28)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -29,8 +30,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:other] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -58,6 +58,7 @@ │ │ @ StatementsNode (location: (3,16)-(3,28)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,16)-(3,28)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -65,8 +66,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:other] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (3,0)-(3,3) = "def" @@ -94,6 +94,7 @@ │ │ @ StatementsNode (location: (5,16)-(5,28)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,16)-(5,28)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -101,8 +102,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:other] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (5,0)-(5,3) = "def" @@ -130,6 +130,7 @@ │ │ @ StatementsNode (location: (7,16)-(7,28)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,16)-(7,28)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -137,8 +138,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:other] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (7,0)-(7,3) = "def" @@ -166,6 +166,7 @@ │ │ @ StatementsNode (location: (9,17)-(9,29)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,17)-(9,29)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -173,8 +174,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [:other] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (9,0)-(9,3) = "def" @@ -202,6 +202,7 @@ │ @ StatementsNode (location: (11,16)-(11,28)) │ └── body: (length: 1) │ └── @ CallNode (location: (11,16)-(11,28)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :do_something @@ -209,8 +210,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── locals: [:other] ├── locals_body_index: 1 ├── def_keyword_loc: (11,0)-(11,3) = "def" diff --git a/test/prism/snapshots/whitequark/endless_method.txt b/test/prism/snapshots/whitequark/endless_method.txt index c1dc1dc3d0..20550049ce 100644 --- a/test/prism/snapshots/whitequark/endless_method.txt +++ b/test/prism/snapshots/whitequark/endless_method.txt @@ -40,6 +40,7 @@ │ │ @ StatementsNode (location: (3,13)-(3,18)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,13)-(3,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (3,13)-(3,14)) │ │ │ ├── name: :x @@ -50,13 +51,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,17)-(3,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,17)-(3,18)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:x] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (3,0)-(3,3) = "def" @@ -70,6 +70,7 @@ │ ├── name_loc: (5,8)-(5,11) = "foo" │ ├── receiver: │ │ @ CallNode (location: (5,4)-(5,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :obj @@ -77,8 +78,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,16)-(5,18)) @@ -98,6 +98,7 @@ ├── name_loc: (7,8)-(7,11) = "inc" ├── receiver: │ @ CallNode (location: (7,4)-(7,7)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :obj @@ -105,8 +106,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── parameters: │ @ ParametersNode (location: (7,12)-(7,13)) │ ├── requireds: (length: 1) @@ -122,6 +122,7 @@ │ @ StatementsNode (location: (7,17)-(7,22)) │ └── body: (length: 1) │ └── @ CallNode (location: (7,17)-(7,22)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (7,17)-(7,18)) │ │ ├── name: :x @@ -132,13 +133,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,21)-(7,22)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (7,21)-(7,22)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (7,21)-(7,22)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:x] ├── locals_body_index: 1 ├── def_keyword_loc: (7,0)-(7,3) = "def" diff --git a/test/prism/snapshots/whitequark/endless_method_command_syntax.txt b/test/prism/snapshots/whitequark/endless_method_command_syntax.txt index bf73e06a72..c544e19265 100644 --- a/test/prism/snapshots/whitequark/endless_method_command_syntax.txt +++ b/test/prism/snapshots/whitequark/endless_method_command_syntax.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (1,10)-(1,22)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,10)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -19,17 +20,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,15)-(1,22)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (1,15)-(1,22)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\"" - │ │ │ │ ├── content_loc: (1,16)-(1,21) = "Hello" - │ │ │ │ ├── closing_loc: (1,21)-(1,22) = "\"" - │ │ │ │ └── unescaped: "Hello" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (1,15)-(1,22)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,15)-(1,16) = "\"" + │ │ │ ├── content_loc: (1,16)-(1,21) = "Hello" + │ │ │ ├── closing_loc: (1,21)-(1,22) = "\"" + │ │ │ └── unescaped: "Hello" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -47,6 +47,7 @@ │ │ @ StatementsNode (location: (3,12)-(3,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,12)-(3,24)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -54,17 +55,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,17)-(3,24)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (3,17)-(3,24)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (3,17)-(3,18) = "\"" - │ │ │ │ ├── content_loc: (3,18)-(3,23) = "Hello" - │ │ │ │ ├── closing_loc: (3,23)-(3,24) = "\"" - │ │ │ │ └── unescaped: "Hello" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (3,17)-(3,24)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (3,17)-(3,18) = "\"" + │ │ │ ├── content_loc: (3,18)-(3,23) = "Hello" + │ │ │ ├── closing_loc: (3,23)-(3,24) = "\"" + │ │ │ └── unescaped: "Hello" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (3,0)-(3,3) = "def" @@ -92,6 +92,7 @@ │ │ @ StatementsNode (location: (5,13)-(5,19)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,13)-(5,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -99,14 +100,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,18)-(5,19)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (5,18)-(5,19)) - │ │ │ │ ├── name: :x - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (5,18)-(5,19)) + │ │ │ ├── name: :x + │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:x] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (5,0)-(5,3) = "def" @@ -120,6 +120,7 @@ │ ├── name_loc: (7,8)-(7,11) = "foo" │ ├── receiver: │ │ @ CallNode (location: (7,4)-(7,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :obj @@ -127,13 +128,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,14)-(7,26)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,14)-(7,26)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -141,17 +142,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,19)-(7,26)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (7,19)-(7,26)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (7,19)-(7,20) = "\"" - │ │ │ │ ├── content_loc: (7,20)-(7,25) = "Hello" - │ │ │ │ ├── closing_loc: (7,25)-(7,26) = "\"" - │ │ │ │ └── unescaped: "Hello" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (7,19)-(7,26)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (7,19)-(7,20) = "\"" + │ │ │ ├── content_loc: (7,20)-(7,25) = "Hello" + │ │ │ ├── closing_loc: (7,25)-(7,26) = "\"" + │ │ │ └── unescaped: "Hello" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (7,0)-(7,3) = "def" @@ -165,6 +165,7 @@ │ ├── name_loc: (9,8)-(9,11) = "foo" │ ├── receiver: │ │ @ CallNode (location: (9,4)-(9,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :obj @@ -172,13 +173,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,16)-(9,28)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,16)-(9,28)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -186,17 +187,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,21)-(9,28)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (9,21)-(9,28)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (9,21)-(9,22) = "\"" - │ │ │ │ ├── content_loc: (9,22)-(9,27) = "Hello" - │ │ │ │ ├── closing_loc: (9,27)-(9,28) = "\"" - │ │ │ │ └── unescaped: "Hello" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (9,21)-(9,28)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (9,21)-(9,22) = "\"" + │ │ │ ├── content_loc: (9,22)-(9,27) = "Hello" + │ │ │ ├── closing_loc: (9,27)-(9,28) = "\"" + │ │ │ └── unescaped: "Hello" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (9,0)-(9,3) = "def" @@ -210,6 +210,7 @@ │ ├── name_loc: (11,8)-(11,11) = "foo" │ ├── receiver: │ │ @ CallNode (location: (11,4)-(11,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :obj @@ -217,8 +218,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (11,12)-(11,13)) │ │ ├── requireds: (length: 1) @@ -234,6 +234,7 @@ │ │ @ StatementsNode (location: (11,17)-(11,23)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,17)-(11,23)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -241,14 +242,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (11,22)-(11,23)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (11,22)-(11,23)) - │ │ │ │ ├── name: :x - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (11,22)-(11,23)) + │ │ │ ├── name: :x + │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:x] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (11,0)-(11,3) = "def" @@ -278,6 +278,7 @@ │ │ └── @ RescueModifierNode (location: (13,17)-(13,60)) │ │ ├── expression: │ │ │ @ CallNode (location: (13,17)-(13,37)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -285,17 +286,16 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (13,23)-(13,37)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ StringNode (location: (13,23)-(13,37)) - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ ├── opening_loc: (13,23)-(13,24) = "\"" - │ │ │ │ │ ├── content_loc: (13,24)-(13,36) = "to be caught" - │ │ │ │ │ ├── closing_loc: (13,36)-(13,37) = "\"" - │ │ │ │ │ └── unescaped: "to be caught" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ StringNode (location: (13,23)-(13,37)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (13,23)-(13,24) = "\"" + │ │ │ │ ├── content_loc: (13,24)-(13,36) = "to be caught" + │ │ │ │ ├── closing_loc: (13,36)-(13,37) = "\"" + │ │ │ │ └── unescaped: "to be caught" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (13,38)-(13,44) = "rescue" │ │ └── rescue_expression: │ │ @ InterpolatedStringNode (location: (13,45)-(13,60)) @@ -347,6 +347,7 @@ │ └── @ RescueModifierNode (location: (15,22)-(15,62)) │ ├── expression: │ │ @ CallNode (location: (15,22)-(15,42)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -354,17 +355,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (15,28)-(15,42)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (15,28)-(15,42)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (15,28)-(15,29) = "\"" - │ │ │ │ ├── content_loc: (15,29)-(15,41) = "to be caught" - │ │ │ │ ├── closing_loc: (15,41)-(15,42) = "\"" - │ │ │ │ └── unescaped: "to be caught" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (15,28)-(15,42)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (15,28)-(15,29) = "\"" + │ │ │ ├── content_loc: (15,29)-(15,41) = "to be caught" + │ │ │ ├── closing_loc: (15,41)-(15,42) = "\"" + │ │ │ └── unescaped: "to be caught" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (15,43)-(15,49) = "rescue" │ └── rescue_expression: │ @ InterpolatedStringNode (location: (15,50)-(15,62)) diff --git a/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt b/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt index 1450d6294e..f4b3ec941e 100644 --- a/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt +++ b/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt @@ -21,6 +21,7 @@ │ @ StatementsNode (location: (1,15)-(1,23)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,15)-(1,23)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,12 +29,11 @@ │ ├── opening_loc: (1,18)-(1,19) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,19)-(1,22)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForwardingArgumentsNode (location: (1,19)-(1,22)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForwardingArgumentsNode (location: (1,19)-(1,22)) │ ├── closing_loc: (1,22)-(1,23) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:"..."] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/ensure.txt b/test/prism/snapshots/whitequark/ensure.txt index a2fdb4d1ea..9c93109927 100644 --- a/test/prism/snapshots/whitequark/ensure.txt +++ b/test/prism/snapshots/whitequark/ensure.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: ∅ ├── else_clause: ∅ ├── ensure_clause: @@ -27,6 +27,7 @@ │ │ @ StatementsNode (location: (1,21)-(1,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -34,7 +35,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (1,26)-(1,29) = "end" └── end_keyword_loc: (1,26)-(1,29) = "end" diff --git a/test/prism/snapshots/whitequark/for.txt b/test/prism/snapshots/whitequark/for.txt index 7388fa039b..0f52869838 100644 --- a/test/prism/snapshots/whitequark/for.txt +++ b/test/prism/snapshots/whitequark/for.txt @@ -10,6 +10,7 @@ │ │ └── depth: 0 │ ├── collection: │ │ @ CallNode (location: (1,9)-(1,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -17,12 +18,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -30,14 +31,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,18)-(1,19)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── for_keyword_loc: (1,0)-(1,3) = "for" │ ├── in_keyword_loc: (1,6)-(1,8) = "in" │ ├── do_keyword_loc: (1,13)-(1,15) = "do" @@ -49,6 +49,7 @@ │ └── depth: 0 ├── collection: │ @ CallNode (location: (3,9)-(3,12)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -56,12 +57,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── statements: │ @ StatementsNode (location: (3,14)-(3,17)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,14)-(3,17)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -69,14 +70,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,16)-(3,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (3,16)-(3,17)) - │ │ │ ├── name: :a - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (3,16)-(3,17)) + │ │ ├── name: :a + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── for_keyword_loc: (3,0)-(3,3) = "for" ├── in_keyword_loc: (3,6)-(3,8) = "in" ├── do_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/for_mlhs.txt b/test/prism/snapshots/whitequark/for_mlhs.txt index 490177900e..a4b8e3d349 100644 --- a/test/prism/snapshots/whitequark/for_mlhs.txt +++ b/test/prism/snapshots/whitequark/for_mlhs.txt @@ -19,6 +19,7 @@ │ └── rparen_loc: ∅ ├── collection: │ @ CallNode (location: (1,12)-(1,15)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -26,12 +27,12 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── statements: │ @ StatementsNode (location: (1,17)-(1,23)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,17)-(1,23)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -39,17 +40,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,19)-(1,23)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (1,19)-(1,20)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ └── @ LocalVariableReadNode (location: (1,22)-(1,23)) - │ │ │ ├── name: :b - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (1,19)-(1,20)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ └── @ LocalVariableReadNode (location: (1,22)-(1,23)) + │ │ ├── name: :b + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── for_keyword_loc: (1,0)-(1,3) = "for" ├── in_keyword_loc: (1,9)-(1,11) = "in" ├── do_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/forward_arg.txt b/test/prism/snapshots/whitequark/forward_arg.txt index 620237ac49..3d7c90eed2 100644 --- a/test/prism/snapshots/whitequark/forward_arg.txt +++ b/test/prism/snapshots/whitequark/forward_arg.txt @@ -21,6 +21,7 @@ │ @ StatementsNode (location: (1,14)-(1,22)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,14)-(1,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,12 +29,11 @@ │ ├── opening_loc: (1,17)-(1,18) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,18)-(1,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21)) │ ├── closing_loc: (1,21)-(1,22) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:"..."] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt b/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt index 81aeed9804..1a85c80765 100644 --- a/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt +++ b/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt @@ -25,6 +25,7 @@ │ │ │ @ StatementsNode (location: (2,2)-(2,10)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -32,12 +33,11 @@ │ │ │ ├── opening_loc: (2,5)-(2,6) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (2,6)-(2,9)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (2,6)-(2,9)) - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ ForwardingArgumentsNode (location: (2,6)-(2,9)) │ │ │ ├── closing_loc: (2,9)-(2,10) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── locals: [:"..."] │ │ ├── locals_body_index: 1 │ │ ├── def_keyword_loc: (1,1)-(1,4) = "def" @@ -70,6 +70,7 @@ │ │ │ @ StatementsNode (location: (5,14)-(5,22)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (5,14)-(5,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -77,12 +78,11 @@ │ │ │ ├── opening_loc: (5,17)-(5,18) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (5,18)-(5,21)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (5,18)-(5,21)) - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ ForwardingArgumentsNode (location: (5,18)-(5,21)) │ │ │ ├── closing_loc: (5,21)-(5,22) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── locals: [:"..."] │ │ ├── locals_body_index: 1 │ │ ├── def_keyword_loc: (5,1)-(5,4) = "def" @@ -134,6 +134,7 @@ │ │ @ StatementsNode (location: (10,13)-(10,21)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (10,13)-(10,21)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -141,12 +142,11 @@ │ │ ├── opening_loc: (10,16)-(10,17) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (10,17)-(10,20)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (10,17)-(10,20)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (10,17)-(10,20)) │ │ ├── closing_loc: (10,20)-(10,21) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:"..."] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (10,0)-(10,3) = "def" @@ -175,6 +175,7 @@ │ │ @ StatementsNode (location: (13,2)-(13,10)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (13,2)-(13,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -182,12 +183,11 @@ │ │ ├── opening_loc: (13,5)-(13,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (13,6)-(13,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (13,6)-(13,9)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (13,6)-(13,9)) │ │ ├── closing_loc: (13,9)-(13,10) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:a, :"..."] │ ├── locals_body_index: 2 │ ├── def_keyword_loc: (12,0)-(12,3) = "def" @@ -216,6 +216,7 @@ │ │ @ StatementsNode (location: (16,16)-(16,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (16,16)-(16,24)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -223,12 +224,11 @@ │ │ ├── opening_loc: (16,19)-(16,20) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (16,20)-(16,23)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (16,20)-(16,23)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (16,20)-(16,23)) │ │ ├── closing_loc: (16,23)-(16,24) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:a, :"..."] │ ├── locals_body_index: 2 │ ├── def_keyword_loc: (16,0)-(16,3) = "def" @@ -294,6 +294,7 @@ │ │ @ StatementsNode (location: (22,2)-(22,10)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (22,2)-(22,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -301,12 +302,11 @@ │ │ ├── opening_loc: (22,5)-(22,6) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (22,6)-(22,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (22,6)-(22,9)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (22,6)-(22,9)) │ │ ├── closing_loc: (22,9)-(22,10) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:b, :"..."] │ ├── locals_body_index: 2 │ ├── def_keyword_loc: (21,0)-(21,3) = "def" @@ -340,6 +340,7 @@ │ │ @ StatementsNode (location: (25,20)-(25,28)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,20)-(25,28)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -347,12 +348,11 @@ │ │ ├── opening_loc: (25,23)-(25,24) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (25,24)-(25,27)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (25,24)-(25,27)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (25,24)-(25,27)) │ │ ├── closing_loc: (25,27)-(25,28) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:b, :"..."] │ ├── locals_body_index: 2 │ ├── def_keyword_loc: (25,0)-(25,3) = "def" @@ -381,6 +381,7 @@ │ @ StatementsNode (location: (27,16)-(27,24)) │ └── body: (length: 1) │ └── @ CallNode (location: (27,16)-(27,24)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -388,12 +389,11 @@ │ ├── opening_loc: (27,19)-(27,20) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (27,20)-(27,23)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForwardingArgumentsNode (location: (27,20)-(27,23)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForwardingArgumentsNode (location: (27,20)-(27,23)) │ ├── closing_loc: (27,23)-(27,24) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:a, :"..."] ├── locals_body_index: 2 ├── def_keyword_loc: (27,0)-(27,3) = "def" diff --git a/test/prism/snapshots/whitequark/forward_args_legacy.txt b/test/prism/snapshots/whitequark/forward_args_legacy.txt index e3a4b4e809..8ece72dd9f 100644 --- a/test/prism/snapshots/whitequark/forward_args_legacy.txt +++ b/test/prism/snapshots/whitequark/forward_args_legacy.txt @@ -21,6 +21,7 @@ │ │ @ StatementsNode (location: (1,14)-(1,22)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,14)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -28,12 +29,11 @@ │ │ ├── opening_loc: (1,17)-(1,18) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,18)-(1,21)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21)) - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21)) │ │ ├── closing_loc: (1,21)-(1,22) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── locals: [:"..."] │ ├── locals_body_index: 1 │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -87,9 +87,9 @@ │ ├── lparen_loc: (5,19)-(5,20) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (5,20)-(5,23)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ForwardingArgumentsNode (location: (5,20)-(5,23)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ForwardingArgumentsNode (location: (5,20)-(5,23)) │ ├── rparen_loc: (5,23)-(5,24) = ")" │ └── block: ∅ ├── locals: [:"..."] diff --git a/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt b/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt index 78e6eef7c3..ebefd06eda 100644 --- a/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt @@ -26,6 +26,7 @@ │ @ StatementsNode (location: (1,23)-(1,40)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,23)-(1,40)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -33,19 +34,18 @@ │ ├── opening_loc: (1,26)-(1,27) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,27)-(1,39)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (1,27)-(1,35)) - │ │ │ │ ├── name: :argument - │ │ │ │ └── depth: 0 - │ │ │ └── @ KeywordHashNode (location: (1,37)-(1,39)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (1,37)-(1,39)) - │ │ │ ├── value: ∅ - │ │ │ └── operator_loc: (1,37)-(1,39) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (1,27)-(1,35)) + │ │ │ ├── name: :argument + │ │ │ └── depth: 0 + │ │ └── @ KeywordHashNode (location: (1,37)-(1,39)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (1,37)-(1,39)) + │ │ ├── value: ∅ + │ │ └── operator_loc: (1,37)-(1,39) = "**" │ ├── closing_loc: (1,39)-(1,40) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:argument, :**] ├── locals_body_index: 2 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt b/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt index c41213ba03..c590fa3526 100644 --- a/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt @@ -26,6 +26,7 @@ │ @ StatementsNode (location: (1,22)-(1,38)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,22)-(1,38)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -33,17 +34,16 @@ │ ├── opening_loc: (1,25)-(1,26) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,26)-(1,37)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ LocalVariableReadNode (location: (1,26)-(1,34)) - │ │ │ │ ├── name: :argument - │ │ │ │ └── depth: 0 - │ │ │ └── @ SplatNode (location: (1,36)-(1,37)) - │ │ │ ├── operator_loc: (1,36)-(1,37) = "*" - │ │ │ └── expression: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ LocalVariableReadNode (location: (1,26)-(1,34)) + │ │ │ ├── name: :argument + │ │ │ └── depth: 0 + │ │ └── @ SplatNode (location: (1,36)-(1,37)) + │ │ ├── operator_loc: (1,36)-(1,37) = "*" + │ │ └── expression: ∅ │ ├── closing_loc: (1,37)-(1,38) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:argument, :*] ├── locals_body_index: 2 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt b/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt index e786fe1837..8df571dbdb 100644 --- a/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt @@ -24,6 +24,7 @@ │ @ StatementsNode (location: (1,13)-(1,20)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -31,16 +32,15 @@ │ ├── opening_loc: (1,16)-(1,17) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,17)-(1,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,17)-(1,19)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (1,17)-(1,19)) - │ │ │ ├── value: ∅ - │ │ │ └── operator_loc: (1,17)-(1,19) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,17)-(1,19)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (1,17)-(1,19)) + │ │ ├── value: ∅ + │ │ └── operator_loc: (1,17)-(1,19) = "**" │ ├── closing_loc: (1,19)-(1,20) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:**] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt b/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt index f3c8e22d47..fbf1d9e8f1 100644 --- a/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt @@ -24,6 +24,7 @@ │ @ StatementsNode (location: (1,13)-(1,36)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,36)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -31,26 +32,25 @@ │ ├── opening_loc: (1,16)-(1,17) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,17)-(1,35)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,17)-(1,35)) - │ │ │ └── elements: (length: 2) - │ │ │ ├── @ AssocSplatNode (location: (1,17)-(1,19)) - │ │ │ │ ├── value: ∅ - │ │ │ │ └── operator_loc: (1,17)-(1,19) = "**" - │ │ │ └── @ AssocNode (location: (1,21)-(1,35)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,21)-(1,30)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (1,21)-(1,29) = "from_foo" - │ │ │ │ ├── closing_loc: (1,29)-(1,30) = ":" - │ │ │ │ └── unescaped: "from_foo" - │ │ │ ├── value: - │ │ │ │ @ TrueNode (location: (1,31)-(1,35)) - │ │ │ └── operator_loc: ∅ - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,17)-(1,35)) + │ │ └── elements: (length: 2) + │ │ ├── @ AssocSplatNode (location: (1,17)-(1,19)) + │ │ │ ├── value: ∅ + │ │ │ └── operator_loc: (1,17)-(1,19) = "**" + │ │ └── @ AssocNode (location: (1,21)-(1,35)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,21)-(1,30)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (1,21)-(1,29) = "from_foo" + │ │ │ ├── closing_loc: (1,29)-(1,30) = ":" + │ │ │ └── unescaped: "from_foo" + │ │ ├── value: + │ │ │ @ TrueNode (location: (1,31)-(1,35)) + │ │ └── operator_loc: ∅ │ ├── closing_loc: (1,35)-(1,36) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:**] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/forwarded_restarg.txt b/test/prism/snapshots/whitequark/forwarded_restarg.txt index 5e6d0f7c96..bd0352377e 100644 --- a/test/prism/snapshots/whitequark/forwarded_restarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_restarg.txt @@ -24,6 +24,7 @@ │ @ StatementsNode (location: (1,12)-(1,18)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,12)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -31,14 +32,13 @@ │ ├── opening_loc: (1,15)-(1,16) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,16)-(1,17)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ SplatNode (location: (1,16)-(1,17)) - │ │ │ ├── operator_loc: (1,16)-(1,17) = "*" - │ │ │ └── expression: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ SplatNode (location: (1,16)-(1,17)) + │ │ ├── operator_loc: (1,16)-(1,17) = "*" + │ │ └── expression: ∅ │ ├── closing_loc: (1,17)-(1,18) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:*] ├── locals_body_index: 1 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/hash_kwsplat.txt b/test/prism/snapshots/whitequark/hash_kwsplat.txt index 450393cdba..b9aa76f06f 100644 --- a/test/prism/snapshots/whitequark/hash_kwsplat.txt +++ b/test/prism/snapshots/whitequark/hash_kwsplat.txt @@ -20,6 +20,7 @@ │ └── @ AssocSplatNode (location: (1,10)-(1,15)) │ ├── value: │ │ @ CallNode (location: (1,12)-(1,15)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -27,7 +28,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── operator_loc: (1,10)-(1,12) = "**" └── closing_loc: (1,16)-(1,17) = "}" diff --git a/test/prism/snapshots/whitequark/hash_label_end.txt b/test/prism/snapshots/whitequark/hash_label_end.txt index 0e3a6c69e6..f9d1a40692 100644 --- a/test/prism/snapshots/whitequark/hash_label_end.txt +++ b/test/prism/snapshots/whitequark/hash_label_end.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,22)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -11,44 +12,43 @@ │ ├── opening_loc: (1,1)-(1,2) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IfNode (location: (1,2)-(1,11)) - │ │ │ ├── if_keyword_loc: ∅ - │ │ │ ├── predicate: - │ │ │ │ @ CallNode (location: (1,2)-(1,3)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (1,2)-(1,3) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── then_keyword_loc: (1,4)-(1,5) = "?" - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (1,6)-(1,9)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ StringNode (location: (1,6)-(1,9)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "\"" - │ │ │ │ ├── content_loc: (1,7)-(1,8) = "a" - │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" - │ │ │ │ └── unescaped: "a" - │ │ │ ├── consequent: - │ │ │ │ @ ElseNode (location: (1,9)-(1,11)) - │ │ │ │ ├── else_keyword_loc: (1,9)-(1,10) = ":" - │ │ │ │ ├── statements: - │ │ │ │ │ @ StatementsNode (location: (1,10)-(1,11)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── end_keyword_loc: ∅ - │ │ │ └── end_keyword_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IfNode (location: (1,2)-(1,11)) + │ │ ├── if_keyword_loc: ∅ + │ │ ├── predicate: + │ │ │ @ CallNode (location: (1,2)-(1,3)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a + │ │ │ ├── message_loc: (1,2)-(1,3) = "a" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── then_keyword_loc: (1,4)-(1,5) = "?" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (1,6)-(1,9)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ StringNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,6)-(1,7) = "\"" + │ │ │ ├── content_loc: (1,7)-(1,8) = "a" + │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" + │ │ │ └── unescaped: "a" + │ │ ├── consequent: + │ │ │ @ ElseNode (location: (1,9)-(1,11)) + │ │ │ ├── else_keyword_loc: (1,9)-(1,10) = ":" + │ │ │ ├── statements: + │ │ │ │ @ StatementsNode (location: (1,10)-(1,11)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) + │ │ │ │ └── flags: decimal + │ │ │ └── end_keyword_loc: ∅ + │ │ └── end_keyword_loc: ∅ │ ├── closing_loc: (1,11)-(1,12) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ HashNode (location: (3,0)-(3,12)) │ ├── opening_loc: (3,0)-(3,1) = "{" │ ├── elements: (length: 1) diff --git a/test/prism/snapshots/whitequark/hash_pair_value_omission.txt b/test/prism/snapshots/whitequark/hash_pair_value_omission.txt index 38865c5a6d..ef79ece7a1 100644 --- a/test/prism/snapshots/whitequark/hash_pair_value_omission.txt +++ b/test/prism/snapshots/whitequark/hash_pair_value_omission.txt @@ -34,6 +34,7 @@ │ │ │ │ @ ImplicitNode (location: (3,1)-(3,3)) │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (3,1)-(3,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :a @@ -41,8 +42,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (3,5)-(3,7)) │ │ ├── key: @@ -55,6 +55,7 @@ │ │ │ @ ImplicitNode (location: (3,5)-(3,7)) │ │ │ └── value: │ │ │ @ CallNode (location: (3,5)-(3,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -62,8 +63,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── operator_loc: ∅ │ └── closing_loc: (3,7)-(3,8) = "}" └── @ HashNode (location: (5,0)-(5,7)) @@ -80,6 +80,7 @@ │ │ @ ImplicitNode (location: (5,1)-(5,6)) │ │ └── value: │ │ @ CallNode (location: (5,1)-(5,6)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -87,7 +88,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: ∅ └── closing_loc: (5,6)-(5,7) = "}" diff --git a/test/prism/snapshots/whitequark/if.txt b/test/prism/snapshots/whitequark/if.txt index decf911e7b..233e51de23 100644 --- a/test/prism/snapshots/whitequark/if.txt +++ b/test/prism/snapshots/whitequark/if.txt @@ -7,6 +7,7 @@ │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (1,3)-(1,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -14,13 +15,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,7)-(1,11) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,12)-(1,15)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,12)-(1,15)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -28,14 +29,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (1,17)-(1,20) = "end" └── @ IfNode (location: (3,0)-(3,16)) ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ CallNode (location: (3,3)-(3,6)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -43,13 +44,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,8)-(3,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,8)-(3,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -57,7 +58,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: (3,13)-(3,16) = "end" diff --git a/test/prism/snapshots/whitequark/if_else.txt b/test/prism/snapshots/whitequark/if_else.txt index eb69a25eed..3e83f32c87 100644 --- a/test/prism/snapshots/whitequark/if_else.txt +++ b/test/prism/snapshots/whitequark/if_else.txt @@ -7,6 +7,7 @@ │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (1,3)-(1,6)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -14,13 +15,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,7)-(1,11) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,12)-(1,15)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,12)-(1,15)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -28,8 +29,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,17)-(1,30)) │ │ ├── else_keyword_loc: (1,17)-(1,21) = "else" @@ -37,6 +37,7 @@ │ │ │ @ StatementsNode (location: (1,22)-(1,25)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,22)-(1,25)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -44,14 +45,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (1,27)-(1,30) = "end" │ └── end_keyword_loc: (1,27)-(1,30) = "end" └── @ IfNode (location: (3,0)-(3,26)) ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ CallNode (location: (3,3)-(3,6)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -59,13 +60,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,8)-(3,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,8)-(3,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -73,8 +74,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (3,13)-(3,26)) │ ├── else_keyword_loc: (3,13)-(3,17) = "else" @@ -82,6 +82,7 @@ │ │ @ StatementsNode (location: (3,18)-(3,21)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,18)-(3,21)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -89,7 +90,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (3,23)-(3,26) = "end" └── end_keyword_loc: (3,23)-(3,26) = "end" diff --git a/test/prism/snapshots/whitequark/if_elsif.txt b/test/prism/snapshots/whitequark/if_elsif.txt index 39cf1d6fef..50f79966d2 100644 --- a/test/prism/snapshots/whitequark/if_elsif.txt +++ b/test/prism/snapshots/whitequark/if_elsif.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,6)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,13 +15,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,8)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,8)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,13 +29,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: │ @ IfNode (location: (1,13)-(1,38)) │ ├── if_keyword_loc: (1,13)-(1,18) = "elsif" │ ├── predicate: │ │ @ CallNode (location: (1,19)-(1,22)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -42,8 +43,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,24)-(1,25)) diff --git a/test/prism/snapshots/whitequark/if_masgn__24.txt b/test/prism/snapshots/whitequark/if_masgn__24.txt index 7866dff924..4c01b8fee6 100644 --- a/test/prism/snapshots/whitequark/if_masgn__24.txt +++ b/test/prism/snapshots/whitequark/if_masgn__24.txt @@ -25,6 +25,7 @@ │ │ ├── operator_loc: (1,9)-(1,10) = "=" │ │ └── value: │ │ @ CallNode (location: (1,11)-(1,14)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -32,8 +33,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,3)-(1,4) = "(" │ └── closing_loc: (1,14)-(1,15) = ")" ├── then_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/if_mod.txt b/test/prism/snapshots/whitequark/if_mod.txt index 708e475e21..58ad3c29fd 100644 --- a/test/prism/snapshots/whitequark/if_mod.txt +++ b/test/prism/snapshots/whitequark/if_mod.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: (1,4)-(1,6) = "if" ├── predicate: │ @ CallNode (location: (1,7)-(1,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,13 +15,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,3)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,7 +29,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/if_nl_then.txt b/test/prism/snapshots/whitequark/if_nl_then.txt index c38be5ebd2..befe49ca45 100644 --- a/test/prism/snapshots/whitequark/if_nl_then.txt +++ b/test/prism/snapshots/whitequark/if_nl_then.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,6)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,13 +15,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: (2,0)-(2,4) = "then" ├── statements: │ @ StatementsNode (location: (2,5)-(2,8)) │ └── body: (length: 1) │ └── @ CallNode (location: (2,5)-(2,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,7 +29,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: (2,9)-(2,12) = "end" diff --git a/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt b/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt index daafa27255..0a2982ed35 100644 --- a/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt +++ b/test/prism/snapshots/whitequark/if_while_after_class__since_32.txt @@ -37,22 +37,22 @@ │ │ @ ConstantPathNode (location: (3,6)-(3,42)) │ │ ├── parent: │ │ │ @ WhileNode (location: (3,6)-(3,34)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (3,6)-(3,11) = "while" │ │ │ ├── closing_loc: (3,31)-(3,34) = "end" │ │ │ ├── predicate: │ │ │ │ @ TrueNode (location: (3,12)-(3,16)) - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (3,18)-(3,30)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ BreakNode (location: (3,18)-(3,30)) - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (3,24)-(3,30)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ ConstantReadNode (location: (3,24)-(3,30)) - │ │ │ │ │ │ └── name: :Object - │ │ │ │ │ └── flags: ∅ - │ │ │ │ └── keyword_loc: (3,18)-(3,23) = "break" - │ │ │ └── flags: ∅ + │ │ │ └── statements: + │ │ │ @ StatementsNode (location: (3,18)-(3,30)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ BreakNode (location: (3,18)-(3,30)) + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (3,24)-(3,30)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ ConstantReadNode (location: (3,24)-(3,30)) + │ │ │ │ └── name: :Object + │ │ │ └── keyword_loc: (3,18)-(3,23) = "break" │ │ ├── child: │ │ │ @ ConstantReadNode (location: (3,36)-(3,42)) │ │ │ └── name: :Kernel @@ -94,22 +94,22 @@ │ @ ConstantPathNode (location: (7,7)-(7,43)) │ ├── parent: │ │ @ WhileNode (location: (7,7)-(7,35)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (7,7)-(7,12) = "while" │ │ ├── closing_loc: (7,32)-(7,35) = "end" │ │ ├── predicate: │ │ │ @ TrueNode (location: (7,13)-(7,17)) - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (7,19)-(7,31)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ BreakNode (location: (7,19)-(7,31)) - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (7,25)-(7,31)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ ConstantReadNode (location: (7,25)-(7,31)) - │ │ │ │ │ └── name: :Object - │ │ │ │ └── flags: ∅ - │ │ │ └── keyword_loc: (7,19)-(7,24) = "break" - │ │ └── flags: ∅ + │ │ └── statements: + │ │ @ StatementsNode (location: (7,19)-(7,31)) + │ │ └── body: (length: 1) + │ │ └── @ BreakNode (location: (7,19)-(7,31)) + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (7,25)-(7,31)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ ConstantReadNode (location: (7,25)-(7,31)) + │ │ │ └── name: :Object + │ │ └── keyword_loc: (7,19)-(7,24) = "break" │ ├── child: │ │ @ ConstantReadNode (location: (7,37)-(7,43)) │ │ └── name: :Kernel diff --git a/test/prism/snapshots/whitequark/interp_digit_var.txt b/test/prism/snapshots/whitequark/interp_digit_var.txt index d493027e44..de81a942e7 100644 --- a/test/prism/snapshots/whitequark/interp_digit_var.txt +++ b/test/prism/snapshots/whitequark/interp_digit_var.txt @@ -16,6 +16,7 @@ │ ├── closing_loc: (3,6)-(3,7) = "\"" │ └── unescaped: "\#@@1" ├── @ ArrayNode (location: (5,1)-(5,8)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (5,4)-(5,7)) │ │ ├── opening_loc: ∅ @@ -23,9 +24,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@1" │ ├── opening_loc: (5,1)-(5,4) = "%I[" - │ ├── closing_loc: (5,7)-(5,8) = "]" - │ └── flags: ∅ + │ └── closing_loc: (5,7)-(5,8) = "]" ├── @ ArrayNode (location: (7,1)-(7,9)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (7,4)-(7,8)) │ │ ├── opening_loc: ∅ @@ -33,8 +34,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@@1" │ ├── opening_loc: (7,1)-(7,4) = "%I[" - │ ├── closing_loc: (7,8)-(7,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (7,8)-(7,9) = "]" ├── @ StringNode (location: (9,1)-(9,8)) │ ├── flags: ∅ │ ├── opening_loc: (9,1)-(9,4) = "%Q{" @@ -48,6 +48,7 @@ │ ├── closing_loc: (11,8)-(11,9) = "}" │ └── unescaped: "\#@@1" ├── @ ArrayNode (location: (13,1)-(13,8)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (13,4)-(13,7)) │ │ ├── flags: ∅ @@ -56,9 +57,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@1" │ ├── opening_loc: (13,1)-(13,4) = "%W[" - │ ├── closing_loc: (13,7)-(13,8) = "]" - │ └── flags: ∅ + │ └── closing_loc: (13,7)-(13,8) = "]" ├── @ ArrayNode (location: (15,1)-(15,9)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (15,4)-(15,8)) │ │ ├── flags: ∅ @@ -67,9 +68,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@@1" │ ├── opening_loc: (15,1)-(15,4) = "%W[" - │ ├── closing_loc: (15,8)-(15,9) = "]" - │ └── flags: ∅ + │ └── closing_loc: (15,8)-(15,9) = "]" ├── @ ArrayNode (location: (17,1)-(17,10)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (17,5)-(17,8)) │ │ ├── opening_loc: ∅ @@ -77,9 +78,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@1" │ ├── opening_loc: (17,1)-(17,4) = "%i[" - │ ├── closing_loc: (17,9)-(17,10) = "]" - │ └── flags: ∅ + │ └── closing_loc: (17,9)-(17,10) = "]" ├── @ ArrayNode (location: (19,1)-(19,11)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (19,5)-(19,9)) │ │ ├── opening_loc: ∅ @@ -87,8 +88,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@@1" │ ├── opening_loc: (19,1)-(19,4) = "%i[" - │ ├── closing_loc: (19,10)-(19,11) = "]" - │ └── flags: ∅ + │ └── closing_loc: (19,10)-(19,11) = "]" ├── @ StringNode (location: (21,1)-(21,8)) │ ├── flags: ∅ │ ├── opening_loc: (21,1)-(21,4) = "%q{" @@ -102,17 +102,17 @@ │ ├── closing_loc: (23,8)-(23,9) = "}" │ └── unescaped: "\#@@1" ├── @ RegularExpressionNode (location: (25,1)-(25,8)) + │ ├── flags: ∅ │ ├── opening_loc: (25,1)-(25,4) = "%r{" │ ├── content_loc: (25,4)-(25,7) = "\#@1" │ ├── closing_loc: (25,7)-(25,8) = "}" - │ ├── unescaped: "\#@1" - │ └── flags: ∅ + │ └── unescaped: "\#@1" ├── @ RegularExpressionNode (location: (27,1)-(27,9)) + │ ├── flags: ∅ │ ├── opening_loc: (27,1)-(27,4) = "%r{" │ ├── content_loc: (27,4)-(27,8) = "\#@@1" │ ├── closing_loc: (27,8)-(27,9) = "}" - │ ├── unescaped: "\#@@1" - │ └── flags: ∅ + │ └── unescaped: "\#@@1" ├── @ SymbolNode (location: (29,1)-(29,8)) │ ├── opening_loc: (29,1)-(29,4) = "%s{" │ ├── value_loc: (29,4)-(29,7) = "\#@1" @@ -124,6 +124,7 @@ │ ├── closing_loc: (31,8)-(31,9) = "}" │ └── unescaped: "\#@@1" ├── @ ArrayNode (location: (33,1)-(33,10)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (33,5)-(33,8)) │ │ ├── flags: ∅ @@ -132,9 +133,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@1" │ ├── opening_loc: (33,1)-(33,4) = "%w[" - │ ├── closing_loc: (33,9)-(33,10) = "]" - │ └── flags: ∅ + │ └── closing_loc: (33,9)-(33,10) = "]" ├── @ ArrayNode (location: (35,1)-(35,11)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (35,5)-(35,9)) │ │ ├── flags: ∅ @@ -143,8 +144,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#@@1" │ ├── opening_loc: (35,1)-(35,4) = "%w[" - │ ├── closing_loc: (35,10)-(35,11) = "]" - │ └── flags: ∅ + │ └── closing_loc: (35,10)-(35,11) = "]" ├── @ XStringNode (location: (37,1)-(37,8)) │ ├── flags: ∅ │ ├── opening_loc: (37,1)-(37,4) = "%x{" @@ -182,17 +182,17 @@ │ ├── closing_loc: (47,6)-(47,7) = "'" │ └── unescaped: "\#@@1" ├── @ RegularExpressionNode (location: (49,1)-(49,6)) + │ ├── flags: ∅ │ ├── opening_loc: (49,1)-(49,2) = "/" │ ├── content_loc: (49,2)-(49,5) = "\#@1" │ ├── closing_loc: (49,5)-(49,6) = "/" - │ ├── unescaped: "\#@1" - │ └── flags: ∅ + │ └── unescaped: "\#@1" ├── @ RegularExpressionNode (location: (51,1)-(51,7)) + │ ├── flags: ∅ │ ├── opening_loc: (51,1)-(51,2) = "/" │ ├── content_loc: (51,2)-(51,6) = "\#@@1" │ ├── closing_loc: (51,6)-(51,7) = "/" - │ ├── unescaped: "\#@@1" - │ └── flags: ∅ + │ └── unescaped: "\#@@1" ├── @ SymbolNode (location: (53,1)-(53,7)) │ ├── opening_loc: (53,1)-(53,3) = ":\"" │ ├── value_loc: (53,3)-(53,6) = "\#@1" diff --git a/test/prism/snapshots/whitequark/keyword_argument_omission.txt b/test/prism/snapshots/whitequark/keyword_argument_omission.txt index cb57776005..7edc4b1aa6 100644 --- a/test/prism/snapshots/whitequark/keyword_argument_omission.txt +++ b/test/prism/snapshots/whitequark/keyword_argument_omission.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -11,52 +12,51 @@ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,10)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,4)-(1,10)) - │ │ └── elements: (length: 2) - │ │ ├── @ AssocNode (location: (1,4)-(1,6)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,4)-(1,6)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (1,4)-(1,5) = "a" - │ │ │ │ ├── closing_loc: (1,5)-(1,6) = ":" - │ │ │ │ └── unescaped: "a" - │ │ │ ├── value: - │ │ │ │ @ ImplicitNode (location: (1,4)-(1,6)) - │ │ │ │ └── value: - │ │ │ │ @ CallNode (location: (1,4)-(1,6)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (1,4)-(1,5) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── operator_loc: ∅ - │ │ └── @ AssocNode (location: (1,8)-(1,10)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,8)-(1,10)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,8)-(1,9) = "b" - │ │ │ ├── closing_loc: (1,9)-(1,10) = ":" - │ │ │ └── unescaped: "b" - │ │ ├── value: - │ │ │ @ ImplicitNode (location: (1,8)-(1,10)) - │ │ │ └── value: - │ │ │ @ CallNode (location: (1,8)-(1,10)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (1,8)-(1,9) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,4)-(1,10)) + │ └── elements: (length: 2) + │ ├── @ AssocNode (location: (1,4)-(1,6)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,4)-(1,6)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (1,4)-(1,5) = "a" + │ │ │ ├── closing_loc: (1,5)-(1,6) = ":" + │ │ │ └── unescaped: "a" + │ │ ├── value: + │ │ │ @ ImplicitNode (location: (1,4)-(1,6)) + │ │ │ └── value: + │ │ │ @ CallNode (location: (1,4)-(1,6)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a + │ │ │ ├── message_loc: (1,4)-(1,5) = "a" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── operator_loc: ∅ + │ └── @ AssocNode (location: (1,8)-(1,10)) + │ ├── key: + │ │ @ SymbolNode (location: (1,8)-(1,10)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,8)-(1,9) = "b" + │ │ ├── closing_loc: (1,9)-(1,10) = ":" + │ │ └── unescaped: "b" + │ ├── value: + │ │ @ ImplicitNode (location: (1,8)-(1,10)) + │ │ └── value: + │ │ @ CallNode (location: (1,8)-(1,10)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (1,8)-(1,9) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: ∅ ├── closing_loc: (1,10)-(1,11) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/kwbegin_compstmt.txt b/test/prism/snapshots/whitequark/kwbegin_compstmt.txt index dcbf053139..92eaa5bb0e 100644 --- a/test/prism/snapshots/whitequark/kwbegin_compstmt.txt +++ b/test/prism/snapshots/whitequark/kwbegin_compstmt.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,6)-(1,16)) │ └── body: (length: 2) │ ├── @ CallNode (location: (1,6)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo! @@ -16,9 +17,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── @ CallNode (location: (1,12)-(1,16)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar! @@ -26,8 +27,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── rescue_clause: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/kwnilarg.txt b/test/prism/snapshots/whitequark/kwnilarg.txt index 2a5f5f1982..041b0a3773 100644 --- a/test/prism/snapshots/whitequark/kwnilarg.txt +++ b/test/prism/snapshots/whitequark/kwnilarg.txt @@ -53,6 +53,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,14)-(3,17) = "end" └── @ CallNode (location: (5,0)-(5,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -60,28 +61,27 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (5,2)-(5,13)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (5,4)-(5,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (5,5)-(5,10)) - │ │ │ ├── requireds: (length: 0) - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: - │ │ │ │ @ NoKeywordsParameterNode (location: (5,5)-(5,10)) - │ │ │ │ ├── operator_loc: (5,5)-(5,7) = "**" - │ │ │ │ └── keyword_loc: (5,7)-(5,10) = "nil" - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (5,4)-(5,5) = "|" - │ │ └── closing_loc: (5,10)-(5,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (5,2)-(5,3) = "{" - │ └── closing_loc: (5,12)-(5,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (5,2)-(5,13)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: + │ @ BlockParametersNode (location: (5,4)-(5,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (5,5)-(5,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: + │ │ │ @ NoKeywordsParameterNode (location: (5,5)-(5,10)) + │ │ │ ├── operator_loc: (5,5)-(5,7) = "**" + │ │ │ └── keyword_loc: (5,7)-(5,10) = "nil" + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (5,4)-(5,5) = "|" + │ └── closing_loc: (5,10)-(5,11) = "|" + ├── body: ∅ + ├── opening_loc: (5,2)-(5,3) = "{" + └── closing_loc: (5,12)-(5,13) = "}" diff --git a/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt b/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt index 645f5939b0..d9c0826f9e 100644 --- a/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt +++ b/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt @@ -29,6 +29,7 @@ │ @ StatementsNode (location: (1,19)-(1,24)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,19)-(1,24)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -36,16 +37,15 @@ │ ├── opening_loc: (1,20)-(1,21) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,21)-(1,23)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,21)-(1,23)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocSplatNode (location: (1,21)-(1,23)) - │ │ │ ├── value: ∅ - │ │ │ └── operator_loc: (1,21)-(1,23) = "**" - │ │ └── flags: contains_keyword_splat + │ │ ├── flags: contains_keyword_splat + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,21)-(1,23)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocSplatNode (location: (1,21)-(1,23)) + │ │ ├── value: ∅ + │ │ └── operator_loc: (1,21)-(1,23) = "**" │ ├── closing_loc: (1,23)-(1,24) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:a, :**] ├── locals_body_index: 2 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt b/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt index 4a0b52b075..e44c155edd 100644 --- a/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt +++ b/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,22)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :let @@ -11,45 +12,44 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,8)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,5)-(1,7)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ SymbolNode (location: (1,5)-(1,7)) - │ │ │ ├── opening_loc: (1,5)-(1,6) = ":" - │ │ │ ├── value_loc: (1,6)-(1,7) = "a" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "a" - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,7)-(1,8) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,8)) + │ ├── body: + │ │ @ StatementsNode (location: (1,5)-(1,7)) + │ │ └── body: (length: 1) + │ │ └── @ SymbolNode (location: (1,5)-(1,7)) + │ │ ├── opening_loc: (1,5)-(1,6) = ":" + │ │ ├── value_loc: (1,6)-(1,7) = "a" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "a" + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,7)-(1,8) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,9)-(1,22)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,11)-(1,20)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,11)-(1,20)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :m - │ │ ├── message_loc: (1,11)-(1,12) = "m" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,13)-(1,20)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,13)-(1,15) = "do" - │ │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ │ └── flags: ∅ - │ ├── opening_loc: (1,9)-(1,10) = "{" - │ └── closing_loc: (1,21)-(1,22) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,9)-(1,22)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,11)-(1,20)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,11)-(1,20)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :m + │ ├── message_loc: (1,11)-(1,12) = "m" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (1,13)-(1,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,13)-(1,15) = "do" + │ └── closing_loc: (1,17)-(1,20) = "end" + ├── opening_loc: (1,9)-(1,10) = "{" + └── closing_loc: (1,21)-(1,22) = "}" diff --git a/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt b/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt index b8fee1d50b..ac9432787d 100644 --- a/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt +++ b/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,15)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -11,29 +12,29 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,4)-(1,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,4)-(1,14)) - │ │ │ ├── receiver: - │ │ │ │ @ ParenthesesNode (location: (1,4)-(1,10)) - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,9)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ FloatNode (location: (1,5)-(1,9)) - │ │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ │ │ └── closing_loc: (1,9)-(1,10) = ")" - │ │ │ ├── call_operator_loc: (1,10)-(1,11) = "." - │ │ │ ├── name: :abs - │ │ │ ├── message_loc: (1,11)-(1,14) = "abs" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,4)-(1,14)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ ParenthesesNode (location: (1,4)-(1,10)) + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (1,5)-(1,9)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ FloatNode (location: (1,5)-(1,9)) + │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" + │ │ │ └── closing_loc: (1,9)-(1,10) = ")" + │ │ ├── call_operator_loc: (1,10)-(1,11) = "." + │ │ ├── name: :abs + │ │ ├── message_loc: (1,11)-(1,14) = "abs" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth @@ -41,25 +42,24 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (3,5)-(3,15)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (3,5)-(3,15)) - │ │ ├── receiver: - │ │ │ @ ParenthesesNode (location: (3,5)-(3,11)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,6)-(3,10)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ FloatNode (location: (3,6)-(3,10)) - │ │ │ ├── opening_loc: (3,5)-(3,6) = "(" - │ │ │ └── closing_loc: (3,10)-(3,11) = ")" - │ │ ├── call_operator_loc: (3,11)-(3,12) = "." - │ │ ├── name: :abs - │ │ ├── message_loc: (3,12)-(3,15) = "abs" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (3,5)-(3,15)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ ParenthesesNode (location: (3,5)-(3,11)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,6)-(3,10)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ FloatNode (location: (3,6)-(3,10)) + │ │ ├── opening_loc: (3,5)-(3,6) = "(" + │ │ └── closing_loc: (3,10)-(3,11) = ")" + │ ├── call_operator_loc: (3,11)-(3,12) = "." + │ ├── name: :abs + │ ├── message_loc: (3,12)-(3,15) = "abs" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/lvar.txt b/test/prism/snapshots/whitequark/lvar.txt index 3d0ee78f85..878a4a91f5 100644 --- a/test/prism/snapshots/whitequark/lvar.txt +++ b/test/prism/snapshots/whitequark/lvar.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,3)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,3)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -11,5 +12,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/lvar_injecting_match.txt b/test/prism/snapshots/whitequark/lvar_injecting_match.txt index f58882b9bd..a1d70e9ccf 100644 --- a/test/prism/snapshots/whitequark/lvar_injecting_match.txt +++ b/test/prism/snapshots/whitequark/lvar_injecting_match.txt @@ -6,30 +6,30 @@ ├── @ MatchWriteNode (location: (1,0)-(1,24)) │ ├── call: │ │ @ CallNode (location: (1,0)-(1,24)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (1,0)-(1,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,0)-(1,1) = "/" │ │ │ ├── content_loc: (1,1)-(1,14) = "(?<match>bar)" │ │ │ ├── closing_loc: (1,14)-(1,15) = "/" - │ │ │ ├── unescaped: "(?<match>bar)" - │ │ │ └── flags: ∅ + │ │ │ └── unescaped: "(?<match>bar)" │ │ ├── call_operator_loc: ∅ │ │ ├── name: :=~ │ │ ├── message_loc: (1,16)-(1,18) = "=~" │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,19)-(1,24)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ StringNode (location: (1,19)-(1,24)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,19)-(1,20) = "'" - │ │ │ │ ├── content_loc: (1,20)-(1,23) = "bar" - │ │ │ │ ├── closing_loc: (1,23)-(1,24) = "'" - │ │ │ │ └── unescaped: "bar" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ StringNode (location: (1,19)-(1,24)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,19)-(1,20) = "'" + │ │ │ ├── content_loc: (1,20)-(1,23) = "bar" + │ │ │ ├── closing_loc: (1,23)-(1,24) = "'" + │ │ │ └── unescaped: "bar" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,4)-(1,9)) │ ├── name: :match diff --git a/test/prism/snapshots/whitequark/masgn.txt b/test/prism/snapshots/whitequark/masgn.txt index ef33a7bdda..d87d21a605 100644 --- a/test/prism/snapshots/whitequark/masgn.txt +++ b/test/prism/snapshots/whitequark/masgn.txt @@ -18,14 +18,14 @@ │ ├── operator_loc: (1,11)-(1,12) = "=" │ └── value: │ @ ArrayNode (location: (1,13)-(1,17)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (1,13)-(1,14)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (1,16)-(1,17)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (3,0)-(3,15)) │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,3)) @@ -41,14 +41,14 @@ │ ├── operator_loc: (3,9)-(3,10) = "=" │ └── value: │ @ ArrayNode (location: (3,11)-(3,15)) + │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (3,11)-(3,12)) │ │ │ └── flags: decimal │ │ └── @ IntegerNode (location: (3,14)-(3,15)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: ∅ + │ └── closing_loc: ∅ └── @ MultiWriteNode (location: (5,0)-(5,20)) ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (5,0)-(5,3)) @@ -67,11 +67,11 @@ ├── operator_loc: (5,14)-(5,15) = "=" └── value: @ ArrayNode (location: (5,16)-(5,20)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (5,16)-(5,17)) │ │ └── flags: decimal │ └── @ IntegerNode (location: (5,19)-(5,20)) │ └── flags: decimal ├── opening_loc: ∅ - ├── closing_loc: ∅ - └── flags: ∅ + └── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_attr.txt b/test/prism/snapshots/whitequark/masgn_attr.txt index 301c894e99..9d78d9bfdf 100644 --- a/test/prism/snapshots/whitequark/masgn_attr.txt +++ b/test/prism/snapshots/whitequark/masgn_attr.txt @@ -6,6 +6,7 @@ ├── @ MultiWriteNode (location: (1,0)-(1,17)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (1,0)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (1,0)-(1,4)) │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "." @@ -14,8 +15,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ LocalVariableTargetNode (location: (1,8)-(1,11)) │ │ ├── name: :foo │ │ └── depth: 0 @@ -31,6 +31,7 @@ ├── @ MultiWriteNode (location: (3,0)-(3,24)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (3,0)-(3,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (3,0)-(3,4)) │ │ │ ├── call_operator_loc: (3,4)-(3,5) = "." @@ -39,9 +40,9 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (3,8)-(3,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ SelfNode (location: (3,8)-(3,12)) │ │ ├── call_operator_loc: ∅ @@ -50,15 +51,14 @@ │ │ ├── opening_loc: (3,12)-(3,13) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,13)-(3,17)) - │ │ │ ├── arguments: (length: 2) - │ │ │ │ ├── @ IntegerNode (location: (3,13)-(3,14)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 2) + │ │ │ ├── @ IntegerNode (location: (3,13)-(3,14)) + │ │ │ │ └── flags: decimal + │ │ │ └── @ IntegerNode (location: (3,16)-(3,17)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: (3,17)-(3,18) = "]" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ @@ -71,6 +71,7 @@ └── @ MultiWriteNode (location: (5,0)-(5,18)) ├── lefts: (length: 2) │ ├── @ CallNode (location: (5,0)-(5,7)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ SelfNode (location: (5,0)-(5,4)) │ │ ├── call_operator_loc: (5,4)-(5,6) = "::" @@ -79,8 +80,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── @ LocalVariableTargetNode (location: (5,9)-(5,12)) │ ├── name: :foo │ └── depth: 0 diff --git a/test/prism/snapshots/whitequark/masgn_cmd.txt b/test/prism/snapshots/whitequark/masgn_cmd.txt index 4300096f4d..b9d66d5d89 100644 --- a/test/prism/snapshots/whitequark/masgn_cmd.txt +++ b/test/prism/snapshots/whitequark/masgn_cmd.txt @@ -18,6 +18,7 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ CallNode (location: (1,11)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -25,11 +26,10 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,13)-(1,16)) - │ ├── arguments: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (1,13)-(1,16)) - │ │ ├── name: :foo - │ │ └── depth: 0 - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LocalVariableReadNode (location: (1,13)-(1,16)) + │ ├── name: :foo + │ └── depth: 0 ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_nested.txt b/test/prism/snapshots/whitequark/masgn_nested.txt index d9513e5813..6bbfc61ef6 100644 --- a/test/prism/snapshots/whitequark/masgn_nested.txt +++ b/test/prism/snapshots/whitequark/masgn_nested.txt @@ -22,6 +22,7 @@ │ ├── operator_loc: (1,8)-(1,9) = "=" │ └── value: │ @ CallNode (location: (1,10)-(1,13)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -29,8 +30,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ MultiWriteNode (location: (3,0)-(3,15)) ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,1)) @@ -55,6 +55,7 @@ ├── operator_loc: (3,10)-(3,11) = "=" └── value: @ CallNode (location: (3,12)-(3,15)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -62,5 +63,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_splat.txt b/test/prism/snapshots/whitequark/masgn_splat.txt index 5660ebbc06..be3cbfb47d 100644 --- a/test/prism/snapshots/whitequark/masgn_splat.txt +++ b/test/prism/snapshots/whitequark/masgn_splat.txt @@ -15,6 +15,7 @@ │ ├── operator_loc: (1,2)-(1,3) = "=" │ └── value: │ @ CallNode (location: (1,4)-(1,7)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -22,8 +23,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (3,0)-(3,13)) │ ├── lefts: (length: 0) │ ├── rest: @@ -42,6 +42,7 @@ │ ├── operator_loc: (3,8)-(3,9) = "=" │ └── value: │ @ CallNode (location: (3,10)-(3,13)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -49,8 +50,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (5,0)-(5,8)) │ ├── lefts: (length: 0) │ ├── rest: @@ -66,6 +66,7 @@ │ ├── operator_loc: (5,3)-(5,4) = "=" │ └── value: │ @ CallNode (location: (5,5)-(5,8)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -73,8 +74,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (7,0)-(7,11)) │ ├── lefts: (length: 0) │ ├── rest: @@ -93,6 +93,7 @@ │ ├── operator_loc: (7,6)-(7,7) = "=" │ └── value: │ @ CallNode (location: (7,8)-(7,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -100,8 +101,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (9,0)-(9,18)) │ ├── lefts: (length: 2) │ │ ├── @ InstanceVariableTargetNode (location: (9,0)-(9,4)) @@ -115,11 +115,13 @@ │ ├── operator_loc: (9,12)-(9,13) = "=" │ └── value: │ @ ArrayNode (location: (9,14)-(9,18)) + │ ├── flags: contains_splat │ ├── elements: (length: 1) │ │ └── @ SplatNode (location: (9,14)-(9,18)) │ │ ├── operator_loc: (9,14)-(9,15) = "*" │ │ └── expression: │ │ @ CallNode (location: (9,15)-(9,18)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -127,11 +129,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: ∅ - │ ├── closing_loc: ∅ - │ └── flags: contains_splat + │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (11,0)-(11,10)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (11,0)-(11,1)) @@ -147,6 +147,7 @@ │ ├── operator_loc: (11,5)-(11,6) = "=" │ └── value: │ @ CallNode (location: (11,7)-(11,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -154,8 +155,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (13,0)-(13,13)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (13,0)-(13,1)) @@ -174,6 +174,7 @@ │ ├── operator_loc: (13,8)-(13,9) = "=" │ └── value: │ @ CallNode (location: (13,10)-(13,13)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -181,8 +182,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (15,0)-(15,11)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (15,0)-(15,1)) @@ -201,6 +201,7 @@ │ ├── operator_loc: (15,6)-(15,7) = "=" │ └── value: │ @ CallNode (location: (15,8)-(15,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -208,8 +209,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ MultiWriteNode (location: (17,0)-(17,14)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (17,0)-(17,1)) @@ -231,6 +231,7 @@ │ ├── operator_loc: (17,9)-(17,10) = "=" │ └── value: │ @ CallNode (location: (17,11)-(17,14)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -238,8 +239,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── @ MultiWriteNode (location: (19,0)-(19,16)) ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (19,0)-(19,1)) @@ -255,11 +255,13 @@ ├── operator_loc: (19,5)-(19,6) = "=" └── value: @ ArrayNode (location: (19,7)-(19,16)) + ├── flags: contains_splat ├── elements: (length: 2) │ ├── @ SplatNode (location: (19,7)-(19,11)) │ │ ├── operator_loc: (19,7)-(19,8) = "*" │ │ └── expression: │ │ @ CallNode (location: (19,8)-(19,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -267,9 +269,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── @ CallNode (location: (19,13)-(19,16)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -277,8 +279,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── opening_loc: ∅ - ├── closing_loc: ∅ - └── flags: contains_splat + └── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt index 93089a9e33..7ad047983d 100644 --- a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt +++ b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,47)) └── body: (length: 4) ├── @ WhileNode (location: (1,0)-(1,45)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,42)-(1,45) = "end" │ ├── predicate: @@ -21,6 +22,7 @@ │ │ │ │ ├── operator_loc: (1,16)-(1,17) = "=" │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (1,18)-(1,28)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -28,15 +30,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (1,22)-(1,28)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (1,22)-(1,24) = "do" - │ │ │ │ │ └── closing_loc: (1,25)-(1,28) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (1,22)-(1,28)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (1,22)-(1,24) = "do" + │ │ │ │ └── closing_loc: (1,25)-(1,28) = "end" │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -51,14 +52,14 @@ │ │ ├── rparen_loc: ∅ │ │ ├── equal_loc: ∅ │ │ └── end_keyword_loc: (1,30)-(1,33) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (1,35)-(1,40)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (1,35)-(1,40)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (1,35)-(1,40) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (1,35)-(1,40)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (1,35)-(1,40)) + │ ├── arguments: ∅ + │ └── keyword_loc: (1,35)-(1,40) = "break" ├── @ WhileNode (location: (3,0)-(3,42)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,0)-(3,5) = "while" │ ├── closing_loc: (3,39)-(3,42) = "end" │ ├── predicate: @@ -71,6 +72,7 @@ │ │ │ @ StatementsNode (location: (3,15)-(3,25)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,15)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -78,15 +80,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (3,19)-(3,25)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (3,19)-(3,21) = "do" - │ │ │ │ └── closing_loc: (3,22)-(3,25) = "end" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (3,19)-(3,25)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (3,19)-(3,21) = "do" + │ │ │ └── closing_loc: (3,22)-(3,25) = "end" │ │ ├── locals: [] │ │ ├── locals_body_index: 0 │ │ ├── def_keyword_loc: (3,6)-(3,9) = "def" @@ -95,14 +96,14 @@ │ │ ├── rparen_loc: ∅ │ │ ├── equal_loc: ∅ │ │ └── end_keyword_loc: (3,27)-(3,30) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (3,32)-(3,37)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (3,32)-(3,37)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (3,32)-(3,37) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (3,32)-(3,37)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (3,32)-(3,37)) + │ ├── arguments: ∅ + │ └── keyword_loc: (3,32)-(3,37) = "break" ├── @ WhileNode (location: (5,0)-(5,50)) + │ ├── flags: ∅ │ ├── keyword_loc: (5,0)-(5,5) = "while" │ ├── closing_loc: (5,47)-(5,50) = "end" │ ├── predicate: @@ -121,6 +122,7 @@ │ │ │ │ ├── operator_loc: (5,21)-(5,22) = "=" │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (5,23)-(5,33)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -128,15 +130,14 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (5,27)-(5,33)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: ∅ - │ │ │ │ │ ├── opening_loc: (5,27)-(5,29) = "do" - │ │ │ │ │ └── closing_loc: (5,30)-(5,33) = "end" - │ │ │ │ └── flags: ∅ + │ │ │ │ └── block: + │ │ │ │ @ BlockNode (location: (5,27)-(5,33)) + │ │ │ │ ├── locals: [] + │ │ │ │ ├── locals_body_index: 0 + │ │ │ │ ├── parameters: ∅ + │ │ │ │ ├── body: ∅ + │ │ │ │ ├── opening_loc: (5,27)-(5,29) = "do" + │ │ │ │ └── closing_loc: (5,30)-(5,33) = "end" │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -151,14 +152,14 @@ │ │ ├── rparen_loc: ∅ │ │ ├── equal_loc: ∅ │ │ └── end_keyword_loc: (5,35)-(5,38) = "end" - │ ├── statements: - │ │ @ StatementsNode (location: (5,40)-(5,45)) - │ │ └── body: (length: 1) - │ │ └── @ BreakNode (location: (5,40)-(5,45)) - │ │ ├── arguments: ∅ - │ │ └── keyword_loc: (5,40)-(5,45) = "break" - │ └── flags: ∅ + │ └── statements: + │ @ StatementsNode (location: (5,40)-(5,45)) + │ └── body: (length: 1) + │ └── @ BreakNode (location: (5,40)-(5,45)) + │ ├── arguments: ∅ + │ └── keyword_loc: (5,40)-(5,45) = "break" └── @ WhileNode (location: (7,0)-(7,47)) + ├── flags: ∅ ├── keyword_loc: (7,0)-(7,5) = "while" ├── closing_loc: (7,44)-(7,47) = "end" ├── predicate: @@ -172,6 +173,7 @@ │ │ @ StatementsNode (location: (7,20)-(7,30)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,20)-(7,30)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :tap @@ -179,15 +181,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (7,24)-(7,30)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (7,24)-(7,26) = "do" - │ │ │ └── closing_loc: (7,27)-(7,30) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (7,24)-(7,30)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (7,24)-(7,26) = "do" + │ │ └── closing_loc: (7,27)-(7,30) = "end" │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (7,6)-(7,9) = "def" @@ -196,10 +197,9 @@ │ ├── rparen_loc: ∅ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,32)-(7,35) = "end" - ├── statements: - │ @ StatementsNode (location: (7,37)-(7,42)) - │ └── body: (length: 1) - │ └── @ BreakNode (location: (7,37)-(7,42)) - │ ├── arguments: ∅ - │ └── keyword_loc: (7,37)-(7,42) = "break" - └── flags: ∅ + └── statements: + @ StatementsNode (location: (7,37)-(7,42)) + └── body: (length: 1) + └── @ BreakNode (location: (7,37)-(7,42)) + ├── arguments: ∅ + └── keyword_loc: (7,37)-(7,42) = "break" diff --git a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt index 6bfce489dc..6c571bc9cc 100644 --- a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt +++ b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt @@ -6,6 +6,7 @@ ├── @ CaseMatchNode (location: (1,0)-(8,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: 2) │ │ ├── @ InNode (location: (2,0)-(4,4)) │ │ │ ├── pattern: @@ -70,8 +70,10 @@ │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (8,0)-(8,3) = "end" ├── @ CallNode (location: (10,0)-(11,1)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (10,0)-(10,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :obj @@ -79,35 +81,35 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (10,3)-(10,4) = "." │ ├── name: :set │ ├── message_loc: (10,4)-(10,7) = "set" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (10,8)-(11,1)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (10,8)-(11,1)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (10,8)-(11,1)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (10,8)-(10,14)) - │ │ │ │ ├── opening_loc: (10,8)-(10,9) = "\"" - │ │ │ │ ├── value_loc: (10,9)-(10,12) = "foo" - │ │ │ │ ├── closing_loc: (10,12)-(10,14) = "\":" - │ │ │ │ └── unescaped: "foo" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (11,0)-(11,1)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (10,8)-(11,1)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (10,8)-(11,1)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (10,8)-(10,14)) + │ │ │ ├── opening_loc: (10,8)-(10,9) = "\"" + │ │ │ ├── value_loc: (10,9)-(10,12) = "foo" + │ │ │ ├── closing_loc: (10,12)-(10,14) = "\":" + │ │ │ └── unescaped: "foo" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (11,0)-(11,1)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (13,0)-(14,1)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (13,0)-(13,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :obj @@ -115,29 +117,27 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (13,3)-(13,4) = "." ├── name: :set ├── message_loc: (13,4)-(13,7) = "set" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (13,8)-(14,1)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (13,8)-(14,1)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (13,8)-(14,1)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (13,8)-(13,12)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (13,8)-(13,11) = "foo" - │ │ │ ├── closing_loc: (13,11)-(13,12) = ":" - │ │ │ └── unescaped: "foo" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (14,0)-(14,1)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (13,8)-(14,1)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (13,8)-(14,1)) + │ ├── key: + │ │ @ SymbolNode (location: (13,8)-(13,12)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (13,8)-(13,11) = "foo" + │ │ ├── closing_loc: (13,11)-(13,12) = ":" + │ │ └── unescaped: "foo" + │ ├── value: + │ │ @ IntegerNode (location: (14,0)-(14,1)) + │ │ └── flags: decimal + │ └── operator_loc: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/next.txt b/test/prism/snapshots/whitequark/next.txt index 3164e58599..74a071ba78 100644 --- a/test/prism/snapshots/whitequark/next.txt +++ b/test/prism/snapshots/whitequark/next.txt @@ -9,48 +9,48 @@ ├── @ NextNode (location: (3,0)-(3,8)) │ ├── arguments: │ │ @ ArgumentsNode (location: (3,5)-(3,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,5)-(3,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,5)-(3,8) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,5)-(3,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,5)-(3,8) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ └── keyword_loc: (3,0)-(3,4) = "next" ├── @ NextNode (location: (5,0)-(5,6)) │ ├── arguments: │ │ @ ArgumentsNode (location: (5,4)-(5,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (5,4)-(5,6)) - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (5,4)-(5,5) = "(" - │ │ │ └── closing_loc: (5,5)-(5,6) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (5,4)-(5,6)) + │ │ ├── body: ∅ + │ │ ├── opening_loc: (5,4)-(5,5) = "(" + │ │ └── closing_loc: (5,5)-(5,6) = ")" │ └── keyword_loc: (5,0)-(5,4) = "next" └── @ NextNode (location: (7,0)-(7,9)) ├── arguments: │ @ ArgumentsNode (location: (7,4)-(7,9)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (7,4)-(7,9)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (7,5)-(7,8)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (7,5)-(7,8)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (7,5)-(7,8) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── opening_loc: (7,4)-(7,5) = "(" - │ │ └── closing_loc: (7,8)-(7,9) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (7,4)-(7,9)) + │ ├── body: + │ │ @ StatementsNode (location: (7,5)-(7,8)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (7,5)-(7,8)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (7,5)-(7,8) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (7,4)-(7,5) = "(" + │ └── closing_loc: (7,8)-(7,9) = ")" └── keyword_loc: (7,0)-(7,4) = "next" diff --git a/test/prism/snapshots/whitequark/next_block.txt b/test/prism/snapshots/whitequark/next_block.txt index b3a0206e65..99a4d87747 100644 --- a/test/prism/snapshots/whitequark/next_block.txt +++ b/test/prism/snapshots/whitequark/next_block.txt @@ -6,36 +6,36 @@ └── @ NextNode (location: (1,0)-(1,19)) ├── arguments: │ @ ArgumentsNode (location: (1,5)-(1,19)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,5)-(1,19)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :fun - │ │ ├── message_loc: (1,5)-(1,8) = "fun" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,9)-(1,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (1,9)-(1,12) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,13)-(1,19)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,13)-(1,15) = "do" - │ │ │ └── closing_loc: (1,16)-(1,19) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,5)-(1,19)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :fun + │ ├── message_loc: (1,5)-(1,8) = "fun" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,9)-(1,12)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,9)-(1,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,9)-(1,12) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: + │ @ BlockNode (location: (1,13)-(1,19)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,13)-(1,15) = "do" + │ └── closing_loc: (1,16)-(1,19) = "end" └── keyword_loc: (1,0)-(1,4) = "next" diff --git a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt index d58da0f420..7b577e5bd9 100644 --- a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt +++ b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,28)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) + ├── flags: ∅ ├── receiver: │ @ InterpolatedRegularExpressionNode (location: (1,0)-(1,19)) + │ ├── flags: ∅ │ ├── opening_loc: (1,0)-(1,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5)) @@ -22,22 +24,20 @@ │ │ ├── content_loc: (1,5)-(1,18) = "(?<match>bar)" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "(?<match>bar)" - │ ├── closing_loc: (1,18)-(1,19) = "/" - │ └── flags: ∅ + │ └── closing_loc: (1,18)-(1,19) = "/" ├── call_operator_loc: ∅ ├── name: :=~ ├── message_loc: (1,20)-(1,22) = "=~" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,23)-(1,28)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (1,23)-(1,28)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,23)-(1,24) = "'" - │ │ ├── content_loc: (1,24)-(1,27) = "bar" - │ │ ├── closing_loc: (1,27)-(1,28) = "'" - │ │ └── unescaped: "bar" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (1,23)-(1,28)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,23)-(1,24) = "'" + │ ├── content_loc: (1,24)-(1,27) = "bar" + │ ├── closing_loc: (1,27)-(1,28) = "'" + │ └── unescaped: "bar" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/not.txt b/test/prism/snapshots/whitequark/not.txt index 44812ba140..95984ddc06 100644 --- a/test/prism/snapshots/whitequark/not.txt +++ b/test/prism/snapshots/whitequark/not.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,8)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,4)-(1,7)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,17 +15,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! │ ├── message_loc: (1,0)-(1,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,5)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! @@ -31,11 +32,12 @@ │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (3,4)-(3,5) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,8)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (5,4)-(5,7)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -43,13 +45,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (5,0)-(5,3) = "not" ├── opening_loc: (5,3)-(5,4) = "(" ├── arguments: ∅ ├── closing_loc: (5,7)-(5,8) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/not_cmd.txt b/test/prism/snapshots/whitequark/not_cmd.txt index 64240e9fa7..d2e82ae62c 100644 --- a/test/prism/snapshots/whitequark/not_cmd.txt +++ b/test/prism/snapshots/whitequark/not_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -13,26 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,6)-(1,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,6)-(1,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (1,6)-(1,9) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,6)-(1,9) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :! ├── message_loc: (1,0)-(1,3) = "not" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/not_masgn__24.txt b/test/prism/snapshots/whitequark/not_masgn__24.txt index 3e333a25f2..f25433976f 100644 --- a/test/prism/snapshots/whitequark/not_masgn__24.txt +++ b/test/prism/snapshots/whitequark/not_masgn__24.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: │ @ ParenthesesNode (location: (1,1)-(1,13)) │ ├── body: @@ -24,6 +25,7 @@ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ └── value: │ │ @ CallNode (location: (1,9)-(1,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -31,8 +33,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,1)-(1,2) = "(" │ └── closing_loc: (1,12)-(1,13) = ")" ├── call_operator_loc: ∅ @@ -41,5 +42,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/numbered_args_after_27.txt b/test/prism/snapshots/whitequark/numbered_args_after_27.txt index f87c8a4d69..ed70923edf 100644 --- a/test/prism/snapshots/whitequark/numbered_args_after_27.txt +++ b/test/prism/snapshots/whitequark/numbered_args_after_27.txt @@ -16,6 +16,7 @@ │ @ StatementsNode (location: (1,6)-(1,13)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,6)-(1,13)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (1,6)-(1,8)) │ │ ├── name: :_1 @@ -26,14 +27,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,11)-(1,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,13)) - │ │ │ ├── name: :_9 - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,13)) + │ │ ├── name: :_9 + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ LambdaNode (location: (3,0)-(3,13)) │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] │ ├── locals_body_index: 9 @@ -47,6 +47,7 @@ │ @ StatementsNode (location: (3,5)-(3,12)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,5)-(3,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (3,5)-(3,7)) │ │ ├── name: :_1 @@ -57,15 +58,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,10)-(3,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (3,10)-(3,12)) - │ │ │ ├── name: :_9 - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (3,10)-(3,12)) + │ │ ├── name: :_9 + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,16)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -73,39 +74,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,2)-(5,16)) - │ │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] - │ │ ├── locals_body_index: 9 - │ │ ├── parameters: - │ │ │ @ NumberedParametersNode (location: (5,2)-(5,16)) - │ │ │ └── maximum: 9 - │ │ ├── body: - │ │ │ @ StatementsNode (location: (5,5)-(5,12)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (5,5)-(5,12)) - │ │ │ ├── receiver: - │ │ │ │ @ LocalVariableReadNode (location: (5,5)-(5,7)) - │ │ │ │ ├── name: :_1 - │ │ │ │ └── depth: 0 - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :+ - │ │ │ ├── message_loc: (5,8)-(5,9) = "+" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (5,10)-(5,12)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (5,10)-(5,12)) - │ │ │ │ │ ├── name: :_9 - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (5,2)-(5,4) = "do" - │ │ └── closing_loc: (5,13)-(5,16) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,2)-(5,16)) + │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] + │ ├── locals_body_index: 9 + │ ├── parameters: + │ │ @ NumberedParametersNode (location: (5,2)-(5,16)) + │ │ └── maximum: 9 + │ ├── body: + │ │ @ StatementsNode (location: (5,5)-(5,12)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (5,5)-(5,12)) + │ │ ├── flags: ∅ + │ │ ├── receiver: + │ │ │ @ LocalVariableReadNode (location: (5,5)-(5,7)) + │ │ │ ├── name: :_1 + │ │ │ └── depth: 0 + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ + │ │ ├── message_loc: (5,8)-(5,9) = "+" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (5,10)-(5,12)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (5,10)-(5,12)) + │ │ │ ├── name: :_9 + │ │ │ └── depth: 0 + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (5,2)-(5,4) = "do" + │ └── closing_loc: (5,13)-(5,16) = "end" └── @ CallNode (location: (7,0)-(7,13)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -113,35 +114,34 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (7,2)-(7,13)) - │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] - │ ├── locals_body_index: 9 - │ ├── parameters: - │ │ @ NumberedParametersNode (location: (7,2)-(7,13)) - │ │ └── maximum: 9 - │ ├── body: - │ │ @ StatementsNode (location: (7,4)-(7,11)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (7,4)-(7,11)) - │ │ ├── receiver: - │ │ │ @ LocalVariableReadNode (location: (7,4)-(7,6)) - │ │ │ ├── name: :_1 - │ │ │ └── depth: 0 - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (7,7)-(7,8) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (7,9)-(7,11)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ LocalVariableReadNode (location: (7,9)-(7,11)) - │ │ │ │ ├── name: :_9 - │ │ │ │ └── depth: 0 - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ ├── opening_loc: (7,2)-(7,3) = "{" - │ └── closing_loc: (7,12)-(7,13) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (7,2)-(7,13)) + ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] + ├── locals_body_index: 9 + ├── parameters: + │ @ NumberedParametersNode (location: (7,2)-(7,13)) + │ └── maximum: 9 + ├── body: + │ @ StatementsNode (location: (7,4)-(7,11)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (7,4)-(7,11)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ LocalVariableReadNode (location: (7,4)-(7,6)) + │ │ ├── name: :_1 + │ │ └── depth: 0 + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (7,7)-(7,8) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (7,9)-(7,11)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (7,9)-(7,11)) + │ │ ├── name: :_9 + │ │ └── depth: 0 + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (7,2)-(7,3) = "{" + └── closing_loc: (7,12)-(7,13) = "}" diff --git a/test/prism/snapshots/whitequark/numparam_outside_block.txt b/test/prism/snapshots/whitequark/numparam_outside_block.txt index fb702cf50d..bfd1bb8e0c 100644 --- a/test/prism/snapshots/whitequark/numparam_outside_block.txt +++ b/test/prism/snapshots/whitequark/numparam_outside_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(9,17)) └── body: (length: 5) ├── @ CallNode (location: (1,0)-(1,2)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :_1 @@ -11,14 +12,14 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ SingletonClassNode (location: (3,0)-(3,21)) │ ├── locals: [] │ ├── class_keyword_loc: (3,0)-(3,5) = "class" │ ├── operator_loc: (3,6)-(3,8) = "<<" │ ├── expression: │ │ @ CallNode (location: (3,9)-(3,12)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -26,12 +27,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,14)-(3,16)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,14)-(3,16)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :_1 @@ -39,8 +40,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (3,18)-(3,21) = "end" ├── @ ClassNode (location: (5,0)-(5,16)) │ ├── locals: [] @@ -54,6 +54,7 @@ │ │ @ StatementsNode (location: (5,9)-(5,11)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,9)-(5,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :_1 @@ -61,8 +62,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── end_keyword_loc: (5,13)-(5,16) = "end" │ └── name: :A ├── @ DefNode (location: (7,0)-(7,19)) @@ -75,6 +75,7 @@ │ │ @ StatementsNode (location: (7,12)-(7,14)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,12)-(7,14)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :_1 @@ -82,8 +83,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── locals: [] │ ├── locals_body_index: 0 │ ├── def_keyword_loc: (7,0)-(7,3) = "def" @@ -102,6 +102,7 @@ │ @ StatementsNode (location: (9,10)-(9,12)) │ └── body: (length: 1) │ └── @ CallNode (location: (9,10)-(9,12)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :_1 @@ -109,7 +110,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── end_keyword_loc: (9,14)-(9,17) = "end" └── name: :A diff --git a/test/prism/snapshots/whitequark/op_asgn.txt b/test/prism/snapshots/whitequark/op_asgn.txt index 38906896cd..76f2e27dd9 100644 --- a/test/prism/snapshots/whitequark/op_asgn.txt +++ b/test/prism/snapshots/whitequark/op_asgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,11)) └── body: (length: 3) ├── @ CallOperatorWriteNode (location: (1,0)-(1,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,11 +15,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "A" - │ ├── flags: ∅ │ ├── read_name: :A │ ├── write_name: :A= │ ├── operator: :+ @@ -26,8 +26,10 @@ │ @ IntegerNode (location: (1,9)-(1,10)) │ └── flags: decimal ├── @ CallOperatorWriteNode (location: (3,0)-(3,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -35,11 +37,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,3)-(3,4) = "." │ ├── message_loc: (3,4)-(3,5) = "a" - │ ├── flags: ∅ │ ├── read_name: :a │ ├── write_name: :a= │ ├── operator: :+ @@ -48,8 +48,10 @@ │ @ IntegerNode (location: (3,9)-(3,10)) │ └── flags: decimal └── @ CallOperatorWriteNode (location: (5,0)-(5,11)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -57,11 +59,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (5,3)-(5,5) = "::" ├── message_loc: (5,5)-(5,6) = "a" - ├── flags: ∅ ├── read_name: :a ├── write_name: :a= ├── operator: :+ diff --git a/test/prism/snapshots/whitequark/op_asgn_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_cmd.txt index 90710078a2..cb390aa010 100644 --- a/test/prism/snapshots/whitequark/op_asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/op_asgn_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(7,15)) └── body: (length: 4) ├── @ CallOperatorWriteNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,17 +15,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "A" - │ ├── flags: ∅ │ ├── read_name: :A │ ├── write_name: :A= │ ├── operator: :+ │ ├── operator_loc: (1,6)-(1,8) = "+=" │ └── value: │ @ CallNode (location: (1,9)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -31,24 +32,25 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,11)-(1,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,11)-(1,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (1,11)-(1,14) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,11)-(1,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,11)-(1,14) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallOperatorWriteNode (location: (3,0)-(3,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -56,17 +58,16 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,3)-(3,4) = "." │ ├── message_loc: (3,4)-(3,5) = "a" - │ ├── flags: ∅ │ ├── read_name: :a │ ├── write_name: :a= │ ├── operator: :+ │ ├── operator_loc: (3,6)-(3,8) = "+=" │ └── value: │ @ CallNode (location: (3,9)-(3,14)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -74,26 +75,26 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,11)-(3,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,11)-(3,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,11)-(3,14) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,11)-(3,14)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,11)-(3,14) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,15)) │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,6)) │ │ ├── parent: │ │ │ @ CallNode (location: (5,0)-(5,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -101,8 +102,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── child: │ │ │ @ ConstantReadNode (location: (5,5)-(5,6)) │ │ │ └── name: :A @@ -110,6 +110,7 @@ │ ├── operator_loc: (5,7)-(5,9) = "+=" │ ├── value: │ │ @ CallNode (location: (5,10)-(5,15)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :m @@ -117,25 +118,26 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,12)-(5,15)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (5,12)-(5,15)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :foo - │ │ │ │ ├── message_loc: (5,12)-(5,15) = "foo" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (5,12)-(5,15)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo + │ │ │ ├── message_loc: (5,12)-(5,15) = "foo" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator: :+ └── @ CallOperatorWriteNode (location: (7,0)-(7,15)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (7,0)-(7,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -143,17 +145,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (7,3)-(7,5) = "::" ├── message_loc: (7,5)-(7,6) = "a" - ├── flags: ∅ ├── read_name: :a ├── write_name: :a= ├── operator: :+ ├── operator_loc: (7,7)-(7,9) = "+=" └── value: @ CallNode (location: (7,10)-(7,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -161,18 +162,17 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (7,12)-(7,15)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (7,12)-(7,15)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (7,12)-(7,15) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (7,12)-(7,15)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (7,12)-(7,15) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/op_asgn_index.txt b/test/prism/snapshots/whitequark/op_asgn_index.txt index a05b679668..abeb1626ff 100644 --- a/test/prism/snapshots/whitequark/op_asgn_index.txt +++ b/test/prism/snapshots/whitequark/op_asgn_index.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,21 +15,19 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator: :+ ├── operator_loc: (1,10)-(1,12) = "+=" └── value: diff --git a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt index c0cb8dacc2..ffbbff9e5f 100644 --- a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt +++ b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,18)) └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,18)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,25 +15,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator: :+ ├── operator_loc: (1,10)-(1,12) = "+=" └── value: @ CallNode (location: (1,13)-(1,18)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -39,18 +40,17 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,15)-(1,18)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,15)-(1,18)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (1,15)-(1,18) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,15)-(1,18)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (1,15)-(1,18) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/or.txt b/test/prism/snapshots/whitequark/or.txt index 8334bdba88..9e57edb194 100644 --- a/test/prism/snapshots/whitequark/or.txt +++ b/test/prism/snapshots/whitequark/or.txt @@ -6,6 +6,7 @@ ├── @ OrNode (location: (1,0)-(1,10)) │ ├── left: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,10 +14,10 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── right: │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -24,12 +25,12 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── operator_loc: (1,4)-(1,6) = "or" └── @ OrNode (location: (3,0)-(3,10)) ├── left: │ @ CallNode (location: (3,0)-(3,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -37,10 +38,10 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── right: │ @ CallNode (location: (3,7)-(3,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -48,6 +49,5 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── operator_loc: (3,4)-(3,6) = "||" diff --git a/test/prism/snapshots/whitequark/or_asgn.txt b/test/prism/snapshots/whitequark/or_asgn.txt index 2578cce8e2..e795a5a28a 100644 --- a/test/prism/snapshots/whitequark/or_asgn.txt +++ b/test/prism/snapshots/whitequark/or_asgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(3,15)) └── body: (length: 2) ├── @ CallOrWriteNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,11 +15,9 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "a" - │ ├── flags: ∅ │ ├── read_name: :a │ ├── write_name: :a= │ ├── operator_loc: (1,6)-(1,9) = "||=" @@ -25,8 +25,10 @@ │ @ IntegerNode (location: (1,10)-(1,11)) │ └── flags: decimal └── @ IndexOrWriteNode (location: (3,0)-(3,15)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -34,21 +36,19 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (3,3)-(3,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (3,4)-(3,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (3,4)-(3,5)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (3,4)-(3,5)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (3,7)-(3,8)) + │ └── flags: decimal ├── closing_loc: (3,8)-(3,9) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator_loc: (3,10)-(3,13) = "||=" └── value: @ IntegerNode (location: (3,14)-(3,15)) diff --git a/test/prism/snapshots/whitequark/parser_bug_272.txt b/test/prism/snapshots/whitequark/parser_bug_272.txt index 0ed4cd9364..70d6b71930 100644 --- a/test/prism/snapshots/whitequark/parser_bug_272.txt +++ b/test/prism/snapshots/whitequark/parser_bug_272.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,15)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -11,32 +12,31 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,4)) - │ ├── arguments: (length: 1) - │ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) - │ │ └── name: :@b - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ └── name: :@b ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,5)-(1,15)) - │ ├── locals: [:c] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (1,8)-(1,11)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (1,9)-(1,10)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) - │ │ │ │ └── name: :c - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (1,8)-(1,9) = "|" - │ │ └── closing_loc: (1,10)-(1,11) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (1,5)-(1,7) = "do" - │ └── closing_loc: (1,12)-(1,15) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(1,15)) + ├── locals: [:c] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (1,8)-(1,11)) + │ ├── parameters: + │ │ @ ParametersNode (location: (1,9)-(1,10)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) + │ │ │ └── name: :c + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (1,8)-(1,9) = "|" + │ └── closing_loc: (1,10)-(1,11) = "|" + ├── body: ∅ + ├── opening_loc: (1,5)-(1,7) = "do" + └── closing_loc: (1,12)-(1,15) = "end" diff --git a/test/prism/snapshots/whitequark/parser_bug_525.txt b/test/prism/snapshots/whitequark/parser_bug_525.txt index 6be12beeff..c5c3fd6e85 100644 --- a/test/prism/snapshots/whitequark/parser_bug_525.txt +++ b/test/prism/snapshots/whitequark/parser_bug_525.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,32)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,32)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m1 @@ -11,55 +12,54 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,3)-(1,11)) - │ ├── arguments: (length: 1) - │ │ └── @ KeywordHashNode (location: (1,3)-(1,11)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,3)-(1,11)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,3)-(1,5)) - │ │ │ ├── opening_loc: (1,3)-(1,4) = ":" - │ │ │ ├── value_loc: (1,4)-(1,5) = "k" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "k" - │ │ ├── value: - │ │ │ @ CallNode (location: (1,9)-(1,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :m2 - │ │ │ ├── message_loc: (1,9)-(1,11) = "m2" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── operator_loc: (1,6)-(1,8) = "=>" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ KeywordHashNode (location: (1,3)-(1,11)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,3)-(1,11)) + │ ├── key: + │ │ @ SymbolNode (location: (1,3)-(1,5)) + │ │ ├── opening_loc: (1,3)-(1,4) = ":" + │ │ ├── value_loc: (1,4)-(1,5) = "k" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "k" + │ ├── value: + │ │ @ CallNode (location: (1,9)-(1,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :m2 + │ │ ├── message_loc: (1,9)-(1,11) = "m2" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── operator_loc: (1,6)-(1,8) = "=>" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,12)-(1,32)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,16)-(1,27)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,16)-(1,27)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :m3 - │ │ ├── message_loc: (1,16)-(1,18) = "m3" - │ │ ├── opening_loc: (1,18)-(1,19) = "(" - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: (1,19)-(1,20) = ")" - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,21)-(1,27)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,21)-(1,23) = "do" - │ │ │ └── closing_loc: (1,24)-(1,27) = "end" - │ │ └── flags: ∅ - │ ├── opening_loc: (1,12)-(1,14) = "do" - │ └── closing_loc: (1,29)-(1,32) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,12)-(1,32)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,16)-(1,27)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,16)-(1,27)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :m3 + │ ├── message_loc: (1,16)-(1,18) = "m3" + │ ├── opening_loc: (1,18)-(1,19) = "(" + │ ├── arguments: ∅ + │ ├── closing_loc: (1,19)-(1,20) = ")" + │ └── block: + │ @ BlockNode (location: (1,21)-(1,27)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,21)-(1,23) = "do" + │ └── closing_loc: (1,24)-(1,27) = "end" + ├── opening_loc: (1,12)-(1,14) = "do" + └── closing_loc: (1,29)-(1,32) = "end" diff --git a/test/prism/snapshots/whitequark/parser_bug_604.txt b/test/prism/snapshots/whitequark/parser_bug_604.txt index bf643b63fd..ee00389c90 100644 --- a/test/prism/snapshots/whitequark/parser_bug_604.txt +++ b/test/prism/snapshots/whitequark/parser_bug_604.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -11,48 +12,47 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,2)-(1,7)) - │ │ ├── receiver: - │ │ │ @ CallNode (location: (1,2)-(1,3)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :a - │ │ │ ├── message_loc: (1,2)-(1,3) = "a" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :+ - │ │ ├── message_loc: (1,4)-(1,5) = "+" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (1,6)-(1,7) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,2)-(1,7)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ CallNode (location: (1,2)-(1,3)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (1,2)-(1,3) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :+ + │ ├── message_loc: (1,4)-(1,5) = "+" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,6)-(1,7)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,6)-(1,7)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (1,6)-(1,7) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,8)-(1,14)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,8)-(1,10) = "do" - │ └── closing_loc: (1,11)-(1,14) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,8)-(1,14)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,8)-(1,10) = "do" + └── closing_loc: (1,11)-(1,14) = "end" diff --git a/test/prism/snapshots/whitequark/parser_bug_830.txt b/test/prism/snapshots/whitequark/parser_bug_830.txt index e380113372..e920108731 100644 --- a/test/prism/snapshots/whitequark/parser_bug_830.txt +++ b/test/prism/snapshots/whitequark/parser_bug_830.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,3) = "\\(" ├── closing_loc: (1,3)-(1,4) = "/" - ├── unescaped: "\\(" - └── flags: ∅ + └── unescaped: "\\(" diff --git a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt index 5b4b9863db..aec7ee8f98 100644 --- a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt +++ b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt @@ -10,6 +10,7 @@ │ ├── closing_loc: (2,1)-(2,2) = "\"" │ └── unescaped: "ab" ├── @ ArrayNode (location: (4,0)-(5,2)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (4,3)-(5,1)) │ │ ├── opening_loc: ∅ @@ -17,8 +18,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (4,0)-(4,3) = "%I{" - │ ├── closing_loc: (5,1)-(5,2) = "}" - │ └── flags: ∅ + │ └── closing_loc: (5,1)-(5,2) = "}" ├── @ StringNode (location: (7,0)-(8,2)) │ ├── flags: ∅ │ ├── opening_loc: (7,0)-(7,3) = "%Q{" @@ -26,6 +26,7 @@ │ ├── closing_loc: (8,1)-(8,2) = "}" │ └── unescaped: "ab" ├── @ ArrayNode (location: (10,0)-(11,2)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (10,3)-(11,1)) │ │ ├── flags: ∅ @@ -34,9 +35,9 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (10,0)-(10,3) = "%W{" - │ ├── closing_loc: (11,1)-(11,2) = "}" - │ └── flags: ∅ + │ └── closing_loc: (11,1)-(11,2) = "}" ├── @ ArrayNode (location: (13,0)-(14,2)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (13,3)-(14,1)) │ │ ├── opening_loc: ∅ @@ -44,8 +45,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (13,0)-(13,3) = "%i{" - │ ├── closing_loc: (14,1)-(14,2) = "}" - │ └── flags: ∅ + │ └── closing_loc: (14,1)-(14,2) = "}" ├── @ StringNode (location: (16,0)-(17,2)) │ ├── flags: ∅ │ ├── opening_loc: (16,0)-(16,3) = "%q{" @@ -53,17 +53,18 @@ │ ├── closing_loc: (17,1)-(17,2) = "}" │ └── unescaped: "a\\\nb" ├── @ RegularExpressionNode (location: (19,0)-(20,2)) + │ ├── flags: ∅ │ ├── opening_loc: (19,0)-(19,3) = "%r{" │ ├── content_loc: (19,3)-(20,1) = "a\\\nb" │ ├── closing_loc: (20,1)-(20,2) = "}" - │ ├── unescaped: "ab" - │ └── flags: ∅ + │ └── unescaped: "ab" ├── @ SymbolNode (location: (22,0)-(23,2)) │ ├── opening_loc: (22,0)-(22,3) = "%s{" │ ├── value_loc: (22,3)-(23,1) = "a\\\nb" │ ├── closing_loc: (23,1)-(23,2) = "}" │ └── unescaped: "a\\\nb" ├── @ ArrayNode (location: (25,0)-(26,2)) + │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (25,3)-(26,1)) │ │ ├── flags: ∅ @@ -72,8 +73,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (25,0)-(25,3) = "%w{" - │ ├── closing_loc: (26,1)-(26,2) = "}" - │ └── flags: ∅ + │ └── closing_loc: (26,1)-(26,2) = "}" ├── @ XStringNode (location: (28,0)-(29,2)) │ ├── flags: ∅ │ ├── opening_loc: (28,0)-(28,3) = "%x{" @@ -93,11 +93,11 @@ │ ├── closing_loc: (35,1)-(35,2) = "'" │ └── unescaped: "a\\\nb" ├── @ RegularExpressionNode (location: (37,0)-(38,2)) + │ ├── flags: ∅ │ ├── opening_loc: (37,0)-(37,1) = "/" │ ├── content_loc: (37,1)-(38,1) = "a\\\nb" │ ├── closing_loc: (38,1)-(38,2) = "/" - │ ├── unescaped: "ab" - │ └── flags: ∅ + │ └── unescaped: "ab" ├── @ SymbolNode (location: (40,0)-(41,2)) │ ├── opening_loc: (40,0)-(40,2) = ":\"" │ ├── value_loc: (40,2)-(41,1) = "a\\\nb" diff --git a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt index 9e653787dc..b3a6af3ec8 100644 --- a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt +++ b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt @@ -6,10 +6,12 @@ └── @ CaseMatchNode (location: (1,8)-(3,11)) ├── predicate: │ @ ArrayNode (location: (1,13)-(1,51)) + │ ├── flags: ∅ │ ├── elements: (length: 3) │ │ ├── @ SourceFileNode (location: (1,14)-(1,22)) │ │ │ └── filepath: "whitequark/pattern_matching__FILE__LINE_literals.txt" │ │ ├── @ CallNode (location: (1,24)-(1,36)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ SourceLineNode (location: (1,24)-(1,32)) │ │ │ ├── call_operator_loc: ∅ @@ -18,17 +20,15 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (1,35)-(1,36)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ IntegerNode (location: (1,35)-(1,36)) - │ │ │ │ │ └── flags: decimal - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ IntegerNode (location: (1,35)-(1,36)) + │ │ │ │ └── flags: decimal │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── @ SourceEncodingNode (location: (1,38)-(1,50)) │ ├── opening_loc: (1,13)-(1,14) = "[" - │ ├── closing_loc: (1,50)-(1,51) = "]" - │ └── flags: ∅ + │ └── closing_loc: (1,50)-(1,51) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,10)-(2,47)) │ ├── pattern: diff --git a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt index b3d77703c0..a93154df8a 100644 --- a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt +++ b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt @@ -6,14 +6,14 @@ ├── @ MatchRequiredNode (location: (1,0)-(1,14)) │ ├── value: │ │ @ ArrayNode (location: (1,0)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (1,1)-(1,2)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (1,4)-(1,5)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (1,0)-(1,1) = "[" - │ │ ├── closing_loc: (1,5)-(1,6) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (1,5)-(1,6) = "]" │ ├── pattern: │ │ @ ArrayPatternNode (location: (1,10)-(1,14)) │ │ ├── constant: ∅ @@ -35,14 +35,14 @@ ├── @ MatchPredicateNode (location: (3,0)-(3,14)) │ ├── value: │ │ @ ArrayNode (location: (3,0)-(3,6)) + │ │ ├── flags: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (3,1)-(3,2)) │ │ │ │ └── flags: decimal │ │ │ └── @ IntegerNode (location: (3,4)-(3,5)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (3,0)-(3,1) = "[" - │ │ ├── closing_loc: (3,5)-(3,6) = "]" - │ │ └── flags: ∅ + │ │ └── closing_loc: (3,5)-(3,6) = "]" │ ├── pattern: │ │ @ ArrayPatternNode (location: (3,10)-(3,14)) │ │ ├── constant: ∅ diff --git a/test/prism/snapshots/whitequark/procarg0.txt b/test/prism/snapshots/whitequark/procarg0.txt index 2b2756f15d..5a06fa7f33 100644 --- a/test/prism/snapshots/whitequark/procarg0.txt +++ b/test/prism/snapshots/whitequark/procarg0.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,11)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -11,39 +12,39 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,2)-(1,18)) - │ │ ├── locals: [:foo, :bar] - │ │ ├── locals_body_index: 2 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15)) - │ │ │ │ │ ├── lefts: (length: 2) - │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9)) - │ │ │ │ │ │ │ └── name: :foo - │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,14)) - │ │ │ │ │ │ └── name: :bar - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── rights: (length: 0) - │ │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" - │ │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,4)-(1,5) = "|" - │ │ │ └── closing_loc: (1,15)-(1,16) = "|" - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,2)-(1,3) = "{" - │ │ └── closing_loc: (1,17)-(1,18) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,2)-(1,18)) + │ ├── locals: [:foo, :bar] + │ ├── locals_body_index: 2 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15)) + │ │ │ │ ├── lefts: (length: 2) + │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9)) + │ │ │ │ │ │ └── name: :foo + │ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,14)) + │ │ │ │ │ └── name: :bar + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── rights: (length: 0) + │ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "(" + │ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")" + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,4)-(1,5) = "|" + │ │ └── closing_loc: (1,15)-(1,16) = "|" + │ ├── body: ∅ + │ ├── opening_loc: (1,2)-(1,3) = "{" + │ └── closing_loc: (1,17)-(1,18) = "}" └── @ CallNode (location: (3,0)-(3,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -51,27 +52,26 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (3,2)-(3,11)) - │ ├── locals: [:foo] - │ ├── locals_body_index: 1 - │ ├── parameters: - │ │ @ BlockParametersNode (location: (3,4)-(3,9)) - │ │ ├── parameters: - │ │ │ @ ParametersNode (location: (3,5)-(3,8)) - │ │ │ ├── requireds: (length: 1) - │ │ │ │ └── @ RequiredParameterNode (location: (3,5)-(3,8)) - │ │ │ │ └── name: :foo - │ │ │ ├── optionals: (length: 0) - │ │ │ ├── rest: ∅ - │ │ │ ├── posts: (length: 0) - │ │ │ ├── keywords: (length: 0) - │ │ │ ├── keyword_rest: ∅ - │ │ │ └── block: ∅ - │ │ ├── locals: (length: 0) - │ │ ├── opening_loc: (3,4)-(3,5) = "|" - │ │ └── closing_loc: (3,8)-(3,9) = "|" - │ ├── body: ∅ - │ ├── opening_loc: (3,2)-(3,3) = "{" - │ └── closing_loc: (3,10)-(3,11) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (3,2)-(3,11)) + ├── locals: [:foo] + ├── locals_body_index: 1 + ├── parameters: + │ @ BlockParametersNode (location: (3,4)-(3,9)) + │ ├── parameters: + │ │ @ ParametersNode (location: (3,5)-(3,8)) + │ │ ├── requireds: (length: 1) + │ │ │ └── @ RequiredParameterNode (location: (3,5)-(3,8)) + │ │ │ └── name: :foo + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── locals: (length: 0) + │ ├── opening_loc: (3,4)-(3,5) = "|" + │ └── closing_loc: (3,8)-(3,9) = "|" + ├── body: ∅ + ├── opening_loc: (3,2)-(3,3) = "{" + └── closing_loc: (3,10)-(3,11) = "}" diff --git a/test/prism/snapshots/whitequark/range_exclusive.txt b/test/prism/snapshots/whitequark/range_exclusive.txt index 7e134a3004..4964755075 100644 --- a/test/prism/snapshots/whitequark/range_exclusive.txt +++ b/test/prism/snapshots/whitequark/range_exclusive.txt @@ -4,11 +4,11 @@ @ StatementsNode (location: (1,0)-(1,5)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,5)) + ├── flags: exclude_end ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── right: │ @ IntegerNode (location: (1,4)-(1,5)) │ └── flags: decimal - ├── operator_loc: (1,1)-(1,4) = "..." - └── flags: exclude_end + └── operator_loc: (1,1)-(1,4) = "..." diff --git a/test/prism/snapshots/whitequark/range_inclusive.txt b/test/prism/snapshots/whitequark/range_inclusive.txt index b6fe045834..04de2d8dec 100644 --- a/test/prism/snapshots/whitequark/range_inclusive.txt +++ b/test/prism/snapshots/whitequark/range_inclusive.txt @@ -4,11 +4,11 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) + ├── flags: ∅ ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── right: │ @ IntegerNode (location: (1,3)-(1,4)) │ └── flags: decimal - ├── operator_loc: (1,1)-(1,3) = ".." - └── flags: ∅ + └── operator_loc: (1,1)-(1,3) = ".." diff --git a/test/prism/snapshots/whitequark/regex_interp.txt b/test/prism/snapshots/whitequark/regex_interp.txt index 443321f247..ef83e9a2e8 100644 --- a/test/prism/snapshots/whitequark/regex_interp.txt +++ b/test/prism/snapshots/whitequark/regex_interp.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ InterpolatedRegularExpressionNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── opening_loc: (1,0)-(1,1) = "/" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,1)-(1,4)) @@ -18,6 +19,7 @@ │ │ │ @ StatementsNode (location: (1,6)-(1,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -25,8 +27,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) │ ├── flags: ∅ @@ -34,5 +35,4 @@ │ ├── content_loc: (1,10)-(1,13) = "baz" │ ├── closing_loc: ∅ │ └── unescaped: "baz" - ├── closing_loc: (1,13)-(1,14) = "/" - └── flags: ∅ + └── closing_loc: (1,13)-(1,14) = "/" diff --git a/test/prism/snapshots/whitequark/regex_plain.txt b/test/prism/snapshots/whitequark/regex_plain.txt index e4c80c53ea..34fe61c687 100644 --- a/test/prism/snapshots/whitequark/regex_plain.txt +++ b/test/prism/snapshots/whitequark/regex_plain.txt @@ -4,8 +4,8 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,10)) + ├── flags: ignore_case, multi_line ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,7) = "source" ├── closing_loc: (1,7)-(1,10) = "/im" - ├── unescaped: "source" - └── flags: ignore_case, multi_line + └── unescaped: "source" diff --git a/test/prism/snapshots/whitequark/resbody_list.txt b/test/prism/snapshots/whitequark/resbody_list.txt index a11eba281d..d5a71cc3f3 100644 --- a/test/prism/snapshots/whitequark/resbody_list.txt +++ b/test/prism/snapshots/whitequark/resbody_list.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,34)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -30,6 +30,7 @@ │ │ @ StatementsNode (location: (1,31)-(1,34)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,31)-(1,34)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -37,8 +38,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt index 3190cacf34..58b88972f5 100644 --- a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt +++ b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,39)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -25,6 +25,7 @@ │ │ ├── @ ConstantReadNode (location: (1,20)-(1,29)) │ │ │ └── name: :Exception │ │ └── @ CallNode (location: (1,31)-(1,34)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -32,14 +33,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,36)-(1,39)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,36)-(1,39)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -47,8 +48,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_list_var.txt b/test/prism/snapshots/whitequark/resbody_list_var.txt index a84fe7163d..9e2d5ec3f6 100644 --- a/test/prism/snapshots/whitequark/resbody_list_var.txt +++ b/test/prism/snapshots/whitequark/resbody_list_var.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,13 +17,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,34)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ CallNode (location: (1,20)-(1,23)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -30,8 +31,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── operator_loc: (1,24)-(1,26) = "=>" │ ├── reference: │ │ @ LocalVariableTargetNode (location: (1,27)-(1,29)) @@ -41,6 +41,7 @@ │ │ @ StatementsNode (location: (1,31)-(1,34)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,31)-(1,34)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -48,8 +49,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_var.txt b/test/prism/snapshots/whitequark/resbody_var.txt index c89868a261..b4c2bc310e 100644 --- a/test/prism/snapshots/whitequark/resbody_var.txt +++ b/test/prism/snapshots/whitequark/resbody_var.txt @@ -9,6 +9,7 @@ │ │ @ StatementsNode (location: (1,7)-(1,11)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,7)-(1,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -16,8 +17,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (1,13)-(1,31)) │ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -30,6 +30,7 @@ │ │ │ @ StatementsNode (location: (1,28)-(1,31)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,28)-(1,31)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -37,8 +38,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -49,6 +49,7 @@ │ @ StatementsNode (location: (3,7)-(3,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,7)-(3,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -56,8 +57,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (3,13)-(3,30)) │ ├── keyword_loc: (3,13)-(3,19) = "rescue" @@ -71,6 +71,7 @@ │ │ @ StatementsNode (location: (3,27)-(3,30)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,27)-(3,30)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -78,8 +79,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/rescue.txt b/test/prism/snapshots/whitequark/rescue.txt index 1d8d7ff840..ac57561bf5 100644 --- a/test/prism/snapshots/whitequark/rescue.txt +++ b/test/prism/snapshots/whitequark/rescue.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -28,6 +28,7 @@ │ │ @ StatementsNode (location: (1,21)-(1,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/rescue_else.txt b/test/prism/snapshots/whitequark/rescue_else.txt index 7441ff3b78..5a87d408bc 100644 --- a/test/prism/snapshots/whitequark/rescue_else.txt +++ b/test/prism/snapshots/whitequark/rescue_else.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -28,6 +28,7 @@ │ │ @ StatementsNode (location: (1,21)-(1,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,26)-(1,40)) @@ -45,6 +45,7 @@ │ │ @ StatementsNode (location: (1,32)-(1,35)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,32)-(1,35)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -52,8 +53,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (1,37)-(1,40) = "end" ├── ensure_clause: ∅ └── end_keyword_loc: (1,37)-(1,40) = "end" diff --git a/test/prism/snapshots/whitequark/rescue_else_ensure.txt b/test/prism/snapshots/whitequark/rescue_else_ensure.txt index d0c7f20d4c..9f1f9f51a4 100644 --- a/test/prism/snapshots/whitequark/rescue_else_ensure.txt +++ b/test/prism/snapshots/whitequark/rescue_else_ensure.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -28,6 +28,7 @@ │ │ @ StatementsNode (location: (1,21)-(1,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,26)-(1,42)) @@ -45,6 +45,7 @@ │ │ @ StatementsNode (location: (1,31)-(1,34)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,31)-(1,34)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -52,8 +53,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (1,36)-(1,42) = "ensure" ├── ensure_clause: │ @ EnsureNode (location: (1,36)-(1,51)) @@ -62,6 +62,7 @@ │ │ @ StatementsNode (location: (1,44)-(1,47)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,44)-(1,47)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -69,7 +70,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (1,48)-(1,51) = "end" └── end_keyword_loc: (1,48)-(1,51) = "end" diff --git a/test/prism/snapshots/whitequark/rescue_ensure.txt b/test/prism/snapshots/whitequark/rescue_ensure.txt index ad40656486..567b283128 100644 --- a/test/prism/snapshots/whitequark/rescue_ensure.txt +++ b/test/prism/snapshots/whitequark/rescue_ensure.txt @@ -9,6 +9,7 @@ │ @ StatementsNode (location: (1,7)-(1,11)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -28,6 +28,7 @@ │ │ @ StatementsNode (location: (1,21)-(1,24)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -35,8 +36,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: @@ -46,6 +46,7 @@ │ │ @ StatementsNode (location: (1,34)-(1,37)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,34)-(1,37)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -53,7 +54,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (1,39)-(1,42) = "end" └── end_keyword_loc: (1,39)-(1,42) = "end" diff --git a/test/prism/snapshots/whitequark/rescue_mod.txt b/test/prism/snapshots/whitequark/rescue_mod.txt index ea85cb9c00..413c522102 100644 --- a/test/prism/snapshots/whitequark/rescue_mod.txt +++ b/test/prism/snapshots/whitequark/rescue_mod.txt @@ -6,6 +6,7 @@ └── @ RescueModifierNode (location: (1,0)-(1,15)) ├── expression: │ @ CallNode (location: (1,0)-(1,4)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -13,11 +14,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── keyword_loc: (1,5)-(1,11) = "rescue" └── rescue_expression: @ CallNode (location: (1,12)-(1,15)) + ├── flags: variable_call ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bar @@ -25,5 +26,4 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: variable_call + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt index 74ced5d1ad..35d7f01084 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt @@ -11,6 +11,7 @@ │ @ RescueModifierNode (location: (1,6)-(1,21)) │ ├── expression: │ │ @ CallNode (location: (1,6)-(1,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -18,11 +19,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (1,11)-(1,17) = "rescue" │ └── rescue_expression: │ @ CallNode (location: (1,18)-(1,21)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -30,6 +31,5 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ └── operator_loc: (1,4)-(1,5) = "=" diff --git a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt index f1746602e6..6c3d0e92f0 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt @@ -20,6 +20,7 @@ @ RescueModifierNode (location: (1,11)-(1,29)) ├── expression: │ @ CallNode (location: (1,11)-(1,15)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -27,16 +28,15 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── keyword_loc: (1,16)-(1,22) = "rescue" └── rescue_expression: @ ArrayNode (location: (1,23)-(1,29)) + ├── flags: ∅ ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,24)-(1,25)) │ │ └── flags: decimal │ └── @ IntegerNode (location: (1,27)-(1,28)) │ └── flags: decimal ├── opening_loc: (1,23)-(1,24) = "[" - ├── closing_loc: (1,28)-(1,29) = "]" - └── flags: ∅ + └── closing_loc: (1,28)-(1,29) = "]" diff --git a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt index 05dc5e68ef..773b8645a6 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt @@ -10,6 +10,7 @@ │ @ RescueModifierNode (location: (1,7)-(1,22)) │ ├── expression: │ │ @ CallNode (location: (1,7)-(1,11)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -17,11 +18,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── keyword_loc: (1,12)-(1,18) = "rescue" │ └── rescue_expression: │ @ CallNode (location: (1,19)-(1,22)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -29,8 +30,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── name: :foo ├── operator: :+ └── depth: 0 diff --git a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt index 76d1bf821c..3f086abe57 100644 --- a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt +++ b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,30)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,30)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth @@ -11,50 +12,49 @@ ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,5)-(1,30)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ BeginNode (location: (1,9)-(1,30)) - │ │ ├── begin_keyword_loc: ∅ - │ │ ├── statements: - │ │ │ @ StatementsNode (location: (1,9)-(1,12)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,9)-(1,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (1,9)-(1,12) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ ├── rescue_clause: - │ │ │ @ RescueNode (location: (1,14)-(1,25)) - │ │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue" - │ │ │ ├── exceptions: (length: 0) - │ │ │ ├── operator_loc: ∅ - │ │ │ ├── reference: ∅ - │ │ │ ├── statements: - │ │ │ │ @ StatementsNode (location: (1,22)-(1,25)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,22)-(1,25)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (1,22)-(1,25) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── consequent: ∅ - │ │ ├── else_clause: ∅ - │ │ ├── ensure_clause: ∅ - │ │ └── end_keyword_loc: (1,27)-(1,30) = "end" - │ ├── opening_loc: (1,5)-(1,7) = "do" - │ └── closing_loc: (1,27)-(1,30) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,5)-(1,30)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ BeginNode (location: (1,9)-(1,30)) + │ ├── begin_keyword_loc: ∅ + │ ├── statements: + │ │ @ StatementsNode (location: (1,9)-(1,12)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,9)-(1,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,9)-(1,12) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── rescue_clause: + │ │ @ RescueNode (location: (1,14)-(1,25)) + │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue" + │ │ ├── exceptions: (length: 0) + │ │ ├── operator_loc: ∅ + │ │ ├── reference: ∅ + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (1,22)-(1,25)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (1,22)-(1,25)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (1,22)-(1,25) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ └── consequent: ∅ + │ ├── else_clause: ∅ + │ ├── ensure_clause: ∅ + │ └── end_keyword_loc: (1,27)-(1,30) = "end" + ├── opening_loc: (1,5)-(1,7) = "do" + └── closing_loc: (1,27)-(1,30) = "end" diff --git a/test/prism/snapshots/whitequark/return.txt b/test/prism/snapshots/whitequark/return.txt index 231b70bca1..72e4ab9849 100644 --- a/test/prism/snapshots/whitequark/return.txt +++ b/test/prism/snapshots/whitequark/return.txt @@ -10,47 +10,47 @@ │ ├── keyword_loc: (3,0)-(3,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (3,7)-(3,10)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (3,7)-(3,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (3,7)-(3,10) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (3,7)-(3,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (3,7)-(3,10) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── @ ReturnNode (location: (5,0)-(5,8)) │ ├── keyword_loc: (5,0)-(5,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (5,6)-(5,8)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (5,6)-(5,8)) - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,6)-(5,7) = "(" - │ │ └── closing_loc: (5,7)-(5,8) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (5,6)-(5,8)) + │ ├── body: ∅ + │ ├── opening_loc: (5,6)-(5,7) = "(" + │ └── closing_loc: (5,7)-(5,8) = ")" └── @ ReturnNode (location: (7,0)-(7,11)) ├── keyword_loc: (7,0)-(7,6) = "return" └── arguments: @ ArgumentsNode (location: (7,6)-(7,11)) - ├── arguments: (length: 1) - │ └── @ ParenthesesNode (location: (7,6)-(7,11)) - │ ├── body: - │ │ @ StatementsNode (location: (7,7)-(7,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (7,7)-(7,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (7,7)-(7,10) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── opening_loc: (7,6)-(7,7) = "(" - │ └── closing_loc: (7,10)-(7,11) = ")" - └── flags: ∅ + ├── flags: ∅ + └── arguments: (length: 1) + └── @ ParenthesesNode (location: (7,6)-(7,11)) + ├── body: + │ @ StatementsNode (location: (7,7)-(7,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (7,7)-(7,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (7,7)-(7,10) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── opening_loc: (7,6)-(7,7) = "(" + └── closing_loc: (7,10)-(7,11) = ")" diff --git a/test/prism/snapshots/whitequark/return_block.txt b/test/prism/snapshots/whitequark/return_block.txt index 45e5116060..5e55998a2f 100644 --- a/test/prism/snapshots/whitequark/return_block.txt +++ b/test/prism/snapshots/whitequark/return_block.txt @@ -7,35 +7,35 @@ ├── keyword_loc: (1,0)-(1,6) = "return" └── arguments: @ ArgumentsNode (location: (1,7)-(1,21)) - ├── arguments: (length: 1) - │ └── @ CallNode (location: (1,7)-(1,21)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :fun - │ ├── message_loc: (1,7)-(1,10) = "fun" - │ ├── opening_loc: ∅ - │ ├── arguments: - │ │ @ ArgumentsNode (location: (1,11)-(1,14)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,11)-(1,14)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (1,11)-(1,14) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ - │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,15)-(1,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,15)-(1,17) = "do" - │ │ └── closing_loc: (1,18)-(1,21) = "end" - │ └── flags: ∅ - └── flags: ∅ + ├── flags: ∅ + └── arguments: (length: 1) + └── @ CallNode (location: (1,7)-(1,21)) + ├── flags: ∅ + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :fun + ├── message_loc: (1,7)-(1,10) = "fun" + ├── opening_loc: ∅ + ├── arguments: + │ @ ArgumentsNode (location: (1,11)-(1,14)) + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,11)-(1,14)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (1,11)-(1,14) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── closing_loc: ∅ + └── block: + @ BlockNode (location: (1,15)-(1,21)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,15)-(1,17) = "do" + └── closing_loc: (1,18)-(1,21) = "end" diff --git a/test/prism/snapshots/whitequark/ruby_bug_10653.txt b/test/prism/snapshots/whitequark/ruby_bug_10653.txt index 57c5dfc940..5c26bd6120 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_10653.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_10653.txt @@ -12,6 +12,7 @@ │ │ @ StatementsNode (location: (1,8)-(1,20)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,8)-(1,20)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -19,15 +20,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,14)-(1,20)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" - │ │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,14)-(1,20)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,14)-(1,16) = "do" + │ │ └── closing_loc: (1,17)-(1,20) = "end" │ ├── consequent: │ │ @ ElseNode (location: (1,21)-(1,33)) │ │ ├── else_keyword_loc: (1,21)-(1,22) = ":" @@ -35,6 +35,7 @@ │ │ │ @ StatementsNode (location: (1,23)-(1,33)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,23)-(1,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -42,15 +43,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,27)-(1,33)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (1,27)-(1,29) = "do" - │ │ │ │ └── closing_loc: (1,30)-(1,33) = "end" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (1,27)-(1,33)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (1,27)-(1,29) = "do" + │ │ │ └── closing_loc: (1,30)-(1,33) = "end" │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (3,0)-(3,25)) @@ -62,6 +62,7 @@ │ │ @ StatementsNode (location: (3,8)-(3,16)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,8)-(3,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -69,15 +70,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (3,14)-(3,16)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (3,14)-(3,15) = "{" - │ │ │ └── closing_loc: (3,15)-(3,16) = "}" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (3,14)-(3,16)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (3,14)-(3,15) = "{" + │ │ └── closing_loc: (3,15)-(3,16) = "}" │ ├── consequent: │ │ @ ElseNode (location: (3,17)-(3,25)) │ │ ├── else_keyword_loc: (3,17)-(3,18) = ":" @@ -85,6 +85,7 @@ │ │ │ @ StatementsNode (location: (3,19)-(3,25)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,19)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -92,15 +93,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (3,23)-(3,25)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: ∅ - │ │ │ │ ├── opening_loc: (3,23)-(3,24) = "{" - │ │ │ │ └── closing_loc: (3,24)-(3,25) = "}" - │ │ │ └── flags: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (3,23)-(3,25)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: ∅ + │ │ │ ├── opening_loc: (3,23)-(3,24) = "{" + │ │ │ └── closing_loc: (3,24)-(3,25) = "}" │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (5,0)-(5,31)) @@ -112,6 +112,7 @@ │ @ StatementsNode (location: (5,7)-(5,27)) │ └── body: (length: 1) │ └── @ CallNode (location: (5,7)-(5,27)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (5,7)-(5,8)) │ │ └── flags: decimal @@ -121,48 +122,47 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,13)-(5,27)) - │ │ ├── locals: [:n] - │ │ ├── locals_body_index: 1 - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (5,16)-(5,19)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (5,17)-(5,18)) - │ │ │ │ ├── requireds: (length: 1) - │ │ │ │ │ └── @ RequiredParameterNode (location: (5,17)-(5,18)) - │ │ │ │ │ └── name: :n - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (5,16)-(5,17) = "|" - │ │ │ └── closing_loc: (5,18)-(5,19) = "|" - │ │ ├── body: - │ │ │ @ StatementsNode (location: (5,20)-(5,23)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (5,20)-(5,23)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :p - │ │ │ ├── message_loc: (5,20)-(5,21) = "p" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (5,22)-(5,23)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (5,22)-(5,23)) - │ │ │ │ │ ├── name: :n - │ │ │ │ │ └── depth: 0 - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (5,13)-(5,15) = "do" - │ │ └── closing_loc: (5,24)-(5,27) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,13)-(5,27)) + │ ├── locals: [:n] + │ ├── locals_body_index: 1 + │ ├── parameters: + │ │ @ BlockParametersNode (location: (5,16)-(5,19)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (5,17)-(5,18)) + │ │ │ ├── requireds: (length: 1) + │ │ │ │ └── @ RequiredParameterNode (location: (5,17)-(5,18)) + │ │ │ │ └── name: :n + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 0) + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (5,16)-(5,17) = "|" + │ │ └── closing_loc: (5,18)-(5,19) = "|" + │ ├── body: + │ │ @ StatementsNode (location: (5,20)-(5,23)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (5,20)-(5,23)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :p + │ │ ├── message_loc: (5,20)-(5,21) = "p" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (5,22)-(5,23)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ LocalVariableReadNode (location: (5,22)-(5,23)) + │ │ │ ├── name: :n + │ │ │ └── depth: 0 + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (5,13)-(5,15) = "do" + │ └── closing_loc: (5,24)-(5,27) = "end" ├── consequent: │ @ ElseNode (location: (5,28)-(5,31)) │ ├── else_keyword_loc: (5,28)-(5,29) = ":" diff --git a/test/prism/snapshots/whitequark/ruby_bug_11107.txt b/test/prism/snapshots/whitequark/ruby_bug_11107.txt index fe6d76b872..329f382d3b 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11107.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11107.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,24)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,24)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,40 +12,39 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,24)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (1,2)-(1,24)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ ├── opening_loc: (1,7)-(1,9) = "do" - │ │ ├── closing_loc: (1,21)-(1,24) = "end" - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (1,4)-(1,6)) - │ │ │ ├── parameters: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ │ └── closing_loc: (1,5)-(1,6) = ")" - │ │ └── body: - │ │ @ StatementsNode (location: (1,10)-(1,20)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,10)-(1,20)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :a - │ │ ├── message_loc: (1,10)-(1,11) = "a" - │ │ ├── opening_loc: (1,11)-(1,12) = "(" - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: (1,12)-(1,13) = ")" - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,14)-(1,20)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" - │ │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (1,2)-(1,24)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── operator_loc: (1,2)-(1,4) = "->" + │ ├── opening_loc: (1,7)-(1,9) = "do" + │ ├── closing_loc: (1,21)-(1,24) = "end" + │ ├── parameters: + │ │ @ BlockParametersNode (location: (1,4)-(1,6)) + │ │ ├── parameters: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (1,4)-(1,5) = "(" + │ │ └── closing_loc: (1,5)-(1,6) = ")" + │ └── body: + │ @ StatementsNode (location: (1,10)-(1,20)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,10)-(1,20)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :a + │ ├── message_loc: (1,10)-(1,11) = "a" + │ ├── opening_loc: (1,11)-(1,12) = "(" + │ ├── arguments: ∅ + │ ├── closing_loc: (1,12)-(1,13) = ")" + │ └── block: + │ @ BlockNode (location: (1,14)-(1,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,14)-(1,16) = "do" + │ └── closing_loc: (1,17)-(1,20) = "end" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11380.txt b/test/prism/snapshots/whitequark/ruby_bug_11380.txt index cc309e074c..f8c5ce23e5 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11380.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11380.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,28)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,43 +12,42 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,21)) - │ ├── arguments: (length: 2) - │ │ ├── @ LambdaNode (location: (1,2)-(1,15)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ │ ├── opening_loc: (1,5)-(1,6) = "{" - │ │ │ ├── closing_loc: (1,14)-(1,15) = "}" - │ │ │ ├── parameters: ∅ - │ │ │ └── body: - │ │ │ @ StatementsNode (location: (1,7)-(1,13)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ SymbolNode (location: (1,7)-(1,13)) - │ │ │ ├── opening_loc: (1,7)-(1,8) = ":" - │ │ │ ├── value_loc: (1,8)-(1,13) = "hello" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "hello" - │ │ └── @ KeywordHashNode (location: (1,17)-(1,21)) - │ │ └── elements: (length: 1) - │ │ └── @ AssocNode (location: (1,17)-(1,21)) - │ │ ├── key: - │ │ │ @ SymbolNode (location: (1,17)-(1,19)) - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── value_loc: (1,17)-(1,18) = "a" - │ │ │ ├── closing_loc: (1,18)-(1,19) = ":" - │ │ │ └── unescaped: "a" - │ │ ├── value: - │ │ │ @ IntegerNode (location: (1,20)-(1,21)) - │ │ │ └── flags: decimal - │ │ └── operator_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ LambdaNode (location: (1,2)-(1,15)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── operator_loc: (1,2)-(1,4) = "->" + │ │ ├── opening_loc: (1,5)-(1,6) = "{" + │ │ ├── closing_loc: (1,14)-(1,15) = "}" + │ │ ├── parameters: ∅ + │ │ └── body: + │ │ @ StatementsNode (location: (1,7)-(1,13)) + │ │ └── body: (length: 1) + │ │ └── @ SymbolNode (location: (1,7)-(1,13)) + │ │ ├── opening_loc: (1,7)-(1,8) = ":" + │ │ ├── value_loc: (1,8)-(1,13) = "hello" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "hello" + │ └── @ KeywordHashNode (location: (1,17)-(1,21)) + │ └── elements: (length: 1) + │ └── @ AssocNode (location: (1,17)-(1,21)) + │ ├── key: + │ │ @ SymbolNode (location: (1,17)-(1,19)) + │ │ ├── opening_loc: ∅ + │ │ ├── value_loc: (1,17)-(1,18) = "a" + │ │ ├── closing_loc: (1,18)-(1,19) = ":" + │ │ └── unescaped: "a" + │ ├── value: + │ │ @ IntegerNode (location: (1,20)-(1,21)) + │ │ └── flags: decimal + │ └── operator_loc: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,22)-(1,28)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,22)-(1,24) = "do" - │ └── closing_loc: (1,25)-(1,28) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,22)-(1,28)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,22)-(1,24) = "do" + └── closing_loc: (1,25)-(1,28) = "end" diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873.txt b/test/prism/snapshots/whitequark/ruby_bug_11873.txt index 76f37dc5ee..de43e28eb2 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(23,22)) └── body: (length: 12) ├── @ CallNode (location: (1,0)-(1,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,61 +12,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (1,2)-(1,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (1,2)-(1,3) = "b" - │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ StringNode (location: (1,10)-(1,13)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,10)-(1,11) = "\"" - │ │ │ ├── content_loc: (1,11)-(1,12) = "x" - │ │ │ ├── closing_loc: (1,12)-(1,13) = "\"" - │ │ │ └── unescaped: "x" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (1,2)-(1,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (1,2)-(1,3) = "b" + │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ StringNode (location: (1,10)-(1,13)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,10)-(1,11) = "\"" + │ │ ├── content_loc: (1,11)-(1,12) = "x" + │ │ ├── closing_loc: (1,12)-(1,13) = "\"" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,14)-(1,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,14)-(1,16) = "do" - │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,14)-(1,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,14)-(1,16) = "do" + │ └── closing_loc: (1,17)-(1,20) = "end" ├── @ CallNode (location: (3,0)-(3,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -73,61 +74,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,2)-(3,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (3,2)-(3,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (3,2)-(3,3) = "b" - │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (3,10)-(3,13)) - │ │ │ ├── opening_loc: (3,10)-(3,11) = "/" - │ │ │ ├── content_loc: (3,11)-(3,12) = "x" - │ │ │ ├── closing_loc: (3,12)-(3,13) = "/" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (3,2)-(3,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (3,2)-(3,3) = "b" + │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ RegularExpressionNode (location: (3,10)-(3,13)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (3,10)-(3,11) = "/" + │ │ ├── content_loc: (3,11)-(3,12) = "x" + │ │ ├── closing_loc: (3,12)-(3,13) = "/" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,14)-(3,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,14)-(3,16) = "do" - │ │ └── closing_loc: (3,17)-(3,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,14)-(3,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (3,14)-(3,16) = "do" + │ └── closing_loc: (3,17)-(3,20) = "end" ├── @ CallNode (location: (5,0)-(5,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -135,61 +136,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,2)-(5,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (5,2)-(5,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (5,2)-(5,3) = "b" - │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (5,10)-(5,14)) - │ │ │ ├── opening_loc: (5,10)-(5,11) = "/" - │ │ │ ├── content_loc: (5,11)-(5,12) = "x" - │ │ │ ├── closing_loc: (5,12)-(5,14) = "/m" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: multi_line - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (5,2)-(5,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (5,2)-(5,3) = "b" + │ │ │ ├── opening_loc: (5,3)-(5,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (5,4)-(5,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ RegularExpressionNode (location: (5,10)-(5,14)) + │ │ ├── flags: multi_line + │ │ ├── opening_loc: (5,10)-(5,11) = "/" + │ │ ├── content_loc: (5,11)-(5,12) = "x" + │ │ ├── closing_loc: (5,12)-(5,14) = "/m" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,15)-(5,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,15)-(5,17) = "do" - │ │ └── closing_loc: (5,18)-(5,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,15)-(5,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (5,15)-(5,17) = "do" + │ └── closing_loc: (5,18)-(5,21) = "end" ├── @ CallNode (location: (7,0)-(7,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -197,61 +198,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,2)-(7,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (7,2)-(7,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (7,2)-(7,3) = "b" - │ │ │ │ ├── opening_loc: (7,3)-(7,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (7,4)-(7,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (7,5)-(7,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (7,8)-(7,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ StringNode (location: (7,11)-(7,14)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (7,11)-(7,12) = "\"" - │ │ │ ├── content_loc: (7,12)-(7,13) = "x" - │ │ │ ├── closing_loc: (7,13)-(7,14) = "\"" - │ │ │ └── unescaped: "x" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (7,2)-(7,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (7,2)-(7,3) = "b" + │ │ │ ├── opening_loc: (7,3)-(7,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (7,4)-(7,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c" + │ │ │ │ ├── opening_loc: (7,5)-(7,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (7,8)-(7,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ StringNode (location: (7,11)-(7,14)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (7,11)-(7,12) = "\"" + │ │ ├── content_loc: (7,12)-(7,13) = "x" + │ │ ├── closing_loc: (7,13)-(7,14) = "\"" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (7,15)-(7,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (7,15)-(7,17) = "do" - │ │ └── closing_loc: (7,18)-(7,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (7,15)-(7,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (7,15)-(7,17) = "do" + │ └── closing_loc: (7,18)-(7,21) = "end" ├── @ CallNode (location: (9,0)-(9,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -259,61 +260,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (9,2)-(9,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (9,2)-(9,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (9,2)-(9,3) = "b" - │ │ │ │ ├── opening_loc: (9,3)-(9,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (9,4)-(9,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (9,5)-(9,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (9,8)-(9,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (9,11)-(9,14)) - │ │ │ ├── opening_loc: (9,11)-(9,12) = "/" - │ │ │ ├── content_loc: (9,12)-(9,13) = "x" - │ │ │ ├── closing_loc: (9,13)-(9,14) = "/" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (9,2)-(9,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (9,2)-(9,3) = "b" + │ │ │ ├── opening_loc: (9,3)-(9,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (9,4)-(9,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c" + │ │ │ │ ├── opening_loc: (9,5)-(9,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (9,8)-(9,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ RegularExpressionNode (location: (9,11)-(9,14)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (9,11)-(9,12) = "/" + │ │ ├── content_loc: (9,12)-(9,13) = "x" + │ │ ├── closing_loc: (9,13)-(9,14) = "/" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (9,15)-(9,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (9,15)-(9,17) = "do" - │ │ └── closing_loc: (9,18)-(9,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (9,15)-(9,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (9,15)-(9,17) = "do" + │ └── closing_loc: (9,18)-(9,21) = "end" ├── @ CallNode (location: (11,0)-(11,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -321,61 +322,61 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (11,2)-(11,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (11,2)-(11,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (11,2)-(11,3) = "b" - │ │ │ │ ├── opening_loc: (11,3)-(11,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (11,11)-(11,15)) - │ │ │ ├── opening_loc: (11,11)-(11,12) = "/" - │ │ │ ├── content_loc: (11,12)-(11,13) = "x" - │ │ │ ├── closing_loc: (11,13)-(11,15) = "/m" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: multi_line - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (11,2)-(11,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (11,2)-(11,3) = "b" + │ │ │ ├── opening_loc: (11,3)-(11,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (11,4)-(11,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c" + │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ RegularExpressionNode (location: (11,11)-(11,15)) + │ │ ├── flags: multi_line + │ │ ├── opening_loc: (11,11)-(11,12) = "/" + │ │ ├── content_loc: (11,12)-(11,13) = "x" + │ │ ├── closing_loc: (11,13)-(11,15) = "/m" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (11,16)-(11,22)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (11,16)-(11,18) = "do" - │ │ └── closing_loc: (11,19)-(11,22) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (11,16)-(11,22)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (11,16)-(11,18) = "do" + │ └── closing_loc: (11,19)-(11,22) = "end" ├── @ CallNode (location: (13,0)-(13,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -383,67 +384,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,2)-(13,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (13,2)-(13,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (13,3)-(13,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (13,4)-(13,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "{" - │ │ │ │ │ └── closing_loc: (13,7)-(13,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ StringNode (location: (13,10)-(13,13)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (13,10)-(13,11) = "\"" - │ │ │ ├── content_loc: (13,11)-(13,12) = "x" - │ │ │ ├── closing_loc: (13,12)-(13,13) = "\"" - │ │ │ └── unescaped: "x" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (13,2)-(13,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (13,2)-(13,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (13,3)-(13,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (13,4)-(13,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (13,4)-(13,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (13,3)-(13,4) = "{" + │ │ │ └── closing_loc: (13,7)-(13,8) = "}" + │ │ └── @ StringNode (location: (13,10)-(13,13)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (13,10)-(13,11) = "\"" + │ │ ├── content_loc: (13,11)-(13,12) = "x" + │ │ ├── closing_loc: (13,12)-(13,13) = "\"" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (13,14)-(13,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (13,14)-(13,16) = "do" - │ │ └── closing_loc: (13,17)-(13,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (13,14)-(13,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (13,14)-(13,16) = "do" + │ └── closing_loc: (13,17)-(13,20) = "end" ├── @ CallNode (location: (15,0)-(15,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -451,67 +452,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (15,2)-(15,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (15,2)-(15,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (15,2)-(15,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (15,3)-(15,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (15,4)-(15,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "{" - │ │ │ │ │ └── closing_loc: (15,7)-(15,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (15,10)-(15,13)) - │ │ │ ├── opening_loc: (15,10)-(15,11) = "/" - │ │ │ ├── content_loc: (15,11)-(15,12) = "x" - │ │ │ ├── closing_loc: (15,12)-(15,13) = "/" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (15,2)-(15,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (15,2)-(15,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (15,3)-(15,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (15,4)-(15,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (15,4)-(15,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (15,3)-(15,4) = "{" + │ │ │ └── closing_loc: (15,7)-(15,8) = "}" + │ │ └── @ RegularExpressionNode (location: (15,10)-(15,13)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (15,10)-(15,11) = "/" + │ │ ├── content_loc: (15,11)-(15,12) = "x" + │ │ ├── closing_loc: (15,12)-(15,13) = "/" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (15,14)-(15,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (15,14)-(15,16) = "do" - │ │ └── closing_loc: (15,17)-(15,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (15,14)-(15,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (15,14)-(15,16) = "do" + │ └── closing_loc: (15,17)-(15,20) = "end" ├── @ CallNode (location: (17,0)-(17,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -519,67 +520,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (17,2)-(17,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (17,2)-(17,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (17,2)-(17,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (17,3)-(17,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "{" - │ │ │ │ │ └── closing_loc: (17,7)-(17,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (17,10)-(17,14)) - │ │ │ ├── opening_loc: (17,10)-(17,11) = "/" - │ │ │ ├── content_loc: (17,11)-(17,12) = "x" - │ │ │ ├── closing_loc: (17,12)-(17,14) = "/m" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: multi_line - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (17,2)-(17,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (17,2)-(17,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (17,3)-(17,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (17,4)-(17,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (17,4)-(17,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (17,3)-(17,4) = "{" + │ │ │ └── closing_loc: (17,7)-(17,8) = "}" + │ │ └── @ RegularExpressionNode (location: (17,10)-(17,14)) + │ │ ├── flags: multi_line + │ │ ├── opening_loc: (17,10)-(17,11) = "/" + │ │ ├── content_loc: (17,11)-(17,12) = "x" + │ │ ├── closing_loc: (17,12)-(17,14) = "/m" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (17,15)-(17,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (17,15)-(17,17) = "do" - │ │ └── closing_loc: (17,18)-(17,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (17,15)-(17,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (17,15)-(17,17) = "do" + │ └── closing_loc: (17,18)-(17,21) = "end" ├── @ CallNode (location: (19,0)-(19,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -587,67 +588,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (19,2)-(19,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (19,2)-(19,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (19,2)-(19,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (19,3)-(19,9)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (19,4)-(19,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "{" - │ │ │ │ │ └── closing_loc: (19,8)-(19,9) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ StringNode (location: (19,11)-(19,14)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (19,11)-(19,12) = "\"" - │ │ │ ├── content_loc: (19,12)-(19,13) = "x" - │ │ │ ├── closing_loc: (19,13)-(19,14) = "\"" - │ │ │ └── unescaped: "x" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (19,2)-(19,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (19,2)-(19,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (19,3)-(19,9)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (19,4)-(19,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c" + │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (19,3)-(19,4) = "{" + │ │ │ └── closing_loc: (19,8)-(19,9) = "}" + │ │ └── @ StringNode (location: (19,11)-(19,14)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (19,11)-(19,12) = "\"" + │ │ ├── content_loc: (19,12)-(19,13) = "x" + │ │ ├── closing_loc: (19,13)-(19,14) = "\"" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (19,15)-(19,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (19,15)-(19,17) = "do" - │ │ └── closing_loc: (19,18)-(19,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (19,15)-(19,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (19,15)-(19,17) = "do" + │ └── closing_loc: (19,18)-(19,21) = "end" ├── @ CallNode (location: (21,0)-(21,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -655,67 +656,67 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,2)-(21,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (21,2)-(21,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (21,2)-(21,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (21,3)-(21,9)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (21,4)-(21,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (21,5)-(21,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (21,7)-(21,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" - │ │ │ │ │ └── closing_loc: (21,8)-(21,9) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RegularExpressionNode (location: (21,11)-(21,14)) - │ │ │ ├── opening_loc: (21,11)-(21,12) = "/" - │ │ │ ├── content_loc: (21,12)-(21,13) = "x" - │ │ │ ├── closing_loc: (21,13)-(21,14) = "/" - │ │ │ ├── unescaped: "x" - │ │ │ └── flags: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (21,2)-(21,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (21,2)-(21,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (21,3)-(21,9)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (21,4)-(21,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (21,4)-(21,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c" + │ │ │ │ ├── opening_loc: (21,5)-(21,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (21,7)-(21,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" + │ │ │ └── closing_loc: (21,8)-(21,9) = "}" + │ │ └── @ RegularExpressionNode (location: (21,11)-(21,14)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (21,11)-(21,12) = "/" + │ │ ├── content_loc: (21,12)-(21,13) = "x" + │ │ ├── closing_loc: (21,13)-(21,14) = "/" + │ │ └── unescaped: "x" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (21,15)-(21,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (21,15)-(21,17) = "do" - │ │ └── closing_loc: (21,18)-(21,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (21,15)-(21,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (21,15)-(21,17) = "do" + │ └── closing_loc: (21,18)-(21,21) = "end" └── @ CallNode (location: (23,0)-(23,22)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -723,63 +724,62 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (23,2)-(23,15)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (23,2)-(23,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (23,2)-(23,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (23,3)-(23,9)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (23,4)-(23,8)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,8)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :c - │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c" - │ │ │ │ │ ├── opening_loc: (23,5)-(23,6) = "(" - │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7)) - │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d" - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── closing_loc: (23,7)-(23,8) = ")" - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{" - │ │ │ │ └── closing_loc: (23,8)-(23,9) = "}" - │ │ │ └── flags: ∅ - │ │ └── @ RegularExpressionNode (location: (23,11)-(23,15)) - │ │ ├── opening_loc: (23,11)-(23,12) = "/" - │ │ ├── content_loc: (23,12)-(23,13) = "x" - │ │ ├── closing_loc: (23,13)-(23,15) = "/m" - │ │ ├── unescaped: "x" - │ │ └── flags: multi_line - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (23,2)-(23,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (23,2)-(23,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (23,3)-(23,9)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (23,4)-(23,8)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (23,4)-(23,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (23,4)-(23,5) = "c" + │ │ │ ├── opening_loc: (23,5)-(23,6) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (23,6)-(23,7)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :d + │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (23,7)-(23,8) = ")" + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (23,3)-(23,4) = "{" + │ │ └── closing_loc: (23,8)-(23,9) = "}" + │ └── @ RegularExpressionNode (location: (23,11)-(23,15)) + │ ├── flags: multi_line + │ ├── opening_loc: (23,11)-(23,12) = "/" + │ ├── content_loc: (23,12)-(23,13) = "x" + │ ├── closing_loc: (23,13)-(23,15) = "/m" + │ └── unescaped: "x" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (23,16)-(23,22)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (23,16)-(23,18) = "do" - │ └── closing_loc: (23,19)-(23,22) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (23,16)-(23,22)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (23,16)-(23,18) = "do" + └── closing_loc: (23,19)-(23,22) = "end" diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt index 6692f5b2af..6ae376d138 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(39,20)) └── body: (length: 20) ├── @ CallNode (location: (1,0)-(1,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -11,57 +12,57 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,11)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (1,2)-(1,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (1,2)-(1,3) = "b" - │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (1,2)-(1,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (1,2)-(1,3) = "b" + │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ IntegerNode (location: (1,10)-(1,11)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,12)-(1,18)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,12)-(1,14) = "do" - │ │ └── closing_loc: (1,15)-(1,18) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,12)-(1,18)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,12)-(1,14) = "do" + │ └── closing_loc: (1,15)-(1,18) = "end" ├── @ CallNode (location: (3,0)-(3,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -69,56 +70,56 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,2)-(3,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (3,2)-(3,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (3,2)-(3,3) = "b" - │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ FloatNode (location: (3,10)-(3,13)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (3,2)-(3,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (3,2)-(3,3) = "b" + │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ FloatNode (location: (3,10)-(3,13)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,14)-(3,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,14)-(3,16) = "do" - │ │ └── closing_loc: (3,17)-(3,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,14)-(3,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (3,14)-(3,16) = "do" + │ └── closing_loc: (3,17)-(3,20) = "end" ├── @ CallNode (location: (5,0)-(5,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -126,58 +127,58 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,2)-(5,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (5,2)-(5,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (5,2)-(5,3) = "b" - │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ ImaginaryNode (location: (5,10)-(5,14)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (5,10)-(5,13)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (5,2)-(5,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (5,2)-(5,3) = "b" + │ │ │ ├── opening_loc: (5,3)-(5,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (5,4)-(5,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ ImaginaryNode (location: (5,10)-(5,14)) + │ │ └── numeric: + │ │ @ FloatNode (location: (5,10)-(5,13)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,15)-(5,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,15)-(5,17) = "do" - │ │ └── closing_loc: (5,18)-(5,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,15)-(5,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (5,15)-(5,17) = "do" + │ └── closing_loc: (5,18)-(5,21) = "end" ├── @ CallNode (location: (7,0)-(7,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -185,58 +186,58 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,2)-(7,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (7,2)-(7,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (7,2)-(7,3) = "b" - │ │ │ │ ├── opening_loc: (7,3)-(7,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (7,4)-(7,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RationalNode (location: (7,10)-(7,14)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (7,10)-(7,13)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (7,2)-(7,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (7,2)-(7,3) = "b" + │ │ │ ├── opening_loc: (7,3)-(7,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (7,4)-(7,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ RationalNode (location: (7,10)-(7,14)) + │ │ └── numeric: + │ │ @ FloatNode (location: (7,10)-(7,13)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (7,15)-(7,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (7,15)-(7,17) = "do" - │ │ └── closing_loc: (7,18)-(7,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (7,15)-(7,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (7,15)-(7,17) = "do" + │ └── closing_loc: (7,18)-(7,21) = "end" ├── @ CallNode (location: (9,0)-(9,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -244,60 +245,60 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (9,2)-(9,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (9,2)-(9,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (9,2)-(9,3) = "b" - │ │ │ │ ├── opening_loc: (9,3)-(9,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,7)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (9,4)-(9,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ SymbolNode (location: (9,10)-(9,12)) - │ │ │ ├── opening_loc: (9,10)-(9,11) = ":" - │ │ │ ├── value_loc: (9,11)-(9,12) = "e" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "e" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (9,2)-(9,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (9,2)-(9,3) = "b" + │ │ │ ├── opening_loc: (9,3)-(9,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (9,4)-(9,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" + │ │ │ └── block: ∅ + │ │ └── @ SymbolNode (location: (9,10)-(9,12)) + │ │ ├── opening_loc: (9,10)-(9,11) = ":" + │ │ ├── value_loc: (9,11)-(9,12) = "e" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "e" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (9,13)-(9,19)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (9,13)-(9,15) = "do" - │ │ └── closing_loc: (9,16)-(9,19) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (9,13)-(9,19)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (9,13)-(9,15) = "do" + │ └── closing_loc: (9,16)-(9,19) = "end" ├── @ CallNode (location: (11,0)-(11,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -305,57 +306,57 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (11,2)-(11,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (11,2)-(11,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (11,2)-(11,3) = "b" - │ │ │ │ ├── opening_loc: (11,3)-(11,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ IntegerNode (location: (11,11)-(11,12)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (11,2)-(11,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (11,2)-(11,3) = "b" + │ │ │ ├── opening_loc: (11,3)-(11,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (11,4)-(11,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c" + │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ IntegerNode (location: (11,11)-(11,12)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (11,13)-(11,19)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (11,13)-(11,15) = "do" - │ │ └── closing_loc: (11,16)-(11,19) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (11,13)-(11,19)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (11,13)-(11,15) = "do" + │ └── closing_loc: (11,16)-(11,19) = "end" ├── @ CallNode (location: (13,0)-(13,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -363,56 +364,56 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,2)-(13,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (13,2)-(13,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b" - │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (13,4)-(13,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c" - │ │ │ │ │ │ ├── opening_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: :d - │ │ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (13,7)-(13,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (13,8)-(13,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ FloatNode (location: (13,11)-(13,14)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (13,2)-(13,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (13,2)-(13,3) = "b" + │ │ │ ├── opening_loc: (13,3)-(13,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (13,4)-(13,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (13,4)-(13,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c" + │ │ │ │ ├── opening_loc: (13,5)-(13,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (13,7)-(13,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (13,8)-(13,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ FloatNode (location: (13,11)-(13,14)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (13,15)-(13,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (13,15)-(13,17) = "do" - │ │ └── closing_loc: (13,18)-(13,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (13,15)-(13,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (13,15)-(13,17) = "do" + │ └── closing_loc: (13,18)-(13,21) = "end" ├── @ CallNode (location: (15,0)-(15,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -420,58 +421,58 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (15,2)-(15,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (15,2)-(15,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (15,2)-(15,3) = "b" - │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (15,4)-(15,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (15,5)-(15,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (15,7)-(15,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (15,8)-(15,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ ImaginaryNode (location: (15,11)-(15,15)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (15,11)-(15,14)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (15,2)-(15,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (15,2)-(15,3) = "b" + │ │ │ ├── opening_loc: (15,3)-(15,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (15,4)-(15,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (15,4)-(15,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c" + │ │ │ │ ├── opening_loc: (15,5)-(15,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (15,7)-(15,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (15,8)-(15,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ ImaginaryNode (location: (15,11)-(15,15)) + │ │ └── numeric: + │ │ @ FloatNode (location: (15,11)-(15,14)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (15,16)-(15,22)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (15,16)-(15,18) = "do" - │ │ └── closing_loc: (15,19)-(15,22) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (15,16)-(15,22)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (15,16)-(15,18) = "do" + │ └── closing_loc: (15,19)-(15,22) = "end" ├── @ CallNode (location: (17,0)-(17,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -479,58 +480,58 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (17,2)-(17,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (17,2)-(17,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (17,2)-(17,3) = "b" - │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (17,4)-(17,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (17,5)-(17,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (17,7)-(17,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (17,8)-(17,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RationalNode (location: (17,11)-(17,15)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (17,11)-(17,14)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (17,2)-(17,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (17,2)-(17,3) = "b" + │ │ │ ├── opening_loc: (17,3)-(17,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (17,4)-(17,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (17,4)-(17,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c" + │ │ │ │ ├── opening_loc: (17,5)-(17,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (17,7)-(17,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (17,8)-(17,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ RationalNode (location: (17,11)-(17,15)) + │ │ └── numeric: + │ │ @ FloatNode (location: (17,11)-(17,14)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (17,16)-(17,22)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (17,16)-(17,18) = "do" - │ │ └── closing_loc: (17,19)-(17,22) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (17,16)-(17,22)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (17,16)-(17,18) = "do" + │ └── closing_loc: (17,19)-(17,22) = "end" ├── @ CallNode (location: (19,0)-(19,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -538,60 +539,60 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (19,2)-(19,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (19,2)-(19,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (19,2)-(19,3) = "b" - │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "(" - │ │ │ │ ├── arguments: - │ │ │ │ │ @ ArgumentsNode (location: (19,4)-(19,8)) - │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── closing_loc: (19,8)-(19,9) = ")" - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: ∅ - │ │ │ └── @ SymbolNode (location: (19,11)-(19,13)) - │ │ │ ├── opening_loc: (19,11)-(19,12) = ":" - │ │ │ ├── value_loc: (19,12)-(19,13) = "e" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "e" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (19,2)-(19,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (19,2)-(19,3) = "b" + │ │ │ ├── opening_loc: (19,3)-(19,4) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (19,4)-(19,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c" + │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (19,8)-(19,9) = ")" + │ │ │ └── block: ∅ + │ │ └── @ SymbolNode (location: (19,11)-(19,13)) + │ │ ├── opening_loc: (19,11)-(19,12) = ":" + │ │ ├── value_loc: (19,12)-(19,13) = "e" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "e" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (19,14)-(19,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (19,14)-(19,16) = "do" - │ │ └── closing_loc: (19,17)-(19,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (19,14)-(19,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (19,14)-(19,16) = "do" + │ └── closing_loc: (19,17)-(19,20) = "end" ├── @ CallNode (location: (21,0)-(21,18)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -599,63 +600,63 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,2)-(21,11)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (21,2)-(21,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (21,2)-(21,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (21,3)-(21,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (21,4)-(21,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" - │ │ │ │ │ └── closing_loc: (21,7)-(21,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ IntegerNode (location: (21,10)-(21,11)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (21,2)-(21,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (21,2)-(21,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (21,3)-(21,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (21,4)-(21,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (21,4)-(21,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" + │ │ │ └── closing_loc: (21,7)-(21,8) = "}" + │ │ └── @ IntegerNode (location: (21,10)-(21,11)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (21,12)-(21,18)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (21,12)-(21,14) = "do" - │ │ └── closing_loc: (21,15)-(21,18) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (21,12)-(21,18)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (21,12)-(21,14) = "do" + │ └── closing_loc: (21,15)-(21,18) = "end" ├── @ CallNode (location: (23,0)-(23,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -663,62 +664,62 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (23,2)-(23,13)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (23,2)-(23,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (23,2)-(23,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (23,3)-(23,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (23,4)-(23,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{" - │ │ │ │ │ └── closing_loc: (23,7)-(23,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ FloatNode (location: (23,10)-(23,13)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (23,2)-(23,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (23,2)-(23,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (23,3)-(23,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (23,4)-(23,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (23,4)-(23,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (23,3)-(23,4) = "{" + │ │ │ └── closing_loc: (23,7)-(23,8) = "}" + │ │ └── @ FloatNode (location: (23,10)-(23,13)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (23,14)-(23,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (23,14)-(23,16) = "do" - │ │ └── closing_loc: (23,17)-(23,20) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (23,14)-(23,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (23,14)-(23,16) = "do" + │ └── closing_loc: (23,17)-(23,20) = "end" ├── @ CallNode (location: (25,0)-(25,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -726,64 +727,64 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (25,2)-(25,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (25,2)-(25,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (25,2)-(25,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (25,3)-(25,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (25,4)-(25,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (25,4)-(25,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (25,6)-(25,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (25,6)-(25,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (25,6)-(25,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (25,3)-(25,4) = "{" - │ │ │ │ │ └── closing_loc: (25,7)-(25,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ ImaginaryNode (location: (25,10)-(25,14)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (25,10)-(25,13)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (25,2)-(25,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (25,2)-(25,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (25,3)-(25,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (25,4)-(25,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (25,4)-(25,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (25,4)-(25,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (25,6)-(25,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (25,6)-(25,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (25,6)-(25,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (25,3)-(25,4) = "{" + │ │ │ └── closing_loc: (25,7)-(25,8) = "}" + │ │ └── @ ImaginaryNode (location: (25,10)-(25,14)) + │ │ └── numeric: + │ │ @ FloatNode (location: (25,10)-(25,13)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (25,15)-(25,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (25,15)-(25,17) = "do" - │ │ └── closing_loc: (25,18)-(25,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (25,15)-(25,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (25,15)-(25,17) = "do" + │ └── closing_loc: (25,18)-(25,21) = "end" ├── @ CallNode (location: (27,0)-(27,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -791,64 +792,64 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (27,2)-(27,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (27,2)-(27,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (27,2)-(27,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (27,3)-(27,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (27,4)-(27,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (27,4)-(27,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (27,4)-(27,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (27,6)-(27,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (27,6)-(27,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (27,6)-(27,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (27,3)-(27,4) = "{" - │ │ │ │ │ └── closing_loc: (27,7)-(27,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RationalNode (location: (27,10)-(27,14)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (27,10)-(27,13)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (27,2)-(27,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (27,2)-(27,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (27,3)-(27,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (27,4)-(27,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (27,4)-(27,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (27,4)-(27,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (27,6)-(27,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (27,6)-(27,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (27,6)-(27,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (27,3)-(27,4) = "{" + │ │ │ └── closing_loc: (27,7)-(27,8) = "}" + │ │ └── @ RationalNode (location: (27,10)-(27,14)) + │ │ └── numeric: + │ │ @ FloatNode (location: (27,10)-(27,13)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (27,15)-(27,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (27,15)-(27,17) = "do" - │ │ └── closing_loc: (27,18)-(27,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (27,15)-(27,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (27,15)-(27,17) = "do" + │ └── closing_loc: (27,18)-(27,21) = "end" ├── @ CallNode (location: (29,0)-(29,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -856,66 +857,66 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (29,2)-(29,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (29,2)-(29,8)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (29,2)-(29,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (29,3)-(29,8)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (29,4)-(29,7)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (29,4)-(29,7)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "c" - │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (29,6)-(29,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (29,6)-(29,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (29,6)-(29,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (29,3)-(29,4) = "{" - │ │ │ │ │ └── closing_loc: (29,7)-(29,8) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ SymbolNode (location: (29,10)-(29,12)) - │ │ │ ├── opening_loc: (29,10)-(29,11) = ":" - │ │ │ ├── value_loc: (29,11)-(29,12) = "e" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "e" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (29,2)-(29,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (29,2)-(29,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (29,3)-(29,8)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (29,4)-(29,7)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (29,4)-(29,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (29,4)-(29,5) = "c" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (29,6)-(29,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (29,6)-(29,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (29,6)-(29,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (29,3)-(29,4) = "{" + │ │ │ └── closing_loc: (29,7)-(29,8) = "}" + │ │ └── @ SymbolNode (location: (29,10)-(29,12)) + │ │ ├── opening_loc: (29,10)-(29,11) = ":" + │ │ ├── value_loc: (29,11)-(29,12) = "e" + │ │ ├── closing_loc: ∅ + │ │ └── unescaped: "e" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (29,13)-(29,19)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (29,13)-(29,15) = "do" - │ │ └── closing_loc: (29,16)-(29,19) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (29,13)-(29,19)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (29,13)-(29,15) = "do" + │ └── closing_loc: (29,16)-(29,19) = "end" ├── @ CallNode (location: (31,0)-(31,19)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -923,63 +924,63 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (31,2)-(31,12)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (31,2)-(31,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (31,2)-(31,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (31,3)-(31,9)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (31,4)-(31,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (31,4)-(31,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (31,4)-(31,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (31,5)-(31,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (31,6)-(31,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (31,6)-(31,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (31,6)-(31,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (31,7)-(31,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (31,3)-(31,4) = "{" - │ │ │ │ │ └── closing_loc: (31,8)-(31,9) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ IntegerNode (location: (31,11)-(31,12)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (31,2)-(31,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (31,2)-(31,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (31,3)-(31,9)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (31,4)-(31,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (31,4)-(31,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (31,4)-(31,5) = "c" + │ │ │ │ ├── opening_loc: (31,5)-(31,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (31,6)-(31,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (31,6)-(31,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (31,6)-(31,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (31,7)-(31,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (31,3)-(31,4) = "{" + │ │ │ └── closing_loc: (31,8)-(31,9) = "}" + │ │ └── @ IntegerNode (location: (31,11)-(31,12)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (31,13)-(31,19)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (31,13)-(31,15) = "do" - │ │ └── closing_loc: (31,16)-(31,19) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (31,13)-(31,19)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (31,13)-(31,15) = "do" + │ └── closing_loc: (31,16)-(31,19) = "end" ├── @ CallNode (location: (33,0)-(33,21)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -987,62 +988,62 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (33,2)-(33,14)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (33,2)-(33,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (33,2)-(33,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (33,3)-(33,9)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (33,4)-(33,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (33,4)-(33,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (33,4)-(33,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (33,5)-(33,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (33,6)-(33,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (33,6)-(33,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (33,6)-(33,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (33,7)-(33,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (33,3)-(33,4) = "{" - │ │ │ │ │ └── closing_loc: (33,8)-(33,9) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ FloatNode (location: (33,11)-(33,14)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (33,2)-(33,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (33,2)-(33,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (33,3)-(33,9)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (33,4)-(33,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (33,4)-(33,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (33,4)-(33,5) = "c" + │ │ │ │ ├── opening_loc: (33,5)-(33,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (33,6)-(33,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (33,6)-(33,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (33,6)-(33,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (33,7)-(33,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (33,3)-(33,4) = "{" + │ │ │ └── closing_loc: (33,8)-(33,9) = "}" + │ │ └── @ FloatNode (location: (33,11)-(33,14)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (33,15)-(33,21)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (33,15)-(33,17) = "do" - │ │ └── closing_loc: (33,18)-(33,21) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (33,15)-(33,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (33,15)-(33,17) = "do" + │ └── closing_loc: (33,18)-(33,21) = "end" ├── @ CallNode (location: (35,0)-(35,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -1050,64 +1051,64 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (35,2)-(35,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (35,2)-(35,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (35,2)-(35,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (35,3)-(35,9)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (35,4)-(35,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (35,4)-(35,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (35,5)-(35,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (35,6)-(35,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (35,6)-(35,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (35,6)-(35,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (35,7)-(35,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (35,3)-(35,4) = "{" - │ │ │ │ │ └── closing_loc: (35,8)-(35,9) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ ImaginaryNode (location: (35,11)-(35,15)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (35,11)-(35,14)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (35,2)-(35,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (35,2)-(35,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (35,3)-(35,9)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (35,4)-(35,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (35,4)-(35,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (35,4)-(35,5) = "c" + │ │ │ │ ├── opening_loc: (35,5)-(35,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (35,6)-(35,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (35,6)-(35,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (35,6)-(35,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (35,7)-(35,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (35,3)-(35,4) = "{" + │ │ │ └── closing_loc: (35,8)-(35,9) = "}" + │ │ └── @ ImaginaryNode (location: (35,11)-(35,15)) + │ │ └── numeric: + │ │ @ FloatNode (location: (35,11)-(35,14)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (35,16)-(35,22)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (35,16)-(35,18) = "do" - │ │ └── closing_loc: (35,19)-(35,22) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (35,16)-(35,22)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (35,16)-(35,18) = "do" + │ └── closing_loc: (35,19)-(35,22) = "end" ├── @ CallNode (location: (37,0)-(37,22)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -1115,64 +1116,64 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (37,2)-(37,15)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ CallNode (location: (37,2)-(37,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :b - │ │ │ │ ├── message_loc: (37,2)-(37,3) = "b" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: - │ │ │ │ │ @ BlockNode (location: (37,3)-(37,9)) - │ │ │ │ │ ├── locals: [] - │ │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ │ ├── parameters: ∅ - │ │ │ │ │ ├── body: - │ │ │ │ │ │ @ StatementsNode (location: (37,4)-(37,8)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ CallNode (location: (37,4)-(37,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :c - │ │ │ │ │ │ ├── message_loc: (37,4)-(37,5) = "c" - │ │ │ │ │ │ ├── opening_loc: (37,5)-(37,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (37,6)-(37,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (37,6)-(37,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ │ ├── message_loc: (37,6)-(37,7) = "d" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (37,7)-(37,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── opening_loc: (37,3)-(37,4) = "{" - │ │ │ │ │ └── closing_loc: (37,8)-(37,9) = "}" - │ │ │ │ └── flags: ∅ - │ │ │ └── @ RationalNode (location: (37,11)-(37,15)) - │ │ │ └── numeric: - │ │ │ @ FloatNode (location: (37,11)-(37,14)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ CallNode (location: (37,2)-(37,9)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (37,2)-(37,3) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: + │ │ │ @ BlockNode (location: (37,3)-(37,9)) + │ │ │ ├── locals: [] + │ │ │ ├── locals_body_index: 0 + │ │ │ ├── parameters: ∅ + │ │ │ ├── body: + │ │ │ │ @ StatementsNode (location: (37,4)-(37,8)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ CallNode (location: (37,4)-(37,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c + │ │ │ │ ├── message_loc: (37,4)-(37,5) = "c" + │ │ │ │ ├── opening_loc: (37,5)-(37,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (37,6)-(37,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (37,6)-(37,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :d + │ │ │ │ │ ├── message_loc: (37,6)-(37,7) = "d" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (37,7)-(37,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ ├── opening_loc: (37,3)-(37,4) = "{" + │ │ │ └── closing_loc: (37,8)-(37,9) = "}" + │ │ └── @ RationalNode (location: (37,11)-(37,15)) + │ │ └── numeric: + │ │ @ FloatNode (location: (37,11)-(37,14)) │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (37,16)-(37,22)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (37,16)-(37,18) = "do" - │ │ └── closing_loc: (37,19)-(37,22) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (37,16)-(37,22)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (37,16)-(37,18) = "do" + │ └── closing_loc: (37,19)-(37,22) = "end" └── @ CallNode (location: (39,0)-(39,20)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -1180,62 +1181,61 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (39,2)-(39,13)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (39,2)-(39,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :b - │ │ │ ├── message_loc: (39,2)-(39,3) = "b" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (39,3)-(39,9)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (39,4)-(39,8)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (39,4)-(39,8)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :c - │ │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c" - │ │ │ │ │ ├── opening_loc: (39,5)-(39,6) = "(" - │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ @ ArgumentsNode (location: (39,6)-(39,7)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ CallNode (location: (39,6)-(39,7)) - │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ ├── name: :d - │ │ │ │ │ │ │ ├── message_loc: (39,6)-(39,7) = "d" - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── closing_loc: (39,7)-(39,8) = ")" - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── opening_loc: (39,3)-(39,4) = "{" - │ │ │ │ └── closing_loc: (39,8)-(39,9) = "}" - │ │ │ └── flags: ∅ - │ │ └── @ SymbolNode (location: (39,11)-(39,13)) - │ │ ├── opening_loc: (39,11)-(39,12) = ":" - │ │ ├── value_loc: (39,12)-(39,13) = "e" - │ │ ├── closing_loc: ∅ - │ │ └── unescaped: "e" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (39,2)-(39,9)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b + │ │ ├── message_loc: (39,2)-(39,3) = "b" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (39,3)-(39,9)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (39,4)-(39,8)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (39,4)-(39,8)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c + │ │ │ ├── message_loc: (39,4)-(39,5) = "c" + │ │ │ ├── opening_loc: (39,5)-(39,6) = "(" + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (39,6)-(39,7)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (39,6)-(39,7)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :d + │ │ │ │ ├── message_loc: (39,6)-(39,7) = "d" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: (39,7)-(39,8) = ")" + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (39,3)-(39,4) = "{" + │ │ └── closing_loc: (39,8)-(39,9) = "}" + │ └── @ SymbolNode (location: (39,11)-(39,13)) + │ ├── opening_loc: (39,11)-(39,12) = ":" + │ ├── value_loc: (39,12)-(39,13) = "e" + │ ├── closing_loc: ∅ + │ └── unescaped: "e" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (39,14)-(39,20)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (39,14)-(39,16) = "do" - │ └── closing_loc: (39,17)-(39,20) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (39,14)-(39,20)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (39,14)-(39,16) = "do" + └── closing_loc: (39,17)-(39,20) = "end" diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt index 2676fa70d9..62d3b0387d 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,25)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,90 +12,89 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,18)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (1,2)-(1,13)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :p - │ │ │ ├── message_loc: (1,2)-(1,3) = "p" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: - │ │ │ │ @ BlockNode (location: (1,3)-(1,13)) - │ │ │ │ ├── locals: [] - │ │ │ │ ├── locals_body_index: 0 - │ │ │ │ ├── parameters: ∅ - │ │ │ │ ├── body: - │ │ │ │ │ @ StatementsNode (location: (1,4)-(1,12)) - │ │ │ │ │ └── body: (length: 2) - │ │ │ │ │ ├── @ CallNode (location: (1,4)-(1,8)) - │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ ├── name: :p - │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "p" - │ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" - │ │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) - │ │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ │ ├── name: :p - │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "p" - │ │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" - │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :p - │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "p" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: - │ │ │ │ │ │ @ ArgumentsNode (location: (1,11)-(1,12)) - │ │ │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) - │ │ │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ │ │ ├── name: :p - │ │ │ │ │ │ │ ├── message_loc: (1,11)-(1,12) = "p" - │ │ │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ └── flags: variable_call - │ │ │ │ │ │ └── flags: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: ∅ - │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "{" - │ │ │ │ └── closing_loc: (1,12)-(1,13) = "}" - │ │ │ └── flags: ∅ - │ │ └── @ CallNode (location: (1,15)-(1,18)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :tap - │ │ ├── message_loc: (1,15)-(1,18) = "tap" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (1,2)-(1,13)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :p + │ │ ├── message_loc: (1,2)-(1,3) = "p" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,3)-(1,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: + │ │ │ @ StatementsNode (location: (1,4)-(1,12)) + │ │ │ └── body: (length: 2) + │ │ │ ├── @ CallNode (location: (1,4)-(1,8)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :p + │ │ │ │ ├── message_loc: (1,4)-(1,5) = "p" + │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" + │ │ │ │ ├── arguments: + │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ └── arguments: (length: 1) + │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) + │ │ │ │ │ ├── flags: variable_call + │ │ │ │ │ ├── receiver: ∅ + │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :p + │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "p" + │ │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ │ ├── arguments: ∅ + │ │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ │ └── block: ∅ + │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" + │ │ │ │ └── block: ∅ + │ │ │ └── @ CallNode (location: (1,9)-(1,12)) + │ │ │ ├── flags: ∅ + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :p + │ │ │ ├── message_loc: (1,9)-(1,10) = "p" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: + │ │ │ │ @ ArgumentsNode (location: (1,11)-(1,12)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :p + │ │ │ │ ├── message_loc: (1,11)-(1,12) = "p" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── opening_loc: (1,3)-(1,4) = "{" + │ │ └── closing_loc: (1,12)-(1,13) = "}" + │ └── @ CallNode (location: (1,15)-(1,18)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :tap + │ ├── message_loc: (1,15)-(1,18) = "tap" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,19)-(1,25)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,19)-(1,21) = "do" - │ └── closing_loc: (1,22)-(1,25) = "end" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,19)-(1,25)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,19)-(1,21) = "do" + └── closing_loc: (1,22)-(1,25) = "end" diff --git a/test/prism/snapshots/whitequark/ruby_bug_11989.txt b/test/prism/snapshots/whitequark/ruby_bug_11989.txt index b5379fa9cd..b853f81f46 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11989.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11989.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,14 +12,13 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ StringNode (location: (1,2)-(1,8)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\"" - │ │ ├── content_loc: (2,0)-(3,0) = " x\\n y\n" - │ │ ├── closing_loc: (3,0)-(4,0) = "E\n" - │ │ └── unescaped: "x\n y\n" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ StringNode (location: (1,2)-(1,8)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\"" + │ ├── content_loc: (2,0)-(3,0) = " x\\n y\n" + │ ├── closing_loc: (3,0)-(4,0) = "E\n" + │ └── unescaped: "x\n y\n" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11990.txt b/test/prism/snapshots/whitequark/ruby_bug_11990.txt index beaeb1ec87..e726cff9bf 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11990.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11990.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -11,24 +12,23 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,12)) - │ ├── arguments: (length: 1) - │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12)) - │ │ ├── opening_loc: ∅ - │ │ ├── parts: (length: 2) - │ │ │ ├── @ StringNode (location: (1,2)-(1,6)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E" - │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" - │ │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n" - │ │ │ │ └── unescaped: "x\n" - │ │ │ └── @ StringNode (location: (1,7)-(1,12)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,7)-(1,8) = "\"" - │ │ │ ├── content_loc: (1,8)-(1,11) = " y" - │ │ │ ├── closing_loc: (1,11)-(1,12) = "\"" - │ │ │ └── unescaped: " y" - │ │ └── closing_loc: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ InterpolatedStringNode (location: (1,2)-(1,12)) + │ ├── opening_loc: ∅ + │ ├── parts: (length: 2) + │ │ ├── @ StringNode (location: (1,2)-(1,6)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E" + │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" + │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n" + │ │ │ └── unescaped: "x\n" + │ │ └── @ StringNode (location: (1,7)-(1,12)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,7)-(1,8) = "\"" + │ │ ├── content_loc: (1,8)-(1,11) = " y" + │ │ ├── closing_loc: (1,11)-(1,12) = "\"" + │ │ └── unescaped: " y" + │ └── closing_loc: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_12073.txt b/test/prism/snapshots/whitequark/ruby_bug_12073.txt index dc83733f19..3fcc2b5073 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12073.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12073.txt @@ -12,6 +12,7 @@ │ │ └── flags: decimal │ └── operator_loc: (1,2)-(1,3) = "=" ├── @ CallNode (location: (1,7)-(1,13)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -19,24 +20,23 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,9)-(1,13)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ KeywordHashNode (location: (1,9)-(1,13)) - │ │ │ └── elements: (length: 1) - │ │ │ └── @ AssocNode (location: (1,9)-(1,13)) - │ │ │ ├── key: - │ │ │ │ @ SymbolNode (location: (1,9)-(1,11)) - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── value_loc: (1,9)-(1,10) = "b" - │ │ │ │ ├── closing_loc: (1,10)-(1,11) = ":" - │ │ │ │ └── unescaped: "b" - │ │ │ ├── value: - │ │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ │ └── flags: decimal - │ │ │ └── operator_loc: ∅ - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ KeywordHashNode (location: (1,9)-(1,13)) + │ │ └── elements: (length: 1) + │ │ └── @ AssocNode (location: (1,9)-(1,13)) + │ │ ├── key: + │ │ │ @ SymbolNode (location: (1,9)-(1,11)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── value_loc: (1,9)-(1,10) = "b" + │ │ │ ├── closing_loc: (1,10)-(1,11) = ":" + │ │ │ └── unescaped: "b" + │ │ ├── value: + │ │ │ @ IntegerNode (location: (1,12)-(1,13)) + │ │ │ └── flags: decimal + │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ DefNode (location: (3,0)-(3,34)) ├── name: :foo ├── name_loc: (3,4)-(3,7) = "foo" @@ -56,6 +56,7 @@ │ @ StatementsNode (location: (3,15)-(3,29)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,15)-(3,29)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :raise @@ -63,25 +64,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,21)-(3,29)) - │ │ ├── arguments: (length: 2) - │ │ │ ├── @ ConstantPathNode (location: (3,21)-(3,25)) - │ │ │ │ ├── parent: - │ │ │ │ │ @ ConstantReadNode (location: (3,21)-(3,22)) - │ │ │ │ │ └── name: :A - │ │ │ │ ├── child: - │ │ │ │ │ @ ConstantReadNode (location: (3,24)-(3,25)) - │ │ │ │ │ └── name: :B - │ │ │ │ └── delimiter_loc: (3,22)-(3,24) = "::" - │ │ │ └── @ StringNode (location: (3,27)-(3,29)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (3,27)-(3,28) = "'" - │ │ │ ├── content_loc: (3,28)-(3,28) = "" - │ │ │ ├── closing_loc: (3,28)-(3,29) = "'" - │ │ │ └── unescaped: "" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 2) + │ │ ├── @ ConstantPathNode (location: (3,21)-(3,25)) + │ │ │ ├── parent: + │ │ │ │ @ ConstantReadNode (location: (3,21)-(3,22)) + │ │ │ │ └── name: :A + │ │ │ ├── child: + │ │ │ │ @ ConstantReadNode (location: (3,24)-(3,25)) + │ │ │ │ └── name: :B + │ │ │ └── delimiter_loc: (3,22)-(3,24) = "::" + │ │ └── @ StringNode (location: (3,27)-(3,29)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (3,27)-(3,28) = "'" + │ │ ├── content_loc: (3,28)-(3,28) = "" + │ │ ├── closing_loc: (3,28)-(3,29) = "'" + │ │ └── unescaped: "" │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:raise] ├── locals_body_index: 1 ├── def_keyword_loc: (3,0)-(3,3) = "def" diff --git a/test/prism/snapshots/whitequark/ruby_bug_12402.txt b/test/prism/snapshots/whitequark/ruby_bug_12402.txt index a091e8baaf..76a8facca6 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12402.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12402.txt @@ -10,6 +10,7 @@ │ │ @ RescueModifierNode (location: (1,7)-(1,27)) │ │ ├── expression: │ │ │ @ CallNode (location: (1,7)-(1,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -17,21 +18,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,16)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ 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 - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ 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: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (1,17)-(1,23) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (1,24)-(1,27)) @@ -45,6 +45,7 @@ │ │ @ RescueModifierNode (location: (3,7)-(3,28)) │ │ ├── expression: │ │ │ @ CallNode (location: (3,7)-(3,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -52,21 +53,20 @@ │ │ │ ├── opening_loc: (3,12)-(3,13) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (3,13)-(3,16)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (3,13)-(3,16)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (3,13)-(3,16) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (3,13)-(3,16)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (3,13)-(3,16) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: (3,16)-(3,17) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (3,18)-(3,24) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (3,25)-(3,28)) @@ -81,6 +81,7 @@ │ │ @ RescueModifierNode (location: (5,6)-(5,26)) │ │ ├── expression: │ │ │ @ CallNode (location: (5,6)-(5,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -88,21 +89,20 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (5,12)-(5,15)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (5,12)-(5,15)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (5,12)-(5,15) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (5,12)-(5,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (5,12)-(5,15) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (5,16)-(5,22) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (5,23)-(5,26)) @@ -115,6 +115,7 @@ │ │ @ RescueModifierNode (location: (7,6)-(7,27)) │ │ ├── expression: │ │ │ @ CallNode (location: (7,6)-(7,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -122,33 +123,32 @@ │ │ │ ├── opening_loc: (7,11)-(7,12) = "(" │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (7,12)-(7,15)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (7,12)-(7,15)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (7,12)-(7,15) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ CallNode (location: (7,12)-(7,15)) + │ │ │ │ ├── flags: variable_call + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar + │ │ │ │ ├── message_loc: (7,12)-(7,15) = "bar" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── block: ∅ │ │ │ ├── closing_loc: (7,15)-(7,16) = ")" - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── keyword_loc: (7,17)-(7,23) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (7,24)-(7,27)) │ └── operator_loc: (7,4)-(7,5) = "=" ├── @ CallOperatorWriteNode (location: (9,0)-(9,29)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (9,0)-(9,3)) │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (9,3)-(9,4) = "." │ ├── message_loc: (9,4)-(9,5) = "C" - │ ├── flags: ∅ │ ├── read_name: :C │ ├── write_name: :C= │ ├── operator: :+ @@ -157,6 +157,7 @@ │ @ RescueModifierNode (location: (9,9)-(9,29)) │ ├── expression: │ │ @ CallNode (location: (9,9)-(9,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -164,32 +165,31 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,15)-(9,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (9,15)-(9,18)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (9,15)-(9,18) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (9,15)-(9,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (9,15)-(9,18) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (9,19)-(9,25) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (9,26)-(9,29)) ├── @ CallOperatorWriteNode (location: (11,0)-(11,30)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (11,0)-(11,3)) │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (11,3)-(11,4) = "." │ ├── message_loc: (11,4)-(11,5) = "C" - │ ├── flags: ∅ │ ├── read_name: :C │ ├── write_name: :C= │ ├── operator: :+ @@ -198,6 +198,7 @@ │ @ RescueModifierNode (location: (11,9)-(11,30)) │ ├── expression: │ │ @ CallNode (location: (11,9)-(11,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -205,32 +206,31 @@ │ │ ├── opening_loc: (11,14)-(11,15) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (11,15)-(11,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (11,15)-(11,18)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (11,15)-(11,18) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (11,15)-(11,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (11,15)-(11,18) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: (11,18)-(11,19) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (11,20)-(11,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (11,27)-(11,30)) ├── @ CallOperatorWriteNode (location: (13,0)-(13,29)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (13,0)-(13,3)) │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (13,3)-(13,4) = "." │ ├── message_loc: (13,4)-(13,5) = "m" - │ ├── flags: ∅ │ ├── read_name: :m │ ├── write_name: :m= │ ├── operator: :+ @@ -239,6 +239,7 @@ │ @ RescueModifierNode (location: (13,9)-(13,29)) │ ├── expression: │ │ @ CallNode (location: (13,9)-(13,18)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -246,32 +247,31 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (13,15)-(13,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (13,15)-(13,18)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (13,15)-(13,18) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (13,15)-(13,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (13,15)-(13,18) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (13,19)-(13,25) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,26)-(13,29)) ├── @ CallOperatorWriteNode (location: (15,0)-(15,30)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (15,0)-(15,3)) │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (15,3)-(15,4) = "." │ ├── message_loc: (15,4)-(15,5) = "m" - │ ├── flags: ∅ │ ├── read_name: :m │ ├── write_name: :m= │ ├── operator: :+ @@ -280,6 +280,7 @@ │ @ RescueModifierNode (location: (15,9)-(15,30)) │ ├── expression: │ │ @ CallNode (location: (15,9)-(15,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -287,21 +288,20 @@ │ │ ├── opening_loc: (15,14)-(15,15) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (15,15)-(15,18)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (15,15)-(15,18)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (15,15)-(15,18) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (15,15)-(15,18)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (15,15)-(15,18) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: (15,18)-(15,19) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (15,20)-(15,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (15,27)-(15,30)) @@ -321,6 +321,7 @@ │ @ RescueModifierNode (location: (17,11)-(17,31)) │ ├── expression: │ │ @ CallNode (location: (17,11)-(17,20)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -328,21 +329,20 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (17,17)-(17,20)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (17,17)-(17,20)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (17,17)-(17,20) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (17,17)-(17,20)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (17,17)-(17,20) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (17,21)-(17,27) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (17,28)-(17,31)) @@ -362,6 +362,7 @@ │ @ RescueModifierNode (location: (19,11)-(19,32)) │ ├── expression: │ │ @ CallNode (location: (19,11)-(19,21)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -369,32 +370,31 @@ │ │ ├── opening_loc: (19,16)-(19,17) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (19,17)-(19,20)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (19,17)-(19,20)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (19,17)-(19,20) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (19,17)-(19,20)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (19,17)-(19,20) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: (19,20)-(19,21) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (19,22)-(19,28) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (19,29)-(19,32)) ├── @ CallOperatorWriteNode (location: (21,0)-(21,30)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (21,0)-(21,3)) │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (21,3)-(21,5) = "::" │ ├── message_loc: (21,5)-(21,6) = "m" - │ ├── flags: ∅ │ ├── read_name: :m │ ├── write_name: :m= │ ├── operator: :+ @@ -403,6 +403,7 @@ │ @ RescueModifierNode (location: (21,10)-(21,30)) │ ├── expression: │ │ @ CallNode (location: (21,10)-(21,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -410,32 +411,31 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (21,16)-(21,19)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (21,16)-(21,19)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (21,16)-(21,19) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (21,16)-(21,19)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (21,16)-(21,19) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (21,20)-(21,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (21,27)-(21,30)) ├── @ CallOperatorWriteNode (location: (23,0)-(23,31)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (23,0)-(23,3)) │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (23,3)-(23,5) = "::" │ ├── message_loc: (23,5)-(23,6) = "m" - │ ├── flags: ∅ │ ├── read_name: :m │ ├── write_name: :m= │ ├── operator: :+ @@ -444,6 +444,7 @@ │ @ RescueModifierNode (location: (23,10)-(23,31)) │ ├── expression: │ │ @ CallNode (location: (23,10)-(23,20)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -451,25 +452,25 @@ │ │ ├── opening_loc: (23,15)-(23,16) = "(" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (23,16)-(23,19)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (23,16)-(23,19)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (23,16)-(23,19) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (23,16)-(23,19)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (23,16)-(23,19) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: (23,19)-(23,20) = ")" - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (23,21)-(23,27) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (23,28)-(23,31)) ├── @ IndexOperatorWriteNode (location: (25,0)-(25,30)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ LocalVariableReadNode (location: (25,0)-(25,3)) │ │ ├── name: :foo @@ -478,19 +479,19 @@ │ ├── opening_loc: (25,3)-(25,4) = "[" │ ├── arguments: │ │ @ ArgumentsNode (location: (25,4)-(25,5)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (25,4)-(25,5)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (25,4)-(25,5)) + │ │ └── flags: decimal │ ├── closing_loc: (25,5)-(25,6) = "]" │ ├── block: ∅ - │ ├── flags: ∅ │ ├── operator: :+ │ ├── operator_loc: (25,7)-(25,9) = "+=" │ └── value: │ @ RescueModifierNode (location: (25,10)-(25,30)) │ ├── expression: │ │ @ CallNode (location: (25,10)-(25,19)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -498,25 +499,25 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (25,16)-(25,19)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (25,16)-(25,19)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (25,16)-(25,19) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (25,16)-(25,19)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (25,16)-(25,19) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── keyword_loc: (25,20)-(25,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (25,27)-(25,30)) └── @ IndexOperatorWriteNode (location: (27,0)-(27,31)) + ├── flags: ∅ ├── receiver: │ @ LocalVariableReadNode (location: (27,0)-(27,3)) │ ├── name: :foo @@ -525,19 +526,19 @@ ├── opening_loc: (27,3)-(27,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (27,4)-(27,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (27,4)-(27,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (27,4)-(27,5)) + │ └── flags: decimal ├── closing_loc: (27,5)-(27,6) = "]" ├── block: ∅ - ├── flags: ∅ ├── operator: :+ ├── operator_loc: (27,7)-(27,9) = "+=" └── value: @ RescueModifierNode (location: (27,10)-(27,31)) ├── expression: │ @ CallNode (location: (27,10)-(27,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :raise @@ -545,21 +546,20 @@ │ ├── opening_loc: (27,15)-(27,16) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (27,16)-(27,19)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (27,16)-(27,19)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (27,16)-(27,19) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (27,16)-(27,19)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (27,16)-(27,19) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (27,19)-(27,20) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── keyword_loc: (27,21)-(27,27) = "rescue" └── rescue_expression: @ NilNode (location: (27,28)-(27,31)) diff --git a/test/prism/snapshots/whitequark/ruby_bug_12669.txt b/test/prism/snapshots/whitequark/ruby_bug_12669.txt index 7b876221d2..021be28c8a 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12669.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12669.txt @@ -12,6 +12,7 @@ │ │ ├── operator_loc: (1,7)-(1,9) = "+=" │ │ ├── value: │ │ │ @ CallNode (location: (1,10)-(1,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -19,16 +20,15 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (1,16)-(1,18)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (1,16)-(1,18)) - │ │ │ │ │ ├── opening_loc: (1,16)-(1,17) = ":" - │ │ │ │ │ ├── value_loc: (1,17)-(1,18) = "x" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (1,16)-(1,18)) + │ │ │ │ ├── opening_loc: (1,16)-(1,17) = ":" + │ │ │ │ ├── value_loc: (1,17)-(1,18) = "x" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── name: :b │ │ ├── operator: :+ │ │ └── depth: 0 @@ -45,6 +45,7 @@ │ │ ├── name_loc: (3,5)-(3,6) = "b" │ │ ├── value: │ │ │ @ CallNode (location: (3,9)-(3,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -52,16 +53,15 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (3,15)-(3,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (3,15)-(3,17)) - │ │ │ │ │ ├── opening_loc: (3,15)-(3,16) = ":" - │ │ │ │ │ ├── value_loc: (3,16)-(3,17) = "x" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (3,15)-(3,17)) + │ │ │ │ ├── opening_loc: (3,15)-(3,16) = ":" + │ │ │ │ ├── value_loc: (3,16)-(3,17) = "x" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ └── operator_loc: (3,7)-(3,8) = "=" │ ├── name: :a │ ├── operator: :+ @@ -76,6 +76,7 @@ │ │ ├── operator_loc: (5,6)-(5,8) = "+=" │ │ ├── value: │ │ │ @ CallNode (location: (5,9)-(5,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :raise @@ -83,16 +84,15 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (5,15)-(5,17)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ SymbolNode (location: (5,15)-(5,17)) - │ │ │ │ │ ├── opening_loc: (5,15)-(5,16) = ":" - │ │ │ │ │ ├── value_loc: (5,16)-(5,17) = "x" - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ └── unescaped: "x" - │ │ │ │ └── flags: ∅ + │ │ │ │ ├── flags: ∅ + │ │ │ │ └── arguments: (length: 1) + │ │ │ │ └── @ SymbolNode (location: (5,15)-(5,17)) + │ │ │ │ ├── opening_loc: (5,15)-(5,16) = ":" + │ │ │ │ ├── value_loc: (5,16)-(5,17) = "x" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "x" │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ + │ │ │ └── block: ∅ │ │ ├── name: :b │ │ ├── operator: :+ │ │ └── depth: 0 @@ -108,6 +108,7 @@ │ ├── name_loc: (7,4)-(7,5) = "b" │ ├── value: │ │ @ CallNode (location: (7,8)-(7,16)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -115,15 +116,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,14)-(7,16)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ SymbolNode (location: (7,14)-(7,16)) - │ │ │ │ ├── opening_loc: (7,14)-(7,15) = ":" - │ │ │ │ ├── value_loc: (7,15)-(7,16) = "x" - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ └── unescaped: "x" - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ SymbolNode (location: (7,14)-(7,16)) + │ │ │ ├── opening_loc: (7,14)-(7,15) = ":" + │ │ │ ├── value_loc: (7,15)-(7,16) = "x" + │ │ │ ├── closing_loc: ∅ + │ │ │ └── unescaped: "x" │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ └── operator_loc: (7,6)-(7,7) = "=" └── operator_loc: (7,2)-(7,3) = "=" diff --git a/test/prism/snapshots/whitequark/ruby_bug_12686.txt b/test/prism/snapshots/whitequark/ruby_bug_12686.txt index f94c195e19..d236b88348 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12686.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12686.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,16)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -11,29 +12,28 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,16)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,2)-(1,16)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,3)-(1,15)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ RescueModifierNode (location: (1,3)-(1,15)) - │ │ │ ├── expression: - │ │ │ │ @ CallNode (location: (1,3)-(1,4)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :g - │ │ │ │ ├── message_loc: (1,3)-(1,4) = "g" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" - │ │ │ └── rescue_expression: - │ │ │ @ NilNode (location: (1,12)-(1,15)) - │ │ ├── opening_loc: (1,2)-(1,3) = "(" - │ │ └── closing_loc: (1,15)-(1,16) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,2)-(1,16)) + │ ├── body: + │ │ @ StatementsNode (location: (1,3)-(1,15)) + │ │ └── body: (length: 1) + │ │ └── @ RescueModifierNode (location: (1,3)-(1,15)) + │ │ ├── expression: + │ │ │ @ CallNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :g + │ │ │ ├── message_loc: (1,3)-(1,4) = "g" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" + │ │ └── rescue_expression: + │ │ @ NilNode (location: (1,12)-(1,15)) + │ ├── opening_loc: (1,2)-(1,3) = "(" + │ └── closing_loc: (1,15)-(1,16) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_13547.txt b/test/prism/snapshots/whitequark/ruby_bug_13547.txt index 86b8da6c02..3d1fdaf853 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_13547.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_13547.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,4)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -13,20 +15,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,4)-(1,6) = "[]" ├── opening_loc: (1,4)-(1,5) = "[" ├── arguments: ∅ ├── closing_loc: (1,5)-(1,6) = "]" - ├── block: - │ @ BlockNode (location: (1,7)-(1,9)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,7)-(1,8) = "{" - │ └── closing_loc: (1,8)-(1,9) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,7)-(1,9)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,7)-(1,8) = "{" + └── closing_loc: (1,8)-(1,9) = "}" diff --git a/test/prism/snapshots/whitequark/ruby_bug_14690.txt b/test/prism/snapshots/whitequark/ruby_bug_14690.txt index 12814dbebc..f7fa7b0496 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_14690.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_14690.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,23)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,23)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :let @@ -11,51 +12,50 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,6)) - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,5)-(1,6) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,6)) + │ ├── body: ∅ + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,5)-(1,6) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,7)-(1,23)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: - │ │ @ StatementsNode (location: (1,9)-(1,21)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,9)-(1,21)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :m - │ │ ├── message_loc: (1,9)-(1,10) = "m" - │ │ ├── opening_loc: (1,10)-(1,11) = "(" - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,11)-(1,12)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :a - │ │ │ │ ├── message_loc: (1,11)-(1,12) = "a" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: (1,12)-(1,13) = ")" - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,14)-(1,21)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" - │ │ │ └── closing_loc: (1,18)-(1,21) = "end" - │ │ └── flags: ∅ - │ ├── opening_loc: (1,7)-(1,8) = "{" - │ └── closing_loc: (1,22)-(1,23) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,7)-(1,23)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: + │ @ StatementsNode (location: (1,9)-(1,21)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,9)-(1,21)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :m + │ ├── message_loc: (1,9)-(1,10) = "m" + │ ├── opening_loc: (1,10)-(1,11) = "(" + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,11)-(1,12)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,11)-(1,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a + │ │ ├── message_loc: (1,11)-(1,12) = "a" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: (1,12)-(1,13) = ")" + │ └── block: + │ @ BlockNode (location: (1,14)-(1,21)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,14)-(1,16) = "do" + │ └── closing_loc: (1,18)-(1,21) = "end" + ├── opening_loc: (1,7)-(1,8) = "{" + └── closing_loc: (1,22)-(1,23) = "}" diff --git a/test/prism/snapshots/whitequark/ruby_bug_15789.txt b/test/prism/snapshots/whitequark/ruby_bug_15789.txt index 097b06b9fb..de09d37a4d 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_15789.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_15789.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(3,19)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,20)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -11,58 +12,58 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,2)-(1,20)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LambdaNode (location: (1,2)-(1,20)) - │ │ │ ├── locals: [:a] - │ │ │ ├── locals_body_index: 1 - │ │ │ ├── operator_loc: (1,2)-(1,4) = "->" - │ │ │ ├── opening_loc: (1,17)-(1,18) = "{" - │ │ │ ├── closing_loc: (1,19)-(1,20) = "}" - │ │ │ ├── parameters: - │ │ │ │ @ BlockParametersNode (location: (1,4)-(1,16)) - │ │ │ │ ├── parameters: - │ │ │ │ │ @ ParametersNode (location: (1,5)-(1,15)) - │ │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ │ ├── optionals: (length: 1) - │ │ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,15)) - │ │ │ │ │ │ ├── name: :a - │ │ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" - │ │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" - │ │ │ │ │ │ └── value: - │ │ │ │ │ │ @ LambdaNode (location: (1,9)-(1,15)) - │ │ │ │ │ │ ├── locals: [:_1] - │ │ │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ │ │ ├── operator_loc: (1,9)-(1,11) = "->" - │ │ │ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{" - │ │ │ │ │ │ ├── closing_loc: (1,14)-(1,15) = "}" - │ │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ │ @ NumberedParametersNode (location: (1,9)-(1,15)) - │ │ │ │ │ │ │ └── maximum: 1 - │ │ │ │ │ │ └── body: - │ │ │ │ │ │ @ StatementsNode (location: (1,12)-(1,14)) - │ │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,12)-(1,14)) - │ │ │ │ │ │ ├── name: :_1 - │ │ │ │ │ │ └── depth: 0 - │ │ │ │ │ ├── rest: ∅ - │ │ │ │ │ ├── posts: (length: 0) - │ │ │ │ │ ├── keywords: (length: 0) - │ │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ │ └── block: ∅ - │ │ │ │ ├── locals: (length: 0) - │ │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ │ │ └── closing_loc: (1,15)-(1,16) = ")" - │ │ │ └── body: - │ │ │ @ StatementsNode (location: (1,18)-(1,19)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) - │ │ │ ├── name: :a - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LambdaNode (location: (1,2)-(1,20)) + │ │ ├── locals: [:a] + │ │ ├── locals_body_index: 1 + │ │ ├── operator_loc: (1,2)-(1,4) = "->" + │ │ ├── opening_loc: (1,17)-(1,18) = "{" + │ │ ├── closing_loc: (1,19)-(1,20) = "}" + │ │ ├── parameters: + │ │ │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ │ │ ├── parameters: + │ │ │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ │ │ ├── requireds: (length: 0) + │ │ │ │ ├── optionals: (length: 1) + │ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,15)) + │ │ │ │ │ ├── name: :a + │ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a" + │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" + │ │ │ │ │ └── value: + │ │ │ │ │ @ LambdaNode (location: (1,9)-(1,15)) + │ │ │ │ │ ├── locals: [:_1] + │ │ │ │ │ ├── locals_body_index: 1 + │ │ │ │ │ ├── operator_loc: (1,9)-(1,11) = "->" + │ │ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{" + │ │ │ │ │ ├── closing_loc: (1,14)-(1,15) = "}" + │ │ │ │ │ ├── parameters: + │ │ │ │ │ │ @ NumberedParametersNode (location: (1,9)-(1,15)) + │ │ │ │ │ │ └── maximum: 1 + │ │ │ │ │ └── body: + │ │ │ │ │ @ StatementsNode (location: (1,12)-(1,14)) + │ │ │ │ │ └── body: (length: 1) + │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,12)-(1,14)) + │ │ │ │ │ ├── name: :_1 + │ │ │ │ │ └── depth: 0 + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── keywords: (length: 0) + │ │ │ │ ├── keyword_rest: ∅ + │ │ │ │ └── block: ∅ + │ │ │ ├── locals: (length: 0) + │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" + │ │ │ └── closing_loc: (1,15)-(1,16) = ")" + │ │ └── body: + │ │ @ StatementsNode (location: (1,18)-(1,19)) + │ │ └── body: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ │ ├── name: :a + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,19)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -70,53 +71,52 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (3,2)-(3,19)) - │ ├── arguments: (length: 1) - │ │ └── @ LambdaNode (location: (3,2)-(3,19)) - │ │ ├── locals: [:a] - │ │ ├── locals_body_index: 1 - │ │ ├── operator_loc: (3,2)-(3,4) = "->" - │ │ ├── opening_loc: (3,16)-(3,17) = "{" - │ │ ├── closing_loc: (3,18)-(3,19) = "}" - │ │ ├── parameters: - │ │ │ @ BlockParametersNode (location: (3,4)-(3,15)) - │ │ │ ├── parameters: - │ │ │ │ @ ParametersNode (location: (3,5)-(3,14)) - │ │ │ │ ├── requireds: (length: 0) - │ │ │ │ ├── optionals: (length: 0) - │ │ │ │ ├── rest: ∅ - │ │ │ │ ├── posts: (length: 0) - │ │ │ │ ├── keywords: (length: 1) - │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (3,5)-(3,14)) - │ │ │ │ │ ├── name: :a - │ │ │ │ │ ├── name_loc: (3,5)-(3,7) = "a:" - │ │ │ │ │ └── value: - │ │ │ │ │ @ LambdaNode (location: (3,8)-(3,14)) - │ │ │ │ │ ├── locals: [:_1] - │ │ │ │ │ ├── locals_body_index: 1 - │ │ │ │ │ ├── operator_loc: (3,8)-(3,10) = "->" - │ │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "{" - │ │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "}" - │ │ │ │ │ ├── parameters: - │ │ │ │ │ │ @ NumberedParametersNode (location: (3,8)-(3,14)) - │ │ │ │ │ │ └── maximum: 1 - │ │ │ │ │ └── body: - │ │ │ │ │ @ StatementsNode (location: (3,11)-(3,13)) - │ │ │ │ │ └── body: (length: 1) - │ │ │ │ │ └── @ LocalVariableReadNode (location: (3,11)-(3,13)) - │ │ │ │ │ ├── name: :_1 - │ │ │ │ │ └── depth: 0 - │ │ │ │ ├── keyword_rest: ∅ - │ │ │ │ └── block: ∅ - │ │ │ ├── locals: (length: 0) - │ │ │ ├── opening_loc: (3,4)-(3,5) = "(" - │ │ │ └── closing_loc: (3,14)-(3,15) = ")" - │ │ └── body: - │ │ @ StatementsNode (location: (3,17)-(3,18)) - │ │ └── body: (length: 1) - │ │ └── @ LocalVariableReadNode (location: (3,17)-(3,18)) - │ │ ├── name: :a - │ │ └── depth: 0 - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ LambdaNode (location: (3,2)-(3,19)) + │ ├── locals: [:a] + │ ├── locals_body_index: 1 + │ ├── operator_loc: (3,2)-(3,4) = "->" + │ ├── opening_loc: (3,16)-(3,17) = "{" + │ ├── closing_loc: (3,18)-(3,19) = "}" + │ ├── parameters: + │ │ @ BlockParametersNode (location: (3,4)-(3,15)) + │ │ ├── parameters: + │ │ │ @ ParametersNode (location: (3,5)-(3,14)) + │ │ │ ├── requireds: (length: 0) + │ │ │ ├── optionals: (length: 0) + │ │ │ ├── rest: ∅ + │ │ │ ├── posts: (length: 0) + │ │ │ ├── keywords: (length: 1) + │ │ │ │ └── @ OptionalKeywordParameterNode (location: (3,5)-(3,14)) + │ │ │ │ ├── name: :a + │ │ │ │ ├── name_loc: (3,5)-(3,7) = "a:" + │ │ │ │ └── value: + │ │ │ │ @ LambdaNode (location: (3,8)-(3,14)) + │ │ │ │ ├── locals: [:_1] + │ │ │ │ ├── locals_body_index: 1 + │ │ │ │ ├── operator_loc: (3,8)-(3,10) = "->" + │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "{" + │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "}" + │ │ │ │ ├── parameters: + │ │ │ │ │ @ NumberedParametersNode (location: (3,8)-(3,14)) + │ │ │ │ │ └── maximum: 1 + │ │ │ │ └── body: + │ │ │ │ @ StatementsNode (location: (3,11)-(3,13)) + │ │ │ │ └── body: (length: 1) + │ │ │ │ └── @ LocalVariableReadNode (location: (3,11)-(3,13)) + │ │ │ │ ├── name: :_1 + │ │ │ │ └── depth: 0 + │ │ │ ├── keyword_rest: ∅ + │ │ │ └── block: ∅ + │ │ ├── locals: (length: 0) + │ │ ├── opening_loc: (3,4)-(3,5) = "(" + │ │ └── closing_loc: (3,14)-(3,15) = ")" + │ └── body: + │ @ StatementsNode (location: (3,17)-(3,18)) + │ └── body: (length: 1) + │ └── @ LocalVariableReadNode (location: (3,17)-(3,18)) + │ ├── name: :a + │ └── depth: 0 ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/sclass.txt b/test/prism/snapshots/whitequark/sclass.txt index a0e5c89e58..1947a4638d 100644 --- a/test/prism/snapshots/whitequark/sclass.txt +++ b/test/prism/snapshots/whitequark/sclass.txt @@ -9,6 +9,7 @@ ├── operator_loc: (1,6)-(1,8) = "<<" ├── expression: │ @ CallNode (location: (1,9)-(1,12)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -16,8 +17,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,14)-(1,17)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/whitequark/send_attr_asgn.txt b/test/prism/snapshots/whitequark/send_attr_asgn.txt index cf320bb707..948e52808b 100644 --- a/test/prism/snapshots/whitequark/send_attr_asgn.txt +++ b/test/prism/snapshots/whitequark/send_attr_asgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(7,10)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,24 +15,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :A= │ ├── message_loc: (1,4)-(1,5) = "A" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,8)-(1,9)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -38,26 +40,25 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,3)-(3,4) = "." │ ├── name: :a= │ ├── message_loc: (3,4)-(3,5) = "a" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,8)-(3,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (3,8)-(3,9)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ ConstantPathWriteNode (location: (5,0)-(5,10)) │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,6)) │ │ ├── parent: │ │ │ @ CallNode (location: (5,0)-(5,3)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -65,8 +66,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ ├── child: │ │ │ @ ConstantReadNode (location: (5,5)-(5,6)) │ │ │ └── name: :A @@ -76,8 +76,10 @@ │ @ IntegerNode (location: (5,9)-(5,10)) │ └── flags: decimal └── @ CallNode (location: (7,0)-(7,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (7,0)-(7,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -85,18 +87,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (7,3)-(7,5) = "::" ├── name: :a= ├── message_loc: (7,5)-(7,6) = "a" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (7,9)-(7,10)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (7,9)-(7,10)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (7,9)-(7,10)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt index d7d36c5d7f..b29fef3feb 100644 --- a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt +++ b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,8)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,18 +15,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :b= ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,7)-(1,8)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_binary_op.txt b/test/prism/snapshots/whitequark/send_binary_op.txt index bbbfafe8e1..c18eb69f2c 100644 --- a/test/prism/snapshots/whitequark/send_binary_op.txt +++ b/test/prism/snapshots/whitequark/send_binary_op.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(41,7)) └── body: (length: 21) ├── @ CallNode (location: (1,0)-(1,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,24 +15,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :!= │ ├── message_loc: (1,4)-(1,6) = "!=" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,7)-(1,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -38,24 +40,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :!~ │ ├── message_loc: (3,4)-(3,6) = "!~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,7)-(3,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (3,7)-(3,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -63,24 +65,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :% │ ├── message_loc: (5,4)-(5,5) = "%" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,6)-(5,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -88,24 +90,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :& │ ├── message_loc: (7,4)-(7,5) = "&" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (7,6)-(7,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (7,6)-(7,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (7,6)-(7,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -113,24 +115,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :* │ ├── message_loc: (9,4)-(9,5) = "*" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (9,6)-(9,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (9,6)-(9,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (9,6)-(9,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -138,24 +140,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :** │ ├── message_loc: (11,4)-(11,6) = "**" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (11,7)-(11,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (11,7)-(11,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (11,7)-(11,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (13,0)-(13,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -163,24 +165,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :+ │ ├── message_loc: (13,4)-(13,5) = "+" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,6)-(13,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (13,6)-(13,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (13,6)-(13,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -188,24 +190,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :- │ ├── message_loc: (15,4)-(15,5) = "-" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (15,6)-(15,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (15,6)-(15,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (15,6)-(15,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (17,0)-(17,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -213,24 +215,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :/ │ ├── message_loc: (17,4)-(17,5) = "/" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (17,6)-(17,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (17,6)-(17,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (17,6)-(17,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -238,24 +240,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :< │ ├── message_loc: (19,4)-(19,5) = "<" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (19,6)-(19,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (19,6)-(19,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (19,6)-(19,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (21,0)-(21,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -263,24 +265,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :<< │ ├── message_loc: (21,4)-(21,6) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (21,7)-(21,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (21,7)-(21,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (21,7)-(21,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -288,24 +290,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :<= │ ├── message_loc: (23,4)-(23,6) = "<=" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (23,7)-(23,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (23,7)-(23,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (23,7)-(23,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (25,0)-(25,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -313,24 +315,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :<=> │ ├── message_loc: (25,4)-(25,7) = "<=>" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (25,8)-(25,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (25,8)-(25,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (25,8)-(25,9)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (27,0)-(27,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -338,24 +340,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :== │ ├── message_loc: (27,4)-(27,6) = "==" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (27,7)-(27,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (27,7)-(27,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (27,7)-(27,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,9)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -363,24 +365,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :=== │ ├── message_loc: (29,4)-(29,7) = "===" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (29,8)-(29,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (29,8)-(29,9)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (29,8)-(29,9)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -388,24 +390,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :=~ │ ├── message_loc: (31,4)-(31,6) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (31,7)-(31,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (31,7)-(31,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (31,7)-(31,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (33,0)-(33,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -413,24 +415,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :> │ ├── message_loc: (33,4)-(33,5) = ">" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (33,6)-(33,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (33,6)-(33,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (33,6)-(33,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -438,24 +440,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :>= │ ├── message_loc: (35,4)-(35,6) = ">=" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (35,7)-(35,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (35,7)-(35,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (35,7)-(35,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (37,0)-(37,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -463,24 +465,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :>> │ ├── message_loc: (37,4)-(37,6) = ">>" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (37,7)-(37,8)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (37,7)-(37,8)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (37,7)-(37,8)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -488,24 +490,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :^ │ ├── message_loc: (39,4)-(39,5) = "^" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (39,6)-(39,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (39,6)-(39,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (39,6)-(39,7)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (41,0)-(41,7)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (41,0)-(41,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -513,18 +515,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :| ├── message_loc: (41,4)-(41,5) = "|" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (41,6)-(41,7)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (41,6)-(41,7)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (41,6)-(41,7)) + │ └── flags: decimal ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt index be905d2766..83e8186450 100644 --- a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt +++ b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(13,23)) └── body: (length: 7) ├── @ CallNode (location: (1,0)-(1,21)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -13,44 +15,44 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (1,7)-(1,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (1,7)-(1,9) = "do" - │ │ │ └── closing_loc: (1,10)-(1,13) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (1,7)-(1,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (1,7)-(1,9) = "do" + │ │ └── closing_loc: (1,10)-(1,13) = "end" │ ├── call_operator_loc: (1,13)-(1,14) = "." │ ├── name: :fun │ ├── message_loc: (1,14)-(1,17) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,18)-(1,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,18)-(1,21)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (1,18)-(1,21) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,18)-(1,21)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,18)-(1,21) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,28)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -58,51 +60,51 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,5)-(3,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,5)-(3,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,5)-(3,6)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (3,7)-(3,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (3,7)-(3,9) = "do" - │ │ │ └── closing_loc: (3,10)-(3,13) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (3,7)-(3,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (3,7)-(3,9) = "do" + │ │ └── closing_loc: (3,10)-(3,13) = "end" │ ├── call_operator_loc: (3,13)-(3,14) = "." │ ├── name: :fun │ ├── message_loc: (3,14)-(3,17) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,18)-(3,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,18)-(3,21)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (3,18)-(3,21) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,18)-(3,21)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (3,18)-(3,21) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,22)-(3,28)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,22)-(3,24) = "do" - │ │ └── closing_loc: (3,25)-(3,28) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,22)-(3,28)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (3,22)-(3,24) = "do" + │ └── closing_loc: (3,25)-(3,28) = "end" ├── @ CallNode (location: (5,0)-(5,20)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -110,38 +112,38 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,5)-(5,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (5,5)-(5,6)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (5,7)-(5,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (5,7)-(5,9) = "do" - │ │ │ └── closing_loc: (5,10)-(5,13) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (5,7)-(5,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (5,7)-(5,9) = "do" + │ │ └── closing_loc: (5,10)-(5,13) = "end" │ ├── call_operator_loc: (5,13)-(5,14) = "." │ ├── name: :fun │ ├── message_loc: (5,14)-(5,17) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (5,18)-(5,20)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,18)-(5,19) = "{" - │ │ └── closing_loc: (5,19)-(5,20) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,18)-(5,20)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (5,18)-(5,19) = "{" + │ └── closing_loc: (5,19)-(5,20) = "}" ├── @ CallNode (location: (7,0)-(7,22)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -149,44 +151,44 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,5)-(7,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (7,5)-(7,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (7,5)-(7,6)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (7,7)-(7,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (7,7)-(7,9) = "do" - │ │ │ └── closing_loc: (7,10)-(7,13) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (7,7)-(7,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (7,7)-(7,9) = "do" + │ │ └── closing_loc: (7,10)-(7,13) = "end" │ ├── call_operator_loc: (7,13)-(7,14) = "." │ ├── name: :fun │ ├── message_loc: (7,14)-(7,17) = "fun" │ ├── opening_loc: (7,17)-(7,18) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (7,18)-(7,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (7,18)-(7,21)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (7,18)-(7,21) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (7,18)-(7,21)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (7,18)-(7,21) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (7,21)-(7,22) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,25)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -194,51 +196,51 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (9,5)-(9,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (9,5)-(9,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (9,5)-(9,6)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (9,7)-(9,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (9,7)-(9,9) = "do" - │ │ │ └── closing_loc: (9,10)-(9,13) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (9,7)-(9,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (9,7)-(9,9) = "do" + │ │ └── closing_loc: (9,10)-(9,13) = "end" │ ├── call_operator_loc: (9,13)-(9,14) = "." │ ├── name: :fun │ ├── message_loc: (9,14)-(9,17) = "fun" │ ├── opening_loc: (9,17)-(9,18) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (9,18)-(9,21)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (9,18)-(9,21)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (9,18)-(9,21) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (9,18)-(9,21)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (9,18)-(9,21) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: (9,21)-(9,22) = ")" - │ ├── block: - │ │ @ BlockNode (location: (9,23)-(9,25)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (9,23)-(9,24) = "{" - │ │ └── closing_loc: (9,24)-(9,25) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (9,23)-(9,25)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (9,23)-(9,24) = "{" + │ └── closing_loc: (9,24)-(9,25) = "}" ├── @ CallNode (location: (11,0)-(11,22)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,13)) + │ │ ├── flags: ∅ │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -246,44 +248,44 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (11,5)-(11,6)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (11,5)-(11,6)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (11,5)-(11,6)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: - │ │ │ @ BlockNode (location: (11,7)-(11,13)) - │ │ │ ├── locals: [] - │ │ │ ├── locals_body_index: 0 - │ │ │ ├── parameters: ∅ - │ │ │ ├── body: ∅ - │ │ │ ├── opening_loc: (11,7)-(11,9) = "do" - │ │ │ └── closing_loc: (11,10)-(11,13) = "end" - │ │ └── flags: ∅ + │ │ └── block: + │ │ @ BlockNode (location: (11,7)-(11,13)) + │ │ ├── locals: [] + │ │ ├── locals_body_index: 0 + │ │ ├── parameters: ∅ + │ │ ├── body: ∅ + │ │ ├── opening_loc: (11,7)-(11,9) = "do" + │ │ └── closing_loc: (11,10)-(11,13) = "end" │ ├── call_operator_loc: (11,13)-(11,15) = "::" │ ├── name: :fun │ ├── message_loc: (11,15)-(11,18) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (11,19)-(11,22)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (11,19)-(11,22)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (11,19)-(11,22) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (11,19)-(11,22)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (11,19)-(11,22) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (13,0)-(13,23)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (13,0)-(13,13)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -291,38 +293,36 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (13,5)-(13,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (13,5)-(13,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (13,5)-(13,6)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (13,7)-(13,13)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (13,7)-(13,9) = "do" - │ │ └── closing_loc: (13,10)-(13,13) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (13,7)-(13,13)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (13,7)-(13,9) = "do" + │ └── closing_loc: (13,10)-(13,13) = "end" ├── call_operator_loc: (13,13)-(13,15) = "::" ├── name: :fun ├── message_loc: (13,15)-(13,18) = "fun" ├── opening_loc: (13,18)-(13,19) = "(" ├── arguments: │ @ ArgumentsNode (location: (13,19)-(13,22)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (13,19)-(13,22)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (13,19)-(13,22) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (13,19)-(13,22)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (13,19)-(13,22) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (13,22)-(13,23) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_block_conditional.txt b/test/prism/snapshots/whitequark/send_block_conditional.txt index 342fa4c98c..9b6b288434 100644 --- a/test/prism/snapshots/whitequark/send_block_conditional.txt +++ b/test/prism/snapshots/whitequark/send_block_conditional.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,20 +15,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,3)-(1,5) = "&." ├── name: :bar ├── message_loc: (1,5)-(1,8) = "bar" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,9)-(1,11)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,9)-(1,10) = "{" - │ └── closing_loc: (1,10)-(1,11) = "}" - └── flags: safe_navigation + └── block: + @ BlockNode (location: (1,9)-(1,11)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,9)-(1,10) = "{" + └── closing_loc: (1,10)-(1,11) = "}" diff --git a/test/prism/snapshots/whitequark/send_call.txt b/test/prism/snapshots/whitequark/send_call.txt index 38d9f0dc6b..0135a5d854 100644 --- a/test/prism/snapshots/whitequark/send_call.txt +++ b/test/prism/snapshots/whitequark/send_call.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(3,8)) └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,24 +15,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (1,4)-(1,5) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,5)-(1,6)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal │ ├── closing_loc: (1,6)-(1,7) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,8)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -38,18 +40,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (3,3)-(3,5) = "::" ├── name: :call ├── message_loc: ∅ ├── opening_loc: (3,5)-(3,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (3,6)-(3,7)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (3,6)-(3,7)) + │ └── flags: decimal ├── closing_loc: (3,7)-(3,8) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_conditional.txt b/test/prism/snapshots/whitequark/send_conditional.txt index 108c6ca820..a6ba52bede 100644 --- a/test/prism/snapshots/whitequark/send_conditional.txt +++ b/test/prism/snapshots/whitequark/send_conditional.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,4)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,13 +15,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: safe_navigation + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index.txt b/test/prism/snapshots/whitequark/send_index.txt index 25a2c8dcff..df9ed12a3a 100644 --- a/test/prism/snapshots/whitequark/send_index.txt +++ b/test/prism/snapshots/whitequark/send_index.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,20 +15,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_asgn.txt b/test/prism/snapshots/whitequark/send_index_asgn.txt index 54905e5874..3f550ea420 100644 --- a/test/prism/snapshots/whitequark/send_index_asgn.txt +++ b/test/prism/snapshots/whitequark/send_index_asgn.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,22 +15,20 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[]= ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,13)) - │ ├── arguments: (length: 3) - │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ ├── @ IntegerNode (location: (1,7)-(1,8)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,12)-(1,13)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt index 54905e5874..3f550ea420 100644 --- a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt +++ b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,13)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,22 +15,20 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[]= ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,13)) - │ ├── arguments: (length: 3) - │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ ├── @ IntegerNode (location: (1,7)-(1,8)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,12)-(1,13)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_cmd.txt b/test/prism/snapshots/whitequark/send_index_cmd.txt index e7df6237bc..e1a6caa7ad 100644 --- a/test/prism/snapshots/whitequark/send_index_cmd.txt +++ b/test/prism/snapshots/whitequark/send_index_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,39 +15,37 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,3)-(1,10) = "[m bar]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,9)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,4)-(1,9)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :m - │ │ ├── message_loc: (1,4)-(1,5) = "m" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: - │ │ │ @ ArgumentsNode (location: (1,6)-(1,9)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) - │ │ │ │ ├── receiver: ∅ - │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ ├── name: :bar - │ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar" - │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ ├── arguments: ∅ - │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call - │ │ │ └── flags: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :m + │ ├── message_loc: (1,4)-(1,5) = "m" + │ ├── opening_loc: ∅ + │ ├── arguments: + │ │ @ ArgumentsNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,6)-(1,9) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: (1,9)-(1,10) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_legacy.txt b/test/prism/snapshots/whitequark/send_index_legacy.txt index 25a2c8dcff..df9ed12a3a 100644 --- a/test/prism/snapshots/whitequark/send_index_legacy.txt +++ b/test/prism/snapshots/whitequark/send_index_legacy.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -13,20 +15,18 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,8)) - │ ├── arguments: (length: 2) - │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ IntegerNode (location: (1,4)-(1,5)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (1,7)-(1,8)) + │ └── flags: decimal ├── closing_loc: (1,8)-(1,9) = "]" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt index 300b779609..a8d1e7ea83 100644 --- a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt +++ b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(1,10)) └── body: (length: 1) └── @ CallAndWriteNode (location: (1,0)-(1,10)) + ├── flags: safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -13,11 +15,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (1,1)-(1,3) = "&." ├── message_loc: (1,3)-(1,4) = "b" - ├── flags: safe_navigation ├── read_name: :b ├── write_name: :b= ├── operator_loc: (1,5)-(1,8) = "&&=" diff --git a/test/prism/snapshots/whitequark/send_plain.txt b/test/prism/snapshots/whitequark/send_plain.txt index 8f0952f44e..355f460f53 100644 --- a/test/prism/snapshots/whitequark/send_plain.txt +++ b/test/prism/snapshots/whitequark/send_plain.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,8)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,7)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,19 +15,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :fun │ ├── message_loc: (1,4)-(1,7) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -33,19 +35,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,3)-(3,5) = "::" │ ├── name: :Fun │ ├── message_loc: (3,5)-(3,8) = "Fun" │ ├── opening_loc: (3,8)-(3,9) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (3,9)-(3,10) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,8)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -53,13 +55,11 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (5,3)-(5,5) = "::" ├── name: :fun ├── message_loc: (5,5)-(5,8) = "fun" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_plain_cmd.txt b/test/prism/snapshots/whitequark/send_plain_cmd.txt index 35c8591e2a..e1ab3b8f2f 100644 --- a/test/prism/snapshots/whitequark/send_plain_cmd.txt +++ b/test/prism/snapshots/whitequark/send_plain_cmd.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,12)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,11)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,32 +15,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :fun │ ├── message_loc: (1,4)-(1,7) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,8)-(1,11)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (1,8)-(1,11) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,8)-(1,11)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (1,8)-(1,11) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,12)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -46,32 +48,32 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,3)-(3,5) = "::" │ ├── name: :Fun │ ├── message_loc: (3,5)-(3,8) = "Fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,9)-(3,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,9)-(3,12)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :bar - │ │ │ ├── message_loc: (3,9)-(3,12) = "bar" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,9)-(3,12)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar + │ │ ├── message_loc: (3,9)-(3,12) = "bar" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,12)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -79,26 +81,24 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── call_operator_loc: (5,3)-(5,5) = "::" ├── name: :fun ├── message_loc: (5,5)-(5,8) = "fun" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (5,9)-(5,12)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (5,9)-(5,12)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (5,9)-(5,12) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (5,9)-(5,12)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (5,9)-(5,12) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_self.txt b/test/prism/snapshots/whitequark/send_self.txt index 05176094f0..cc87037252 100644 --- a/test/prism/snapshots/whitequark/send_self.txt +++ b/test/prism/snapshots/whitequark/send_self.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,6)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,9 +12,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,4)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun! @@ -21,9 +22,9 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,6)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -31,10 +32,9 @@ ├── opening_loc: (5,3)-(5,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (5,4)-(5,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (5,4)-(5,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (5,4)-(5,5)) + │ └── flags: decimal ├── closing_loc: (5,5)-(5,6) = ")" - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_self_block.txt b/test/prism/snapshots/whitequark/send_self_block.txt index ced9119179..d66949ac36 100644 --- a/test/prism/snapshots/whitequark/send_self_block.txt +++ b/test/prism/snapshots/whitequark/send_self_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(7,10)) └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,10)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -11,16 +12,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,4)-(1,10)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,4)-(1,6) = "do" - │ │ └── closing_loc: (1,7)-(1,10) = "end" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,4)-(1,10)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,4)-(1,6) = "do" + │ └── closing_loc: (1,7)-(1,10) = "end" ├── @ CallNode (location: (3,0)-(3,7)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -28,16 +29,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,4)-(3,7)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,4)-(3,5) = "{" - │ │ └── closing_loc: (3,6)-(3,7) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,4)-(3,7)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (3,4)-(3,5) = "{" + │ └── closing_loc: (3,6)-(3,7) = "}" ├── @ CallNode (location: (5,0)-(5,9)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -45,16 +46,16 @@ │ ├── opening_loc: (5,3)-(5,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (5,4)-(5,5) = ")" - │ ├── block: - │ │ @ BlockNode (location: (5,6)-(5,9)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (5,6)-(5,7) = "{" - │ │ └── closing_loc: (5,8)-(5,9) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (5,6)-(5,9)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (5,6)-(5,7) = "{" + │ └── closing_loc: (5,8)-(5,9) = "}" └── @ CallNode (location: (7,0)-(7,10)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -62,17 +63,16 @@ ├── opening_loc: (7,3)-(7,4) = "(" ├── arguments: │ @ ArgumentsNode (location: (7,4)-(7,5)) - │ ├── arguments: (length: 1) - │ │ └── @ IntegerNode (location: (7,4)-(7,5)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ IntegerNode (location: (7,4)-(7,5)) + │ └── flags: decimal ├── closing_loc: (7,5)-(7,6) = ")" - ├── block: - │ @ BlockNode (location: (7,7)-(7,10)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (7,7)-(7,8) = "{" - │ └── closing_loc: (7,9)-(7,10) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (7,7)-(7,10)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (7,7)-(7,8) = "{" + └── closing_loc: (7,9)-(7,10) = "}" diff --git a/test/prism/snapshots/whitequark/send_unary_op.txt b/test/prism/snapshots/whitequark/send_unary_op.txt index 5029e64bd9..163146793d 100644 --- a/test/prism/snapshots/whitequark/send_unary_op.txt +++ b/test/prism/snapshots/whitequark/send_unary_op.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,4)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,1)-(1,4)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,19 +15,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :+@ │ ├── message_loc: (1,0)-(1,1) = "+" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,4)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,1)-(3,4)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -33,19 +35,19 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :-@ │ ├── message_loc: (3,0)-(3,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,4)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (5,1)-(5,4)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -53,13 +55,11 @@ │ ├── 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: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg.txt b/test/prism/snapshots/whitequark/space_args_arg.txt index 4c27ecc56e..a116b67b1b 100644 --- a/test/prism/snapshots/whitequark/space_args_arg.txt +++ b/test/prism/snapshots/whitequark/space_args_arg.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,7)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,16 +12,15 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,7)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,7)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,5)-(1,6)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,6)-(1,7) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,7)) + │ ├── body: + │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,6)-(1,7) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg_block.txt b/test/prism/snapshots/whitequark/space_args_arg_block.txt index f0fe516ca2..cb5dd7281c 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_block.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_block.txt @@ -4,8 +4,10 @@ @ StatementsNode (location: (1,0)-(5,10)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,14)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -13,37 +15,37 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── name: :fun │ ├── message_loc: (1,4)-(1,7) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,11)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,11)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (1,9)-(1,10)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (1,8)-(1,9) = "(" - │ │ │ └── closing_loc: (1,10)-(1,11) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (1,8)-(1,11)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (1,9)-(1,10)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,9)-(1,10)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (1,8)-(1,9) = "(" + │ │ └── closing_loc: (1,10)-(1,11) = ")" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (1,12)-(1,14)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,12)-(1,13) = "{" - │ │ └── closing_loc: (1,13)-(1,14) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (1,12)-(1,14)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (1,12)-(1,13) = "{" + │ └── closing_loc: (1,13)-(1,14) = "}" ├── @ CallNode (location: (3,0)-(3,15)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -51,35 +53,34 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── call_operator_loc: (3,3)-(3,5) = "::" │ ├── name: :fun │ ├── message_loc: (3,5)-(3,8) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,9)-(3,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ ParenthesesNode (location: (3,9)-(3,12)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (3,10)-(3,11)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,10)-(3,11)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (3,9)-(3,10) = "(" - │ │ │ └── closing_loc: (3,11)-(3,12) = ")" - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ ParenthesesNode (location: (3,9)-(3,12)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (3,10)-(3,11)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,10)-(3,11)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (3,9)-(3,10) = "(" + │ │ └── closing_loc: (3,11)-(3,12) = ")" │ ├── closing_loc: ∅ - │ ├── block: - │ │ @ BlockNode (location: (3,13)-(3,15)) - │ │ ├── locals: [] - │ │ ├── locals_body_index: 0 - │ │ ├── parameters: ∅ - │ │ ├── body: ∅ - │ │ ├── opening_loc: (3,13)-(3,14) = "{" - │ │ └── closing_loc: (3,14)-(3,15) = "}" - │ └── flags: ∅ + │ └── block: + │ @ BlockNode (location: (3,13)-(3,15)) + │ ├── locals: [] + │ ├── locals_body_index: 0 + │ ├── parameters: ∅ + │ ├── body: ∅ + │ ├── opening_loc: (3,13)-(3,14) = "{" + │ └── closing_loc: (3,14)-(3,15) = "}" └── @ CallNode (location: (5,0)-(5,10)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -87,23 +88,22 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (5,4)-(5,7)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (5,4)-(5,7)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (5,5)-(5,6)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (5,4)-(5,5) = "(" - │ │ └── closing_loc: (5,6)-(5,7) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (5,4)-(5,7)) + │ ├── body: + │ │ @ StatementsNode (location: (5,5)-(5,6)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (5,5)-(5,6)) + │ │ └── flags: decimal + │ ├── opening_loc: (5,4)-(5,5) = "(" + │ └── closing_loc: (5,6)-(5,7) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (5,8)-(5,10)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (5,8)-(5,9) = "{" - │ └── closing_loc: (5,9)-(5,10) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (5,8)-(5,10)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (5,8)-(5,9) = "{" + └── closing_loc: (5,9)-(5,10) = "}" diff --git a/test/prism/snapshots/whitequark/space_args_arg_call.txt b/test/prism/snapshots/whitequark/space_args_arg_call.txt index 6dbd68292b..f1339b89fa 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_call.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_call.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,12)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,26 +12,25 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,12)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (1,4)-(1,12)) - │ │ ├── receiver: - │ │ │ @ ParenthesesNode (location: (1,4)-(1,7)) - │ │ │ ├── body: - │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) - │ │ │ │ └── body: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ │ └── flags: decimal - │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ │ └── closing_loc: (1,6)-(1,7) = ")" - │ │ ├── call_operator_loc: (1,7)-(1,8) = "." - │ │ ├── name: :to_i - │ │ ├── message_loc: (1,8)-(1,12) = "to_i" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ + │ ├── receiver: + │ │ @ ParenthesesNode (location: (1,4)-(1,7)) + │ │ ├── body: + │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ │ │ └── flags: decimal + │ │ ├── opening_loc: (1,4)-(1,5) = "(" + │ │ └── closing_loc: (1,6)-(1,7) = ")" + │ ├── call_operator_loc: (1,7)-(1,8) = "." + │ ├── name: :to_i + │ ├── message_loc: (1,8)-(1,12) = "to_i" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg_newline.txt b/test/prism/snapshots/whitequark/space_args_arg_newline.txt index 328bfa73b8..68bf503bc7 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_newline.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_newline.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(2,1)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,1)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,16 +12,15 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(2,1)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(2,1)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,5)-(1,6)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ └── flags: decimal - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (2,0)-(2,1) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(2,1)) + │ ├── body: + │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ └── body: (length: 1) + │ │ └── @ IntegerNode (location: (1,5)-(1,6)) + │ │ └── flags: decimal + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (2,0)-(2,1) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_block.txt b/test/prism/snapshots/whitequark/space_args_block.txt index a90c1acc59..da513176a3 100644 --- a/test/prism/snapshots/whitequark/space_args_block.txt +++ b/test/prism/snapshots/whitequark/space_args_block.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,9)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,19 +12,18 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,6)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,6)) - │ │ ├── body: ∅ - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,5)-(1,6) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,6)) + │ ├── body: ∅ + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,5)-(1,6) = ")" ├── closing_loc: ∅ - ├── block: - │ @ BlockNode (location: (1,7)-(1,9)) - │ ├── locals: [] - │ ├── locals_body_index: 0 - │ ├── parameters: ∅ - │ ├── body: ∅ - │ ├── opening_loc: (1,7)-(1,8) = "{" - │ └── closing_loc: (1,8)-(1,9) = "}" - └── flags: ∅ + └── block: + @ BlockNode (location: (1,7)-(1,9)) + ├── locals: [] + ├── locals_body_index: 0 + ├── parameters: ∅ + ├── body: ∅ + ├── opening_loc: (1,7)-(1,8) = "{" + └── closing_loc: (1,8)-(1,9) = "}" diff --git a/test/prism/snapshots/whitequark/space_args_cmd.txt b/test/prism/snapshots/whitequark/space_args_cmd.txt index 1d58f4bd2c..7cc14caaf3 100644 --- a/test/prism/snapshots/whitequark/space_args_cmd.txt +++ b/test/prism/snapshots/whitequark/space_args_cmd.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(1,11)) └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) + ├── flags: ∅ ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -11,37 +12,36 @@ ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,4)-(1,11)) - │ ├── arguments: (length: 1) - │ │ └── @ ParenthesesNode (location: (1,4)-(1,11)) - │ │ ├── body: - │ │ │ @ StatementsNode (location: (1,5)-(1,10)) - │ │ │ └── body: (length: 1) - │ │ │ └── @ CallNode (location: (1,5)-(1,10)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :f - │ │ │ ├── message_loc: (1,5)-(1,6) = "f" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: - │ │ │ │ @ ArgumentsNode (location: (1,7)-(1,10)) - │ │ │ │ ├── arguments: (length: 1) - │ │ │ │ │ └── @ CallNode (location: (1,7)-(1,10)) - │ │ │ │ │ ├── receiver: ∅ - │ │ │ │ │ ├── call_operator_loc: ∅ - │ │ │ │ │ ├── name: :bar - │ │ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar" - │ │ │ │ │ ├── opening_loc: ∅ - │ │ │ │ │ ├── arguments: ∅ - │ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ └── flags: variable_call - │ │ │ │ └── flags: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: ∅ - │ │ ├── opening_loc: (1,4)-(1,5) = "(" - │ │ └── closing_loc: (1,10)-(1,11) = ")" - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ ParenthesesNode (location: (1,4)-(1,11)) + │ ├── body: + │ │ @ StatementsNode (location: (1,5)-(1,10)) + │ │ └── body: (length: 1) + │ │ └── @ CallNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :f + │ │ ├── message_loc: (1,5)-(1,6) = "f" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: + │ │ │ @ ArgumentsNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ CallNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: variable_call + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar + │ │ │ ├── message_loc: (1,7)-(1,10) = "bar" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── block: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ ├── opening_loc: (1,4)-(1,5) = "(" + │ └── closing_loc: (1,10)-(1,11) = ")" ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/string_interp.txt b/test/prism/snapshots/whitequark/string_interp.txt index bd97411d7a..90a4ee5a70 100644 --- a/test/prism/snapshots/whitequark/string_interp.txt +++ b/test/prism/snapshots/whitequark/string_interp.txt @@ -18,6 +18,7 @@ │ │ │ @ StatementsNode (location: (1,6)-(1,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -25,8 +26,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/super.txt b/test/prism/snapshots/whitequark/super.txt index dd02255c9f..4cd4a940dc 100644 --- a/test/prism/snapshots/whitequark/super.txt +++ b/test/prism/snapshots/whitequark/super.txt @@ -8,18 +8,18 @@ │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,6)-(1,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (1,6)-(1,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (1,6)-(1,9) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (1,6)-(1,9) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ ├── rparen_loc: ∅ │ └── block: ∅ ├── @ SuperNode (location: (3,0)-(3,7)) @@ -33,17 +33,17 @@ ├── lparen_loc: (5,5)-(5,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (5,6)-(5,9)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (5,6)-(5,9)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (5,6)-(5,9) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (5,6)-(5,9)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (5,6)-(5,9) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── rparen_loc: (5,9)-(5,10) = ")" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/super_block.txt b/test/prism/snapshots/whitequark/super_block.txt index 5ba13580d6..0ad1f04bd2 100644 --- a/test/prism/snapshots/whitequark/super_block.txt +++ b/test/prism/snapshots/whitequark/super_block.txt @@ -17,28 +17,28 @@ ├── lparen_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (3,6)-(3,14)) - │ ├── arguments: (length: 2) - │ │ ├── @ CallNode (location: (3,6)-(3,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,6)-(3,9) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── @ CallNode (location: (3,11)-(3,14)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :bar - │ │ ├── message_loc: (3,11)-(3,14) = "bar" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 2) + │ ├── @ CallNode (location: (3,6)-(3,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,6)-(3,9) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ + │ └── @ CallNode (location: (3,11)-(3,14)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (3,11)-(3,14) = "bar" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ ├── rparen_loc: ∅ └── block: @ BlockNode (location: (3,15)-(3,21)) diff --git a/test/prism/snapshots/whitequark/symbol_interp.txt b/test/prism/snapshots/whitequark/symbol_interp.txt index 7443086fb5..dac34b63bc 100644 --- a/test/prism/snapshots/whitequark/symbol_interp.txt +++ b/test/prism/snapshots/whitequark/symbol_interp.txt @@ -18,6 +18,7 @@ │ │ │ @ StatementsNode (location: (1,7)-(1,10)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -25,8 +26,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,10)-(1,11) = "}" │ └── @ StringNode (location: (1,11)-(1,14)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ternary.txt b/test/prism/snapshots/whitequark/ternary.txt index 4fec364c5b..913f1227ff 100644 --- a/test/prism/snapshots/whitequark/ternary.txt +++ b/test/prism/snapshots/whitequark/ternary.txt @@ -7,6 +7,7 @@ ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,8 +15,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: (1,4)-(1,5) = "?" ├── statements: │ @ StatementsNode (location: (1,6)-(1,7)) diff --git a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt index f4d0736ca4..faf7a0c36b 100644 --- a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt +++ b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt @@ -19,6 +19,7 @@ │ │ @ StatementsNode (location: (1,5)-(1,8)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,8)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -26,8 +27,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (1,8)-(1,9) = ")" ├── then_keyword_loc: (1,9)-(1,10) = "?" diff --git a/test/prism/snapshots/whitequark/trailing_forward_arg.txt b/test/prism/snapshots/whitequark/trailing_forward_arg.txt index ddca7304b8..0c27ddd67e 100644 --- a/test/prism/snapshots/whitequark/trailing_forward_arg.txt +++ b/test/prism/snapshots/whitequark/trailing_forward_arg.txt @@ -25,6 +25,7 @@ │ @ StatementsNode (location: (1,20)-(1,35)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,20)-(1,35)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -32,17 +33,16 @@ │ ├── opening_loc: (1,23)-(1,24) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (1,24)-(1,34)) - │ │ ├── arguments: (length: 3) - │ │ │ ├── @ LocalVariableReadNode (location: (1,24)-(1,25)) - │ │ │ │ ├── name: :a - │ │ │ │ └── depth: 0 - │ │ │ ├── @ IntegerNode (location: (1,27)-(1,29)) - │ │ │ │ └── flags: decimal - │ │ │ └── @ ForwardingArgumentsNode (location: (1,31)-(1,34)) - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 3) + │ │ ├── @ LocalVariableReadNode (location: (1,24)-(1,25)) + │ │ │ ├── name: :a + │ │ │ └── depth: 0 + │ │ ├── @ IntegerNode (location: (1,27)-(1,29)) + │ │ │ └── flags: decimal + │ │ └── @ ForwardingArgumentsNode (location: (1,31)-(1,34)) │ ├── closing_loc: (1,34)-(1,35) = ")" - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── locals: [:a, :b, :"..."] ├── locals_body_index: 3 ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt index 4e5d010e71..4bc54ba22c 100644 --- a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt +++ b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt @@ -4,6 +4,7 @@ @ StatementsNode (location: (1,0)-(5,10)) └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ FloatNode (location: (1,0)-(1,4)) │ ├── call_operator_loc: ∅ @@ -12,16 +13,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,8)-(1,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (1,8)-(1,10)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (1,8)-(1,10)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ CallNode (location: (3,1)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (3,1)-(3,2)) │ │ │ └── flags: decimal @@ -31,24 +33,24 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,6)-(3,8)) - │ │ │ ├── arguments: (length: 1) - │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,8)) - │ │ │ │ └── flags: decimal - │ │ │ └── flags: ∅ + │ │ │ ├── flags: ∅ + │ │ │ └── arguments: (length: 1) + │ │ │ └── @ IntegerNode (location: (3,6)-(3,8)) + │ │ │ └── flags: decimal │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: ∅ + │ │ └── block: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :-@ │ ├── message_loc: (3,0)-(3,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,10)) + ├── flags: ∅ ├── receiver: │ @ CallNode (location: (5,1)-(5,10)) + │ ├── flags: ∅ │ ├── receiver: │ │ @ FloatNode (location: (5,1)-(5,4)) │ ├── call_operator_loc: ∅ @@ -57,18 +59,16 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (5,8)-(5,10)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,8)-(5,10)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,8)-(5,10)) + │ │ └── flags: decimal │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── call_operator_loc: ∅ ├── name: :-@ ├── message_loc: (5,0)-(5,1) = "-" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ - ├── block: ∅ - └── flags: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/unless.txt b/test/prism/snapshots/whitequark/unless.txt index 602b2d06ec..d9261db337 100644 --- a/test/prism/snapshots/whitequark/unless.txt +++ b/test/prism/snapshots/whitequark/unless.txt @@ -7,6 +7,7 @@ │ ├── keyword_loc: (1,0)-(1,6) = "unless" │ ├── predicate: │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -14,13 +15,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,11)-(1,15) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,19)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -28,14 +29,14 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: (1,21)-(1,24) = "end" └── @ UnlessNode (location: (3,0)-(3,20)) ├── keyword_loc: (3,0)-(3,6) = "unless" ├── predicate: │ @ CallNode (location: (3,7)-(3,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -43,13 +44,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,12)-(3,15)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,12)-(3,15)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -57,7 +58,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: (3,17)-(3,20) = "end" diff --git a/test/prism/snapshots/whitequark/unless_else.txt b/test/prism/snapshots/whitequark/unless_else.txt index 66ef26875a..78f942fcca 100644 --- a/test/prism/snapshots/whitequark/unless_else.txt +++ b/test/prism/snapshots/whitequark/unless_else.txt @@ -7,6 +7,7 @@ │ ├── keyword_loc: (1,0)-(1,6) = "unless" │ ├── predicate: │ │ @ CallNode (location: (1,7)-(1,10)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -14,13 +15,13 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── then_keyword_loc: (1,11)-(1,15) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,19)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -28,8 +29,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,21)-(1,34)) │ │ ├── else_keyword_loc: (1,21)-(1,25) = "else" @@ -37,6 +37,7 @@ │ │ │ @ StatementsNode (location: (1,26)-(1,29)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,26)-(1,29)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -44,14 +45,14 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── end_keyword_loc: (1,31)-(1,34) = "end" │ └── end_keyword_loc: (1,31)-(1,34) = "end" └── @ UnlessNode (location: (3,0)-(3,30)) ├── keyword_loc: (3,0)-(3,6) = "unless" ├── predicate: │ @ CallNode (location: (3,7)-(3,10)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -59,13 +60,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,12)-(3,15)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,12)-(3,15)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -73,8 +74,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (3,17)-(3,30)) │ ├── else_keyword_loc: (3,17)-(3,21) = "else" @@ -82,6 +82,7 @@ │ │ @ StatementsNode (location: (3,22)-(3,25)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,22)-(3,25)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -89,7 +90,6 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── end_keyword_loc: (3,27)-(3,30) = "end" └── end_keyword_loc: (3,27)-(3,30) = "end" diff --git a/test/prism/snapshots/whitequark/unless_mod.txt b/test/prism/snapshots/whitequark/unless_mod.txt index 734cfd3cbf..bccbeb0b5a 100644 --- a/test/prism/snapshots/whitequark/unless_mod.txt +++ b/test/prism/snapshots/whitequark/unless_mod.txt @@ -7,6 +7,7 @@ ├── keyword_loc: (1,4)-(1,10) = "unless" ├── predicate: │ @ CallNode (location: (1,11)-(1,14)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,13 +15,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,3)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,3)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -28,7 +29,6 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/until.txt b/test/prism/snapshots/whitequark/until.txt index 09f943a787..78b8c7dbc8 100644 --- a/test/prism/snapshots/whitequark/until.txt +++ b/test/prism/snapshots/whitequark/until.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(3,19)) └── body: (length: 2) ├── @ UntilNode (location: (1,0)-(1,21)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "until" │ ├── closing_loc: (1,18)-(1,21) = "end" │ ├── predicate: │ │ @ CallNode (location: (1,6)-(1,9)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -15,27 +17,27 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── statements: - │ │ @ StatementsNode (location: (1,13)-(1,17)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,13)-(1,17)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :meth - │ │ ├── message_loc: (1,13)-(1,17) = "meth" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (1,13)-(1,17)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,13)-(1,17)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :meth + │ ├── message_loc: (1,13)-(1,17) = "meth" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ └── @ UntilNode (location: (3,0)-(3,19)) + ├── flags: ∅ ├── keyword_loc: (3,0)-(3,5) = "until" ├── closing_loc: (3,16)-(3,19) = "end" ├── predicate: │ @ CallNode (location: (3,6)-(3,9)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -43,19 +45,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - ├── statements: - │ @ StatementsNode (location: (3,11)-(3,15)) - │ └── body: (length: 1) - │ └── @ CallNode (location: (3,11)-(3,15)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :meth - │ ├── message_loc: (3,11)-(3,15) = "meth" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (3,11)-(3,15)) + └── body: (length: 1) + └── @ CallNode (location: (3,11)-(3,15)) + ├── flags: variable_call + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :meth + ├── message_loc: (3,11)-(3,15) = "meth" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/until_mod.txt b/test/prism/snapshots/whitequark/until_mod.txt index 11745900e5..07f1817b08 100644 --- a/test/prism/snapshots/whitequark/until_mod.txt +++ b/test/prism/snapshots/whitequark/until_mod.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ UntilNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── keyword_loc: (1,5)-(1,10) = "until" ├── closing_loc: ∅ ├── predicate: │ @ CallNode (location: (1,11)-(1,14)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,19 +17,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - ├── statements: - │ @ StatementsNode (location: (1,0)-(1,4)) - │ └── body: (length: 1) - │ └── @ CallNode (location: (1,0)-(1,4)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :meth - │ ├── message_loc: (1,0)-(1,4) = "meth" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (1,0)-(1,4)) + └── body: (length: 1) + └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: variable_call + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :meth + ├── message_loc: (1,0)-(1,4) = "meth" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/until_post.txt b/test/prism/snapshots/whitequark/until_post.txt index 2bedb9f411..2aff618af3 100644 --- a/test/prism/snapshots/whitequark/until_post.txt +++ b/test/prism/snapshots/whitequark/until_post.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(1,24)) └── body: (length: 1) └── @ UntilNode (location: (1,0)-(1,24)) + ├── flags: begin_modifier ├── keyword_loc: (1,15)-(1,20) = "until" ├── closing_loc: ∅ ├── predicate: │ @ CallNode (location: (1,21)-(1,24)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,28 +17,26 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - ├── statements: - │ @ StatementsNode (location: (1,0)-(1,14)) - │ └── body: (length: 1) - │ └── @ BeginNode (location: (1,0)-(1,14)) - │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" - │ ├── statements: - │ │ @ StatementsNode (location: (1,6)-(1,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,6)-(1,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :meth - │ │ ├── message_loc: (1,6)-(1,10) = "meth" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── rescue_clause: ∅ - │ ├── else_clause: ∅ - │ ├── ensure_clause: ∅ - │ └── end_keyword_loc: (1,11)-(1,14) = "end" - └── flags: begin_modifier + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (1,0)-(1,14)) + └── body: (length: 1) + └── @ BeginNode (location: (1,0)-(1,14)) + ├── begin_keyword_loc: (1,0)-(1,5) = "begin" + ├── statements: + │ @ StatementsNode (location: (1,6)-(1,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,6)-(1,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :meth + │ ├── message_loc: (1,6)-(1,10) = "meth" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── rescue_clause: ∅ + ├── else_clause: ∅ + ├── ensure_clause: ∅ + └── end_keyword_loc: (1,11)-(1,14) = "end" diff --git a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt index 805e47ceb6..4e574f8db2 100644 --- a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt @@ -8,6 +8,7 @@ ├── operator_loc: (1,4)-(1,6) = "+=" ├── value: │ @ CallNode (location: (1,7)-(1,12)) + │ ├── flags: ∅ │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -15,14 +16,13 @@ │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,9)-(1,12)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ LocalVariableReadNode (location: (1,9)-(1,12)) - │ │ │ ├── name: :foo - │ │ │ └── depth: 0 - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ LocalVariableReadNode (location: (1,9)-(1,12)) + │ │ ├── name: :foo + │ │ └── depth: 0 │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: ∅ + │ └── block: ∅ ├── name: :foo ├── operator: :+ └── depth: 0 diff --git a/test/prism/snapshots/whitequark/when_multi.txt b/test/prism/snapshots/whitequark/when_multi.txt index 06f4741de9..6ae94a3fef 100644 --- a/test/prism/snapshots/whitequark/when_multi.txt +++ b/test/prism/snapshots/whitequark/when_multi.txt @@ -6,6 +6,7 @@ └── @ CaseNode (location: (1,0)-(1,37)) ├── 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: 1) │ └── @ WhenNode (location: (1,10)-(1,32)) │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -35,6 +35,7 @@ │ @ StatementsNode (location: (1,29)-(1,32)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,29)-(1,32)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -42,8 +43,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" └── end_keyword_loc: (1,34)-(1,37) = "end" diff --git a/test/prism/snapshots/whitequark/when_splat.txt b/test/prism/snapshots/whitequark/when_splat.txt index 0f373b842b..016f264744 100644 --- a/test/prism/snapshots/whitequark/when_splat.txt +++ b/test/prism/snapshots/whitequark/when_splat.txt @@ -6,6 +6,7 @@ └── @ CaseNode (location: (1,0)-(1,43)) ├── 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: 2) │ ├── @ WhenNode (location: (1,10)-(1,27)) │ │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -25,6 +25,7 @@ │ │ │ ├── operator_loc: (1,18)-(1,19) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,19)-(1,22)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -32,12 +33,12 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (1,24)-(1,27)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,24)-(1,27)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -45,8 +46,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── @ WhenNode (location: (1,29)-(1,38)) │ ├── keyword_loc: (1,29)-(1,33) = "when" │ ├── conditions: (length: 1) @@ -54,6 +54,7 @@ │ │ ├── operator_loc: (1,34)-(1,35) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,35)-(1,38)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -61,8 +62,7 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call + │ │ └── block: ∅ │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/whitequark/when_then.txt b/test/prism/snapshots/whitequark/when_then.txt index 6d5ee2196d..06b7e0ae87 100644 --- a/test/prism/snapshots/whitequark/when_then.txt +++ b/test/prism/snapshots/whitequark/when_then.txt @@ -6,6 +6,7 @@ └── @ CaseNode (location: (1,0)-(1,34)) ├── 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: 1) │ └── @ WhenNode (location: (1,10)-(1,29)) │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -29,6 +29,7 @@ │ @ StatementsNode (location: (1,26)-(1,29)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,26)-(1,29)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -36,8 +37,7 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call + │ └── block: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" └── end_keyword_loc: (1,31)-(1,34) = "end" diff --git a/test/prism/snapshots/whitequark/while.txt b/test/prism/snapshots/whitequark/while.txt index 1af1bf3088..e437a19297 100644 --- a/test/prism/snapshots/whitequark/while.txt +++ b/test/prism/snapshots/whitequark/while.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(3,19)) └── body: (length: 2) ├── @ WhileNode (location: (1,0)-(1,21)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,18)-(1,21) = "end" │ ├── predicate: │ │ @ CallNode (location: (1,6)-(1,9)) + │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -15,27 +17,27 @@ │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── statements: - │ │ @ StatementsNode (location: (1,13)-(1,17)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,13)-(1,17)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :meth - │ │ ├── message_loc: (1,13)-(1,17) = "meth" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ │ └── block: ∅ + │ └── statements: + │ @ StatementsNode (location: (1,13)-(1,17)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,13)-(1,17)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :meth + │ ├── message_loc: (1,13)-(1,17) = "meth" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ └── @ WhileNode (location: (3,0)-(3,19)) + ├── flags: ∅ ├── keyword_loc: (3,0)-(3,5) = "while" ├── closing_loc: (3,16)-(3,19) = "end" ├── predicate: │ @ CallNode (location: (3,6)-(3,9)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -43,19 +45,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - ├── statements: - │ @ StatementsNode (location: (3,11)-(3,15)) - │ └── body: (length: 1) - │ └── @ CallNode (location: (3,11)-(3,15)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :meth - │ ├── message_loc: (3,11)-(3,15) = "meth" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (3,11)-(3,15)) + └── body: (length: 1) + └── @ CallNode (location: (3,11)-(3,15)) + ├── flags: variable_call + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :meth + ├── message_loc: (3,11)-(3,15) = "meth" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/while_mod.txt b/test/prism/snapshots/whitequark/while_mod.txt index c612898fb4..b659a8f9c0 100644 --- a/test/prism/snapshots/whitequark/while_mod.txt +++ b/test/prism/snapshots/whitequark/while_mod.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) └── @ WhileNode (location: (1,0)-(1,14)) + ├── flags: ∅ ├── keyword_loc: (1,5)-(1,10) = "while" ├── closing_loc: ∅ ├── predicate: │ @ CallNode (location: (1,11)-(1,14)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,19 +17,17 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - ├── statements: - │ @ StatementsNode (location: (1,0)-(1,4)) - │ └── body: (length: 1) - │ └── @ CallNode (location: (1,0)-(1,4)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── name: :meth - │ ├── message_loc: (1,0)-(1,4) = "meth" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - └── flags: ∅ + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (1,0)-(1,4)) + └── body: (length: 1) + └── @ CallNode (location: (1,0)-(1,4)) + ├── flags: variable_call + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :meth + ├── message_loc: (1,0)-(1,4) = "meth" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + └── block: ∅ diff --git a/test/prism/snapshots/whitequark/while_post.txt b/test/prism/snapshots/whitequark/while_post.txt index 1ddaf4ea31..10f46e67e1 100644 --- a/test/prism/snapshots/whitequark/while_post.txt +++ b/test/prism/snapshots/whitequark/while_post.txt @@ -4,10 +4,12 @@ @ StatementsNode (location: (1,0)-(1,24)) └── body: (length: 1) └── @ WhileNode (location: (1,0)-(1,24)) + ├── flags: begin_modifier ├── keyword_loc: (1,15)-(1,20) = "while" ├── closing_loc: ∅ ├── predicate: │ @ CallNode (location: (1,21)-(1,24)) + │ ├── flags: variable_call │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,28 +17,26 @@ │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ └── flags: variable_call - ├── statements: - │ @ StatementsNode (location: (1,0)-(1,14)) - │ └── body: (length: 1) - │ └── @ BeginNode (location: (1,0)-(1,14)) - │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" - │ ├── statements: - │ │ @ StatementsNode (location: (1,6)-(1,10)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (1,6)-(1,10)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :meth - │ │ ├── message_loc: (1,6)-(1,10) = "meth" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ ├── rescue_clause: ∅ - │ ├── else_clause: ∅ - │ ├── ensure_clause: ∅ - │ └── end_keyword_loc: (1,11)-(1,14) = "end" - └── flags: begin_modifier + │ └── block: ∅ + └── statements: + @ StatementsNode (location: (1,0)-(1,14)) + └── body: (length: 1) + └── @ BeginNode (location: (1,0)-(1,14)) + ├── begin_keyword_loc: (1,0)-(1,5) = "begin" + ├── statements: + │ @ StatementsNode (location: (1,6)-(1,10)) + │ └── body: (length: 1) + │ └── @ CallNode (location: (1,6)-(1,10)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :meth + │ ├── message_loc: (1,6)-(1,10) = "meth" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ + ├── rescue_clause: ∅ + ├── else_clause: ∅ + ├── ensure_clause: ∅ + └── end_keyword_loc: (1,11)-(1,14) = "end" diff --git a/test/prism/snapshots/whitequark/xstring_interp.txt b/test/prism/snapshots/whitequark/xstring_interp.txt index d7bab053ee..ad81c2bc42 100644 --- a/test/prism/snapshots/whitequark/xstring_interp.txt +++ b/test/prism/snapshots/whitequark/xstring_interp.txt @@ -18,6 +18,7 @@ │ │ │ @ StatementsNode (location: (1,6)-(1,9)) │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: variable_call │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -25,8 +26,7 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call + │ │ │ └── block: ∅ │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/yield.txt b/test/prism/snapshots/whitequark/yield.txt index e219e66be4..dccc6b9df9 100644 --- a/test/prism/snapshots/whitequark/yield.txt +++ b/test/prism/snapshots/whitequark/yield.txt @@ -13,18 +13,18 @@ │ ├── lparen_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (3,6)-(3,9)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ CallNode (location: (3,6)-(3,9)) - │ │ │ ├── receiver: ∅ - │ │ │ ├── call_operator_loc: ∅ - │ │ │ ├── name: :foo - │ │ │ ├── message_loc: (3,6)-(3,9) = "foo" - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── arguments: ∅ - │ │ │ ├── closing_loc: ∅ - │ │ │ ├── block: ∅ - │ │ │ └── flags: variable_call - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ CallNode (location: (3,6)-(3,9)) + │ │ ├── flags: variable_call + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (3,6)-(3,9) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ └── block: ∅ │ └── rparen_loc: ∅ ├── @ YieldNode (location: (5,0)-(5,7)) │ ├── keyword_loc: (5,0)-(5,5) = "yield" @@ -36,16 +36,16 @@ ├── lparen_loc: (7,5)-(7,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (7,6)-(7,9)) - │ ├── arguments: (length: 1) - │ │ └── @ CallNode (location: (7,6)-(7,9)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── name: :foo - │ │ ├── message_loc: (7,6)-(7,9) = "foo" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ └── flags: variable_call - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 1) + │ └── @ CallNode (location: (7,6)-(7,9)) + │ ├── flags: variable_call + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :foo + │ ├── message_loc: (7,6)-(7,9) = "foo" + │ ├── opening_loc: ∅ + │ ├── arguments: ∅ + │ ├── closing_loc: ∅ + │ └── block: ∅ └── rparen_loc: (7,9)-(7,10) = ")" diff --git a/test/prism/snapshots/xstring.txt b/test/prism/snapshots/xstring.txt index c8dba2a652..9c73210a6b 100644 --- a/test/prism/snapshots/xstring.txt +++ b/test/prism/snapshots/xstring.txt @@ -24,6 +24,7 @@ │ │ │ │ @ StatementsNode (location: (3,7)-(3,10)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (3,7)-(3,10)) + │ │ │ │ ├── flags: variable_call │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -31,8 +32,7 @@ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ - │ │ │ │ ├── block: ∅ - │ │ │ │ └── flags: variable_call + │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (3,10)-(3,11) = "}" │ │ └── @ StringNode (location: (3,11)-(3,15)) │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/yield.txt b/test/prism/snapshots/yield.txt index bf7b1aed51..9c1fd59d34 100644 --- a/test/prism/snapshots/yield.txt +++ b/test/prism/snapshots/yield.txt @@ -18,22 +18,22 @@ │ ├── lparen_loc: (5,5)-(5,6) = "(" │ ├── arguments: │ │ @ ArgumentsNode (location: (5,6)-(5,7)) - │ │ ├── arguments: (length: 1) - │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ │ └── flags: decimal - │ │ └── flags: ∅ + │ │ ├── flags: ∅ + │ │ └── arguments: (length: 1) + │ │ └── @ IntegerNode (location: (5,6)-(5,7)) + │ │ └── flags: decimal │ └── rparen_loc: (5,7)-(5,8) = ")" └── @ YieldNode (location: (7,0)-(7,14)) ├── keyword_loc: (7,0)-(7,5) = "yield" ├── lparen_loc: (7,5)-(7,6) = "(" ├── arguments: │ @ ArgumentsNode (location: (7,6)-(7,13)) - │ ├── arguments: (length: 3) - │ │ ├── @ IntegerNode (location: (7,6)-(7,7)) - │ │ │ └── flags: decimal - │ │ ├── @ IntegerNode (location: (7,9)-(7,10)) - │ │ │ └── flags: decimal - │ │ └── @ IntegerNode (location: (7,12)-(7,13)) - │ │ └── flags: decimal - │ └── flags: ∅ + │ ├── flags: ∅ + │ └── arguments: (length: 3) + │ ├── @ IntegerNode (location: (7,6)-(7,7)) + │ │ └── flags: decimal + │ ├── @ IntegerNode (location: (7,9)-(7,10)) + │ │ └── flags: decimal + │ └── @ IntegerNode (location: (7,12)-(7,13)) + │ └── flags: decimal └── rparen_loc: (7,13)-(7,14) = ")" |