aboutsummaryrefslogtreecommitdiffstats
path: root/test/prism/snapshots/unparser/corpus/literal
diff options
context:
space:
mode:
Diffstat (limited to 'test/prism/snapshots/unparser/corpus/literal')
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/assignment.txt582
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/block.txt2148
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/case.txt140
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/class.txt44
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/control.txt198
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/def.txt104
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/defined.txt4
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/defs.txt108
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/dstr.txt244
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/flipflop.txt80
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/for.txt98
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/hookexe.txt12
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/if.txt86
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/kwbegin.txt72
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/lambda.txt80
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/literal.txt288
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/module.txt32
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/opasgn.txt266
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/pattern.txt16
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/pragma.txt4
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/range.txt16
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/rescue.txt64
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/send.txt2104
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/since/27.txt18
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/since/31.txt20
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/since/32.txt44
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/super.txt246
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/unary.txt80
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/variables.txt4
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/while.txt868
-rw-r--r--test/prism/snapshots/unparser/corpus/literal/yield.txt68
31 files changed, 4069 insertions, 4069 deletions
diff --git a/test/prism/snapshots/unparser/corpus/literal/assignment.txt b/test/prism/snapshots/unparser/corpus/literal/assignment.txt
index 7890d308b2..fc88d69c5d 100644
--- a/test/prism/snapshots/unparser/corpus/literal/assignment.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/assignment.txt
@@ -23,14 +23,14 @@
│ ├── operator_loc: (2,9)-(2,10) = "="
│ └── value:
│ @ ArrayNode (location: (2,11)-(2,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (2,12)-(2,13))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (2,15)-(2,16))
│ │ └── flags: decimal
│ ├── opening_loc: (2,11)-(2,12) = "["
- │ ├── closing_loc: (2,16)-(2,17) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (2,16)-(2,17) = "]"
├── @ MultiWriteNode (location: (3,0)-(3,13))
│ ├── lefts: (length: 2)
│ │ ├── @ MultiTargetNode (location: (3,1)-(3,5))
@@ -69,10 +69,10 @@
│ ├── operator_loc: (4,5)-(4,6) = "="
│ └── value:
│ @ ArrayNode (location: (4,7)-(4,9))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (4,7)-(4,8) = "["
- │ ├── closing_loc: (4,8)-(4,9) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (4,8)-(4,9) = "]"
├── @ MultiWriteNode (location: (5,0)-(5,15))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -88,14 +88,14 @@
│ ├── operator_loc: (5,7)-(5,8) = "="
│ └── value:
│ @ ArrayNode (location: (5,9)-(5,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (5,10)-(5,11))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (5,13)-(5,14))
│ │ └── flags: decimal
│ ├── opening_loc: (5,9)-(5,10) = "["
- │ ├── closing_loc: (5,14)-(5,15) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (5,14)-(5,15) = "]"
├── @ MultiWriteNode (location: (6,0)-(6,19))
│ ├── lefts: (length: 2)
│ │ ├── @ ClassVariableTargetNode (location: (6,1)-(6,4))
@@ -109,14 +109,14 @@
│ ├── operator_loc: (6,11)-(6,12) = "="
│ └── value:
│ @ ArrayNode (location: (6,13)-(6,19))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (6,14)-(6,15))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (6,17)-(6,18))
│ │ └── flags: decimal
│ ├── opening_loc: (6,13)-(6,14) = "["
- │ ├── closing_loc: (6,18)-(6,19) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (6,18)-(6,19) = "]"
├── @ MultiWriteNode (location: (7,0)-(7,17))
│ ├── lefts: (length: 2)
│ │ ├── @ InstanceVariableTargetNode (location: (7,1)-(7,3))
@@ -130,14 +130,14 @@
│ ├── operator_loc: (7,9)-(7,10) = "="
│ └── value:
│ @ ArrayNode (location: (7,11)-(7,17))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (7,12)-(7,13))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (7,15)-(7,16))
│ │ └── flags: decimal
│ ├── opening_loc: (7,11)-(7,12) = "["
- │ ├── closing_loc: (7,16)-(7,17) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (7,16)-(7,17) = "]"
├── @ MultiWriteNode (location: (8,0)-(8,25))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (8,1)-(8,2))
@@ -162,21 +162,21 @@
│ ├── operator_loc: (8,12)-(8,13) = "="
│ └── value:
│ @ ArrayNode (location: (8,14)-(8,25))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (8,15)-(8,16))
│ │ │ └── flags: decimal
│ │ └── @ ArrayNode (location: (8,18)-(8,24))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (8,19)-(8,20))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (8,22)-(8,23))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (8,18)-(8,19) = "["
- │ │ ├── closing_loc: (8,23)-(8,24) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (8,23)-(8,24) = "]"
│ ├── opening_loc: (8,14)-(8,15) = "["
- │ ├── closing_loc: (8,24)-(8,25) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (8,24)-(8,25) = "]"
├── @ MultiWriteNode (location: (9,0)-(9,15))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (9,1)-(9,2))
@@ -192,14 +192,14 @@
│ ├── operator_loc: (9,7)-(9,8) = "="
│ └── value:
│ @ ArrayNode (location: (9,9)-(9,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (9,10)-(9,11))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (9,13)-(9,14))
│ │ └── flags: decimal
│ ├── opening_loc: (9,9)-(9,10) = "["
- │ ├── closing_loc: (9,14)-(9,15) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (9,14)-(9,15) = "]"
├── @ MultiWriteNode (location: (10,0)-(10,18))
│ ├── lefts: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (10,1)-(10,2))
@@ -218,14 +218,14 @@
│ ├── operator_loc: (10,10)-(10,11) = "="
│ └── value:
│ @ ArrayNode (location: (10,12)-(10,18))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (10,13)-(10,14))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (10,16)-(10,17))
│ │ └── flags: decimal
│ ├── opening_loc: (10,12)-(10,13) = "["
- │ ├── closing_loc: (10,17)-(10,18) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (10,17)-(10,18) = "]"
├── @ MultiWriteNode (location: (11,0)-(11,15))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (11,1)-(11,2))
@@ -241,14 +241,14 @@
│ ├── operator_loc: (11,7)-(11,8) = "="
│ └── value:
│ @ ArrayNode (location: (11,9)-(11,15))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (11,10)-(11,11))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (11,13)-(11,14))
│ │ └── flags: decimal
│ ├── opening_loc: (11,9)-(11,10) = "["
- │ ├── closing_loc: (11,14)-(11,15) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (11,14)-(11,15) = "]"
├── @ MultiWriteNode (location: (12,0)-(12,12))
│ ├── lefts: (length: 2)
│ │ ├── @ LocalVariableTargetNode (location: (12,1)-(12,2))
@@ -284,6 +284,7 @@
├── @ MultiWriteNode (location: (14,0)-(14,23))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (14,1)-(14,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (14,1)-(14,2))
│ │ │ │ ├── name: :a
@@ -294,9 +295,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (14,8)-(14,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (14,8)-(14,9))
│ │ │ ├── name: :a
@@ -307,8 +308,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (14,0)-(14,1) = "("
@@ -316,17 +316,18 @@
│ ├── operator_loc: (14,15)-(14,16) = "="
│ └── value:
│ @ ArrayNode (location: (14,17)-(14,23))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (14,18)-(14,19))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (14,21)-(14,22))
│ │ └── flags: decimal
│ ├── opening_loc: (14,17)-(14,18) = "["
- │ ├── closing_loc: (14,22)-(14,23) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (14,22)-(14,23) = "]"
├── @ MultiWriteNode (location: (15,0)-(15,24))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (15,1)-(15,8))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (15,1)-(15,2))
│ │ │ │ ├── name: :a
@@ -337,18 +338,18 @@
│ │ │ ├── opening_loc: (15,2)-(15,3) = "["
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (15,3)-(15,7))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7))
- │ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7))
+ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: (15,7)-(15,8) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (15,10)-(15,14))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (15,10)-(15,11))
│ │ │ ├── name: :a
@@ -359,13 +360,12 @@
│ │ ├── opening_loc: (15,11)-(15,12) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,12)-(15,13))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (15,13)-(15,14) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (15,0)-(15,1) = "("
@@ -373,17 +373,18 @@
│ ├── operator_loc: (15,16)-(15,17) = "="
│ └── value:
│ @ ArrayNode (location: (15,18)-(15,24))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (15,19)-(15,20))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (15,22)-(15,23))
│ │ └── flags: decimal
│ ├── opening_loc: (15,18)-(15,19) = "["
- │ ├── closing_loc: (15,23)-(15,24) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (15,23)-(15,24) = "]"
├── @ MultiWriteNode (location: (16,0)-(16,21))
│ ├── lefts: (length: 2)
│ │ ├── @ CallNode (location: (16,1)-(16,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (16,1)-(16,2))
│ │ │ │ ├── name: :a
@@ -394,14 +395,14 @@
│ │ │ ├── opening_loc: (16,2)-(16,3) = "["
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (16,3)-(16,4))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: (16,4)-(16,5) = "]"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (16,7)-(16,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (16,7)-(16,8))
│ │ │ ├── name: :a
@@ -412,13 +413,12 @@
│ │ ├── opening_loc: (16,8)-(16,9) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (16,9)-(16,10))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (16,9)-(16,10))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (16,9)-(16,10))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: (16,10)-(16,11) = "]"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rest: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (16,0)-(16,1) = "("
@@ -426,14 +426,14 @@
│ ├── operator_loc: (16,13)-(16,14) = "="
│ └── value:
│ @ ArrayNode (location: (16,15)-(16,21))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (16,16)-(16,17))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (16,19)-(16,20))
│ │ └── flags: decimal
│ ├── opening_loc: (16,15)-(16,16) = "["
- │ ├── closing_loc: (16,20)-(16,21) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (16,20)-(16,21) = "]"
├── @ MultiWriteNode (location: (17,0)-(17,12))
│ ├── lefts: (length: 0)
│ ├── rest:
@@ -441,6 +441,7 @@
│ │ ├── operator_loc: (17,1)-(17,2) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (17,2)-(17,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (17,2)-(17,3))
│ │ │ ├── name: :c
@@ -451,8 +452,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── rights: (length: 0)
│ ├── lparen_loc: (17,0)-(17,1) = "("
│ ├── rparen_loc: (17,7)-(17,8) = ")"
@@ -559,6 +559,7 @@
│ ├── name_loc: (25,0)-(25,3) = "foo"
│ ├── value:
│ │ @ CallNode (location: (25,6)-(25,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -566,10 +567,10 @@
│ │ ├── opening_loc: (25,9)-(25,10) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (25,10)-(25,11) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── operator_loc: (25,4)-(25,5) = "="
├── @ CallNode (location: (26,0)-(26,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (26,0)-(26,3))
│ │ ├── name: :foo
@@ -580,9 +581,9 @@
│ ├── opening_loc: (26,7)-(26,8) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (26,8)-(26,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(27,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (27,0)-(27,3))
│ │ ├── name: :foo
@@ -593,16 +594,16 @@
│ ├── opening_loc: (27,7)-(27,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,8)-(27,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (27,8)-(27,9))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (27,11)-(27,12))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (27,8)-(27,9))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (27,11)-(27,12))
+ │ │ └── flags: decimal
│ ├── closing_loc: (27,12)-(27,13) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (28,0)-(28,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (28,0)-(28,3))
│ │ ├── name: :foo
@@ -613,13 +614,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (28,7)-(28,11))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ TrueNode (location: (28,7)-(28,11))
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ TrueNode (location: (28,7)-(28,11))
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(29,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (29,0)-(29,3))
│ │ ├── name: :foo
@@ -630,35 +631,35 @@
│ ├── opening_loc: (29,3)-(29,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,4)-(29,19))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SplatNode (location: (29,4)-(29,10))
- │ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*"
- │ │ │ │ └── expression:
- │ │ │ │ @ CallNode (location: (29,5)-(29,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :index
- │ │ │ │ ├── message_loc: (29,5)-(29,10) = "index"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (29,14)-(29,19))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (29,14)-(29,19) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SplatNode (location: (29,4)-(29,10))
+ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (29,5)-(29,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :index
+ │ │ │ ├── message_loc: (29,5)-(29,10) = "index"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (29,14)-(29,19))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (29,14)-(29,19) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (29,10)-(29,11) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (30,0)-(30,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (30,0)-(30,3))
│ │ ├── name: :foo
@@ -669,31 +670,31 @@
│ ├── opening_loc: (30,3)-(30,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (30,4)-(30,17))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ RangeNode (location: (30,4)-(30,8))
- │ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (30,7)-(30,8))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (30,5)-(30,7) = ".."
- │ │ │ │ └── flags: ∅
- │ │ │ └── @ CallNode (location: (30,12)-(30,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (30,12)-(30,17) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ RangeNode (location: (30,4)-(30,8))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── left:
+ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
+ │ │ │ │ └── flags: decimal
+ │ │ │ ├── right:
+ │ │ │ │ @ IntegerNode (location: (30,7)-(30,8))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── operator_loc: (30,5)-(30,7) = ".."
+ │ │ └── @ CallNode (location: (30,12)-(30,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (30,12)-(30,17) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (30,8)-(30,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(31,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (31,0)-(31,3))
│ │ ├── name: :foo
@@ -704,14 +705,14 @@
│ ├── opening_loc: (31,3)-(31,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,8)-(31,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (31,8)-(31,9))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (31,8)-(31,9))
+ │ │ └── flags: decimal
│ ├── closing_loc: (31,4)-(31,5) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (32,0)-(32,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (32,0)-(32,3))
│ │ ├── name: :foo
@@ -722,28 +723,28 @@
│ ├── opening_loc: (32,3)-(32,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (32,4)-(32,17))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8))
- │ │ │ │ ├── name: :b
- │ │ │ │ └── depth: 0
- │ │ │ └── @ CallNode (location: (32,12)-(32,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (32,12)-(32,17) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8))
+ │ │ │ ├── name: :b
+ │ │ │ └── depth: 0
+ │ │ └── @ CallNode (location: (32,12)-(32,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (32,12)-(32,17) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (32,8)-(32,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(33,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (33,0)-(33,3))
│ │ ├── name: :foo
@@ -754,31 +755,30 @@
│ ├── opening_loc: (33,3)-(33,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,4)-(33,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (33,4)-(33,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :index
- │ │ │ │ ├── message_loc: (33,4)-(33,9) = "index"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (33,13)-(33,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :value
- │ │ │ ├── message_loc: (33,13)-(33,18) = "value"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (33,4)-(33,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :index
+ │ │ │ ├── message_loc: (33,4)-(33,9) = "index"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (33,13)-(33,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :value
+ │ │ ├── message_loc: (33,13)-(33,18) = "value"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (33,9)-(33,10) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ LocalVariableWriteNode (location: (34,0)-(34,7))
│ ├── name: :x
│ ├── depth: 0
@@ -792,6 +792,7 @@
│ │ └── unescaped: ""
│ └── operator_loc: (34,2)-(34,3) = "="
├── @ CallNode (location: (35,0)-(35,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (35,0)-(35,1))
│ │ ├── name: :x
@@ -802,18 +803,18 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,4)-(35,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (35,4)-(35,7))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (35,4)-(35,6) = "%("
- │ │ │ ├── content_loc: (35,6)-(35,6) = ""
- │ │ │ ├── closing_loc: (35,6)-(35,7) = ")"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (35,4)-(35,7))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (35,4)-(35,6) = "%("
+ │ │ ├── content_loc: (35,6)-(35,6) = ""
+ │ │ ├── closing_loc: (35,6)-(35,7) = ")"
+ │ │ └── unescaped: ""
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (36,0)-(36,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (36,0)-(36,1))
│ │ ├── name: :x
@@ -824,28 +825,28 @@
│ ├── opening_loc: (36,1)-(36,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (36,2)-(36,12))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ StringNode (location: (36,2)-(36,5))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (36,2)-(36,4) = "%("
- │ │ │ │ ├── content_loc: (36,4)-(36,4) = ""
- │ │ │ │ ├── closing_loc: (36,4)-(36,5) = ")"
- │ │ │ │ └── unescaped: ""
- │ │ │ └── @ CallNode (location: (36,9)-(36,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (36,9)-(36,12) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ StringNode (location: (36,2)-(36,5))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (36,2)-(36,4) = "%("
+ │ │ │ ├── content_loc: (36,4)-(36,4) = ""
+ │ │ │ ├── closing_loc: (36,4)-(36,5) = ")"
+ │ │ │ └── unescaped: ""
+ │ │ └── @ CallNode (location: (36,9)-(36,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (36,9)-(36,12) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (36,5)-(36,6) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IndexOrWriteNode (location: (37,0)-(37,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (37,0)-(37,1))
│ │ ├── name: :a
@@ -854,20 +855,20 @@
│ ├── opening_loc: (37,1)-(37,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,2)-(37,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (37,2)-(37,5))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (37,2)-(37,4) = "%("
- │ │ │ ├── content_loc: (37,4)-(37,4) = ""
- │ │ │ ├── closing_loc: (37,4)-(37,5) = ")"
- │ │ │ └── unescaped: ""
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ StringNode (location: (37,2)-(37,5))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (37,2)-(37,4) = "%("
+ │ │ ├── content_loc: (37,4)-(37,4) = ""
+ │ │ ├── closing_loc: (37,4)-(37,5) = ")"
+ │ │ └── unescaped: ""
│ ├── closing_loc: (37,5)-(37,6) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (37,7)-(37,10) = "||="
│ └── value:
│ @ CallNode (location: (37,11)-(37,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -875,8 +876,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ InstanceVariableOrWriteNode (location: (38,0)-(38,10))
│ ├── name: :@a
│ ├── name_loc: (38,0)-(38,2) = "@a"
@@ -915,6 +915,7 @@
│ │ └── closing_loc: (41,0)-(42,0) = "HEREDOC\n"
│ └── operator_loc: (39,2)-(39,3) = "="
├── @ CallNode (location: (42,0)-(42,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (42,0)-(42,1))
│ │ ├── name: :x
@@ -925,32 +926,32 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (42,4)-(42,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14))
- │ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (43,0)-(43,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5))
- │ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}"
- │ │ │ │ └── @ StringNode (location: (43,5)-(44,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (43,5)-(44,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (44,0)-(45,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14))
+ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (43,0)-(43,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5))
+ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}"
+ │ │ │ └── @ StringNode (location: (43,5)-(44,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (43,5)-(44,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (44,0)-(45,0) = "HEREDOC\n"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (45,0)-(45,1))
│ │ ├── name: :x
@@ -961,32 +962,32 @@
│ ├── opening_loc: (45,1)-(45,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (45,6)-(45,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16))
- │ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (46,0)-(46,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5))
- │ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}"
- │ │ │ │ └── @ StringNode (location: (46,5)-(47,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (46,5)-(47,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (47,0)-(48,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16))
+ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (46,0)-(46,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5))
+ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}"
+ │ │ │ └── @ StringNode (location: (46,5)-(47,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (46,5)-(47,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (47,0)-(48,0) = "HEREDOC\n"
│ ├── closing_loc: (45,2)-(45,3) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IndexOrWriteNode (location: (48,0)-(48,21))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (48,0)-(48,1))
│ │ ├── name: :a
@@ -995,34 +996,34 @@
│ ├── opening_loc: (48,1)-(48,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (48,2)-(48,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12))
- │ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (49,0)-(49,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5))
- │ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}"
- │ │ │ │ └── @ StringNode (location: (49,5)-(50,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (49,5)-(50,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (50,0)-(51,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12))
+ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (49,0)-(49,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5))
+ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}"
+ │ │ │ └── @ StringNode (location: (49,5)-(50,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (49,5)-(50,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (50,0)-(51,0) = "HEREDOC\n"
│ ├── closing_loc: (48,12)-(48,13) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (48,14)-(48,17) = "||="
│ └── value:
│ @ CallNode (location: (48,18)-(48,21))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -1030,8 +1031,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ InstanceVariableOrWriteNode (location: (51,0)-(51,17))
├── name: :@a
├── name_loc: (51,0)-(51,2) = "@a"
diff --git a/test/prism/snapshots/unparser/corpus/literal/block.txt b/test/prism/snapshots/unparser/corpus/literal/block.txt
index 610af9dd55..63fcfd23dd 100644
--- a/test/prism/snapshots/unparser/corpus/literal/block.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/block.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(96,1))
└── body: (length: 30)
├── @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,4)-(2,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,4)-(1,5) = "{"
- │ │ └── closing_loc: (2,0)-(2,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,4)-(2,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,4)-(1,5) = "{"
+ │ └── closing_loc: (2,0)-(2,1) = "}"
├── @ CallNode (location: (3,0)-(4,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -28,31 +29,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,4)-(4,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (3,6)-(3,9))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (3,7)-(3,8))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (3,6)-(3,7) = "|"
- │ │ │ └── closing_loc: (3,8)-(3,9) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (3,4)-(3,5) = "{"
- │ │ └── closing_loc: (4,0)-(4,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,4)-(4,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (3,6)-(3,9))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (3,7)-(3,8))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (3,6)-(3,7) = "|"
+ │ │ └── closing_loc: (3,8)-(3,9) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (3,4)-(3,5) = "{"
+ │ └── closing_loc: (4,0)-(4,1) = "}"
├── @ CallNode (location: (5,0)-(6,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -60,32 +61,32 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (5,4)-(6,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (5,6)-(5,10))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (5,7)-(5,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (5,6)-(5,7) = "|"
- │ │ │ └── closing_loc: (5,9)-(5,10) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (5,4)-(5,5) = "{"
- │ │ └── closing_loc: (6,0)-(6,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (5,4)-(6,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (5,6)-(5,10))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (5,7)-(5,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (5,6)-(5,7) = "|"
+ │ │ └── closing_loc: (5,9)-(5,10) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (5,4)-(5,5) = "{"
+ │ └── closing_loc: (6,0)-(6,1) = "}"
├── @ CallNode (location: (7,0)-(8,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -93,34 +94,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (7,4)-(8,1))
- │ │ ├── locals: [:a, :x]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (7,6)-(7,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (7,7)-(7,9))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9))
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12))
- │ │ │ │ └── name: :x
- │ │ │ ├── opening_loc: (7,6)-(7,7) = "|"
- │ │ │ └── closing_loc: (7,12)-(7,13) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (7,4)-(7,5) = "{"
- │ │ └── closing_loc: (8,0)-(8,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (7,4)-(8,1))
+ │ ├── locals: [:a, :x]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (7,6)-(7,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (7,7)-(7,9))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9))
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12))
+ │ │ │ └── name: :x
+ │ │ ├── opening_loc: (7,6)-(7,7) = "|"
+ │ │ └── closing_loc: (7,12)-(7,13) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (7,4)-(7,5) = "{"
+ │ └── closing_loc: (8,0)-(8,1) = "}"
├── @ CallNode (location: (9,0)-(10,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -128,33 +129,33 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (9,4)-(10,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (9,6)-(9,12))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (9,7)-(9,11))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (9,6)-(9,7) = "|"
- │ │ │ └── closing_loc: (9,11)-(9,12) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (9,4)-(9,5) = "{"
- │ │ └── closing_loc: (10,0)-(10,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (9,4)-(10,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (9,6)-(9,12))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (9,7)-(9,11))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (9,6)-(9,7) = "|"
+ │ │ └── closing_loc: (9,11)-(9,12) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (9,4)-(9,5) = "{"
+ │ └── closing_loc: (10,0)-(10,1) = "}"
├── @ CallNode (location: (11,0)-(13,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -162,24 +163,24 @@
│ ├── opening_loc: (11,3)-(11,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,4)-(11,5))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
+ │ │ └── flags: decimal
│ ├── closing_loc: (11,5)-(11,6) = ")"
- │ ├── block:
- │ │ @ BlockNode (location: (11,7)-(13,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (12,2)-(12,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (12,2)-(12,5))
- │ │ ├── opening_loc: (11,7)-(11,8) = "{"
- │ │ └── closing_loc: (13,0)-(13,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (11,7)-(13,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (12,2)-(12,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ NilNode (location: (12,2)-(12,5))
+ │ ├── opening_loc: (11,7)-(11,8) = "{"
+ │ └── closing_loc: (13,0)-(13,1) = "}"
├── @ CallNode (location: (14,0)-(16,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -187,38 +188,38 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (14,4)-(16,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (14,6)-(14,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (14,7)-(14,12))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12))
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (14,11)-(14,12) = "b"
- │ │ │ │ │ └── operator_loc: (14,10)-(14,11) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (14,6)-(14,7) = "|"
- │ │ │ └── closing_loc: (14,12)-(14,13) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (15,2)-(15,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (15,2)-(15,5))
- │ │ ├── opening_loc: (14,4)-(14,5) = "{"
- │ │ └── closing_loc: (16,0)-(16,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (14,4)-(16,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (14,6)-(14,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (14,7)-(14,12))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12))
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── name_loc: (14,11)-(14,12) = "b"
+ │ │ │ │ └── operator_loc: (14,10)-(14,11) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (14,6)-(14,7) = "|"
+ │ │ └── closing_loc: (14,12)-(14,13) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (15,2)-(15,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ NilNode (location: (15,2)-(15,5))
+ │ ├── opening_loc: (14,4)-(14,5) = "{"
+ │ └── closing_loc: (16,0)-(16,1) = "}"
├── @ CallNode (location: (17,0)-(19,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -226,38 +227,38 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (17,4)-(19,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (17,6)-(17,12))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (17,7)-(17,11))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (17,6)-(17,7) = "|"
- │ │ │ └── closing_loc: (17,11)-(17,12) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (18,2)-(18,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (18,2)-(18,5))
- │ │ ├── opening_loc: (17,4)-(17,5) = "{"
- │ │ └── closing_loc: (19,0)-(19,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (17,4)-(19,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (17,6)-(17,12))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (17,7)-(17,11))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (17,6)-(17,7) = "|"
+ │ │ └── closing_loc: (17,11)-(17,12) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (18,2)-(18,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ NilNode (location: (18,2)-(18,5))
+ │ ├── opening_loc: (17,4)-(17,5) = "{"
+ │ └── closing_loc: (19,0)-(19,1) = "}"
├── @ CallNode (location: (20,0)-(22,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -265,30 +266,31 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (20,4)-(22,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (21,2)-(21,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (21,2)-(21,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (21,2)-(21,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (20,4)-(20,5) = "{"
- │ │ └── closing_loc: (22,0)-(22,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (20,4)-(22,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (21,2)-(21,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (21,2)-(21,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (21,2)-(21,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (20,4)-(20,5) = "{"
+ │ └── closing_loc: (22,0)-(22,1) = "}"
├── @ CallNode (location: (23,0)-(25,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -296,63 +298,63 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (23,3)-(23,4) = "."
│ ├── name: :bar
│ ├── message_loc: (23,4)-(23,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (23,8)-(25,1))
- │ │ ├── locals: [:a, :b, :c]
- │ │ ├── locals_body_index: 3
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (23,10)-(23,21))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (23,11)-(23,20))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17))
- │ │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13))
- │ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16))
- │ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (23,11)-(23,12) = "("
- │ │ │ │ │ │ └── rparen_loc: (23,16)-(23,17) = ")"
- │ │ │ │ │ └── @ RequiredParameterNode (location: (23,19)-(23,20))
- │ │ │ │ │ └── name: :c
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (23,10)-(23,11) = "|"
- │ │ │ └── closing_loc: (23,20)-(23,21) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (24,2)-(24,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (24,2)-(24,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (24,2)-(24,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (23,8)-(23,9) = "{"
- │ │ └── closing_loc: (25,0)-(25,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (23,8)-(25,1))
+ │ ├── locals: [:a, :b, :c]
+ │ ├── locals_body_index: 3
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (23,10)-(23,21))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (23,11)-(23,20))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17))
+ │ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13))
+ │ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16))
+ │ │ │ │ │ │ └── name: :b
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (23,11)-(23,12) = "("
+ │ │ │ │ │ └── rparen_loc: (23,16)-(23,17) = ")"
+ │ │ │ │ └── @ RequiredParameterNode (location: (23,19)-(23,20))
+ │ │ │ │ └── name: :c
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (23,10)-(23,11) = "|"
+ │ │ └── closing_loc: (23,20)-(23,21) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (24,2)-(24,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (24,2)-(24,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (24,2)-(24,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (23,8)-(23,9) = "{"
+ │ └── closing_loc: (25,0)-(25,1) = "}"
├── @ CallNode (location: (26,0)-(27,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (26,0)-(26,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -360,45 +362,45 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (26,3)-(26,4) = "."
│ ├── name: :bar
│ ├── message_loc: (26,4)-(26,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (26,8)-(27,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (26,10)-(26,17))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (26,11)-(26,13))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13))
- │ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (26,12)-(26,13) = "a"
- │ │ │ │ │ └── operator_loc: (26,11)-(26,12) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16))
- │ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (26,10)-(26,11) = "|"
- │ │ │ └── closing_loc: (26,16)-(26,17) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (26,8)-(26,9) = "{"
- │ │ └── closing_loc: (27,0)-(27,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (26,8)-(27,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (26,10)-(26,17))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (26,11)-(26,13))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13))
+ │ │ │ │ ├── name: :a
+ │ │ │ │ ├── name_loc: (26,12)-(26,13) = "a"
+ │ │ │ │ └── operator_loc: (26,11)-(26,12) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16))
+ │ │ │ └── name: :b
+ │ │ ├── opening_loc: (26,10)-(26,11) = "|"
+ │ │ └── closing_loc: (26,16)-(26,17) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (26,8)-(26,9) = "{"
+ │ └── closing_loc: (27,0)-(27,1) = "}"
├── @ CallNode (location: (28,0)-(29,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (28,0)-(28,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -406,43 +408,43 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (28,3)-(28,4) = "."
│ ├── name: :bar
│ ├── message_loc: (28,4)-(28,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (28,8)-(29,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (28,10)-(28,16))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (28,11)-(28,12))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12))
- │ │ │ │ │ └── name: :a
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15))
- │ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (28,10)-(28,11) = "|"
- │ │ │ └── closing_loc: (28,15)-(28,16) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (28,8)-(28,9) = "{"
- │ │ └── closing_loc: (29,0)-(29,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (28,8)-(29,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (28,10)-(28,16))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (28,11)-(28,12))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12))
+ │ │ │ │ └── name: :a
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 1)
+ │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15))
+ │ │ │ └── name: :b
+ │ │ ├── opening_loc: (28,10)-(28,11) = "|"
+ │ │ └── closing_loc: (28,15)-(28,16) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (28,8)-(28,9) = "{"
+ │ └── closing_loc: (29,0)-(29,1) = "}"
├── @ CallNode (location: (30,0)-(31,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (30,0)-(30,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -450,35 +452,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (30,3)-(30,4) = "."
│ ├── name: :bar
│ ├── message_loc: (30,4)-(30,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (30,8)-(31,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (30,10)-(30,18))
- │ │ │ ├── parameters: ∅
- │ │ │ ├── locals: (length: 2)
- │ │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14))
- │ │ │ │ │ └── name: :a
- │ │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17))
- │ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (30,10)-(30,11) = "|"
- │ │ │ └── closing_loc: (30,17)-(30,18) = "|"
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (30,8)-(30,9) = "{"
- │ │ └── closing_loc: (31,0)-(31,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (30,8)-(31,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (30,10)-(30,18))
+ │ │ ├── parameters: ∅
+ │ │ ├── locals: (length: 2)
+ │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14))
+ │ │ │ │ └── name: :a
+ │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17))
+ │ │ │ └── name: :b
+ │ │ ├── opening_loc: (30,10)-(30,11) = "|"
+ │ │ └── closing_loc: (30,17)-(30,18) = "|"
+ │ ├── body: ∅
+ │ ├── opening_loc: (30,8)-(30,9) = "{"
+ │ └── closing_loc: (31,0)-(31,1) = "}"
├── @ CallNode (location: (32,0)-(34,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (32,0)-(32,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -486,55 +488,55 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (32,3)-(32,4) = "."
│ ├── name: :bar
│ ├── message_loc: (32,4)-(32,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (32,8)-(34,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (32,10)-(32,13))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (32,11)-(32,12))
- │ │ │ │ ├── requireds: (length: 0)
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12))
- │ │ │ │ │ ├── name: ∅
- │ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*"
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (32,10)-(32,11) = "|"
- │ │ │ └── closing_loc: (32,12)-(32,13) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (33,2)-(33,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (33,2)-(33,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (33,2)-(33,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (32,8)-(32,9) = "{"
- │ │ └── closing_loc: (34,0)-(34,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (32,8)-(34,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (32,10)-(32,13))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (32,11)-(32,12))
+ │ │ │ ├── requireds: (length: 0)
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest:
+ │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12))
+ │ │ │ │ ├── name: ∅
+ │ │ │ │ ├── name_loc: ∅
+ │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*"
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (32,10)-(32,11) = "|"
+ │ │ └── closing_loc: (32,12)-(32,13) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (33,2)-(33,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (33,2)-(33,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (33,2)-(33,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (32,8)-(32,9) = "{"
+ │ └── closing_loc: (34,0)-(34,1) = "}"
├── @ CallNode (location: (35,0)-(37,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (35,0)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -542,60 +544,60 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (35,3)-(35,4) = "."
│ ├── name: :bar
│ ├── message_loc: (35,4)-(35,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (35,8)-(37,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (35,10)-(35,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (35,11)-(35,14))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14))
- │ │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ │ ├── rest:
- │ │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13))
- │ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
- │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "("
- │ │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (35,10)-(35,11) = "|"
- │ │ │ └── closing_loc: (35,14)-(35,15) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (36,2)-(36,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (36,2)-(36,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (36,2)-(36,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (35,8)-(35,9) = "{"
- │ │ └── closing_loc: (37,0)-(37,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (35,8)-(37,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (35,10)-(35,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (35,11)-(35,14))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14))
+ │ │ │ │ ├── lefts: (length: 0)
+ │ │ │ │ ├── rest:
+ │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13))
+ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
+ │ │ │ │ │ └── expression: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (35,11)-(35,12) = "("
+ │ │ │ │ └── rparen_loc: (35,13)-(35,14) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (35,10)-(35,11) = "|"
+ │ │ └── closing_loc: (35,14)-(35,15) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (36,2)-(36,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (36,2)-(36,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (36,2)-(36,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (35,8)-(35,9) = "{"
+ │ └── closing_loc: (37,0)-(37,1) = "}"
├── @ CallNode (location: (38,0)-(40,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (38,0)-(38,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -603,66 +605,66 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (38,3)-(38,4) = "."
│ ├── name: :bar
│ ├── message_loc: (38,4)-(38,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (38,8)-(40,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (38,10)-(38,17))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (38,11)-(38,16))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16))
- │ │ │ │ │ ├── lefts: (length: 1)
- │ │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15))
- │ │ │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ │ │ ├── rest:
- │ │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14))
- │ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
- │ │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "("
- │ │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")"
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "("
- │ │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (38,10)-(38,11) = "|"
- │ │ │ └── closing_loc: (38,16)-(38,17) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (39,2)-(39,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (39,2)-(39,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (39,2)-(39,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (38,8)-(38,9) = "{"
- │ │ └── closing_loc: (40,0)-(40,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (38,8)-(40,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (38,10)-(38,17))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (38,11)-(38,16))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16))
+ │ │ │ │ ├── lefts: (length: 1)
+ │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15))
+ │ │ │ │ │ ├── lefts: (length: 0)
+ │ │ │ │ │ ├── rest:
+ │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14))
+ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
+ │ │ │ │ │ │ └── expression: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (38,12)-(38,13) = "("
+ │ │ │ │ │ └── rparen_loc: (38,14)-(38,15) = ")"
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (38,11)-(38,12) = "("
+ │ │ │ │ └── rparen_loc: (38,15)-(38,16) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (38,10)-(38,11) = "|"
+ │ │ └── closing_loc: (38,16)-(38,17) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (39,2)-(39,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (39,2)-(39,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (39,2)-(39,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (38,8)-(38,9) = "{"
+ │ └── closing_loc: (40,0)-(40,1) = "}"
├── @ CallNode (location: (41,0)-(43,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (41,0)-(41,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -670,68 +672,68 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (41,3)-(41,4) = "."
│ ├── name: :bar
│ ├── message_loc: (41,4)-(41,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (41,8)-(43,1))
- │ │ ├── locals: [:a]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (41,10)-(41,20))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (41,11)-(41,19))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13))
- │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18))
- │ │ │ │ │ │ ├── lefts: (length: 0)
- │ │ │ │ │ │ ├── rest:
- │ │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17))
- │ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
- │ │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "("
- │ │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")"
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "("
- │ │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (41,10)-(41,11) = "|"
- │ │ │ └── closing_loc: (41,19)-(41,20) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (42,2)-(42,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (42,2)-(42,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (42,2)-(42,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (41,8)-(41,9) = "{"
- │ │ └── closing_loc: (43,0)-(43,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (41,8)-(43,1))
+ │ ├── locals: [:a]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (41,10)-(41,20))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (41,11)-(41,19))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18))
+ │ │ │ │ │ ├── lefts: (length: 0)
+ │ │ │ │ │ ├── rest:
+ │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17))
+ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
+ │ │ │ │ │ │ └── expression: ∅
+ │ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ │ ├── lparen_loc: (41,15)-(41,16) = "("
+ │ │ │ │ │ └── rparen_loc: (41,17)-(41,18) = ")"
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (41,11)-(41,12) = "("
+ │ │ │ │ └── rparen_loc: (41,18)-(41,19) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (41,10)-(41,11) = "|"
+ │ │ └── closing_loc: (41,19)-(41,20) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (42,2)-(42,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (42,2)-(42,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (42,2)-(42,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (41,8)-(41,9) = "{"
+ │ └── closing_loc: (43,0)-(43,1) = "}"
├── @ CallNode (location: (44,0)-(46,1))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (44,0)-(44,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -739,63 +741,64 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (44,3)-(44,4) = "."
│ ├── name: :bar
│ ├── message_loc: (44,4)-(44,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (44,8)-(46,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (44,10)-(44,18))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (44,11)-(44,17))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17))
- │ │ │ │ │ ├── lefts: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13))
- │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16))
- │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── rights: (length: 0)
- │ │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "("
- │ │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")"
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (44,10)-(44,11) = "|"
- │ │ │ └── closing_loc: (44,17)-(44,18) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (45,2)-(45,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (45,2)-(45,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :d
- │ │ │ ├── message_loc: (45,2)-(45,3) = "d"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── opening_loc: (44,8)-(44,9) = "{"
- │ │ └── closing_loc: (46,0)-(46,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (44,8)-(46,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (44,10)-(44,18))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (44,11)-(44,17))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17))
+ │ │ │ │ ├── lefts: (length: 2)
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13))
+ │ │ │ │ │ │ └── name: :a
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16))
+ │ │ │ │ │ └── name: :b
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── rights: (length: 0)
+ │ │ │ │ ├── lparen_loc: (44,11)-(44,12) = "("
+ │ │ │ │ └── rparen_loc: (44,16)-(44,17) = ")"
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (44,10)-(44,11) = "|"
+ │ │ └── closing_loc: (44,17)-(44,18) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (45,2)-(45,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (45,2)-(45,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :d
+ │ │ ├── message_loc: (45,2)-(45,3) = "d"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── opening_loc: (44,8)-(44,9) = "{"
+ │ └── closing_loc: (46,0)-(46,1) = "}"
├── @ CallNode (location: (47,0)-(48,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (47,0)-(48,1))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (47,0)-(47,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -803,32 +806,30 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (47,3)-(47,4) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (47,4)-(47,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (47,8)-(48,1))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (47,8)-(47,9) = "{"
- │ │ │ └── closing_loc: (48,0)-(48,1) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (47,8)-(48,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (47,8)-(47,9) = "{"
+ │ │ └── closing_loc: (48,0)-(48,1) = "}"
│ ├── call_operator_loc: (48,1)-(48,2) = "."
│ ├── name: :baz
│ ├── message_loc: (48,2)-(48,5) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (49,0)-(51,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -836,35 +837,35 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (49,2)-(51,3))
- │ │ ├── locals: [:e]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (50,0)-(51,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (50,0)-(50,21))
- │ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16))
- │ │ │ │ │ └── name: :Exception
- │ │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21))
- │ │ │ │ │ ├── name: :e
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
- │ │ ├── opening_loc: (49,2)-(49,4) = "do"
- │ │ └── closing_loc: (51,0)-(51,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (49,2)-(51,3))
+ │ ├── locals: [:e]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (50,0)-(51,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (50,0)-(50,21))
+ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16))
+ │ │ │ │ └── name: :Exception
+ │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21))
+ │ │ │ │ ├── name: :e
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
+ │ ├── opening_loc: (49,2)-(49,4) = "do"
+ │ └── closing_loc: (51,0)-(51,3) = "end"
├── @ CallNode (location: (52,0)-(56,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -872,52 +873,52 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (52,2)-(56,3))
- │ │ ├── locals: [:bar]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (53,2)-(56,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (53,2)-(53,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (53,2)-(53,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (54,0)-(55,5))
- │ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16))
- │ │ │ │ │ └── name: :Exception
- │ │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23))
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (55,2)-(55,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5))
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (56,0)-(56,3) = "end"
- │ │ ├── opening_loc: (52,2)-(52,4) = "do"
- │ │ └── closing_loc: (56,0)-(56,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (52,2)-(56,3))
+ │ ├── locals: [:bar]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (53,2)-(56,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (53,2)-(53,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (53,2)-(53,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (54,0)-(55,5))
+ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16))
+ │ │ │ │ └── name: :Exception
+ │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (55,2)-(55,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 0
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (56,0)-(56,3) = "end"
+ │ ├── opening_loc: (52,2)-(52,4) = "do"
+ │ └── closing_loc: (56,0)-(56,3) = "end"
├── @ CallNode (location: (57,0)-(61,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -925,69 +926,69 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (57,2)-(61,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (58,2)-(61,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (58,2)-(58,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (58,2)-(58,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (58,2)-(58,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (59,0)-(60,5))
- │ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 2)
- │ │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16))
- │ │ │ │ │ │ └── name: :SomeError
- │ │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22))
- │ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (59,19)-(59,22))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (60,2)-(60,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (60,2)-(60,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
- │ │ ├── opening_loc: (57,2)-(57,4) = "do"
- │ │ └── closing_loc: (61,0)-(61,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (57,2)-(61,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (58,2)-(61,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (58,2)-(58,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (58,2)-(58,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (58,2)-(58,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (59,0)-(60,5))
+ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 2)
+ │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16))
+ │ │ │ │ │ └── name: :SomeError
+ │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22))
+ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (59,19)-(59,22))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (60,2)-(60,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (60,2)-(60,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
+ │ ├── opening_loc: (57,2)-(57,4) = "do"
+ │ └── closing_loc: (61,0)-(61,3) = "end"
├── @ CallNode (location: (62,0)-(66,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -995,72 +996,72 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (62,2)-(66,3))
- │ │ ├── locals: [:exception]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (63,2)-(66,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (63,2)-(63,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (63,2)-(63,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (63,2)-(63,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (64,0)-(65,5))
- │ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 2)
- │ │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16))
- │ │ │ │ │ │ └── name: :SomeError
- │ │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22))
- │ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (64,19)-(64,22))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35))
- │ │ │ │ │ ├── name: :exception
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (65,2)-(65,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (65,2)-(65,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
- │ │ ├── opening_loc: (62,2)-(62,4) = "do"
- │ │ └── closing_loc: (66,0)-(66,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (62,2)-(66,3))
+ │ ├── locals: [:exception]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (63,2)-(66,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (63,2)-(63,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (63,2)-(63,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (63,2)-(63,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (64,0)-(65,5))
+ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 2)
+ │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16))
+ │ │ │ │ │ └── name: :SomeError
+ │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22))
+ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (64,19)-(64,22))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35))
+ │ │ │ │ ├── name: :exception
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (65,2)-(65,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (65,2)-(65,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
+ │ ├── opening_loc: (62,2)-(62,4) = "do"
+ │ └── closing_loc: (66,0)-(66,3) = "end"
├── @ CallNode (location: (67,0)-(71,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1068,67 +1069,67 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (67,2)-(71,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (68,2)-(71,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (68,2)-(68,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (68,2)-(68,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (68,2)-(68,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (69,0)-(70,5))
- │ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11))
- │ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (69,8)-(69,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (70,2)-(70,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (70,2)-(70,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (71,0)-(71,3) = "end"
- │ │ ├── opening_loc: (67,2)-(67,4) = "do"
- │ │ └── closing_loc: (71,0)-(71,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (67,2)-(71,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (68,2)-(71,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (68,2)-(68,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (68,2)-(68,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (68,2)-(68,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (69,0)-(70,5))
+ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11))
+ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (69,8)-(69,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (70,2)-(70,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (70,2)-(70,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (71,0)-(71,3) = "end"
+ │ ├── opening_loc: (67,2)-(67,4) = "do"
+ │ └── closing_loc: (71,0)-(71,3) = "end"
├── @ CallNode (location: (72,0)-(75,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1136,44 +1137,44 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (72,2)-(75,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (73,2)-(75,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (73,2)-(73,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (73,2)-(73,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (73,2)-(73,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (74,0)-(74,16))
- │ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16))
- │ │ │ │ │ └── name: :LoadError
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
- │ │ ├── opening_loc: (72,2)-(72,4) = "do"
- │ │ └── closing_loc: (75,0)-(75,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (72,2)-(75,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (73,2)-(75,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (73,2)-(73,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (73,2)-(73,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (73,2)-(73,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (74,0)-(74,16))
+ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16))
+ │ │ │ │ └── name: :LoadError
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ │ ├── opening_loc: (72,2)-(72,4) = "do"
+ │ └── closing_loc: (75,0)-(75,3) = "end"
├── @ CallNode (location: (76,0)-(81,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1181,58 +1182,58 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (76,2)-(81,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (77,2)-(81,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (77,2)-(77,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (77,2)-(77,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (77,2)-(77,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (78,0)-(78,6))
- │ │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 0)
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause:
- │ │ │ │ @ ElseNode (location: (79,0)-(81,3))
- │ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (80,2)-(80,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (80,2)-(80,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
- │ │ ├── opening_loc: (76,2)-(76,4) = "do"
- │ │ └── closing_loc: (81,0)-(81,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (76,2)-(81,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (77,2)-(81,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (77,2)-(77,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (77,2)-(77,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (77,2)-(77,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (78,0)-(78,6))
+ │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 0)
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause:
+ │ │ │ @ ElseNode (location: (79,0)-(81,3))
+ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (80,2)-(80,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (80,2)-(80,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ │ ├── opening_loc: (76,2)-(76,4) = "do"
+ │ └── closing_loc: (81,0)-(81,3) = "end"
├── @ CallNode (location: (82,0)-(86,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1240,70 +1241,70 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (82,2)-(86,3))
- │ │ ├── locals: [:exception]
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (83,2)-(86,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (83,2)-(83,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (83,2)-(83,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (83,2)-(83,5) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (84,0)-(85,5))
- │ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11))
- │ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (84,8)-(84,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>"
- │ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24))
- │ │ │ │ │ ├── name: :exception
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (85,2)-(85,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (85,2)-(85,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (86,0)-(86,3) = "end"
- │ │ ├── opening_loc: (82,2)-(82,4) = "do"
- │ │ └── closing_loc: (86,0)-(86,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (82,2)-(86,3))
+ │ ├── locals: [:exception]
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (83,2)-(86,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (83,2)-(83,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (83,2)-(83,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (83,2)-(83,5) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (84,0)-(85,5))
+ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 1)
+ │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11))
+ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*"
+ │ │ │ │ └── expression:
+ │ │ │ │ @ CallNode (location: (84,8)-(84,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>"
+ │ │ │ ├── reference:
+ │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24))
+ │ │ │ │ ├── name: :exception
+ │ │ │ │ └── depth: 0
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (85,2)-(85,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (85,2)-(85,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause: ∅
+ │ │ └── end_keyword_loc: (86,0)-(86,3) = "end"
+ │ ├── opening_loc: (82,2)-(82,4) = "do"
+ │ └── closing_loc: (86,0)-(86,3) = "end"
├── @ CallNode (location: (87,0)-(89,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1311,27 +1312,27 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (87,2)-(89,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (88,0)-(89,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (88,0)-(89,3))
- │ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure"
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
- │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
- │ │ ├── opening_loc: (87,2)-(87,4) = "do"
- │ │ └── closing_loc: (89,0)-(89,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (87,2)-(89,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (88,0)-(89,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause:
+ │ │ │ @ EnsureNode (location: (88,0)-(89,3))
+ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure"
+ │ │ │ ├── statements: ∅
+ │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
+ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
+ │ ├── opening_loc: (87,2)-(87,4) = "do"
+ │ └── closing_loc: (89,0)-(89,3) = "end"
├── @ CallNode (location: (90,0)-(93,3))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@@ -1339,34 +1340,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (90,2)-(93,3))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ BeginNode (location: (91,0)-(93,3))
- │ │ │ ├── begin_keyword_loc: ∅
- │ │ │ ├── statements: ∅
- │ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (91,0)-(91,6))
- │ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue"
- │ │ │ │ ├── exceptions: (length: 0)
- │ │ │ │ ├── operator_loc: ∅
- │ │ │ │ ├── reference: ∅
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── consequent: ∅
- │ │ │ ├── else_clause: ∅
- │ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (92,0)-(93,3))
- │ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure"
- │ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
- │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
- │ │ ├── opening_loc: (90,2)-(90,4) = "do"
- │ │ └── closing_loc: (93,0)-(93,3) = "end"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (90,2)-(93,3))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ BeginNode (location: (91,0)-(93,3))
+ │ │ ├── begin_keyword_loc: ∅
+ │ │ ├── statements: ∅
+ │ │ ├── rescue_clause:
+ │ │ │ @ RescueNode (location: (91,0)-(91,6))
+ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue"
+ │ │ │ ├── exceptions: (length: 0)
+ │ │ │ ├── operator_loc: ∅
+ │ │ │ ├── reference: ∅
+ │ │ │ ├── statements: ∅
+ │ │ │ └── consequent: ∅
+ │ │ ├── else_clause: ∅
+ │ │ ├── ensure_clause:
+ │ │ │ @ EnsureNode (location: (92,0)-(93,3))
+ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure"
+ │ │ │ ├── statements: ∅
+ │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ │ ├── opening_loc: (90,2)-(90,4) = "do"
+ │ └── closing_loc: (93,0)-(93,3) = "end"
└── @ CallNode (location: (94,0)-(96,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bar
@@ -1374,35 +1375,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block:
- │ @ BlockNode (location: (94,4)-(96,1))
- │ ├── locals: [:_1, :_2]
- │ ├── locals_body_index: 2
- │ ├── parameters:
- │ │ @ NumberedParametersNode (location: (94,4)-(96,1))
- │ │ └── maximum: 2
- │ ├── body:
- │ │ @ StatementsNode (location: (95,2)-(95,9))
- │ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (95,2)-(95,9))
- │ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (95,2)-(95,4))
- │ │ │ ├── name: :_1
- │ │ │ └── depth: 0
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :+
- │ │ ├── message_loc: (95,5)-(95,6) = "+"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (95,7)-(95,9))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9))
- │ │ │ │ ├── name: :_2
- │ │ │ │ └── depth: 0
- │ │ │ └── flags: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── opening_loc: (94,4)-(94,5) = "{"
- │ └── closing_loc: (96,0)-(96,1) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (94,4)-(96,1))
+ ├── locals: [:_1, :_2]
+ ├── locals_body_index: 2
+ ├── parameters:
+ │ @ NumberedParametersNode (location: (94,4)-(96,1))
+ │ └── maximum: 2
+ ├── body:
+ │ @ StatementsNode (location: (95,2)-(95,9))
+ │ └── body: (length: 1)
+ │ └── @ CallNode (location: (95,2)-(95,9))
+ │ ├── flags: ∅
+ │ ├── receiver:
+ │ │ @ LocalVariableReadNode (location: (95,2)-(95,4))
+ │ │ ├── name: :_1
+ │ │ └── depth: 0
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :+
+ │ ├── message_loc: (95,5)-(95,6) = "+"
+ │ ├── opening_loc: ∅
+ │ ├── arguments:
+ │ │ @ ArgumentsNode (location: (95,7)-(95,9))
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9))
+ │ │ ├── name: :_2
+ │ │ └── depth: 0
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
+ ├── opening_loc: (94,4)-(94,5) = "{"
+ └── closing_loc: (96,0)-(96,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/case.txt b/test/prism/snapshots/unparser/corpus/literal/case.txt
index 6d56f7edcc..4e07760e85 100644
--- a/test/prism/snapshots/unparser/corpus/literal/case.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/case.txt
@@ -10,6 +10,7 @@
│ │ │ ├── keyword_loc: (2,0)-(2,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (2,5)-(2,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -17,12 +18,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements:
│ │ │ @ StatementsNode (location: (3,2)-(3,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,2)-(3,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -30,12 +31,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ WhenNode (location: (4,0)-(5,5))
│ │ ├── keyword_loc: (4,0)-(4,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (4,5)-(4,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -43,12 +44,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,2)-(5,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -56,14 +57,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (1,0)-(1,4) = "case"
│ └── end_keyword_loc: (6,0)-(6,3) = "end"
├── @ CaseNode (location: (7,0)-(11,3))
│ ├── predicate:
│ │ @ CallNode (location: (7,5)-(7,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -71,13 +72,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 2)
│ │ ├── @ WhenNode (location: (8,0)-(8,8))
│ │ │ ├── keyword_loc: (8,0)-(8,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (8,5)-(8,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -85,13 +86,13 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements: ∅
│ │ └── @ WhenNode (location: (9,0)-(10,5))
│ │ ├── keyword_loc: (9,0)-(9,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (9,5)-(9,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -99,12 +100,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (10,2)-(10,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (10,2)-(10,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -112,14 +113,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (7,0)-(7,4) = "case"
│ └── end_keyword_loc: (11,0)-(11,3) = "end"
├── @ CaseNode (location: (12,0)-(17,3))
│ ├── predicate:
│ │ @ CallNode (location: (12,5)-(12,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -127,13 +128,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 2)
│ │ ├── @ WhenNode (location: (13,0)-(14,5))
│ │ │ ├── keyword_loc: (13,0)-(13,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (13,5)-(13,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -141,12 +142,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements:
│ │ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (14,2)-(14,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -154,12 +155,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ WhenNode (location: (15,0)-(16,5))
│ │ ├── keyword_loc: (15,0)-(15,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (15,5)-(15,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -167,12 +168,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (16,2)-(16,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (16,2)-(16,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -180,14 +181,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (12,0)-(12,4) = "case"
│ └── end_keyword_loc: (17,0)-(17,3) = "end"
├── @ CaseNode (location: (18,0)-(21,3))
│ ├── predicate:
│ │ @ CallNode (location: (18,5)-(18,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -195,13 +196,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (19,0)-(20,8))
│ │ ├── keyword_loc: (19,0)-(19,4) = "when"
│ │ ├── conditions: (length: 2)
│ │ │ ├── @ CallNode (location: (19,5)-(19,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -209,9 +210,9 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── @ CallNode (location: (19,10)-(19,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -219,8 +220,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (20,2)-(20,8))
│ │ └── body: (length: 1)
@@ -235,6 +235,7 @@
├── @ CaseNode (location: (22,0)-(25,3))
│ ├── predicate:
│ │ @ CallNode (location: (22,5)-(22,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -242,8 +243,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (23,0)-(24,8))
│ │ ├── keyword_loc: (23,0)-(23,4) = "when"
@@ -252,6 +252,7 @@
│ │ │ ├── operator_loc: (23,5)-(23,6) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (23,6)-(23,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -259,8 +260,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (24,2)-(24,8))
│ │ └── body: (length: 1)
@@ -275,6 +275,7 @@
├── @ CaseNode (location: (26,0)-(31,3))
│ ├── predicate:
│ │ @ CallNode (location: (26,5)-(26,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -282,13 +283,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (27,0)-(28,5))
│ │ ├── keyword_loc: (27,0)-(27,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (27,5)-(27,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -296,12 +297,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── statements:
│ │ @ StatementsNode (location: (28,2)-(28,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (28,2)-(28,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -309,8 +310,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (29,0)-(31,3))
│ │ ├── else_keyword_loc: (29,0)-(29,4) = "else"
@@ -328,6 +328,7 @@
├── @ CaseNode (location: (32,0)-(34,3))
│ ├── predicate:
│ │ @ CallNode (location: (32,5)-(32,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -335,8 +336,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (33,0)-(33,15))
│ │ ├── keyword_loc: (33,0)-(33,4) = "when"
@@ -345,8 +345,10 @@
│ │ │ ├── operator_loc: (33,5)-(33,6) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (33,6)-(33,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (33,6)-(33,9))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -354,29 +356,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :|
│ │ │ ├── message_loc: (33,10)-(33,11) = "|"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (33,12)-(33,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (33,12)-(33,15))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (33,12)-(33,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (32,0)-(32,4) = "case"
@@ -384,6 +384,7 @@
└── @ CaseNode (location: (35,0)-(37,3))
├── predicate:
│ @ CallNode (location: (35,5)-(35,8))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -391,8 +392,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── conditions: (length: 1)
│ └── @ WhenNode (location: (36,0)-(36,15))
│ ├── keyword_loc: (36,0)-(36,4) = "when"
@@ -401,8 +401,10 @@
│ │ ├── operator_loc: (36,5)-(36,6) = "*"
│ │ └── expression:
│ │ @ CallNode (location: (36,6)-(36,15))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (36,6)-(36,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -410,21 +412,19 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── call_operator_loc: (36,9)-(36,10) = "."
│ │ ├── name: :baz=
│ │ ├── message_loc: (36,10)-(36,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (36,14)-(36,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (36,14)-(36,15))
- │ │ │ │ └── flags: decimal
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (36,14)-(36,15))
+ │ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── statements: ∅
├── consequent: ∅
├── case_keyword_loc: (35,0)-(35,4) = "case"
diff --git a/test/prism/snapshots/unparser/corpus/literal/class.txt b/test/prism/snapshots/unparser/corpus/literal/class.txt
index 63cb4a7d76..6698b6ac40 100644
--- a/test/prism/snapshots/unparser/corpus/literal/class.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/class.txt
@@ -20,6 +20,7 @@
│ ├── operator_loc: (4,6)-(4,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (4,9)-(4,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -27,8 +28,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ SingletonClassNode (location: (7,0)-(9,3))
@@ -37,6 +37,7 @@
│ ├── operator_loc: (7,6)-(7,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (7,9)-(7,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -44,12 +45,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── body:
│ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (8,2)-(8,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -57,8 +58,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── end_keyword_loc: (9,0)-(9,3) = "end"
├── @ ClassNode (location: (11,0)-(12,3))
│ ├── locals: []
@@ -169,6 +169,7 @@
│ │ @ StatementsNode (location: (27,2)-(31,5))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (27,2)-(27,16))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :include
@@ -176,23 +177,22 @@
│ │ │ ├── opening_loc: (27,9)-(27,10) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (27,10)-(27,15))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (27,10)-(27,15))
- │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11))
- │ │ │ │ │ │ └── name: :B
- │ │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "."
- │ │ │ │ │ ├── name: :new
- │ │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (27,10)-(27,15))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── receiver:
+ │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11))
+ │ │ │ │ │ └── name: :B
+ │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "."
+ │ │ │ │ ├── name: :new
+ │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: (27,15)-(27,16) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ └── @ DefNode (location: (29,2)-(31,5))
│ │ ├── name: :foo
│ │ ├── name_loc: (29,6)-(29,9) = "foo"
diff --git a/test/prism/snapshots/unparser/corpus/literal/control.txt b/test/prism/snapshots/unparser/corpus/literal/control.txt
index 9e4b52341e..3f667bd431 100644
--- a/test/prism/snapshots/unparser/corpus/literal/control.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/control.txt
@@ -18,122 +18,122 @@
│ ├── keyword_loc: (6,0)-(6,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (6,7)-(6,8))
- │ ├── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (6,7)-(6,8))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IntegerNode (location: (6,7)-(6,8))
+ │ └── flags: decimal
├── @ ReturnNode (location: (7,0)-(7,11))
│ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (7,7)-(7,11))
- │ ├── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (7,7)-(7,8))
- │ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (7,10)-(7,11))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ IntegerNode (location: (7,7)-(7,8))
+ │ │ └── flags: decimal
+ │ └── @ IntegerNode (location: (7,10)-(7,11))
+ │ └── flags: decimal
├── @ ReturnNode (location: (8,0)-(8,19))
│ ├── keyword_loc: (8,0)-(8,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (8,7)-(8,19))
- │ ├── arguments: (length: 1)
- │ │ └── @ IfNode (location: (8,7)-(8,19))
- │ │ ├── if_keyword_loc: ∅
- │ │ ├── predicate:
- │ │ │ @ TrueNode (location: (8,7)-(8,11))
- │ │ ├── then_keyword_loc: (8,12)-(8,13) = "?"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (8,14)-(8,15))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (8,14)-(8,15))
- │ │ │ └── flags: decimal
- │ │ ├── consequent:
- │ │ │ @ ElseNode (location: (8,16)-(8,19))
- │ │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (8,18)-(8,19))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (8,18)-(8,19))
- │ │ │ │ └── flags: decimal
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── end_keyword_loc: ∅
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ IfNode (location: (8,7)-(8,19))
+ │ ├── if_keyword_loc: ∅
+ │ ├── predicate:
+ │ │ @ TrueNode (location: (8,7)-(8,11))
+ │ ├── then_keyword_loc: (8,12)-(8,13) = "?"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (8,14)-(8,15))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (8,14)-(8,15))
+ │ │ └── flags: decimal
+ │ ├── consequent:
+ │ │ @ ElseNode (location: (8,16)-(8,19))
+ │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (8,18)-(8,19))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (8,18)-(8,19))
+ │ │ │ └── flags: decimal
+ │ │ └── end_keyword_loc: ∅
+ │ └── end_keyword_loc: ∅
├── @ BreakNode (location: (9,0)-(9,18))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,6)-(9,18))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IfNode (location: (9,6)-(9,18))
- │ │ │ ├── if_keyword_loc: ∅
- │ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (9,6)-(9,10))
- │ │ │ ├── then_keyword_loc: (9,11)-(9,12) = "?"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (9,13)-(9,14))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (9,13)-(9,14))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (9,15)-(9,18))
- │ │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (9,17)-(9,18))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IfNode (location: (9,6)-(9,18))
+ │ │ ├── if_keyword_loc: ∅
+ │ │ ├── predicate:
+ │ │ │ @ TrueNode (location: (9,6)-(9,10))
+ │ │ ├── then_keyword_loc: (9,11)-(9,12) = "?"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (9,13)-(9,14))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (9,13)-(9,14))
+ │ │ │ └── flags: decimal
+ │ │ ├── consequent:
+ │ │ │ @ ElseNode (location: (9,15)-(9,18))
+ │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (9,17)-(9,18))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── end_keyword_loc: ∅
+ │ │ └── end_keyword_loc: ∅
│ └── keyword_loc: (9,0)-(9,5) = "break"
├── @ NextNode (location: (10,0)-(10,17))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,5)-(10,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ IfNode (location: (10,5)-(10,17))
- │ │ │ ├── if_keyword_loc: ∅
- │ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (10,5)-(10,9))
- │ │ │ ├── then_keyword_loc: (10,10)-(10,11) = "?"
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (10,12)-(10,13))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
- │ │ │ │ └── flags: decimal
- │ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (10,14)-(10,17))
- │ │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (10,16)-(10,17))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ └── end_keyword_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ IfNode (location: (10,5)-(10,17))
+ │ │ ├── if_keyword_loc: ∅
+ │ │ ├── predicate:
+ │ │ │ @ TrueNode (location: (10,5)-(10,9))
+ │ │ ├── then_keyword_loc: (10,10)-(10,11) = "?"
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (10,12)-(10,13))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
+ │ │ │ └── flags: decimal
+ │ │ ├── consequent:
+ │ │ │ @ ElseNode (location: (10,14)-(10,17))
+ │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (10,16)-(10,17))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17))
+ │ │ │ │ └── flags: decimal
+ │ │ │ └── end_keyword_loc: ∅
+ │ │ └── end_keyword_loc: ∅
│ └── keyword_loc: (10,0)-(10,4) = "next"
└── @ ReturnNode (location: (11,0)-(15,3))
├── keyword_loc: (11,0)-(11,6) = "return"
└── arguments:
@ ArgumentsNode (location: (11,7)-(15,3))
- ├── arguments: (length: 2)
- │ ├── @ TrueNode (location: (11,7)-(11,11))
- │ └── @ IfNode (location: (11,13)-(15,3))
- │ ├── if_keyword_loc: (11,13)-(11,15) = "if"
- │ ├── predicate:
- │ │ @ TrueNode (location: (11,16)-(11,20))
- │ ├── then_keyword_loc: ∅
- │ ├── statements:
- │ │ @ StatementsNode (location: (12,2)-(12,3))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (12,2)-(12,3))
- │ │ └── flags: decimal
- │ ├── consequent:
- │ │ @ ElseNode (location: (13,0)-(15,3))
- │ │ ├── else_keyword_loc: (13,0)-(13,4) = "else"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (14,2)-(14,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (14,2)-(14,3))
- │ │ │ └── flags: decimal
- │ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
- │ └── end_keyword_loc: (15,0)-(15,3) = "end"
- └── flags: ∅
+ ├── flags: ∅
+ └── arguments: (length: 2)
+ ├── @ TrueNode (location: (11,7)-(11,11))
+ └── @ IfNode (location: (11,13)-(15,3))
+ ├── if_keyword_loc: (11,13)-(11,15) = "if"
+ ├── predicate:
+ │ @ TrueNode (location: (11,16)-(11,20))
+ ├── then_keyword_loc: ∅
+ ├── statements:
+ │ @ StatementsNode (location: (12,2)-(12,3))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (12,2)-(12,3))
+ │ └── flags: decimal
+ ├── consequent:
+ │ @ ElseNode (location: (13,0)-(15,3))
+ │ ├── else_keyword_loc: (13,0)-(13,4) = "else"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (14,2)-(14,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ IntegerNode (location: (14,2)-(14,3))
+ │ │ └── flags: decimal
+ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
+ └── end_keyword_loc: (15,0)-(15,3) = "end"
diff --git a/test/prism/snapshots/unparser/corpus/literal/def.txt b/test/prism/snapshots/unparser/corpus/literal/def.txt
index 1c8c461a8e..0648be1293 100644
--- a/test/prism/snapshots/unparser/corpus/literal/def.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/def.txt
@@ -15,6 +15,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -22,8 +23,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (3,0)-(4,3))
│ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
@@ -34,6 +34,7 @@
│ │ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,2)-(4,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -41,8 +42,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
│ │ │ @ ElseNode (location: (5,0)-(7,6))
@@ -51,6 +51,7 @@
│ │ │ │ @ StatementsNode (location: (6,2)-(6,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (6,2)-(6,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
@@ -58,8 +59,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ ├── ensure_clause:
│ │ │ @ EnsureNode (location: (7,0)-(9,3))
@@ -68,6 +68,7 @@
│ │ │ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (8,2)-(8,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@@ -75,8 +76,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
│ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
│ ├── locals: []
@@ -101,6 +101,7 @@
│ │ │ └── @ RescueModifierNode (location: (12,2)-(12,12))
│ │ │ ├── expression:
│ │ │ │ @ CallNode (location: (12,2)-(12,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -108,11 +109,11 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── keyword_loc: (12,4)-(12,10) = "rescue"
│ │ │ └── rescue_expression:
│ │ │ @ CallNode (location: (12,11)-(12,12))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -120,8 +121,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (13,0)-(14,3))
│ │ │ ├── keyword_loc: (13,0)-(13,6) = "rescue"
@@ -132,6 +132,7 @@
│ │ │ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (14,2)-(14,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -139,8 +140,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
│ │ │ @ ElseNode (location: (15,0)-(17,6))
@@ -149,6 +149,7 @@
│ │ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (16,2)-(16,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
@@ -156,8 +157,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (17,0)-(17,6) = "ensure"
│ │ ├── ensure_clause:
│ │ │ @ EnsureNode (location: (17,0)-(19,3))
@@ -166,6 +166,7 @@
│ │ │ │ @ StatementsNode (location: (18,2)-(18,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (18,2)-(18,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@@ -173,8 +174,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
│ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
│ ├── locals: []
@@ -236,6 +236,7 @@
│ │ @ StatementsNode (location: (28,2)-(28,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (28,2)-(28,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -243,8 +244,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (27,0)-(27,3) = "def"
@@ -265,6 +265,7 @@
│ │ │ @ StatementsNode (location: (32,2)-(32,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (32,2)-(32,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -272,8 +273,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (33,0)-(34,5))
│ │ │ ├── keyword_loc: (33,0)-(33,6) = "rescue"
@@ -284,6 +284,7 @@
│ │ │ │ @ StatementsNode (location: (34,2)-(34,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (34,2)-(34,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -291,8 +292,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
@@ -302,6 +302,7 @@
│ │ │ │ @ StatementsNode (location: (36,2)-(36,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (36,2)-(36,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -309,8 +310,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
│ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
│ ├── locals: []
@@ -333,6 +333,7 @@
│ │ │ @ StatementsNode (location: (40,2)-(40,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (40,2)-(40,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -340,8 +341,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
@@ -351,6 +351,7 @@
│ │ │ │ @ StatementsNode (location: (42,2)-(42,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (42,2)-(42,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -358,8 +359,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
│ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
│ ├── locals: []
@@ -382,6 +382,7 @@
│ │ │ @ StatementsNode (location: (46,2)-(46,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (46,2)-(46,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -389,8 +390,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (47,0)-(48,5))
│ │ │ ├── keyword_loc: (47,0)-(47,6) = "rescue"
@@ -401,6 +401,7 @@
│ │ │ │ @ StatementsNode (location: (48,2)-(48,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (48,2)-(48,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -408,8 +409,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
@@ -536,6 +536,7 @@
│ │ │ │ @ StatementsNode (location: (63,15)-(63,23))
│ │ │ │ └── body: (length: 2)
│ │ │ │ ├── @ CallNode (location: (63,15)-(63,18))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :baz
@@ -543,8 +544,7 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ └── @ NilNode (location: (63,20)-(63,23))
│ │ │ ├── opening_loc: (63,14)-(63,15) = "("
│ │ │ └── closing_loc: (63,23)-(63,24) = ")"
@@ -674,6 +674,7 @@
│ │ │ ├── name_loc: (77,8)-(77,12) = "bar:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (77,13)-(77,16))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -681,8 +682,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -710,6 +710,7 @@
│ │ │ ├── name_loc: (80,8)-(80,12) = "bar:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (80,13)-(80,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -717,8 +718,7 @@
│ │ │ ├── opening_loc: (80,16)-(80,17) = "("
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: (80,17)-(80,18) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@@ -751,6 +751,7 @@
│ │ @ StatementsNode (location: (84,2)-(84,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (84,2)-(84,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -758,8 +759,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (83,0)-(83,3) = "def"
@@ -859,6 +859,7 @@
│ │ @ StatementsNode (location: (96,2)-(96,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (96,2)-(96,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -866,8 +867,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:baz, :bor]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (95,0)-(95,3) = "def"
@@ -907,6 +907,7 @@
│ │ @ StatementsNode (location: (100,2)-(100,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (100,2)-(100,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -914,8 +915,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:baz, :bor, :block]
│ ├── locals_body_index: 3
│ ├── def_keyword_loc: (99,0)-(99,3) = "def"
@@ -984,6 +984,7 @@
│ │ @ StatementsNode (location: (108,2)-(108,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (108,2)-(108,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -991,8 +992,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: [:block]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (107,0)-(107,3) = "def"
@@ -1043,6 +1043,7 @@
│ │ @ StatementsNode (location: (116,2)-(117,5))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (116,2)-(116,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -1050,9 +1051,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (117,2)-(117,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -1060,8 +1061,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (115,0)-(115,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/defined.txt b/test/prism/snapshots/unparser/corpus/literal/defined.txt
index 11bf07c9fe..f2a19370e5 100644
--- a/test/prism/snapshots/unparser/corpus/literal/defined.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/defined.txt
@@ -39,14 +39,14 @@
│ │ ├── operator_loc: (3,17)-(3,18) = "="
│ │ └── value:
│ │ @ ArrayNode (location: (3,19)-(3,25))
+ │ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (3,20)-(3,21))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (3,23)-(3,24))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,19)-(3,20) = "["
- │ │ ├── closing_loc: (3,24)-(3,25) = "]"
- │ │ └── flags: ∅
+ │ │ └── closing_loc: (3,24)-(3,25) = "]"
│ ├── opening_loc: (3,9)-(3,10) = "("
│ └── closing_loc: (3,25)-(3,26) = ")"
├── rparen_loc: (3,26)-(3,27) = ")"
diff --git a/test/prism/snapshots/unparser/corpus/literal/defs.txt b/test/prism/snapshots/unparser/corpus/literal/defs.txt
index 3dd422c51a..8b8dcf2f28 100644
--- a/test/prism/snapshots/unparser/corpus/literal/defs.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/defs.txt
@@ -28,6 +28,7 @@
│ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,2)-(5,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -35,8 +36,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (4,0)-(4,3) = "def"
@@ -55,6 +55,7 @@
│ │ @ StatementsNode (location: (9,2)-(10,5))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (9,2)-(9,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -62,9 +63,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (10,2)-(10,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -72,8 +73,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (8,0)-(8,3) = "def"
@@ -93,6 +93,7 @@
│ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,2)-(14,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -100,8 +101,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (13,0)-(13,3) = "def"
@@ -117,6 +117,7 @@
│ │ @ ParenthesesNode (location: (17,4)-(18,2))
│ │ ├── body:
│ │ │ @ CallNode (location: (17,5)-(18,1))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -124,30 +125,29 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (17,9)-(18,1))
- │ │ │ │ ├── locals: [:bar]
- │ │ │ │ ├── locals_body_index: 1
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16))
- │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15))
- │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15))
- │ │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ │ └── block: ∅
- │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|"
- │ │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|"
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (17,9)-(17,10) = "{"
- │ │ │ │ └── closing_loc: (18,0)-(18,1) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (17,9)-(18,1))
+ │ │ │ ├── locals: [:bar]
+ │ │ │ ├── locals_body_index: 1
+ │ │ │ ├── parameters:
+ │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16))
+ │ │ │ │ ├── parameters:
+ │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15))
+ │ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15))
+ │ │ │ │ │ │ └── name: :bar
+ │ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ │ ├── rest: ∅
+ │ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ ├── locals: (length: 0)
+ │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|"
+ │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|"
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (17,9)-(17,10) = "{"
+ │ │ │ └── closing_loc: (18,0)-(18,1) = "}"
│ │ ├── opening_loc: (17,4)-(17,5) = "("
│ │ └── closing_loc: (18,1)-(18,2) = ")"
│ ├── parameters: ∅
@@ -155,6 +155,7 @@
│ │ @ StatementsNode (location: (19,2)-(19,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (19,2)-(19,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -162,8 +163,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (17,0)-(17,3) = "def"
@@ -179,6 +179,7 @@
│ │ @ ParenthesesNode (location: (22,4)-(22,12))
│ │ ├── body:
│ │ │ @ CallNode (location: (22,5)-(22,11))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -186,13 +187,12 @@
│ │ │ ├── opening_loc: (22,8)-(22,9) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (22,9)-(22,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10))
- │ │ │ │ │ └── flags: decimal
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10))
+ │ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: (22,10)-(22,11) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (22,4)-(22,5) = "("
│ │ └── closing_loc: (22,11)-(22,12) = ")"
│ ├── parameters: ∅
@@ -200,6 +200,7 @@
│ │ @ StatementsNode (location: (23,2)-(23,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (23,2)-(23,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -207,8 +208,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (22,0)-(22,3) = "def"
@@ -224,6 +224,7 @@
│ │ @ ParenthesesNode (location: (26,4)-(26,18))
│ │ ├── body:
│ │ │ @ CallNode (location: (26,5)-(26,17))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ ConstantPathNode (location: (26,5)-(26,13))
│ │ │ │ ├── parent:
@@ -239,8 +240,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (26,4)-(26,5) = "("
│ │ └── closing_loc: (26,17)-(26,18) = ")"
│ ├── parameters: ∅
@@ -248,6 +248,7 @@
│ │ @ StatementsNode (location: (27,2)-(27,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (27,2)-(27,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -255,8 +256,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (26,0)-(26,3) = "def"
@@ -286,6 +286,7 @@
│ │ @ StatementsNode (location: (31,2)-(31,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (31,2)-(31,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -293,8 +294,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (30,0)-(30,3) = "def"
@@ -314,6 +314,7 @@
│ │ @ StatementsNode (location: (35,2)-(35,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (35,2)-(35,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -321,8 +322,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (34,0)-(34,3) = "def"
@@ -336,6 +336,7 @@
├── name_loc: (38,8)-(38,11) = "bar"
├── receiver:
│ @ CallNode (location: (38,4)-(38,7))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -343,13 +344,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── parameters: ∅
├── body:
│ @ StatementsNode (location: (39,2)-(39,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (39,2)-(39,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :baz
@@ -357,8 +358,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (38,0)-(38,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/dstr.txt b/test/prism/snapshots/unparser/corpus/literal/dstr.txt
index 6bcdd0ce62..f4fbe11140 100644
--- a/test/prism/snapshots/unparser/corpus/literal/dstr.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/dstr.txt
@@ -56,6 +56,7 @@
│ │ │ │ └── unescaped: "a\nb\n"
│ │ │ └── closing_loc: (9,0)-(10,0) = " HEREDOC\n"
│ │ └── @ CallNode (location: (10,2)-(10,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :x
@@ -63,8 +64,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (11,0)-(11,3) = "end"
├── @ InterpolatedStringNode (location: (12,0)-(12,10))
@@ -198,35 +198,36 @@
│ │ ├── keyword_loc: (27,2)-(27,8) = "return"
│ │ └── arguments:
│ │ @ ArgumentsNode (location: (27,9)-(27,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19))
- │ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (28,0)-(28,4))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9))
- │ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}"
- │ │ │ │ └── @ StringNode (location: (28,9)-(29,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (28,9)-(29,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (29,0)-(30,0) = " HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19))
+ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (28,0)-(28,4))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9))
+ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8))
+ │ │ │ │ │ └── flags: decimal
+ │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}"
+ │ │ │ └── @ StringNode (location: (28,9)-(29,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (28,9)-(29,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (29,0)-(30,0) = " HEREDOC\n"
│ ├── consequent: ∅
│ └── end_keyword_loc: (30,0)-(30,3) = "end"
├── @ CallNode (location: (31,0)-(31,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -234,44 +235,44 @@
│ ├── opening_loc: (31,3)-(31,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,4)-(31,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14))
- │ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC"
- │ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (32,0)-(32,2))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " "
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8))
- │ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{"
- │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7))
- │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}"
- │ │ │ │ └── @ StringNode (location: (32,8)-(33,0))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (32,8)-(33,0) = "\n"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (33,0)-(34,0) = "HEREDOC\n"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14))
+ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC"
+ │ │ ├── parts: (length: 3)
+ │ │ │ ├── @ StringNode (location: (32,0)-(32,2))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " "
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: " "
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8))
+ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{"
+ │ │ │ │ ├── statements:
+ │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7))
+ │ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :bar
+ │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}"
+ │ │ │ └── @ StringNode (location: (32,8)-(33,0))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (32,8)-(33,0) = "\n"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\n"
+ │ │ └── closing_loc: (33,0)-(34,0) = "HEREDOC\n"
│ ├── closing_loc: (31,14)-(31,15) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (34,0)-(37,1))
+ ├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
@@ -279,62 +280,61 @@
├── opening_loc: (34,3)-(34,4) = "("
├── arguments:
│ @ ArgumentsNode (location: (34,4)-(34,14))
- │ ├── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (34,4)-(34,14))
- │ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC"
- │ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (35,0)-(35,2))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (35,0)-(35,2) = " "
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8))
- │ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (35,4)-(35,7))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,7))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── closing_loc: (35,7)-(35,8) = "}"
- │ │ │ └── @ StringNode (location: (35,8)-(36,0))
- │ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (35,8)-(36,0) = "\n"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (36,0)-(37,0) = "HEREDOC\n"
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ InterpolatedStringNode (location: (34,4)-(34,14))
+ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC"
+ │ ├── parts: (length: 3)
+ │ │ ├── @ StringNode (location: (35,0)-(35,2))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (35,0)-(35,2) = " "
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: " "
+ │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8))
+ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (35,4)-(35,7))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (35,4)-(35,7))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── closing_loc: (35,7)-(35,8) = "}"
+ │ │ └── @ StringNode (location: (35,8)-(36,0))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: ∅
+ │ │ ├── content_loc: (35,8)-(36,0) = "\n"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "\n"
+ │ └── closing_loc: (36,0)-(37,0) = "HEREDOC\n"
├── closing_loc: (34,14)-(34,15) = ")"
- ├── block:
- │ @ BlockNode (location: (34,16)-(37,1))
- │ ├── locals: [:x]
- │ ├── locals_body_index: 1
- │ ├── parameters:
- │ │ @ BlockParametersNode (location: (34,18)-(34,21))
- │ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (34,19)-(34,20))
- │ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20))
- │ │ │ │ └── name: :x
- │ │ │ ├── optionals: (length: 0)
- │ │ │ ├── rest: ∅
- │ │ │ ├── posts: (length: 0)
- │ │ │ ├── keywords: (length: 0)
- │ │ │ ├── keyword_rest: ∅
- │ │ │ └── block: ∅
- │ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (34,18)-(34,19) = "|"
- │ │ └── closing_loc: (34,20)-(34,21) = "|"
- │ ├── body: ∅
- │ ├── opening_loc: (34,16)-(34,17) = "{"
- │ └── closing_loc: (37,0)-(37,1) = "}"
- └── flags: ∅
+ └── block:
+ @ BlockNode (location: (34,16)-(37,1))
+ ├── locals: [:x]
+ ├── locals_body_index: 1
+ ├── parameters:
+ │ @ BlockParametersNode (location: (34,18)-(34,21))
+ │ ├── parameters:
+ │ │ @ ParametersNode (location: (34,19)-(34,20))
+ │ │ ├── requireds: (length: 1)
+ │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20))
+ │ │ │ └── name: :x
+ │ │ ├── optionals: (length: 0)
+ │ │ ├── rest: ∅
+ │ │ ├── posts: (length: 0)
+ │ │ ├── keywords: (length: 0)
+ │ │ ├── keyword_rest: ∅
+ │ │ └── block: ∅
+ │ ├── locals: (length: 0)
+ │ ├── opening_loc: (34,18)-(34,19) = "|"
+ │ └── closing_loc: (34,20)-(34,21) = "|"
+ ├── body: ∅
+ ├── opening_loc: (34,16)-(34,17) = "{"
+ └── closing_loc: (37,0)-(37,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt
index 0343232a5a..45b2ed0c94 100644
--- a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt
@@ -11,14 +11,17 @@
│ │ │ @ StatementsNode (location: (1,4)-(1,22))
│ │ │ └── body: (length: 1)
│ │ │ └── @ FlipFlopNode (location: (1,4)-(1,22))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left:
│ │ │ │ @ ParenthesesNode (location: (1,4)-(1,12))
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (1,5)-(1,11))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (1,5)-(1,11))
+ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── receiver:
│ │ │ │ │ │ @ CallNode (location: (1,5)-(1,6))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :i
@@ -26,21 +29,19 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :==
│ │ │ │ │ ├── message_loc: (1,7)-(1,9) = "=="
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
│ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
+ │ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
│ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
│ │ │ ├── right:
@@ -49,8 +50,10 @@
│ │ │ │ │ @ StatementsNode (location: (1,15)-(1,21))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (1,15)-(1,21))
+ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── receiver:
│ │ │ │ │ │ @ CallNode (location: (1,15)-(1,16))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :i
@@ -58,25 +61,22 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :==
│ │ │ │ │ ├── message_loc: (1,17)-(1,19) = "=="
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
│ │ │ │ │ │ @ ArgumentsNode (location: (1,20)-(1,21))
- │ │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21))
- │ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21))
+ │ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── opening_loc: (1,14)-(1,15) = "("
│ │ │ │ └── closing_loc: (1,21)-(1,22) = ")"
- │ │ │ ├── operator_loc: (1,12)-(1,14) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ └── operator_loc: (1,12)-(1,14) = ".."
│ │ ├── opening_loc: (1,3)-(1,4) = "("
│ │ └── closing_loc: (1,22)-(1,23) = ")"
│ ├── then_keyword_loc: ∅
@@ -84,6 +84,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -91,8 +92,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (3,0)-(3,3) = "end"
└── @ IfNode (location: (4,0)-(6,3))
@@ -103,14 +103,17 @@
│ │ @ StatementsNode (location: (4,4)-(4,23))
│ │ └── body: (length: 1)
│ │ └── @ FlipFlopNode (location: (4,4)-(4,23))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ ParenthesesNode (location: (4,4)-(4,12))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (4,5)-(4,11))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,5)-(4,11))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (4,5)-(4,6))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :i
@@ -118,21 +121,19 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :==
│ │ │ │ ├── message_loc: (4,7)-(4,9) = "=="
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (4,10)-(4,11))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11))
+ │ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (4,4)-(4,5) = "("
│ │ │ └── closing_loc: (4,11)-(4,12) = ")"
│ │ ├── right:
@@ -141,8 +142,10 @@
│ │ │ │ @ StatementsNode (location: (4,16)-(4,22))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,16)-(4,22))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (4,16)-(4,17))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :i
@@ -150,25 +153,22 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :==
│ │ │ │ ├── message_loc: (4,18)-(4,20) = "=="
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (4,21)-(4,22))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22))
- │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── flags: ∅
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22))
+ │ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (4,15)-(4,16) = "("
│ │ │ └── closing_loc: (4,22)-(4,23) = ")"
- │ │ ├── operator_loc: (4,12)-(4,15) = "..."
- │ │ └── flags: exclude_end
+ │ │ └── operator_loc: (4,12)-(4,15) = "..."
│ ├── opening_loc: (4,3)-(4,4) = "("
│ └── closing_loc: (4,23)-(4,24) = ")"
├── then_keyword_loc: ∅
@@ -176,6 +176,7 @@
│ @ StatementsNode (location: (5,2)-(5,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (5,2)-(5,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -183,7 +184,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── consequent: ∅
└── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/prism/snapshots/unparser/corpus/literal/for.txt b/test/prism/snapshots/unparser/corpus/literal/for.txt
index c2501a5440..626a97fe55 100644
--- a/test/prism/snapshots/unparser/corpus/literal/for.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/for.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(12,3))
└── body: (length: 4)
├── @ CallNode (location: (1,0)-(3,4))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -11,44 +12,43 @@
│ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(3,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ForNode (location: (1,4)-(3,3))
- │ │ │ ├── index:
- │ │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9))
- │ │ │ │ ├── name: :a
- │ │ │ │ └── depth: 0
- │ │ │ ├── collection:
- │ │ │ │ @ CallNode (location: (1,13)-(1,16))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2,2)-(2,5))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (2,2)-(2,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :baz
- │ │ │ │ ├── message_loc: (2,2)-(2,5) = "baz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── for_keyword_loc: (1,4)-(1,7) = "for"
- │ │ │ ├── in_keyword_loc: (1,10)-(1,12) = "in"
- │ │ │ ├── do_keyword_loc: (1,17)-(1,19) = "do"
- │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ForNode (location: (1,4)-(3,3))
+ │ │ ├── index:
+ │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9))
+ │ │ │ ├── name: :a
+ │ │ │ └── depth: 0
+ │ │ ├── collection:
+ │ │ │ @ CallNode (location: (1,13)-(1,16))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── statements:
+ │ │ │ @ StatementsNode (location: (2,2)-(2,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :baz
+ │ │ │ ├── message_loc: (2,2)-(2,5) = "baz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── for_keyword_loc: (1,4)-(1,7) = "for"
+ │ │ ├── in_keyword_loc: (1,10)-(1,12) = "in"
+ │ │ ├── do_keyword_loc: (1,17)-(1,19) = "do"
+ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
│ ├── closing_loc: (3,3)-(3,4) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ ForNode (location: (4,0)-(6,3))
│ ├── index:
│ │ @ LocalVariableTargetNode (location: (4,4)-(4,5))
@@ -56,6 +56,7 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ CallNode (location: (4,9)-(4,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -63,12 +64,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,2)-(5,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -76,8 +77,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── for_keyword_loc: (4,0)-(4,3) = "for"
│ ├── in_keyword_loc: (4,6)-(4,8) = "in"
│ ├── do_keyword_loc: (4,13)-(4,15) = "do"
@@ -101,6 +101,7 @@
│ │ └── rparen_loc: (7,10)-(7,11) = ")"
│ ├── collection:
│ │ @ CallNode (location: (7,15)-(7,18))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -108,12 +109,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (8,2)-(8,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (8,2)-(8,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -121,8 +122,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── for_keyword_loc: (7,0)-(7,3) = "for"
│ ├── in_keyword_loc: (7,12)-(7,14) = "in"
│ ├── do_keyword_loc: (7,19)-(7,21) = "do"
@@ -143,6 +143,7 @@
│ └── rparen_loc: (10,9)-(10,10) = ")"
├── collection:
│ @ CallNode (location: (10,14)-(10,17))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -150,12 +151,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── statements:
│ @ StatementsNode (location: (11,2)-(11,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (11,2)-(11,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :baz
@@ -163,8 +164,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── for_keyword_loc: (10,0)-(10,3) = "for"
├── in_keyword_loc: (10,11)-(10,13) = "in"
├── do_keyword_loc: (10,18)-(10,20) = "do"
diff --git a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt
index 2fe6ef2311..0ff57fb213 100644
--- a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt
@@ -8,6 +8,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -15,12 +16,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,0)-(1,5) = "BEGIN"
│ ├── opening_loc: (1,6)-(1,7) = "{"
│ └── closing_loc: (3,0)-(3,1) = "}"
├── @ CallNode (location: (4,0)-(4,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -28,13 +29,13 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
└── @ PostExecutionNode (location: (5,0)-(7,1))
├── statements:
│ @ StatementsNode (location: (6,2)-(6,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (6,2)-(6,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :baz
@@ -42,8 +43,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── keyword_loc: (5,0)-(5,3) = "END"
├── opening_loc: (5,4)-(5,5) = "{"
└── closing_loc: (7,0)-(7,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/if.txt b/test/prism/snapshots/unparser/corpus/literal/if.txt
index dcf15b406a..cf49a6b328 100644
--- a/test/prism/snapshots/unparser/corpus/literal/if.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/if.txt
@@ -7,16 +7,17 @@
│ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
│ │ @ MatchLastLineNode (location: (1,3)-(1,8))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (1,3)-(1,4) = "/"
│ │ ├── content_loc: (1,4)-(1,7) = "foo"
│ │ ├── closing_loc: (1,7)-(1,8) = "/"
- │ │ ├── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "foo"
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -24,8 +25,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (3,0)-(3,3) = "end"
├── @ IfNode (location: (4,0)-(6,3))
@@ -91,6 +91,7 @@
│ ├── if_keyword_loc: (18,0)-(18,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (18,3)-(18,6))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -98,8 +99,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
@@ -129,6 +129,7 @@
│ │ │ ├── name_loc: (22,2)-(22,5) = "foo"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (22,8)-(22,11))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -136,8 +137,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (22,6)-(22,7) = "="
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
@@ -168,6 +168,7 @@
│ │ │ ├── name_loc: (26,2)-(26,5) = "foo"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (26,8)-(26,11))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -175,8 +176,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (26,6)-(26,7) = "="
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
@@ -186,6 +186,7 @@
│ ├── keyword_loc: (28,0)-(28,6) = "unless"
│ ├── predicate:
│ │ @ CallNode (location: (28,7)-(28,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -193,8 +194,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (29,2)-(29,11))
@@ -205,6 +205,7 @@
│ │ ├── name_loc: (29,2)-(29,5) = "foo"
│ │ ├── value:
│ │ │ @ CallNode (location: (29,8)-(29,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -212,8 +213,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (29,6)-(29,7) = "="
│ ├── consequent: ∅
│ └── end_keyword_loc: (30,0)-(30,3) = "end"
@@ -221,6 +221,7 @@
├── if_keyword_loc: (31,0)-(31,2) = "if"
├── predicate:
│ @ CallNode (location: (31,3)-(33,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -228,35 +229,34 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (31,7)-(33,1))
- │ │ ├── locals: [:pair]
- │ │ ├── locals_body_index: 1
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (31,9)-(31,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (31,10)-(31,14))
- │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14))
- │ │ │ │ │ └── name: :pair
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (31,9)-(31,10) = "|"
- │ │ │ └── closing_loc: (31,14)-(31,15) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (32,2)-(32,6))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6))
- │ │ │ ├── name: :pair
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (31,7)-(31,8) = "{"
- │ │ └── closing_loc: (33,0)-(33,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (31,7)-(33,1))
+ │ ├── locals: [:pair]
+ │ ├── locals_body_index: 1
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (31,9)-(31,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (31,10)-(31,14))
+ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14))
+ │ │ │ │ └── name: :pair
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (31,9)-(31,10) = "|"
+ │ │ └── closing_loc: (31,14)-(31,15) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (32,2)-(32,6))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6))
+ │ │ ├── name: :pair
+ │ │ └── depth: 0
+ │ ├── opening_loc: (31,7)-(31,8) = "{"
+ │ └── closing_loc: (33,0)-(33,1) = "}"
├── then_keyword_loc: ∅
├── statements:
│ @ StatementsNode (location: (34,2)-(35,5))
diff --git a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt
index db2bd0414f..75f97923ad 100644
--- a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt
@@ -34,6 +34,7 @@
│ │ @ StatementsNode (location: (10,2)-(10,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (10,2)-(10,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -41,8 +42,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -53,6 +53,7 @@
│ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,2)-(14,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -60,8 +61,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (15,0)-(16,3))
│ │ ├── keyword_loc: (15,0)-(15,6) = "rescue"
@@ -72,6 +72,7 @@
│ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (16,2)-(16,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -79,8 +80,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -91,6 +91,7 @@
│ │ @ StatementsNode (location: (20,2)-(21,3))
│ │ └── body: (length: 2)
│ │ ├── @ CallNode (location: (20,2)-(20,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@@ -98,9 +99,9 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── @ CallNode (location: (21,2)-(21,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -108,8 +109,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (22,0)-(23,3))
│ │ ├── keyword_loc: (22,0)-(22,6) = "rescue"
@@ -120,6 +120,7 @@
│ │ │ @ StatementsNode (location: (23,2)-(23,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (23,2)-(23,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -127,8 +128,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -174,6 +174,7 @@
│ │ @ StatementsNode (location: (35,2)-(35,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (35,2)-(35,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -181,8 +182,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (36,0)-(39,3))
│ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
@@ -195,6 +195,7 @@
│ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (37,2)-(37,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@@ -202,8 +203,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (38,0)-(39,3))
│ │ ├── keyword_loc: (38,0)-(38,6) = "rescue"
@@ -216,6 +216,7 @@
│ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (39,2)-(39,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@@ -223,8 +224,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@@ -234,6 +234,7 @@
│ │ │ @ StatementsNode (location: (41,2)-(41,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (41,2)-(41,3))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@@ -241,8 +242,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
│ └── end_keyword_loc: (42,0)-(42,3) = "end"
├── @ BeginNode (location: (44,0)-(53,3))
@@ -259,6 +259,7 @@
│ │ │ │ ├── name: :foo
│ │ │ │ └── depth: 0
│ │ │ └── @ CallNode (location: (47,4)-(47,7))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -266,8 +267,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── rescue_clause:
│ │ │ @ RescueNode (location: (48,2)-(48,8))
│ │ │ ├── keyword_loc: (48,2)-(48,8) = "rescue"
@@ -289,6 +289,7 @@
│ │ │ @ StatementsNode (location: (51,2)-(52,5))
│ │ │ └── body: (length: 2)
│ │ │ ├── @ CallNode (location: (51,2)-(51,5))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -296,9 +297,9 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── @ CallNode (location: (52,2)-(52,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -306,8 +307,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@@ -320,6 +320,7 @@
│ │ └── @ RescueModifierNode (location: (56,2)-(56,35))
│ │ ├── expression:
│ │ │ @ CallNode (location: (56,2)-(56,18))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :raise
@@ -327,13 +328,12 @@
│ │ │ ├── opening_loc: (56,7)-(56,8) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (56,8)-(56,17))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17))
- │ │ │ │ │ └── name: :Exception
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17))
+ │ │ │ │ └── name: :Exception
│ │ │ ├── closing_loc: (56,17)-(56,18) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (56,19)-(56,25) = "rescue"
│ │ └── rescue_expression:
│ │ @ LocalVariableWriteNode (location: (56,26)-(56,35))
@@ -342,6 +342,7 @@
│ │ ├── name_loc: (56,26)-(56,29) = "foo"
│ │ ├── value:
│ │ │ @ CallNode (location: (56,32)-(56,35))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@@ -349,8 +350,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (56,30)-(56,31) = "="
│ ├── rescue_clause:
│ │ @ RescueNode (location: (57,0)-(57,16))
@@ -452,6 +452,7 @@
│ │ │ @ StatementsNode (location: (75,2)-(75,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (75,2)-(75,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -459,8 +460,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/lambda.txt b/test/prism/snapshots/unparser/corpus/literal/lambda.txt
index 97b4cfcfe6..a8b58e5574 100644
--- a/test/prism/snapshots/unparser/corpus/literal/lambda.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/lambda.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(13,1))
└── body: (length: 6)
├── @ CallNode (location: (1,0)-(2,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :lambda
@@ -11,16 +12,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (1,7)-(2,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body: ∅
- │ │ ├── opening_loc: (1,7)-(1,8) = "{"
- │ │ └── closing_loc: (2,0)-(2,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (1,7)-(2,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body: ∅
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ └── closing_loc: (2,0)-(2,1) = "}"
├── @ CallNode (location: (3,0)-(5,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :lambda
@@ -28,37 +29,36 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (3,7)-(5,1))
- │ │ ├── locals: [:a, :b]
- │ │ ├── locals_body_index: 2
- │ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (3,9)-(3,15))
- │ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (3,10)-(3,14))
- │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11))
- │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14))
- │ │ │ │ │ └── name: :b
- │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ ├── rest: ∅
- │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ └── block: ∅
- │ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (3,9)-(3,10) = "|"
- │ │ │ └── closing_loc: (3,14)-(3,15) = "|"
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (4,2)-(4,3))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3))
- │ │ │ ├── name: :a
- │ │ │ └── depth: 0
- │ │ ├── opening_loc: (3,7)-(3,8) = "{"
- │ │ └── closing_loc: (5,0)-(5,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (3,7)-(5,1))
+ │ ├── locals: [:a, :b]
+ │ ├── locals_body_index: 2
+ │ ├── parameters:
+ │ │ @ BlockParametersNode (location: (3,9)-(3,15))
+ │ │ ├── parameters:
+ │ │ │ @ ParametersNode (location: (3,10)-(3,14))
+ │ │ │ ├── requireds: (length: 2)
+ │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11))
+ │ │ │ │ │ └── name: :a
+ │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14))
+ │ │ │ │ └── name: :b
+ │ │ │ ├── optionals: (length: 0)
+ │ │ │ ├── rest: ∅
+ │ │ │ ├── posts: (length: 0)
+ │ │ │ ├── keywords: (length: 0)
+ │ │ │ ├── keyword_rest: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── locals: (length: 0)
+ │ │ ├── opening_loc: (3,9)-(3,10) = "|"
+ │ │ └── closing_loc: (3,14)-(3,15) = "|"
+ │ ├── body:
+ │ │ @ StatementsNode (location: (4,2)-(4,3))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3))
+ │ │ ├── name: :a
+ │ │ └── depth: 0
+ │ ├── opening_loc: (3,7)-(3,8) = "{"
+ │ └── closing_loc: (5,0)-(5,1) = "}"
├── @ LambdaNode (location: (6,0)-(7,1))
│ ├── locals: []
│ ├── locals_body_index: 0
diff --git a/test/prism/snapshots/unparser/corpus/literal/literal.txt b/test/prism/snapshots/unparser/corpus/literal/literal.txt
index eb7e734787..472ecc3bed 100644
--- a/test/prism/snapshots/unparser/corpus/literal/literal.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/literal.txt
@@ -88,6 +88,7 @@
│ │ └── operator_loc: (4,22)-(4,24) = "=>"
│ └── closing_loc: (4,30)-(4,31) = "}"
├── @ ArrayNode (location: (5,0)-(5,12))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (5,1)-(5,6))
│ │ │ ├── flags: ∅
@@ -102,11 +103,12 @@
│ │ ├── closing_loc: (5,10)-(5,11) = ")"
│ │ └── unescaped: ""
│ ├── opening_loc: (5,0)-(5,1) = "["
- │ ├── closing_loc: (5,11)-(5,12) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (5,11)-(5,12) = "]"
├── @ CallNode (location: (6,0)-(6,15))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (6,0)-(6,13))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -114,42 +116,42 @@
│ │ ├── opening_loc: (6,1)-(6,2) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (6,2)-(6,12))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12))
- │ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC"
- │ │ │ │ ├── parts: (length: 3)
- │ │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2))
- │ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " "
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ └── unescaped: " "
- │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5))
- │ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{"
- │ │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}"
- │ │ │ │ │ └── @ StringNode (location: (7,5)-(8,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ └── closing_loc: (8,0)-(9,0) = "HEREDOC\n"
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12))
+ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC"
+ │ │ │ ├── parts: (length: 3)
+ │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2))
+ │ │ │ │ │ ├── flags: ∅
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " "
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── unescaped: " "
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5))
+ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{"
+ │ │ │ │ │ ├── statements: ∅
+ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}"
+ │ │ │ │ └── @ StringNode (location: (7,5)-(8,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\n"
+ │ │ │ └── closing_loc: (8,0)-(9,0) = "HEREDOC\n"
│ │ ├── closing_loc: (6,12)-(6,13) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (6,13)-(6,14) = "."
│ ├── name: :a
│ ├── message_loc: (6,14)-(6,15) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (9,0)-(9,6))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -157,25 +159,23 @@
│ │ ├── opening_loc: (9,1)-(9,2) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,2)-(9,5))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (9,2)-(9,5))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (9,2)-(9,4) = "%("
- │ │ │ │ ├── content_loc: (9,4)-(9,4) = ""
- │ │ │ │ ├── closing_loc: (9,4)-(9,5) = ")"
- │ │ │ │ └── unescaped: ""
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ StringNode (location: (9,2)-(9,5))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (9,2)-(9,4) = "%("
+ │ │ │ ├── content_loc: (9,4)-(9,4) = ""
+ │ │ │ ├── closing_loc: (9,4)-(9,5) = ")"
+ │ │ │ └── unescaped: ""
│ │ ├── closing_loc: (9,5)-(9,6) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: (9,6)-(9,7) = "."
│ ├── name: :a
│ ├── message_loc: (9,7)-(9,8) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ HashNode (location: (10,0)-(10,30))
│ ├── opening_loc: (10,0)-(10,1) = "{"
│ ├── elements: (length: 2)
@@ -212,6 +212,7 @@
│ │ └── @ AssocSplatNode (location: (10,23)-(10,28))
│ │ ├── value:
│ │ │ @ CallNode (location: (10,25)-(10,28))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -219,8 +220,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (10,23)-(10,25) = "**"
│ └── closing_loc: (10,29)-(10,30) = "}"
├── @ HashNode (location: (13,0)-(13,23))
@@ -245,6 +245,7 @@
│ │ └── @ AssocSplatNode (location: (13,16)-(13,21))
│ │ ├── value:
│ │ │ @ CallNode (location: (13,18)-(13,21))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -252,8 +253,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── operator_loc: (13,16)-(13,18) = "**"
│ └── closing_loc: (13,22)-(13,23) = "}"
├── @ InterpolatedStringNode (location: (14,0)-(14,14))
@@ -290,6 +290,7 @@
├── @ IntegerNode (location: (15,0)-(15,1))
│ └── flags: decimal
├── @ CallNode (location: (16,0)-(16,3))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (16,1)-(16,3))
│ │ └── flags: decimal
@@ -299,8 +300,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ IntegerNode (location: (17,0)-(17,1))
│ └── flags: decimal
├── @ IntegerNode (location: (18,0)-(18,1))
@@ -370,6 +370,7 @@
│ │ │ @ StatementsNode (location: (29,10)-(29,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (29,10)-(29,13))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@@ -377,8 +378,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (29,13)-(29,14) = "}"
│ └── closing_loc: (29,14)-(29,15) = "\""
├── @ InterpolatedStringNode (location: (30,0)-(30,12))
@@ -544,18 +544,19 @@
│ ├── closing_loc: (48,2)-(48,3) = "\""
│ └── unescaped: ""
├── @ RegularExpressionNode (location: (49,0)-(49,5))
+ │ ├── flags: ∅
│ ├── opening_loc: (49,0)-(49,1) = "/"
│ ├── content_loc: (49,1)-(49,4) = "foo"
│ ├── closing_loc: (49,4)-(49,5) = "/"
- │ ├── unescaped: "foo"
- │ └── flags: ∅
+ │ └── unescaped: "foo"
├── @ RegularExpressionNode (location: (50,0)-(50,28))
+ │ ├── flags: ∅
│ ├── opening_loc: (50,0)-(50,1) = "/"
│ ├── content_loc: (50,1)-(50,27) = "[^-+',.\\/:@[:alnum:]\\[\\]]+"
│ ├── closing_loc: (50,27)-(50,28) = "/"
- │ ├── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+"
- │ └── flags: ∅
+ │ └── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+"
├── @ InterpolatedRegularExpressionNode (location: (51,0)-(51,12))
+ │ ├── flags: ∅
│ ├── opening_loc: (51,0)-(51,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (51,1)-(51,4))
@@ -572,9 +573,9 @@
│ │ │ └── @ InstanceVariableReadNode (location: (51,6)-(51,10))
│ │ │ └── name: :@bar
│ │ └── closing_loc: (51,10)-(51,11) = "}"
- │ ├── closing_loc: (51,11)-(51,12) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (51,11)-(51,12) = "/"
├── @ InterpolatedRegularExpressionNode (location: (52,0)-(52,15))
+ │ ├── flags: ignore_case, extended, multi_line
│ ├── opening_loc: (52,0)-(52,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (52,1)-(52,4))
@@ -591,9 +592,9 @@
│ │ │ └── @ InstanceVariableReadNode (location: (52,6)-(52,10))
│ │ │ └── name: :@bar
│ │ └── closing_loc: (52,10)-(52,11) = "}"
- │ ├── closing_loc: (52,11)-(52,15) = "/imx"
- │ └── flags: ignore_case, extended, multi_line
+ │ └── closing_loc: (52,11)-(52,15) = "/imx"
├── @ InterpolatedRegularExpressionNode (location: (53,0)-(53,13))
+ │ ├── flags: ∅
│ ├── opening_loc: (53,0)-(53,1) = "/"
│ ├── parts: (length: 1)
│ │ └── @ EmbeddedStatementsNode (location: (53,1)-(53,12))
@@ -608,32 +609,31 @@
│ │ │ ├── closing_loc: (53,10)-(53,11) = "\""
│ │ │ └── unescaped: "\u0000"
│ │ └── closing_loc: (53,11)-(53,12) = "}"
- │ ├── closing_loc: (53,12)-(53,13) = "/"
- │ └── flags: ∅
+ │ └── closing_loc: (53,12)-(53,13) = "/"
├── @ RegularExpressionNode (location: (54,0)-(54,4))
+ │ ├── flags: ∅
│ ├── opening_loc: (54,0)-(54,1) = "/"
│ ├── content_loc: (54,1)-(54,3) = "\\n"
│ ├── closing_loc: (54,3)-(54,4) = "/"
- │ ├── unescaped: "\\n"
- │ └── flags: ∅
+ │ └── unescaped: "\\n"
├── @ RegularExpressionNode (location: (55,0)-(55,4))
+ │ ├── flags: ∅
│ ├── opening_loc: (55,0)-(55,1) = "/"
│ ├── content_loc: (55,1)-(55,3) = "\\n"
│ ├── closing_loc: (55,3)-(55,4) = "/"
- │ ├── unescaped: "\\n"
- │ └── flags: ∅
+ │ └── unescaped: "\\n"
├── @ RegularExpressionNode (location: (56,0)-(56,5))
+ │ ├── flags: extended
│ ├── opening_loc: (56,0)-(56,1) = "/"
│ ├── content_loc: (56,1)-(56,3) = "\\n"
│ ├── closing_loc: (56,3)-(56,5) = "/x"
- │ ├── unescaped: "\\n"
- │ └── flags: extended
+ │ └── unescaped: "\\n"
├── @ RegularExpressionNode (location: (57,0)-(57,7))
+ │ ├── flags: extended
│ ├── opening_loc: (57,0)-(57,1) = "/"
│ ├── content_loc: (57,1)-(57,5) = "\\/\\/"
│ ├── closing_loc: (57,5)-(57,7) = "/x"
- │ ├── unescaped: "//"
- │ └── flags: extended
+ │ └── unescaped: "//"
├── @ InterpolatedSymbolNode (location: (58,0)-(58,15))
│ ├── opening_loc: (58,0)-(58,2) = ":\""
│ ├── parts: (length: 3)
@@ -649,6 +649,7 @@
│ │ │ │ @ StatementsNode (location: (58,7)-(58,10))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (58,7)-(58,10))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -656,8 +657,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (58,10)-(58,11) = "}"
│ │ └── @ StringNode (location: (58,11)-(58,14))
│ │ ├── flags: ∅
@@ -683,12 +683,14 @@
│ │ └── closing_loc: (59,9)-(59,10) = "}"
│ └── closing_loc: (59,10)-(59,11) = "\""
├── @ RangeNode (location: (60,0)-(60,14))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ ParenthesesNode (location: (60,0)-(60,11))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (60,1)-(60,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (60,1)-(60,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ FloatNode (location: (60,1)-(60,4))
│ │ │ ├── call_operator_loc: ∅
@@ -697,20 +699,19 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (60,7)-(60,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10))
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (60,0)-(60,1) = "("
│ │ └── closing_loc: (60,10)-(60,11) = ")"
│ ├── right:
│ │ @ IntegerNode (location: (60,13)-(60,14))
│ │ └── flags: decimal
- │ ├── operator_loc: (60,11)-(60,13) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (60,11)-(60,13) = ".."
├── @ RangeNode (location: (61,0)-(61,14))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (61,0)-(61,1))
│ │ └── flags: decimal
@@ -720,6 +721,7 @@
│ │ │ @ StatementsNode (location: (61,4)-(61,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (61,4)-(61,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ FloatNode (location: (61,4)-(61,7))
│ │ │ ├── call_operator_loc: ∅
@@ -728,23 +730,23 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (61,10)-(61,13))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13))
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (61,3)-(61,4) = "("
│ │ └── closing_loc: (61,13)-(61,14) = ")"
- │ ├── operator_loc: (61,1)-(61,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (61,1)-(61,3) = ".."
├── @ RangeNode (location: (62,0)-(62,16))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ ParenthesesNode (location: (62,0)-(62,11))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (62,1)-(62,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (62,1)-(62,10))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ FloatNode (location: (62,1)-(62,4))
│ │ │ ├── call_operator_loc: ∅
@@ -753,31 +755,30 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (62,7)-(62,10))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10))
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10))
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (62,0)-(62,1) = "("
│ │ └── closing_loc: (62,10)-(62,11) = ")"
│ ├── right:
│ │ @ IntegerNode (location: (62,13)-(62,16))
│ │ └── flags: decimal
- │ ├── operator_loc: (62,11)-(62,13) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (62,11)-(62,13) = ".."
├── @ FloatNode (location: (63,0)-(63,4))
├── @ FloatNode (location: (64,0)-(64,3))
├── @ ArrayNode (location: (65,0)-(65,6))
+ │ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (65,1)-(65,2))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (65,4)-(65,5))
│ │ └── flags: decimal
│ ├── opening_loc: (65,0)-(65,1) = "["
- │ ├── closing_loc: (65,5)-(65,6) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (65,5)-(65,6) = "]"
├── @ ArrayNode (location: (66,0)-(66,11))
+ │ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ IntegerNode (location: (66,1)-(66,2))
│ │ │ └── flags: decimal
@@ -786,6 +787,7 @@
│ │ │ ├── opening_loc: (66,4)-(66,5) = "("
│ │ │ └── closing_loc: (66,5)-(66,6) = ")"
│ │ └── @ CallNode (location: (66,8)-(66,10))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :n2
@@ -793,24 +795,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (66,0)-(66,1) = "["
- │ ├── closing_loc: (66,10)-(66,11) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (66,10)-(66,11) = "]"
├── @ ArrayNode (location: (67,0)-(67,3))
+ │ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ IntegerNode (location: (67,1)-(67,2))
│ │ └── flags: decimal
│ ├── opening_loc: (67,0)-(67,1) = "["
- │ ├── closing_loc: (67,2)-(67,3) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (67,2)-(67,3) = "]"
├── @ ArrayNode (location: (68,0)-(68,2))
+ │ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (68,0)-(68,1) = "["
- │ ├── closing_loc: (68,1)-(68,2) = "]"
- │ └── flags: ∅
+ │ └── closing_loc: (68,1)-(68,2) = "]"
├── @ ArrayNode (location: (69,0)-(69,10))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (69,1)-(69,2))
│ │ │ └── flags: decimal
@@ -820,9 +821,9 @@
│ │ @ InstanceVariableReadNode (location: (69,5)-(69,9))
│ │ └── name: :@foo
│ ├── opening_loc: (69,0)-(69,1) = "["
- │ ├── closing_loc: (69,9)-(69,10) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (69,9)-(69,10) = "]"
├── @ ArrayNode (location: (70,0)-(70,10))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ SplatNode (location: (70,1)-(70,6))
│ │ │ ├── operator_loc: (70,1)-(70,2) = "*"
@@ -832,9 +833,9 @@
│ │ └── @ IntegerNode (location: (70,8)-(70,9))
│ │ └── flags: decimal
│ ├── opening_loc: (70,0)-(70,1) = "["
- │ ├── closing_loc: (70,9)-(70,10) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (70,9)-(70,10) = "]"
├── @ ArrayNode (location: (71,0)-(71,14))
+ │ ├── flags: contains_splat
│ ├── elements: (length: 2)
│ │ ├── @ SplatNode (location: (71,1)-(71,6))
│ │ │ ├── operator_loc: (71,1)-(71,2) = "*"
@@ -847,8 +848,7 @@
│ │ @ InstanceVariableReadNode (location: (71,9)-(71,13))
│ │ └── name: :@baz
│ ├── opening_loc: (71,0)-(71,1) = "["
- │ ├── closing_loc: (71,13)-(71,14) = "]"
- │ └── flags: contains_splat
+ │ └── closing_loc: (71,13)-(71,14) = "]"
├── @ HashNode (location: (72,0)-(72,2))
│ ├── opening_loc: (72,0)-(72,1) = "{"
│ ├── elements: (length: 0)
@@ -923,6 +923,7 @@
│ │ │ │ │ ├── keyword_loc: (76,8)-(76,14) = "rescue"
│ │ │ │ │ └── rescue_expression:
│ │ │ │ │ @ CallNode (location: (76,15)-(76,18))
+ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :foo
@@ -930,8 +931,7 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ └── block: ∅
│ │ │ │ ├── opening_loc: (76,5)-(76,6) = "("
│ │ │ │ └── closing_loc: (76,18)-(76,19) = ")"
│ │ │ └── operator_loc: ∅
@@ -1046,6 +1046,7 @@
│ │ └── unescaped: "\na"
│ └── closing_loc: (82,6)-(82,7) = "\""
├── @ CallNode (location: (83,0)-(86,1))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1053,41 +1054,40 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block:
- │ │ @ BlockNode (location: (83,4)-(86,1))
- │ │ ├── locals: []
- │ │ ├── locals_body_index: 0
- │ │ ├── parameters: ∅
- │ │ ├── body:
- │ │ │ @ StatementsNode (location: (84,2)-(85,7))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7))
- │ │ │ ├── opening_loc: (84,2)-(84,3) = "\""
- │ │ │ ├── parts: (length: 4)
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6))
- │ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}"
- │ │ │ │ ├── @ StringNode (location: (84,6)-(85,0))
- │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3))
- │ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{"
- │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}"
- │ │ │ │ └── @ StringNode (location: (85,3)-(85,6))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na"
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ └── unescaped: "\na"
- │ │ │ └── closing_loc: (85,6)-(85,7) = "\""
- │ │ ├── opening_loc: (83,4)-(83,5) = "{"
- │ │ └── closing_loc: (86,0)-(86,1) = "}"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockNode (location: (83,4)-(86,1))
+ │ ├── locals: []
+ │ ├── locals_body_index: 0
+ │ ├── parameters: ∅
+ │ ├── body:
+ │ │ @ StatementsNode (location: (84,2)-(85,7))
+ │ │ └── body: (length: 1)
+ │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7))
+ │ │ ├── opening_loc: (84,2)-(84,3) = "\""
+ │ │ ├── parts: (length: 4)
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6))
+ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}"
+ │ │ │ ├── @ StringNode (location: (84,6)-(85,0))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "\n"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3))
+ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{"
+ │ │ │ │ ├── statements: ∅
+ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}"
+ │ │ │ └── @ StringNode (location: (85,3)-(85,6))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na"
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── unescaped: "\na"
+ │ │ └── closing_loc: (85,6)-(85,7) = "\""
+ │ ├── opening_loc: (83,4)-(83,5) = "{"
+ │ └── closing_loc: (86,0)-(86,1) = "}"
├── @ SymbolNode (location: (87,0)-(88,2))
│ ├── opening_loc: (87,0)-(87,2) = ":\""
│ ├── value_loc: (87,2)-(88,1) = "a\\\\\nb"
@@ -1108,6 +1108,7 @@
│ │ │ @ StatementsNode (location: (90,2)-(90,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (90,2)-(90,5))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -1115,8 +1116,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ └── closing_loc: (90,5)-(90,6) = "}"
│ └── @ StringNode (location: (90,6)-(91,1))
│ ├── flags: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/module.txt b/test/prism/snapshots/unparser/corpus/literal/module.txt
index a417284cad..205f5453ed 100644
--- a/test/prism/snapshots/unparser/corpus/literal/module.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/module.txt
@@ -58,6 +58,7 @@
│ @ StatementsNode (location: (11,2)-(15,5))
│ └── body: (length: 2)
│ ├── @ CallNode (location: (11,2)-(11,16))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :include
@@ -65,23 +66,22 @@
│ │ ├── opening_loc: (11,9)-(11,10) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,10)-(11,15))
- │ │ │ ├── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (11,10)-(11,15))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11))
- │ │ │ │ │ └── name: :B
- │ │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "."
- │ │ │ │ ├── name: :new
- │ │ │ │ ├── message_loc: (11,12)-(11,15) = "new"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ └── flags: ∅
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ CallNode (location: (11,10)-(11,15))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11))
+ │ │ │ │ └── name: :B
+ │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "."
+ │ │ │ ├── name: :new
+ │ │ │ ├── message_loc: (11,12)-(11,15) = "new"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
│ │ ├── closing_loc: (11,15)-(11,16) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ └── @ DefNode (location: (13,2)-(15,5))
│ ├── name: :foo
│ ├── name_loc: (13,6)-(13,9) = "foo"
diff --git a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt
index 662caa0ced..764ae3adc2 100644
--- a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt
@@ -53,6 +53,7 @@
│ ├── operator_loc: (6,2)-(6,5) = "&&="
│ ├── value:
│ │ @ CallNode (location: (6,6)-(6,7))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@@ -60,8 +61,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── name: :a
│ └── depth: 0
├── @ LocalVariableOrWriteNode (location: (7,0)-(7,7))
@@ -73,6 +73,7 @@
│ ├── name: :a
│ └── depth: 0
├── @ CallNode (location: (8,0)-(8,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (8,0)-(8,9))
│ │ ├── body:
@@ -94,9 +95,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (9,0)-(9,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (9,0)-(9,10))
│ │ ├── body:
@@ -120,39 +121,38 @@
│ ├── opening_loc: (9,10)-(9,11) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,11)-(9,17))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (9,11)-(9,12))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :k
- │ │ │ │ ├── message_loc: (9,11)-(9,12) = "k"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (9,16)-(9,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :v
- │ │ │ ├── message_loc: (9,16)-(9,17) = "v"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (9,11)-(9,12))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :k
+ │ │ │ ├── message_loc: (9,11)-(9,12) = "k"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (9,16)-(9,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :v
+ │ │ ├── message_loc: (9,16)-(9,17) = "v"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (9,12)-(9,13) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallOperatorWriteNode (location: (10,0)-(10,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (10,0)-(10,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (10,1)-(10,2) = "."
│ ├── message_loc: (10,2)-(10,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :+
@@ -161,13 +161,13 @@
│ @ IntegerNode (location: (10,7)-(10,8))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (11,0)-(11,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (11,0)-(11,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (11,1)-(11,2) = "."
│ ├── message_loc: (11,2)-(11,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :-
@@ -176,13 +176,13 @@
│ @ IntegerNode (location: (11,7)-(11,8))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (12,0)-(12,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (12,0)-(12,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (12,1)-(12,2) = "."
│ ├── message_loc: (12,2)-(12,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :**
@@ -191,13 +191,13 @@
│ @ IntegerNode (location: (12,8)-(12,9))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (13,0)-(13,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (13,0)-(13,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (13,1)-(13,2) = "."
│ ├── message_loc: (13,2)-(13,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :*
@@ -206,13 +206,13 @@
│ @ IntegerNode (location: (13,7)-(13,8))
│ └── flags: decimal
├── @ CallOperatorWriteNode (location: (14,0)-(14,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (14,0)-(14,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (14,1)-(14,2) = "."
│ ├── message_loc: (14,2)-(14,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator: :/
@@ -221,18 +221,19 @@
│ @ IntegerNode (location: (14,7)-(14,8))
│ └── flags: decimal
├── @ CallAndWriteNode (location: (15,0)-(15,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (15,0)-(15,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (15,1)-(15,2) = "."
│ ├── message_loc: (15,2)-(15,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator_loc: (15,4)-(15,7) = "&&="
│ └── value:
│ @ CallNode (location: (15,8)-(15,9))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -240,16 +241,15 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallOrWriteNode (location: (16,0)-(16,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (16,0)-(16,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: (16,1)-(16,2) = "."
│ ├── message_loc: (16,2)-(16,3) = "b"
- │ ├── flags: ∅
│ ├── read_name: :b
│ ├── write_name: :b=
│ ├── operator_loc: (16,4)-(16,7) = "||="
@@ -257,6 +257,7 @@
│ @ IntegerNode (location: (16,8)-(16,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (17,0)-(17,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (17,0)-(17,1))
│ │ ├── name: :a
@@ -265,27 +266,27 @@
│ ├── opening_loc: (17,1)-(17,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,2)-(17,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (17,2)-(17,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (17,2)-(17,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (17,2)-(17,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (17,3)-(17,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :+
│ ├── operator_loc: (17,5)-(17,7) = "+="
│ └── value:
│ @ IntegerNode (location: (17,8)-(17,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (18,0)-(18,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (18,0)-(18,1))
│ │ ├── name: :a
@@ -294,27 +295,27 @@
│ ├── opening_loc: (18,1)-(18,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (18,2)-(18,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (18,2)-(18,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (18,2)-(18,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (18,2)-(18,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (18,2)-(18,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (18,3)-(18,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :-
│ ├── operator_loc: (18,5)-(18,7) = "-="
│ └── value:
│ @ IntegerNode (location: (18,8)-(18,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (19,0)-(19,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (19,0)-(19,1))
│ │ ├── name: :a
@@ -323,27 +324,27 @@
│ ├── opening_loc: (19,1)-(19,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,2)-(19,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (19,2)-(19,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (19,2)-(19,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (19,2)-(19,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (19,3)-(19,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :**
│ ├── operator_loc: (19,5)-(19,8) = "**="
│ └── value:
│ @ IntegerNode (location: (19,9)-(19,10))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (20,0)-(20,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (20,0)-(20,1))
│ │ ├── name: :a
@@ -352,27 +353,27 @@
│ ├── opening_loc: (20,1)-(20,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (20,2)-(20,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (20,2)-(20,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (20,2)-(20,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (20,2)-(20,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (20,2)-(20,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (20,3)-(20,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :*
│ ├── operator_loc: (20,5)-(20,7) = "*="
│ └── value:
│ @ IntegerNode (location: (20,8)-(20,9))
│ └── flags: decimal
├── @ IndexOperatorWriteNode (location: (21,0)-(21,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (21,0)-(21,1))
│ │ ├── name: :a
@@ -381,27 +382,27 @@
│ ├── opening_loc: (21,1)-(21,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,2)-(21,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (21,2)-(21,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (21,2)-(21,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (21,2)-(21,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (21,3)-(21,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator: :/
│ ├── operator_loc: (21,5)-(21,7) = "/="
│ └── value:
│ @ IntegerNode (location: (21,8)-(21,9))
│ └── flags: decimal
├── @ IndexAndWriteNode (location: (22,0)-(22,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (22,0)-(22,1))
│ │ ├── name: :a
@@ -410,24 +411,24 @@
│ ├── opening_loc: (22,1)-(22,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (22,2)-(22,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (22,2)-(22,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (22,2)-(22,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (22,2)-(22,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (22,2)-(22,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (22,3)-(22,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (22,5)-(22,8) = "&&="
│ └── value:
│ @ CallNode (location: (22,9)-(22,10))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@@ -435,9 +436,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ IndexOrWriteNode (location: (23,0)-(23,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (23,0)-(23,1))
│ │ ├── name: :a
@@ -446,28 +447,29 @@
│ ├── opening_loc: (23,1)-(23,2) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,2)-(23,3))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (23,2)-(23,3))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (23,2)-(23,3))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (23,2)-(23,3) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (23,3)-(23,4) = "]"
│ ├── block: ∅
- │ ├── flags: ∅
│ ├── operator_loc: (23,5)-(23,8) = "||="
│ └── value:
│ @ IntegerNode (location: (23,9)-(23,10))
│ └── flags: decimal
└── @ CallOperatorWriteNode (location: (24,0)-(24,10))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (24,0)-(24,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -475,11 +477,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (24,3)-(24,4) = "."
├── message_loc: (24,4)-(24,5) = "A"
- ├── flags: ∅
├── read_name: :A
├── write_name: :A=
├── operator: :+
diff --git a/test/prism/snapshots/unparser/corpus/literal/pattern.txt b/test/prism/snapshots/unparser/corpus/literal/pattern.txt
index 983ec43050..36f3c548ca 100644
--- a/test/prism/snapshots/unparser/corpus/literal/pattern.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/pattern.txt
@@ -6,6 +6,7 @@
├── @ CaseMatchNode (location: (1,0)-(33,3))
│ ├── predicate:
│ │ @ CallNode (location: (1,5)-(1,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,8 +14,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 15)
│ │ ├── @ InNode (location: (2,0)-(3,6))
│ │ │ ├── pattern:
@@ -63,6 +63,7 @@
│ │ │ │ @ StatementsNode (location: (5,2)-(5,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (5,2)-(5,3))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :y
@@ -70,8 +71,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── in_loc: (4,0)-(4,2) = "in"
│ │ │ └── then_loc: (4,12)-(4,16) = "then"
│ │ ├── @ InNode (location: (6,0)-(7,6))
@@ -336,6 +336,7 @@
├── @ CaseMatchNode (location: (34,0)-(36,3))
│ ├── predicate:
│ │ @ CallNode (location: (34,5)-(34,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -343,8 +344,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (35,0)-(35,17))
│ │ ├── pattern:
@@ -378,6 +378,7 @@
├── @ CaseMatchNode (location: (37,0)-(40,3))
│ ├── predicate:
│ │ @ CallNode (location: (37,5)-(37,8))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -385,8 +386,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ InNode (location: (38,0)-(38,4))
│ │ ├── pattern:
diff --git a/test/prism/snapshots/unparser/corpus/literal/pragma.txt b/test/prism/snapshots/unparser/corpus/literal/pragma.txt
index 6d76480eca..49a790c20f 100644
--- a/test/prism/snapshots/unparser/corpus/literal/pragma.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/pragma.txt
@@ -8,6 +8,7 @@
│ └── filepath: "unparser/corpus/literal/pragma.txt"
├── @ SourceLineNode (location: (3,0)-(3,8))
└── @ CallNode (location: (4,0)-(4,7))
+ ├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :__dir__
@@ -15,5 +16,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: variable_call
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/range.txt b/test/prism/snapshots/unparser/corpus/literal/range.txt
index 8d22fd530e..5bf208d962 100644
--- a/test/prism/snapshots/unparser/corpus/literal/range.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/range.txt
@@ -8,42 +8,42 @@
│ │ @ StatementsNode (location: (1,1)-(1,4))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (1,1)-(1,4))
+ │ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (1,2)-(1,4) = ".."
- │ │ └── flags: ∅
+ │ │ └── operator_loc: (1,2)-(1,4) = ".."
│ ├── opening_loc: (1,0)-(1,1) = "("
│ └── closing_loc: (1,4)-(1,5) = ")"
├── @ RangeNode (location: (2,0)-(2,4))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (2,1)-(2,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (2,1)-(2,3) = ".."
├── @ ParenthesesNode (location: (3,0)-(3,6))
│ ├── body:
│ │ @ StatementsNode (location: (3,1)-(3,5))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (3,1)-(3,5))
+ │ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (3,2)-(3,5) = "..."
- │ │ └── flags: exclude_end
+ │ │ └── operator_loc: (3,2)-(3,5) = "..."
│ ├── opening_loc: (3,0)-(3,1) = "("
│ └── closing_loc: (3,5)-(3,6) = ")"
└── @ RangeNode (location: (4,0)-(4,5))
+ ├── flags: exclude_end
├── left:
│ @ IntegerNode (location: (4,0)-(4,1))
│ └── flags: decimal
├── right:
│ @ IntegerNode (location: (4,4)-(4,5))
│ └── flags: decimal
- ├── operator_loc: (4,1)-(4,4) = "..."
- └── flags: exclude_end
+ └── operator_loc: (4,1)-(4,4) = "..."
diff --git a/test/prism/snapshots/unparser/corpus/literal/rescue.txt b/test/prism/snapshots/unparser/corpus/literal/rescue.txt
index 3f0dfedd59..80fd34f321 100644
--- a/test/prism/snapshots/unparser/corpus/literal/rescue.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/rescue.txt
@@ -6,6 +6,7 @@
├── @ RescueModifierNode (location: (1,0)-(1,14))
│ ├── expression:
│ │ @ CallNode (location: (1,0)-(1,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -13,11 +14,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (1,4)-(1,10) = "rescue"
│ └── rescue_expression:
│ @ CallNode (location: (1,11)-(1,14))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -25,11 +26,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ RescueModifierNode (location: (2,0)-(2,21))
│ ├── expression:
│ │ @ CallNode (location: (2,0)-(2,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -37,26 +38,25 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── keyword_loc: (2,4)-(2,10) = "rescue"
│ └── rescue_expression:
│ @ ReturnNode (location: (2,11)-(2,21))
│ ├── keyword_loc: (2,11)-(2,17) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (2,18)-(2,21))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (2,18)-(2,21))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :bar
- │ │ ├── message_loc: (2,18)-(2,21) = "bar"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (2,18)-(2,21))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :bar
+ │ ├── message_loc: (2,18)-(2,21) = "bar"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── @ LocalVariableWriteNode (location: (3,0)-(3,27))
├── name: :x
├── depth: 0
@@ -69,6 +69,7 @@
│ │ └── @ RescueModifierNode (location: (3,5)-(3,26))
│ │ ├── expression:
│ │ │ @ CallNode (location: (3,5)-(3,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -76,26 +77,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── keyword_loc: (3,9)-(3,15) = "rescue"
│ │ └── rescue_expression:
│ │ @ ReturnNode (location: (3,16)-(3,26))
│ │ ├── keyword_loc: (3,16)-(3,22) = "return"
│ │ └── arguments:
│ │ @ ArgumentsNode (location: (3,23)-(3,26))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,23)-(3,26))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (3,23)-(3,26) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,23)-(3,26))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (3,23)-(3,26) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── opening_loc: (3,4)-(3,5) = "("
│ └── closing_loc: (3,26)-(3,27) = ")"
└── operator_loc: (3,2)-(3,3) = "="
diff --git a/test/prism/snapshots/unparser/corpus/literal/send.txt b/test/prism/snapshots/unparser/corpus/literal/send.txt
index c372f967bb..d637c84518 100644
--- a/test/prism/snapshots/unparser/corpus/literal/send.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/send.txt
@@ -35,6 +35,7 @@
│ │ │ │ ├── operator_loc: (2,18)-(2,19) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (2,20)-(2,21))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@@ -42,8 +43,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (2,10)-(2,11) = "("
│ │ │ └── closing_loc: (2,21)-(2,22) = ")"
│ │ ├── name: :foo
@@ -68,6 +68,7 @@
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: (6,8)-(6,9) = "="
│ │ └── @ CallNode (location: (7,2)-(7,11))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ LocalVariableReadNode (location: (7,2)-(7,7))
│ │ │ ├── name: :local
@@ -78,11 +79,11 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── end_keyword_loc: (8,0)-(8,3) = "end"
│ └── name: :A
├── @ CallNode (location: (9,0)-(10,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ClassNode (location: (9,0)-(10,3))
│ │ ├── locals: []
@@ -101,9 +102,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (11,0)-(12,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ModuleNode (location: (11,0)-(12,3))
│ │ ├── locals: []
@@ -120,9 +121,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (13,0)-(15,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ BeginNode (location: (13,0)-(15,3))
│ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin"
@@ -144,9 +145,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (16,0)-(19,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CaseNode (location: (16,0)-(19,3))
│ │ ├── predicate:
@@ -180,6 +181,7 @@
│ │ │ ├── keyword_loc: (18,0)-(18,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (18,5)-(18,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -187,8 +189,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements: ∅
│ │ ├── consequent: ∅
│ │ ├── case_keyword_loc: (16,0)-(16,4) = "case"
@@ -199,13 +200,14 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (20,0)-(22,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CaseNode (location: (20,0)-(22,3))
│ │ ├── predicate:
│ │ │ @ CallNode (location: (20,5)-(20,8))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -213,13 +215,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── conditions: (length: 1)
│ │ │ └── @ WhenNode (location: (21,0)-(21,8))
│ │ │ ├── keyword_loc: (21,0)-(21,4) = "when"
│ │ │ ├── conditions: (length: 1)
│ │ │ │ └── @ CallNode (location: (21,5)-(21,8))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@@ -227,8 +229,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ └── statements: ∅
│ │ ├── consequent: ∅
│ │ ├── case_keyword_loc: (20,0)-(20,4) = "case"
@@ -239,9 +240,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (23,0)-(24,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SingletonClassNode (location: (23,0)-(24,3))
│ │ ├── locals: []
@@ -257,9 +258,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (25,0)-(26,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ DefNode (location: (25,0)-(26,3))
│ │ ├── name: :foo
@@ -282,9 +283,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (27,0)-(28,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ DefNode (location: (27,0)-(28,3))
│ │ ├── name: :foo
@@ -306,15 +307,17 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (29,0)-(30,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ UntilNode (location: (29,0)-(30,3))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (29,0)-(29,5) = "until"
│ │ ├── closing_loc: (30,0)-(30,3) = "end"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (29,6)-(29,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -322,25 +325,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── statements: ∅
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements: ∅
│ ├── call_operator_loc: (30,3)-(30,4) = "."
│ ├── name: :bar
│ ├── message_loc: (30,4)-(30,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (31,0)-(32,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ WhileNode (location: (31,0)-(32,3))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (31,0)-(31,5) = "while"
│ │ ├── closing_loc: (32,0)-(32,3) = "end"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (31,6)-(31,9))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -348,21 +351,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── statements: ∅
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements: ∅
│ ├── call_operator_loc: (32,3)-(32,4) = "."
│ ├── name: :bar
│ ├── message_loc: (32,4)-(32,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (33,0)-(34,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (33,0)-(34,1))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :loop
@@ -370,29 +372,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (33,5)-(34,1))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (33,5)-(33,6) = "{"
- │ │ │ └── closing_loc: (34,0)-(34,1) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (33,5)-(34,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (33,5)-(33,6) = "{"
+ │ │ └── closing_loc: (34,0)-(34,1) = "}"
│ ├── call_operator_loc: (34,1)-(34,2) = "."
│ ├── name: :bar
│ ├── message_loc: (34,2)-(34,5) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (35,0)-(36,7))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IfNode (location: (35,0)-(36,3))
│ │ ├── if_keyword_loc: (35,0)-(35,2) = "if"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (35,3)-(35,6))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -400,8 +402,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
+ │ │ │ └── block: ∅
│ │ ├── then_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── consequent: ∅
@@ -412,38 +413,38 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (37,0)-(37,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (37,0)-(37,15))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (37,1)-(37,14))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (37,1)-(37,14))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ RegularExpressionNode (location: (37,1)-(37,6))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (37,1)-(37,2) = "/"
│ │ │ │ ├── content_loc: (37,2)-(37,5) = "bar"
│ │ │ │ ├── closing_loc: (37,5)-(37,6) = "/"
- │ │ │ │ ├── unescaped: "bar"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── unescaped: "bar"
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :=~
│ │ │ ├── message_loc: (37,7)-(37,9) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (37,10)-(37,14))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14))
- │ │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":"
- │ │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo"
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14))
+ │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":"
+ │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo"
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── unescaped: "foo"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (37,0)-(37,1) = "("
│ │ └── closing_loc: (37,14)-(37,15) = ")"
│ ├── call_operator_loc: (37,15)-(37,16) = "."
@@ -452,23 +453,23 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (38,0)-(38,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (38,0)-(38,6))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (38,1)-(38,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ RangeNode (location: (38,1)-(38,5))
+ │ │ │ ├── flags: ∅
│ │ │ ├── left:
│ │ │ │ @ IntegerNode (location: (38,1)-(38,2))
│ │ │ │ └── flags: decimal
│ │ │ ├── right:
│ │ │ │ @ IntegerNode (location: (38,4)-(38,5))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (38,2)-(38,4) = ".."
- │ │ │ └── flags: ∅
+ │ │ │ └── operator_loc: (38,2)-(38,4) = ".."
│ │ ├── opening_loc: (38,0)-(38,1) = "("
│ │ └── closing_loc: (38,5)-(38,6) = ")"
│ ├── call_operator_loc: (38,6)-(38,7) = "."
@@ -477,17 +478,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (39,0)-(39,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (39,0)-(39,14))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (39,1)-(39,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (39,1)-(39,13))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (39,1)-(39,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@@ -495,25 +498,23 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :=~
│ │ │ ├── message_loc: (39,5)-(39,7) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (39,8)-(39,13))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13))
- │ │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/"
- │ │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar"
- │ │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/"
- │ │ │ │ │ ├── unescaped: "bar"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/"
+ │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar"
+ │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/"
+ │ │ │ │ └── unescaped: "bar"
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (39,0)-(39,1) = "("
│ │ └── closing_loc: (39,13)-(39,14) = ")"
│ ├── call_operator_loc: (39,14)-(39,15) = "."
@@ -522,67 +523,68 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (40,0)-(40,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (40,0)-(40,5))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (40,0)-(40,1) = "/"
│ │ ├── content_loc: (40,1)-(40,4) = "bar"
│ │ ├── closing_loc: (40,4)-(40,5) = "/"
- │ │ ├── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "bar"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (40,6)-(40,8) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (40,9)-(40,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (40,9)-(40,13))
- │ │ │ ├── opening_loc: (40,9)-(40,10) = ":"
- │ │ │ ├── value_loc: (40,10)-(40,13) = "foo"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "foo"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (40,9)-(40,13))
+ │ │ ├── opening_loc: (40,9)-(40,10) = ":"
+ │ │ ├── value_loc: (40,10)-(40,13) = "foo"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "foo"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (41,0)-(41,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (41,0)-(41,5))
+ │ │ ├── flags: ∅
│ │ ├── opening_loc: (41,0)-(41,1) = "/"
│ │ ├── content_loc: (41,1)-(41,4) = "bar"
│ │ ├── closing_loc: (41,4)-(41,5) = "/"
- │ │ ├── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ └── unescaped: "bar"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (41,6)-(41,8) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,9)-(41,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (41,9)-(41,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (41,9)-(41,12) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (41,9)-(41,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (41,9)-(41,12) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ RangeNode (location: (42,0)-(42,8))
+ │ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (42,0)-(42,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ CallNode (location: (42,3)-(42,8))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (42,3)-(42,4))
│ │ │ └── flags: decimal
@@ -592,11 +594,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
- │ ├── operator_loc: (42,1)-(42,3) = ".."
- │ └── flags: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (42,1)-(42,3) = ".."
├── @ CallNode (location: (43,0)-(43,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (43,0)-(43,1))
│ │ └── name: :A
@@ -606,9 +607,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (44,0)-(44,5))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :FOO
@@ -616,11 +617,12 @@
│ ├── opening_loc: (44,3)-(44,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (44,4)-(44,5) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (45,0)-(45,4))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (45,0)-(45,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -628,19 +630,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (45,1)-(45,3) = "&."
│ ├── name: :b
│ ├── message_loc: (45,3)-(45,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (46,0)-(46,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (46,0)-(46,1))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -648,17 +650,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (46,1)-(46,2) = "."
│ ├── name: :foo
│ ├── message_loc: (46,2)-(46,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (47,0)-(47,3))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -666,11 +667,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ CallNode (location: (48,0)-(48,18))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (48,0)-(48,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -678,61 +680,61 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<<
│ ├── message_loc: (48,4)-(48,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (48,7)-(48,18))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (48,7)-(48,18))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (48,8)-(48,17))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (48,8)-(48,17))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (48,8)-(48,11))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :*
- │ │ │ │ ├── message_loc: (48,12)-(48,13) = "*"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (48,14)-(48,17))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (48,7)-(48,8) = "("
- │ │ │ └── closing_loc: (48,17)-(48,18) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (48,7)-(48,18))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (48,8)-(48,17))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (48,8)-(48,17))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ CallNode (location: (48,8)-(48,11))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :*
+ │ │ │ ├── message_loc: (48,12)-(48,13) = "*"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (48,14)-(48,17))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (48,7)-(48,8) = "("
+ │ │ └── closing_loc: (48,17)-(48,18) = ")"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (49,0)-(49,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (49,0)-(49,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -740,26 +742,25 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (49,4)-(49,6) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (49,7)-(49,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12))
- │ │ │ ├── opening_loc: (49,7)-(49,8) = "/"
- │ │ │ ├── content_loc: (49,8)-(49,11) = "bar"
- │ │ │ ├── closing_loc: (49,11)-(49,12) = "/"
- │ │ │ ├── unescaped: "bar"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12))
+ │ │ ├── flags: ∅
+ │ │ ├── opening_loc: (49,7)-(49,8) = "/"
+ │ │ ├── content_loc: (49,8)-(49,11) = "bar"
+ │ │ ├── closing_loc: (49,11)-(49,12) = "/"
+ │ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (50,0)-(50,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -767,42 +768,42 @@
│ ├── opening_loc: (50,3)-(50,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (50,17)-(50,18) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (50,4)-(50,17))
- │ │ ├── expression:
- │ │ │ @ ParenthesesNode (location: (50,5)-(50,17))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (50,6)-(50,16))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ OrNode (location: (50,6)-(50,16))
- │ │ │ │ ├── left:
- │ │ │ │ │ @ CallNode (location: (50,6)-(50,9))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── right:
- │ │ │ │ │ @ CallNode (location: (50,13)-(50,16))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── operator_loc: (50,10)-(50,12) = "||"
- │ │ │ ├── opening_loc: (50,5)-(50,6) = "("
- │ │ │ └── closing_loc: (50,16)-(50,17) = ")"
- │ │ └── operator_loc: (50,4)-(50,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (50,4)-(50,17))
+ │ ├── expression:
+ │ │ @ ParenthesesNode (location: (50,5)-(50,17))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (50,6)-(50,16))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ OrNode (location: (50,6)-(50,16))
+ │ │ │ ├── left:
+ │ │ │ │ @ CallNode (location: (50,6)-(50,9))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── right:
+ │ │ │ │ @ CallNode (location: (50,13)-(50,16))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (50,10)-(50,12) = "||"
+ │ │ ├── opening_loc: (50,5)-(50,6) = "("
+ │ │ └── closing_loc: (50,16)-(50,17) = ")"
+ │ └── operator_loc: (50,4)-(50,5) = "&"
├── @ CallNode (location: (51,0)-(51,10))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -810,22 +811,22 @@
│ ├── opening_loc: (51,3)-(51,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (51,10)-(51,11) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (51,4)-(51,10))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (51,5)-(51,10))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (51,5)-(51,10) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (51,4)-(51,5) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (51,4)-(51,10))
+ │ ├── expression:
+ │ │ @ CallNode (location: (51,5)-(51,10))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (51,5)-(51,10) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (51,4)-(51,5) = "&"
├── @ CallNode (location: (52,0)-(52,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -833,38 +834,38 @@
│ ├── opening_loc: (52,3)-(52,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (52,4)-(52,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (52,4)-(52,9))
- │ │ │ ├── operator_loc: (52,4)-(52,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (52,5)-(52,9))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (52,5)-(52,9) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (52,4)-(52,9))
+ │ │ ├── operator_loc: (52,4)-(52,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (52,5)-(52,9))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (52,5)-(52,9) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (52,17)-(52,18) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (52,11)-(52,17))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (52,12)-(52,17))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (52,12)-(52,17) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (52,11)-(52,12) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (52,11)-(52,17))
+ │ ├── expression:
+ │ │ @ CallNode (location: (52,12)-(52,17))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (52,12)-(52,17) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (52,11)-(52,12) = "&"
├── @ CallNode (location: (53,0)-(53,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -872,25 +873,25 @@
│ ├── opening_loc: (53,3)-(53,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (53,4)-(53,14))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (53,4)-(53,14))
- │ │ │ ├── operator_loc: (53,4)-(53,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (53,5)-(53,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :arguments
- │ │ │ ├── message_loc: (53,5)-(53,14) = "arguments"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (53,4)-(53,14))
+ │ │ ├── operator_loc: (53,4)-(53,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (53,5)-(53,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :arguments
+ │ │ ├── message_loc: (53,5)-(53,14) = "arguments"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (53,14)-(53,15) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (54,0)-(54,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -898,16 +899,16 @@
│ ├── opening_loc: (54,3)-(54,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (54,4)-(54,8))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (54,4)-(54,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (54,7)-(54,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (54,4)-(54,5))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (54,7)-(54,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: (54,8)-(54,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (55,0)-(55,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -915,22 +916,22 @@
│ ├── opening_loc: (55,3)-(55,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (55,4)-(55,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (55,4)-(55,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (55,4)-(55,7) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (55,4)-(55,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (55,4)-(55,7) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (55,7)-(55,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (56,0)-(56,15))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -938,35 +939,35 @@
│ ├── opening_loc: (56,3)-(56,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (56,4)-(56,14))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (56,4)-(56,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (56,4)-(56,7) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (56,9)-(56,14))
- │ │ │ ├── operator_loc: (56,9)-(56,10) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (56,10)-(56,14))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (56,10)-(56,14) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (56,4)-(56,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (56,4)-(56,7) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (56,9)-(56,14))
+ │ │ ├── operator_loc: (56,9)-(56,10) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (56,10)-(56,14))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (56,10)-(56,14) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (56,14)-(56,15) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (57,0)-(57,17))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -974,43 +975,44 @@
│ ├── opening_loc: (57,3)-(57,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (57,4)-(57,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (57,4)-(57,16))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (57,4)-(57,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (57,4)-(57,7) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :=~
- │ │ │ ├── message_loc: (57,8)-(57,10) = "=~"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (57,11)-(57,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16))
- │ │ │ │ │ ├── opening_loc: (57,11)-(57,12) = "/"
- │ │ │ │ │ ├── content_loc: (57,12)-(57,15) = "bar"
- │ │ │ │ │ ├── closing_loc: (57,15)-(57,16) = "/"
- │ │ │ │ │ ├── unescaped: "bar"
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (57,4)-(57,16))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (57,4)-(57,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (57,4)-(57,7) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :=~
+ │ │ ├── message_loc: (57,8)-(57,10) = "=~"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (57,11)-(57,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (57,11)-(57,12) = "/"
+ │ │ │ ├── content_loc: (57,12)-(57,15) = "bar"
+ │ │ │ ├── closing_loc: (57,15)-(57,16) = "/"
+ │ │ │ └── unescaped: "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (57,16)-(57,17) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (58,0)-(58,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (58,0)-(58,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1018,32 +1020,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (58,3)-(58,4) = "."
│ ├── name: :bar
│ ├── message_loc: (58,4)-(58,7) = "bar"
│ ├── opening_loc: (58,7)-(58,8) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (58,12)-(58,13) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (58,8)-(58,12))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (58,9)-(58,12))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (58,9)-(58,12) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (58,8)-(58,9) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (58,8)-(58,12))
+ │ ├── expression:
+ │ │ @ CallNode (location: (58,9)-(58,12))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (58,9)-(58,12) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (58,8)-(58,9) = "&"
├── @ CallNode (location: (59,0)-(59,26))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (59,0)-(59,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1051,58 +1053,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (59,3)-(59,4) = "."
│ ├── name: :bar
│ ├── message_loc: (59,4)-(59,7) = "bar"
│ ├── opening_loc: (59,7)-(59,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (59,8)-(59,25))
- │ │ ├── arguments: (length: 3)
- │ │ │ ├── @ SplatNode (location: (59,8)-(59,13))
- │ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*"
- │ │ │ │ └── expression:
- │ │ │ │ @ CallNode (location: (59,9)-(59,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :arga
- │ │ │ │ ├── message_loc: (59,9)-(59,13) = "arga"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── @ CallNode (location: (59,15)-(59,18))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (59,15)-(59,18) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (59,20)-(59,25))
- │ │ │ ├── operator_loc: (59,20)-(59,21) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (59,21)-(59,25))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :argb
- │ │ │ ├── message_loc: (59,21)-(59,25) = "argb"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 3)
+ │ │ ├── @ SplatNode (location: (59,8)-(59,13))
+ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (59,9)-(59,13))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :arga
+ │ │ │ ├── message_loc: (59,9)-(59,13) = "arga"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── @ CallNode (location: (59,15)-(59,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (59,15)-(59,18) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (59,20)-(59,25))
+ │ │ ├── operator_loc: (59,20)-(59,21) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (59,21)-(59,25))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :argb
+ │ │ ├── message_loc: (59,21)-(59,25) = "argb"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (59,25)-(59,26) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (60,0)-(60,14))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (60,0)-(60,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1110,35 +1112,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (60,3)-(60,4) = "."
│ ├── name: :bar
│ ├── message_loc: (60,4)-(60,7) = "bar"
│ ├── opening_loc: (60,7)-(60,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (60,8)-(60,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (60,8)-(60,13))
- │ │ │ ├── operator_loc: (60,8)-(60,9) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (60,9)-(60,13))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (60,9)-(60,13) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (60,8)-(60,13))
+ │ │ ├── operator_loc: (60,8)-(60,9) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (60,9)-(60,13))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (60,9)-(60,13) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (60,13)-(60,14) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (61,0)-(61,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (61,0)-(61,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1146,45 +1148,45 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (61,3)-(61,4) = "."
│ ├── name: :bar
│ ├── message_loc: (61,4)-(61,7) = "bar"
│ ├── opening_loc: (61,7)-(61,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (61,8)-(61,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ SplatNode (location: (61,8)-(61,13))
- │ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*"
- │ │ │ │ └── expression:
- │ │ │ │ @ CallNode (location: (61,9)-(61,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :args
- │ │ │ │ ├── message_loc: (61,9)-(61,13) = "args"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (61,15)-(61,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (61,15)-(61,18) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ SplatNode (location: (61,8)-(61,13))
+ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (61,9)-(61,13))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :args
+ │ │ │ ├── message_loc: (61,9)-(61,13) = "args"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (61,15)-(61,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (61,15)-(61,18) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (61,18)-(61,19) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (62,0)-(62,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (62,0)-(62,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1192,40 +1194,40 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (62,3)-(62,4) = "."
│ ├── name: :bar
│ ├── message_loc: (62,4)-(62,7) = "bar"
│ ├── opening_loc: (62,7)-(62,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (62,8)-(62,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (62,8)-(62,12))
- │ │ │ ├── opening_loc: (62,8)-(62,9) = ":"
- │ │ │ ├── value_loc: (62,9)-(62,12) = "baz"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "baz"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (62,8)-(62,12))
+ │ │ ├── opening_loc: (62,8)-(62,9) = ":"
+ │ │ ├── value_loc: (62,9)-(62,12) = "baz"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "baz"
│ ├── closing_loc: (62,18)-(62,19) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (62,14)-(62,18))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (62,15)-(62,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (62,15)-(62,18) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (62,14)-(62,15) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (62,14)-(62,18))
+ │ ├── expression:
+ │ │ @ CallNode (location: (62,15)-(62,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (62,15)-(62,18) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (62,14)-(62,15) = "&"
├── @ CallNode (location: (63,0)-(63,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (63,0)-(63,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1233,43 +1235,43 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (63,3)-(63,4) = "."
│ ├── name: :bar
│ ├── message_loc: (63,4)-(63,7) = "bar"
│ ├── opening_loc: (63,7)-(63,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (63,8)-(63,16))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (63,8)-(63,16))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (63,8)-(63,16))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (63,8)-(63,12))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz"
- │ │ │ │ ├── closing_loc: (63,11)-(63,12) = ":"
- │ │ │ │ └── unescaped: "baz"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (63,13)-(63,16))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :boz
- │ │ │ │ ├── message_loc: (63,13)-(63,16) = "boz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (63,8)-(63,16))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (63,8)-(63,16))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (63,8)-(63,12))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz"
+ │ │ │ ├── closing_loc: (63,11)-(63,12) = ":"
+ │ │ │ └── unescaped: "baz"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (63,13)-(63,16))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :boz
+ │ │ │ ├── message_loc: (63,13)-(63,16) = "boz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (63,16)-(63,17) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (64,0)-(64,26))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (64,0)-(64,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1277,54 +1279,54 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (64,3)-(64,4) = "."
│ ├── name: :bar
│ ├── message_loc: (64,4)-(64,7) = "bar"
│ ├── opening_loc: (64,7)-(64,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (64,8)-(64,25))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (64,8)-(64,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (64,8)-(64,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ KeywordHashNode (location: (64,13)-(64,25))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (64,13)-(64,25))
- │ │ │ ├── key:
- │ │ │ │ @ StringNode (location: (64,13)-(64,18))
- │ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (64,13)-(64,14) = "\""
- │ │ │ │ ├── content_loc: (64,14)-(64,17) = "baz"
- │ │ │ │ ├── closing_loc: (64,17)-(64,18) = "\""
- │ │ │ │ └── unescaped: "baz"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (64,22)-(64,25))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :boz
- │ │ │ │ ├── message_loc: (64,22)-(64,25) = "boz"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (64,19)-(64,21) = "=>"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (64,8)-(64,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (64,8)-(64,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ KeywordHashNode (location: (64,13)-(64,25))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (64,13)-(64,25))
+ │ │ ├── key:
+ │ │ │ @ StringNode (location: (64,13)-(64,18))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── opening_loc: (64,13)-(64,14) = "\""
+ │ │ │ ├── content_loc: (64,14)-(64,17) = "baz"
+ │ │ │ ├── closing_loc: (64,17)-(64,18) = "\""
+ │ │ │ └── unescaped: "baz"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (64,22)-(64,25))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :boz
+ │ │ │ ├── message_loc: (64,22)-(64,25) = "boz"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (64,19)-(64,21) = "=>"
│ ├── closing_loc: (64,25)-(64,26) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (65,0)-(65,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (65,0)-(65,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1332,45 +1334,45 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (65,3)-(65,4) = "."
│ ├── name: :bar
│ ├── message_loc: (65,4)-(65,7) = "bar"
│ ├── opening_loc: (65,7)-(65,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (65,8)-(65,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (65,8)-(65,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (65,8)-(65,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (65,13)-(65,18))
- │ │ │ ├── operator_loc: (65,13)-(65,14) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (65,14)-(65,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (65,14)-(65,18) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (65,8)-(65,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (65,8)-(65,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (65,13)-(65,18))
+ │ │ ├── operator_loc: (65,13)-(65,14) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (65,14)-(65,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (65,14)-(65,18) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (65,18)-(65,19) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (66,0)-(66,27))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (66,0)-(66,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1378,58 +1380,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (66,3)-(66,4) = "."
│ ├── name: :bar
│ ├── message_loc: (66,4)-(66,7) = "bar"
│ ├── opening_loc: (66,7)-(66,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (66,8)-(66,18))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (66,8)-(66,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (66,8)-(66,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ SplatNode (location: (66,13)-(66,18))
- │ │ │ ├── operator_loc: (66,13)-(66,14) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (66,14)-(66,18))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :args
- │ │ │ ├── message_loc: (66,14)-(66,18) = "args"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (66,8)-(66,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (66,8)-(66,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ SplatNode (location: (66,13)-(66,18))
+ │ │ ├── operator_loc: (66,13)-(66,14) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (66,14)-(66,18))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :args
+ │ │ ├── message_loc: (66,14)-(66,18) = "args"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (66,26)-(66,27) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (66,20)-(66,26))
- │ │ ├── expression:
- │ │ │ @ CallNode (location: (66,21)-(66,26))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :block
- │ │ │ ├── message_loc: (66,21)-(66,26) = "block"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── operator_loc: (66,20)-(66,21) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (66,20)-(66,26))
+ │ ├── expression:
+ │ │ @ CallNode (location: (66,21)-(66,26))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :block
+ │ │ ├── message_loc: (66,21)-(66,26) = "block"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── operator_loc: (66,20)-(66,21) = "&"
├── @ CallNode (location: (67,0)-(67,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (67,0)-(67,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1437,36 +1439,36 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (67,3)-(67,4) = "."
│ ├── name: :bar
│ ├── message_loc: (67,4)-(67,7) = "bar"
│ ├── opening_loc: (67,7)-(67,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (67,8)-(67,15))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (67,8)-(67,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (67,8)-(67,11) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ HashNode (location: (67,13)-(67,15))
- │ │ │ ├── opening_loc: (67,13)-(67,14) = "{"
- │ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (67,14)-(67,15) = "}"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (67,8)-(67,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (67,8)-(67,11) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ HashNode (location: (67,13)-(67,15))
+ │ │ ├── opening_loc: (67,13)-(67,14) = "{"
+ │ │ ├── elements: (length: 0)
+ │ │ └── closing_loc: (67,14)-(67,15) = "}"
│ ├── closing_loc: (67,15)-(67,16) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (68,0)-(68,26))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (68,0)-(68,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1474,55 +1476,55 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (68,3)-(68,4) = "."
│ ├── name: :bar
│ ├── message_loc: (68,4)-(68,7) = "bar"
│ ├── opening_loc: (68,7)-(68,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (68,8)-(68,25))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ HashNode (location: (68,8)-(68,20))
- │ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{"
- │ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18))
- │ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14))
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo"
- │ │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":"
- │ │ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (68,15)-(68,18))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :boz
- │ │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ └── closing_loc: (68,19)-(68,20) = "}"
- │ │ │ └── @ CallNode (location: (68,22)-(68,25))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :boz
- │ │ │ ├── message_loc: (68,22)-(68,25) = "boz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ HashNode (location: (68,8)-(68,20))
+ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{"
+ │ │ │ ├── elements: (length: 1)
+ │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18))
+ │ │ │ │ ├── key:
+ │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14))
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo"
+ │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":"
+ │ │ │ │ │ └── unescaped: "foo"
+ │ │ │ │ ├── value:
+ │ │ │ │ │ @ CallNode (location: (68,15)-(68,18))
+ │ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ │ ├── name: :boz
+ │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz"
+ │ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ │ └── block: ∅
+ │ │ │ │ └── operator_loc: ∅
+ │ │ │ └── closing_loc: (68,19)-(68,20) = "}"
+ │ │ └── @ CallNode (location: (68,22)-(68,25))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :boz
+ │ │ ├── message_loc: (68,22)-(68,25) = "boz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (68,25)-(68,26) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (69,0)-(69,12))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (69,0)-(69,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1530,25 +1532,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (69,3)-(69,4) = "."
│ ├── name: :bar=
│ ├── message_loc: (69,4)-(69,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (69,8)-(69,12))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (69,8)-(69,12))
- │ │ │ ├── opening_loc: (69,8)-(69,9) = ":"
- │ │ │ ├── value_loc: (69,9)-(69,12) = "baz"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "baz"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (69,8)-(69,12))
+ │ │ ├── opening_loc: (69,8)-(69,9) = ":"
+ │ │ ├── value_loc: (69,9)-(69,12) = "baz"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "baz"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (70,0)-(70,9))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -1556,35 +1557,36 @@
│ ├── opening_loc: (70,3)-(70,4) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (70,4)-(70,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (70,4)-(70,8))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (70,4)-(70,8))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (70,4)-(70,6))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (70,4)-(70,5) = "a"
- │ │ │ │ ├── closing_loc: (70,5)-(70,6) = ":"
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (70,7)-(70,8))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (70,7)-(70,8) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (70,4)-(70,8))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (70,4)-(70,8))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (70,4)-(70,6))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (70,4)-(70,5) = "a"
+ │ │ │ ├── closing_loc: (70,5)-(70,6) = ":"
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (70,7)-(70,8))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (70,7)-(70,8) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (70,8)-(70,9) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (71,0)-(71,11))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (71,0)-(71,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1592,43 +1594,43 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (71,3)-(71,4) = "."
│ ├── name: :&
│ ├── message_loc: (71,4)-(71,5) = "&"
│ ├── opening_loc: (71,5)-(71,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (71,6)-(71,10))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (71,6)-(71,10))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (71,6)-(71,10))
- │ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (71,6)-(71,8))
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (71,6)-(71,7) = "a"
- │ │ │ │ ├── closing_loc: (71,7)-(71,8) = ":"
- │ │ │ │ └── unescaped: "a"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (71,9)-(71,10))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :b
- │ │ │ │ ├── message_loc: (71,9)-(71,10) = "b"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (71,6)-(71,10))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocNode (location: (71,6)-(71,10))
+ │ │ ├── key:
+ │ │ │ @ SymbolNode (location: (71,6)-(71,8))
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── value_loc: (71,6)-(71,7) = "a"
+ │ │ │ ├── closing_loc: (71,7)-(71,8) = ":"
+ │ │ │ └── unescaped: "a"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (71,9)-(71,10))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :b
+ │ │ │ ├── message_loc: (71,9)-(71,10) = "b"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: ∅
│ ├── closing_loc: (71,10)-(71,11) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (72,0)-(72,10))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (72,0)-(72,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1636,37 +1638,37 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (72,3)-(72,4) = "."
│ ├── name: :&
│ ├── message_loc: (72,4)-(72,5) = "&"
│ ├── opening_loc: (72,5)-(72,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (72,6)-(72,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (72,6)-(72,9))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (72,6)-(72,9))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (72,8)-(72,9))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (72,8)-(72,9) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (72,6)-(72,8) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (72,6)-(72,9))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (72,6)-(72,9))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (72,8)-(72,9))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (72,8)-(72,9) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (72,6)-(72,8) = "**"
│ ├── closing_loc: (72,9)-(72,10) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (73,0)-(73,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (73,0)-(73,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1674,35 +1676,35 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (73,3)-(73,9) = "[*baz]"
│ ├── opening_loc: (73,3)-(73,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (73,4)-(73,8))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (73,4)-(73,8))
- │ │ │ ├── operator_loc: (73,4)-(73,5) = "*"
- │ │ │ └── expression:
- │ │ │ @ CallNode (location: (73,5)-(73,8))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :baz
- │ │ │ ├── message_loc: (73,5)-(73,8) = "baz"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SplatNode (location: (73,4)-(73,8))
+ │ │ ├── operator_loc: (73,4)-(73,5) = "*"
+ │ │ └── expression:
+ │ │ @ CallNode (location: (73,5)-(73,8))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :baz
+ │ │ ├── message_loc: (73,5)-(73,8) = "baz"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (73,8)-(73,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (74,0)-(74,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (74,0)-(74,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1710,26 +1712,26 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (74,3)-(74,9) = "[1, 2]"
│ ├── opening_loc: (74,3)-(74,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (74,4)-(74,8))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (74,4)-(74,5))
- │ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (74,7)-(74,8))
- │ │ │ └── flags: decimal
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ IntegerNode (location: (74,4)-(74,5))
+ │ │ │ └── flags: decimal
+ │ │ └── @ IntegerNode (location: (74,7)-(74,8))
+ │ │ └── flags: decimal
│ ├── closing_loc: (74,8)-(74,9) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (75,0)-(75,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (75,0)-(75,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -1737,17 +1739,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (75,3)-(75,5) = "[]"
│ ├── opening_loc: (75,3)-(75,4) = "["
│ ├── arguments: ∅
│ ├── closing_loc: (75,4)-(75,5) = "]"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (76,0)-(76,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (76,0)-(76,4))
│ ├── call_operator_loc: (76,4)-(76,5) = "."
@@ -1756,9 +1757,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (77,0)-(77,13))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ SelfNode (location: (77,0)-(77,4))
│ ├── call_operator_loc: (77,4)-(77,5) = "."
@@ -1767,25 +1768,27 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (77,9)-(77,13))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (77,9)-(77,13))
- │ │ │ ├── opening_loc: (77,9)-(77,10) = ":"
- │ │ │ ├── value_loc: (77,10)-(77,13) = "bar"
- │ │ │ ├── closing_loc: ∅
- │ │ │ └── unescaped: "bar"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ SymbolNode (location: (77,9)-(77,13))
+ │ │ ├── opening_loc: (77,9)-(77,10) = ":"
+ │ │ ├── value_loc: (77,10)-(77,13) = "bar"
+ │ │ ├── closing_loc: ∅
+ │ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (78,0)-(78,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (78,0)-(78,7))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (78,1)-(78,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (78,1)-(78,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (78,1)-(78,2))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1793,29 +1796,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (78,3)-(78,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (78,5)-(78,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (78,5)-(78,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (78,5)-(78,6))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (78,0)-(78,1) = "("
│ │ └── closing_loc: (78,6)-(78,7) = ")"
│ ├── call_operator_loc: ∅
@@ -1824,59 +1825,61 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (78,10)-(78,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (78,10)-(78,17))
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (78,11)-(78,16))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (78,11)-(78,16))
- │ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (78,11)-(78,12))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :c
- │ │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :-
- │ │ │ │ ├── message_loc: (78,13)-(78,14) = "-"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16))
- │ │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (78,15)-(78,16))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :d
- │ │ │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── flags: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (78,10)-(78,11) = "("
- │ │ │ └── closing_loc: (78,16)-(78,17) = ")"
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ ParenthesesNode (location: (78,10)-(78,17))
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (78,11)-(78,16))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (78,11)-(78,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── receiver:
+ │ │ │ │ @ CallNode (location: (78,11)-(78,12))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :c
+ │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :-
+ │ │ │ ├── message_loc: (78,13)-(78,14) = "-"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments:
+ │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16))
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (78,15)-(78,16))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :d
+ │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (78,10)-(78,11) = "("
+ │ │ └── closing_loc: (78,16)-(78,17) = ")"
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (79,0)-(79,19))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (79,0)-(79,7))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (79,1)-(79,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (79,1)-(79,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (79,1)-(79,2))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1884,29 +1887,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (79,3)-(79,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (79,5)-(79,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (79,5)-(79,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (79,5)-(79,6))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (79,0)-(79,1) = "("
│ │ └── closing_loc: (79,6)-(79,7) = ")"
│ ├── call_operator_loc: ∅
@@ -1915,63 +1916,65 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (79,10)-(79,19))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (79,10)-(79,19))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (79,10)-(79,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (79,10)-(79,11) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (79,11)-(79,12) = "."
- │ │ │ ├── name: :-
- │ │ │ ├── message_loc: (79,12)-(79,13) = "-"
- │ │ │ ├── opening_loc: (79,13)-(79,14) = "("
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (79,14)-(79,18))
- │ │ │ │ ├── arguments: (length: 2)
- │ │ │ │ │ ├── @ CallNode (location: (79,14)-(79,15))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :e
- │ │ │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── @ CallNode (location: (79,17)-(79,18))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :f
- │ │ │ │ │ ├── message_loc: (79,17)-(79,18) = "f"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (79,18)-(79,19) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (79,10)-(79,19))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (79,10)-(79,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (79,10)-(79,11) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (79,11)-(79,12) = "."
+ │ │ ├── name: :-
+ │ │ ├── message_loc: (79,12)-(79,13) = "-"
+ │ │ ├── opening_loc: (79,13)-(79,14) = "("
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (79,14)-(79,18))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ CallNode (location: (79,14)-(79,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :e
+ │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── @ CallNode (location: (79,17)-(79,18))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :f
+ │ │ │ ├── message_loc: (79,17)-(79,18) = "f"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: (79,18)-(79,19) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (80,0)-(80,17))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (80,0)-(80,7))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (80,1)-(80,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (80,1)-(80,6))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (80,1)-(80,2))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -1979,29 +1982,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+
│ │ │ ├── message_loc: (80,3)-(80,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (80,5)-(80,6))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (80,5)-(80,6))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (80,5)-(80,6))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :b
+ │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (80,0)-(80,1) = "("
│ │ └── closing_loc: (80,6)-(80,7) = ")"
│ ├── call_operator_loc: ∅
@@ -2010,48 +2011,48 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (80,10)-(80,17))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (80,10)-(80,17))
- │ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (80,10)-(80,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :c
- │ │ │ │ ├── message_loc: (80,10)-(80,11) = "c"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── call_operator_loc: (80,11)-(80,12) = "."
- │ │ │ ├── name: :-
- │ │ │ ├── message_loc: (80,12)-(80,13) = "-"
- │ │ │ ├── opening_loc: (80,13)-(80,14) = "("
- │ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (80,14)-(80,16))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (80,14)-(80,16))
- │ │ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*"
- │ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (80,15)-(80,16))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :f
- │ │ │ │ │ ├── message_loc: (80,15)-(80,16) = "f"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
- │ │ │ ├── closing_loc: (80,16)-(80,17) = ")"
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (80,10)-(80,17))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver:
+ │ │ │ @ CallNode (location: (80,10)-(80,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :c
+ │ │ │ ├── message_loc: (80,10)-(80,11) = "c"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── call_operator_loc: (80,11)-(80,12) = "."
+ │ │ ├── name: :-
+ │ │ ├── message_loc: (80,12)-(80,13) = "-"
+ │ │ ├── opening_loc: (80,13)-(80,14) = "("
+ │ │ ├── arguments:
+ │ │ │ @ ArgumentsNode (location: (80,14)-(80,16))
+ │ │ │ ├── flags: ∅
+ │ │ │ └── arguments: (length: 1)
+ │ │ │ └── @ SplatNode (location: (80,14)-(80,16))
+ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*"
+ │ │ │ └── expression:
+ │ │ │ @ CallNode (location: (80,15)-(80,16))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :f
+ │ │ │ ├── message_loc: (80,15)-(80,16) = "f"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── closing_loc: (80,16)-(80,17) = ")"
+ │ │ └── block: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (81,0)-(81,8))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :x
@@ -2059,29 +2060,30 @@
│ ├── opening_loc: (81,1)-(81,2) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (81,2)-(81,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (81,2)-(81,7))
- │ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (81,2)-(81,7))
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (81,4)-(81,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (81,4)-(81,7) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (81,2)-(81,4) = "**"
- │ │ └── flags: contains_keyword_splat
+ │ │ ├── flags: contains_keyword_splat
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ KeywordHashNode (location: (81,2)-(81,7))
+ │ │ └── elements: (length: 1)
+ │ │ └── @ AssocSplatNode (location: (81,2)-(81,7))
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (81,4)-(81,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (81,4)-(81,7) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (81,2)-(81,4) = "**"
│ ├── closing_loc: (81,7)-(81,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (82,0)-(82,6))
+ │ ├── flags: safe_navigation
│ ├── receiver:
│ │ @ CallNode (location: (82,0)-(82,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2089,19 +2091,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (82,3)-(82,5) = "&."
│ ├── name: :!
│ ├── message_loc: (82,5)-(82,6) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: safe_navigation
+ │ └── block: ∅
├── @ CallNode (location: (83,0)-(83,8))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (83,0)-(83,3))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -2109,32 +2111,32 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: (83,3)-(83,4) = "."
│ ├── name: :~
│ ├── message_loc: (83,4)-(83,5) = "~"
│ ├── opening_loc: (83,5)-(83,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (83,6)-(83,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (83,6)-(83,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (83,6)-(83,7) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (83,6)-(83,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (83,6)-(83,7) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── closing_loc: (83,7)-(83,8) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (84,0)-(84,7))
+ ├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (84,0)-(84,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -2142,26 +2144,24 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── call_operator_loc: (84,1)-(84,3) = "&."
├── name: :+
├── message_loc: (84,3)-(84,4) = "+"
├── opening_loc: (84,4)-(84,5) = "("
├── arguments:
│ @ ArgumentsNode (location: (84,5)-(84,6))
- │ ├── arguments: (length: 1)
- │ │ └── @ CallNode (location: (84,5)-(84,6))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (84,5)-(84,6) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 1)
+ │ └── @ CallNode (location: (84,5)-(84,6))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (84,5)-(84,6) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── closing_loc: (84,6)-(84,7) = ")"
- ├── block: ∅
- └── flags: safe_navigation
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/since/27.txt b/test/prism/snapshots/unparser/corpus/literal/since/27.txt
index 3d1763e9b4..2099e84209 100644
--- a/test/prism/snapshots/unparser/corpus/literal/since/27.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/since/27.txt
@@ -16,6 +16,7 @@
│ @ StatementsNode (location: (2,2)-(2,9))
│ └── body: (length: 1)
│ └── @ CallNode (location: (2,2)-(2,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (2,2)-(2,4))
│ │ ├── name: :_1
@@ -26,24 +27,23 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (2,7)-(2,9))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9))
- │ │ │ ├── name: :_2
- │ │ │ └── depth: 0
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9))
+ │ │ ├── name: :_2
+ │ │ └── depth: 0
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ ParenthesesNode (location: (4,0)-(4,5))
├── body:
│ @ StatementsNode (location: (4,1)-(4,4))
│ └── body: (length: 1)
│ └── @ RangeNode (location: (4,1)-(4,4))
+ │ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (4,1)-(4,3) = ".."
- │ └── flags: ∅
+ │ └── operator_loc: (4,1)-(4,3) = ".."
├── opening_loc: (4,0)-(4,1) = "("
└── closing_loc: (4,4)-(4,5) = ")"
diff --git a/test/prism/snapshots/unparser/corpus/literal/since/31.txt b/test/prism/snapshots/unparser/corpus/literal/since/31.txt
index 6756860cde..d5bc8d0903 100644
--- a/test/prism/snapshots/unparser/corpus/literal/since/31.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/since/31.txt
@@ -24,6 +24,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,7))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -31,11 +32,10 @@
│ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (2,7)-(2,8) = ")"
- │ │ ├── block:
- │ │ │ @ BlockArgumentNode (location: (2,6)-(2,7))
- │ │ │ ├── expression: ∅
- │ │ │ └── operator_loc: (2,6)-(2,7) = "&"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockArgumentNode (location: (2,6)-(2,7))
+ │ │ ├── expression: ∅
+ │ │ └── operator_loc: (2,6)-(2,7) = "&"
│ ├── locals: [:&]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -67,6 +67,7 @@
│ @ StatementsNode (location: (6,2)-(6,7))
│ └── body: (length: 1)
│ └── @ CallNode (location: (6,2)-(6,7))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -74,11 +75,10 @@
│ ├── opening_loc: (6,5)-(6,6) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (6,7)-(6,8) = ")"
- │ ├── block:
- │ │ @ BlockArgumentNode (location: (6,6)-(6,7))
- │ │ ├── expression: ∅
- │ │ └── operator_loc: (6,6)-(6,7) = "&"
- │ └── flags: ∅
+ │ └── block:
+ │ @ BlockArgumentNode (location: (6,6)-(6,7))
+ │ ├── expression: ∅
+ │ └── operator_loc: (6,6)-(6,7) = "&"
├── locals: [:a, :&]
├── locals_body_index: 2
├── def_keyword_loc: (5,0)-(5,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/since/32.txt b/test/prism/snapshots/unparser/corpus/literal/since/32.txt
index 24ba7fb851..09bc0e1575 100644
--- a/test/prism/snapshots/unparser/corpus/literal/since/32.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/since/32.txt
@@ -26,6 +26,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(2,19))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@@ -33,19 +34,18 @@
│ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (2,6)-(2,18))
- │ │ │ ├── arguments: (length: 2)
- │ │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14))
- │ │ │ │ │ ├── name: :argument
- │ │ │ │ │ └── depth: 0
- │ │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18))
- │ │ │ │ └── elements: (length: 1)
- │ │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18))
- │ │ │ │ ├── value: ∅
- │ │ │ │ └── operator_loc: (2,16)-(2,18) = "**"
- │ │ │ └── flags: contains_keyword_splat
+ │ │ │ ├── flags: contains_keyword_splat
+ │ │ │ └── arguments: (length: 2)
+ │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14))
+ │ │ │ │ ├── name: :argument
+ │ │ │ │ └── depth: 0
+ │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18))
+ │ │ │ └── elements: (length: 1)
+ │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18))
+ │ │ │ ├── value: ∅
+ │ │ │ └── operator_loc: (2,16)-(2,18) = "**"
│ │ ├── closing_loc: (2,18)-(2,19) = ")"
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── locals: [:argument, :**]
│ ├── locals_body_index: 2
│ ├── def_keyword_loc: (1,0)-(1,3) = "def"
@@ -77,6 +77,7 @@
│ @ StatementsNode (location: (6,2)-(6,18))
│ └── body: (length: 1)
│ └── @ CallNode (location: (6,2)-(6,18))
+ │ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@@ -84,17 +85,16 @@
│ ├── opening_loc: (6,5)-(6,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (6,6)-(6,17))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14))
- │ │ │ │ ├── name: :argument
- │ │ │ │ └── depth: 0
- │ │ │ └── @ SplatNode (location: (6,16)-(6,17))
- │ │ │ ├── operator_loc: (6,16)-(6,17) = "*"
- │ │ │ └── expression: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14))
+ │ │ │ ├── name: :argument
+ │ │ │ └── depth: 0
+ │ │ └── @ SplatNode (location: (6,16)-(6,17))
+ │ │ ├── operator_loc: (6,16)-(6,17) = "*"
+ │ │ └── expression: ∅
│ ├── closing_loc: (6,17)-(6,18) = ")"
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── locals: [:argument, :*]
├── locals_body_index: 2
├── def_keyword_loc: (5,0)-(5,3) = "def"
diff --git a/test/prism/snapshots/unparser/corpus/literal/super.txt b/test/prism/snapshots/unparser/corpus/literal/super.txt
index 8bc734749b..c4f3c0efca 100644
--- a/test/prism/snapshots/unparser/corpus/literal/super.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/super.txt
@@ -16,18 +16,18 @@
│ ├── lparen_loc: (3,5)-(3,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (3,6)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (3,6)-(3,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (3,6)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (3,6)-(3,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (3,7)-(3,8) = ")"
│ └── block: ∅
├── @ SuperNode (location: (4,0)-(4,11))
@@ -35,28 +35,28 @@
│ ├── lparen_loc: (4,5)-(4,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (4,6)-(4,10))
- │ │ ├── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (4,6)-(4,7))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :a
- │ │ │ │ ├── message_loc: (4,6)-(4,7) = "a"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (4,9)-(4,10))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :b
- │ │ │ ├── message_loc: (4,9)-(4,10) = "b"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 2)
+ │ │ ├── @ CallNode (location: (4,6)-(4,7))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :a
+ │ │ │ ├── message_loc: (4,6)-(4,7) = "a"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (4,9)-(4,10))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :b
+ │ │ ├── message_loc: (4,9)-(4,10) = "b"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (4,10)-(4,11) = ")"
│ └── block: ∅
├── @ SuperNode (location: (5,0)-(5,13))
@@ -68,6 +68,7 @@
│ @ BlockArgumentNode (location: (5,6)-(5,12))
│ ├── expression:
│ │ @ CallNode (location: (5,7)-(5,12))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :block
@@ -75,31 +76,31 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (5,6)-(5,7) = "&"
├── @ SuperNode (location: (6,0)-(6,16))
│ ├── keyword_loc: (6,0)-(6,5) = "super"
│ ├── lparen_loc: (6,5)-(6,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (6,6)-(6,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (6,6)-(6,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (6,6)-(6,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (6,6)-(6,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (6,6)-(6,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (6,15)-(6,16) = ")"
│ └── block:
│ @ BlockArgumentNode (location: (6,9)-(6,15))
│ ├── expression:
│ │ @ CallNode (location: (6,10)-(6,15))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :block
@@ -107,45 +108,44 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ └── operator_loc: (6,9)-(6,10) = "&"
├── @ SuperNode (location: (7,0)-(9,2))
│ ├── keyword_loc: (7,0)-(7,5) = "super"
│ ├── lparen_loc: (7,5)-(7,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(9,1))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (7,6)-(9,1))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (7,6)-(7,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (7,8)-(9,1))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (8,2)-(8,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (8,2)-(8,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (8,2)-(8,5) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
- │ │ │ │ └── closing_loc: (9,0)-(9,1) = "}"
- │ │ │ └── flags: ∅
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (7,6)-(9,1))
+ │ │ ├── flags: ∅
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (7,6)-(7,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (7,8)-(9,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (8,2)-(8,5))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ CallNode (location: (8,2)-(8,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (8,2)-(8,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
+ │ │ └── closing_loc: (9,0)-(9,1) = "}"
│ ├── rparen_loc: (9,1)-(9,2) = ")"
│ └── block: ∅
├── @ ForwardingSuperNode (location: (10,0)-(12,1))
@@ -158,6 +158,7 @@
│ │ @ StatementsNode (location: (11,2)-(11,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,2)-(11,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -165,8 +166,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (10,6)-(10,7) = "{"
│ └── closing_loc: (12,0)-(12,1) = "}"
├── @ SuperNode (location: (13,0)-(15,1))
@@ -174,18 +174,18 @@
│ ├── lparen_loc: (13,5)-(13,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,6)-(13,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (13,6)-(13,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (13,6)-(13,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (13,6)-(13,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (13,6)-(13,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ ├── rparen_loc: (13,7)-(13,8) = ")"
│ └── block:
│ @ BlockNode (location: (13,9)-(15,1))
@@ -196,6 +196,7 @@
│ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,2)-(14,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -203,8 +204,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (13,9)-(13,10) = "{"
│ └── closing_loc: (15,0)-(15,1) = "}"
├── @ SuperNode (location: (16,0)-(18,1))
@@ -221,6 +221,7 @@
│ │ @ StatementsNode (location: (17,2)-(17,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (17,2)-(17,5))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -228,8 +229,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── opening_loc: (16,8)-(16,9) = "{"
│ └── closing_loc: (18,0)-(18,1) = "}"
└── @ SuperNode (location: (19,0)-(21,1))
@@ -237,28 +237,28 @@
├── lparen_loc: (19,5)-(19,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (19,6)-(19,10))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (19,6)-(19,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (19,6)-(19,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ CallNode (location: (19,9)-(19,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (19,9)-(19,10) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (19,6)-(19,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (19,6)-(19,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ CallNode (location: (19,9)-(19,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (19,9)-(19,10) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
├── rparen_loc: (19,10)-(19,11) = ")"
└── block:
@ BlockNode (location: (19,12)-(21,1))
@@ -269,6 +269,7 @@
│ @ StatementsNode (location: (20,2)-(20,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (20,2)-(20,5))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@@ -276,7 +277,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── opening_loc: (19,12)-(19,13) = "{"
└── closing_loc: (21,0)-(21,1) = "}"
diff --git a/test/prism/snapshots/unparser/corpus/literal/unary.txt b/test/prism/snapshots/unparser/corpus/literal/unary.txt
index 1828fc9926..97eec0c01e 100644
--- a/test/prism/snapshots/unparser/corpus/literal/unary.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/unary.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(8,9))
└── body: (length: 8)
├── @ CallNode (location: (1,0)-(1,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
@@ -13,15 +14,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (2,0)-(2,5))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (2,1)-(2,5))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (2,2)-(2,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,2)-(2,4))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ │ │ └── flags: decimal
@@ -31,8 +33,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (2,1)-(2,2) = "("
│ │ └── closing_loc: (2,4)-(2,5) = ")"
│ ├── call_operator_loc: ∅
@@ -41,15 +42,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (3,0)-(3,16))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (3,1)-(3,16))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (3,2)-(3,15))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,2)-(3,15))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ ParenthesesNode (location: (3,3)-(3,15))
│ │ │ │ ├── body:
@@ -58,6 +60,7 @@
│ │ │ │ │ └── @ OrNode (location: (3,4)-(3,14))
│ │ │ │ │ ├── left:
│ │ │ │ │ │ @ CallNode (location: (3,4)-(3,7))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :foo
@@ -65,10 +68,10 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── right:
│ │ │ │ │ │ @ CallNode (location: (3,11)-(3,14))
+ │ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :bar
@@ -76,8 +79,7 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
+ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ └── operator_loc: (3,8)-(3,10) = "||"
│ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
│ │ │ │ └── closing_loc: (3,14)-(3,15) = ")"
@@ -87,8 +89,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (3,1)-(3,2) = "("
│ │ └── closing_loc: (3,15)-(3,16) = ")"
│ ├── call_operator_loc: ∅
@@ -97,17 +98,19 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (4,0)-(4,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (4,1)-(4,9))
+ │ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ ParenthesesNode (location: (4,1)-(4,5))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (4,2)-(4,4))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (4,2)-(4,4))
+ │ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ │ │ │ └── flags: decimal
@@ -117,8 +120,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── opening_loc: (4,1)-(4,2) = "("
│ │ │ └── closing_loc: (4,4)-(4,5) = ")"
│ │ ├── call_operator_loc: (4,5)-(4,6) = "."
@@ -127,19 +129,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: ∅
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (4,0)-(4,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (5,0)-(5,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,1)-(5,2))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -147,19 +149,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :~
│ ├── message_loc: (5,0)-(5,1) = "~"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (6,0)-(6,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (6,1)-(6,2))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -167,19 +169,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-@
│ ├── message_loc: (6,0)-(6,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── @ CallNode (location: (7,0)-(7,2))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,1)-(7,2))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@@ -187,27 +189,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
+ │ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+@
│ ├── message_loc: (7,0)-(7,1) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
└── @ CallNode (location: (8,0)-(8,9))
+ ├── flags: ∅
├── receiver:
│ @ CallNode (location: (8,1)-(8,9))
+ │ ├── flags: ∅
│ ├── receiver:
│ │ @ ParenthesesNode (location: (8,1)-(8,5))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (8,2)-(8,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (8,2)-(8,4))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (8,3)-(8,4))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@@ -215,16 +219,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
+ │ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :-@
│ │ │ ├── message_loc: (8,2)-(8,3) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
+ │ │ │ └── block: ∅
│ │ ├── opening_loc: (8,1)-(8,2) = "("
│ │ └── closing_loc: (8,4)-(8,5) = ")"
│ ├── call_operator_loc: (8,5)-(8,6) = "."
@@ -233,13 +235,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: ∅
+ │ └── block: ∅
├── call_operator_loc: ∅
├── name: :-@
├── message_loc: (8,0)-(8,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
- ├── block: ∅
- └── flags: ∅
+ └── block: ∅
diff --git a/test/prism/snapshots/unparser/corpus/literal/variables.txt b/test/prism/snapshots/unparser/corpus/literal/variables.txt
index c894d5803e..a667bc7e8b 100644
--- a/test/prism/snapshots/unparser/corpus/literal/variables.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/variables.txt
@@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(10,17))
└── body: (length: 10)
├── @ CallNode (location: (1,0)-(1,1))
+ │ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@@ -11,8 +12,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
- │ ├── block: ∅
- │ └── flags: variable_call
+ │ └── block: ∅
├── @ InstanceVariableReadNode (location: (2,0)-(2,2))
│ └── name: :@a
├── @ ClassVariableReadNode (location: (3,0)-(3,3))
diff --git a/test/prism/snapshots/unparser/corpus/literal/while.txt b/test/prism/snapshots/unparser/corpus/literal/while.txt
index c5221a0a18..0758d82127 100644
--- a/test/prism/snapshots/unparser/corpus/literal/while.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/while.txt
@@ -13,6 +13,7 @@
│ │ @ StatementsNode (location: (2,2)-(6,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,2)-(6,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -20,59 +21,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (2,6)-(6,3))
- │ │ │ ├── locals: [:bar, :foo]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (2,8)-(2,13))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (2,9)-(2,12))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12))
- │ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (2,8)-(2,9) = "|"
- │ │ │ │ └── closing_loc: (2,12)-(2,13) = "|"
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (3,4)-(5,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (3,4)-(5,7))
- │ │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while"
- │ │ │ │ ├── closing_loc: (5,4)-(5,7) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (3,10)-(3,13))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (4,6)-(4,15))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (4,6)-(4,9) = "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15))
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── operator_loc: (4,10)-(4,11) = "="
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (2,6)-(2,7) = "{"
- │ │ │ └── closing_loc: (6,2)-(6,3) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (2,6)-(6,3))
+ │ │ ├── locals: [:bar, :foo]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (2,8)-(2,13))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (2,9)-(2,12))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12))
+ │ │ │ │ │ └── name: :bar
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (2,8)-(2,9) = "|"
+ │ │ │ └── closing_loc: (2,12)-(2,13) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (3,4)-(5,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ WhileNode (location: (3,4)-(5,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while"
+ │ │ │ ├── closing_loc: (5,4)-(5,7) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ CallNode (location: (3,10)-(3,13))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (4,6)-(4,15))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15))
+ │ │ │ ├── name: :foo
+ │ │ │ ├── depth: 0
+ │ │ │ ├── name_loc: (4,6)-(4,9) = "foo"
+ │ │ │ ├── value:
+ │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15))
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ └── depth: 0
+ │ │ │ └── operator_loc: (4,10)-(4,11) = "="
+ │ │ ├── opening_loc: (2,6)-(2,7) = "{"
+ │ │ └── closing_loc: (6,2)-(6,3) = "}"
│ ├── end_keyword_loc: (7,0)-(7,3) = "end"
│ └── name: :A
├── @ DefNode (location: (9,0)-(11,3))
@@ -84,10 +84,12 @@
│ │ @ StatementsNode (location: (10,2)-(10,28))
│ │ └── body: (length: 1)
│ │ └── @ WhileNode (location: (10,2)-(10,28))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (10,12)-(10,17) = "while"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
│ │ │ @ CallNode (location: (10,18)-(10,28))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (10,18)-(10,21))
│ │ │ │ ├── name: :foo
@@ -98,41 +100,39 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (10,25)-(10,28))
- │ │ │ │ ├── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (10,25)-(10,28))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ └── flags: ∅
+ │ │ │ │ ├── flags: ∅
+ │ │ │ │ └── arguments: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (10,25)-(10,28))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :baz
+ │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: ∅
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (10,2)-(10,11))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (10,2)-(10,5) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (10,8)-(10,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (10,8)-(10,11) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (10,6)-(10,7) = "="
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (10,2)-(10,11))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (10,2)-(10,5) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (10,8)-(10,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (10,8)-(10,11) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (10,6)-(10,7) = "="
│ ├── locals: [:foo]
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (9,0)-(9,3) = "def"
@@ -151,32 +151,32 @@
│ │ @ StatementsNode (location: (14,2)-(14,21))
│ │ └── body: (length: 1)
│ │ └── @ WhileNode (location: (14,2)-(14,21))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (14,12)-(14,17) = "while"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
│ │ │ @ LocalVariableReadNode (location: (14,18)-(14,21))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (14,2)-(14,11))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (14,2)-(14,5) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (14,8)-(14,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (14,8)-(14,11) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (14,6)-(14,7) = "="
- │ │ └── flags: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (14,2)-(14,11))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (14,2)-(14,5) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (14,8)-(14,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (14,8)-(14,11) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (14,6)-(14,7) = "="
│ ├── end_keyword_loc: (15,0)-(15,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (17,0)-(19,3))
@@ -189,32 +189,32 @@
│ │ @ StatementsNode (location: (18,2)-(18,21))
│ │ └── body: (length: 1)
│ │ └── @ UntilNode (location: (18,2)-(18,21))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (18,12)-(18,17) = "until"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
│ │ │ @ LocalVariableReadNode (location: (18,18)-(18,21))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (18,2)-(18,11))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (18,2)-(18,5) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (18,8)-(18,11))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (18,8)-(18,11) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (18,6)-(18,7) = "="
- │ │ └── flags: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (18,2)-(18,11))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (18,2)-(18,5) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (18,8)-(18,11))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (18,8)-(18,11) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (18,6)-(18,7) = "="
│ ├── end_keyword_loc: (19,0)-(19,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (21,0)-(25,3))
@@ -227,10 +227,12 @@
│ │ @ StatementsNode (location: (22,2)-(24,5))
│ │ └── body: (length: 1)
│ │ └── @ WhileNode (location: (22,2)-(24,5))
+ │ │ ├── flags: ∅
│ │ ├── keyword_loc: (22,2)-(22,7) = "while"
│ │ ├── closing_loc: (24,2)-(24,5) = "end"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (22,8)-(22,11))
+ │ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -238,28 +240,26 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (23,4)-(23,13))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
- │ │ │ ├── name: :foo
- │ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (23,4)-(23,7) = "foo"
- │ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (23,10)-(23,13))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :bar
- │ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── operator_loc: (23,8)-(23,9) = "="
- │ │ └── flags: ∅
+ │ │ │ └── block: ∅
+ │ │ └── statements:
+ │ │ @ StatementsNode (location: (23,4)-(23,13))
+ │ │ └── body: (length: 1)
+ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
+ │ │ ├── name: :foo
+ │ │ ├── depth: 0
+ │ │ ├── name_loc: (23,4)-(23,7) = "foo"
+ │ │ ├── value:
+ │ │ │ @ CallNode (location: (23,10)-(23,13))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :bar
+ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── operator_loc: (23,8)-(23,9) = "="
│ ├── end_keyword_loc: (25,0)-(25,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (27,0)-(33,3))
@@ -272,6 +272,7 @@
│ │ @ StatementsNode (location: (28,2)-(32,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (28,2)-(32,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :each
@@ -279,66 +280,65 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (28,7)-(32,3))
- │ │ │ ├── locals: [:baz, :foo]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (28,9)-(28,14))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (28,10)-(28,13))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13))
- │ │ │ │ │ │ └── name: :baz
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (28,9)-(28,10) = "|"
- │ │ │ │ └── closing_loc: (28,13)-(28,14) = "|"
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (29,4)-(31,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (29,4)-(31,7))
- │ │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while"
- │ │ │ │ ├── closing_loc: (31,4)-(31,7) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (29,10)-(29,13))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (30,6)-(30,15))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (30,6)-(30,9) = "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (30,12)-(30,15))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: (30,10)-(30,11) = "="
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (28,7)-(28,8) = "{"
- │ │ │ └── closing_loc: (32,2)-(32,3) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (28,7)-(32,3))
+ │ │ ├── locals: [:baz, :foo]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (28,9)-(28,14))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (28,10)-(28,13))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13))
+ │ │ │ │ │ └── name: :baz
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (28,9)-(28,10) = "|"
+ │ │ │ └── closing_loc: (28,13)-(28,14) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (29,4)-(31,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ WhileNode (location: (29,4)-(31,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while"
+ │ │ │ ├── closing_loc: (31,4)-(31,7) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ CallNode (location: (29,10)-(29,13))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (30,6)-(30,15))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15))
+ │ │ │ ├── name: :foo
+ │ │ │ ├── depth: 0
+ │ │ │ ├── name_loc: (30,6)-(30,9) = "foo"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (30,12)-(30,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (30,10)-(30,11) = "="
+ │ │ ├── opening_loc: (28,7)-(28,8) = "{"
+ │ │ └── closing_loc: (32,2)-(32,3) = "}"
│ ├── end_keyword_loc: (33,0)-(33,3) = "end"
│ └── name: :A
├── @ ModuleNode (location: (35,0)-(41,3))
@@ -351,6 +351,7 @@
│ │ @ StatementsNode (location: (36,2)-(40,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (36,2)-(40,3))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :each
@@ -358,59 +359,58 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (36,7)-(40,3))
- │ │ │ ├── locals: [:foo]
- │ │ │ ├── locals_body_index: 1
- │ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (36,9)-(36,14))
- │ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (36,10)-(36,13))
- │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13))
- │ │ │ │ │ │ └── name: :foo
- │ │ │ │ │ ├── optionals: (length: 0)
- │ │ │ │ │ ├── rest: ∅
- │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── keywords: (length: 0)
- │ │ │ │ │ ├── keyword_rest: ∅
- │ │ │ │ │ └── block: ∅
- │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (36,9)-(36,10) = "|"
- │ │ │ │ └── closing_loc: (36,13)-(36,14) = "|"
- │ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (37,4)-(39,7))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (37,4)-(39,7))
- │ │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while"
- │ │ │ │ ├── closing_loc: (39,4)-(39,7) = "end"
- │ │ │ │ ├── predicate:
- │ │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ └── depth: 0
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (38,6)-(38,15))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15))
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (38,6)-(38,9) = "foo"
- │ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (38,12)-(38,15))
- │ │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── name: :bar
- │ │ │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar"
- │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ │ └── flags: variable_call
- │ │ │ │ │ └── operator_loc: (38,10)-(38,11) = "="
- │ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (36,7)-(36,8) = "{"
- │ │ │ └── closing_loc: (40,2)-(40,3) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (36,7)-(40,3))
+ │ │ ├── locals: [:foo]
+ │ │ ├── locals_body_index: 1
+ │ │ ├── parameters:
+ │ │ │ @ BlockParametersNode (location: (36,9)-(36,14))
+ │ │ │ ├── parameters:
+ │ │ │ │ @ ParametersNode (location: (36,10)-(36,13))
+ │ │ │ │ ├── requireds: (length: 1)
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13))
+ │ │ │ │ │ └── name: :foo
+ │ │ │ │ ├── optionals: (length: 0)
+ │ │ │ │ ├── rest: ∅
+ │ │ │ │ ├── posts: (length: 0)
+ │ │ │ │ ├── keywords: (length: 0)
+ │ │ │ │ ├── keyword_rest: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── locals: (length: 0)
+ │ │ │ ├── opening_loc: (36,9)-(36,10) = "|"
+ │ │ │ └── closing_loc: (36,13)-(36,14) = "|"
+ │ │ ├── body:
+ │ │ │ @ StatementsNode (location: (37,4)-(39,7))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ WhileNode (location: (37,4)-(39,7))
+ │ │ │ ├── flags: ∅
+ │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while"
+ │ │ │ ├── closing_loc: (39,4)-(39,7) = "end"
+ │ │ │ ├── predicate:
+ │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13))
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ └── depth: 0
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (38,6)-(38,15))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15))
+ │ │ │ ├── name: :foo
+ │ │ │ ├── depth: 0
+ │ │ │ ├── name_loc: (38,6)-(38,9) = "foo"
+ │ │ │ ├── value:
+ │ │ │ │ @ CallNode (location: (38,12)-(38,15))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :bar
+ │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ └── operator_loc: (38,10)-(38,11) = "="
+ │ │ ├── opening_loc: (36,7)-(36,8) = "{"
+ │ │ └── closing_loc: (40,2)-(40,3) = "}"
│ ├── end_keyword_loc: (41,0)-(41,3) = "end"
│ └── name: :A
├── @ LocalVariableWriteNode (location: (42,0)-(44,14))
@@ -423,10 +423,12 @@
│ │ │ @ StatementsNode (location: (42,5)-(44,13))
│ │ │ └── body: (length: 1)
│ │ │ └── @ WhileNode (location: (42,5)-(44,13))
+ │ │ │ ├── flags: begin_modifier
│ │ │ ├── keyword_loc: (44,4)-(44,9) = "while"
│ │ │ ├── closing_loc: ∅
│ │ │ ├── predicate:
│ │ │ │ @ CallNode (location: (44,10)-(44,13))
+ │ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :baz
@@ -434,39 +436,39 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (42,5)-(44,3))
- │ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BeginNode (location: (42,5)-(44,3))
- │ │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin"
- │ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (43,2)-(43,5))
- │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (43,2)-(43,5))
- │ │ │ │ │ ├── receiver: ∅
- │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo"
- │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ │ ├── block: ∅
- │ │ │ │ │ └── flags: variable_call
- │ │ │ │ ├── rescue_clause: ∅
- │ │ │ │ ├── else_clause: ∅
- │ │ │ │ ├── ensure_clause: ∅
- │ │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end"
- │ │ │ └── flags: begin_modifier
+ │ │ │ │ └── block: ∅
+ │ │ │ └── statements:
+ │ │ │ @ StatementsNode (location: (42,5)-(44,3))
+ │ │ │ └── body: (length: 1)
+ │ │ │ └── @ BeginNode (location: (42,5)-(44,3))
+ │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin"
+ │ │ │ ├── statements:
+ │ │ │ │ @ StatementsNode (location: (43,2)-(43,5))
+ │ │ │ │ └── body: (length: 1)
+ │ │ │ │ └── @ CallNode (location: (43,2)-(43,5))
+ │ │ │ │ ├── flags: variable_call
+ │ │ │ │ ├── receiver: ∅
+ │ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ │ ├── name: :foo
+ │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo"
+ │ │ │ │ ├── opening_loc: ∅
+ │ │ │ │ ├── arguments: ∅
+ │ │ │ │ ├── closing_loc: ∅
+ │ │ │ │ └── block: ∅
+ │ │ │ ├── rescue_clause: ∅
+ │ │ │ ├── else_clause: ∅
+ │ │ │ ├── ensure_clause: ∅
+ │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end"
│ │ ├── opening_loc: (42,4)-(42,5) = "("
│ │ └── closing_loc: (44,13)-(44,14) = ")"
│ └── operator_loc: (42,2)-(42,3) = "="
├── @ WhileNode (location: (45,0)-(47,13))
+ │ ├── flags: begin_modifier
│ ├── keyword_loc: (47,4)-(47,9) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (47,10)-(47,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -474,36 +476,36 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (45,0)-(47,3))
- │ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (45,0)-(47,3))
- │ │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (46,2)-(46,5))
- │ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (46,2)-(46,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :foo
- │ │ │ ├── message_loc: (46,2)-(46,5) = "foo"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (47,0)-(47,3) = "end"
- │ └── flags: begin_modifier
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (45,0)-(47,3))
+ │ └── body: (length: 1)
+ │ └── @ BeginNode (location: (45,0)-(47,3))
+ │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (46,2)-(46,5))
+ │ │ └── body: (length: 1)
+ │ │ └── @ CallNode (location: (46,2)-(46,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :foo
+ │ │ ├── message_loc: (46,2)-(46,5) = "foo"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (47,0)-(47,3) = "end"
├── @ UntilNode (location: (48,0)-(51,13))
+ │ ├── flags: begin_modifier
│ ├── keyword_loc: (51,4)-(51,9) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (51,10)-(51,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -511,46 +513,46 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (48,0)-(51,3))
- │ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (48,0)-(51,3))
- │ │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (49,2)-(50,5))
- │ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (49,2)-(49,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (49,2)-(49,5) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (50,2)-(50,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (50,2)-(50,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
- │ └── flags: begin_modifier
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (48,0)-(51,3))
+ │ └── body: (length: 1)
+ │ └── @ BeginNode (location: (48,0)-(51,3))
+ │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (49,2)-(50,5))
+ │ │ └── body: (length: 2)
+ │ │ ├── @ CallNode (location: (49,2)-(49,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (49,2)-(49,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (50,2)-(50,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (50,2)-(50,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
├── @ WhileNode (location: (52,0)-(55,13))
+ │ ├── flags: begin_modifier
│ ├── keyword_loc: (55,4)-(55,9) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (55,10)-(55,13))
+ │ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
@@ -558,60 +560,59 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ ├── statements:
- │ │ @ StatementsNode (location: (52,0)-(55,3))
- │ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (52,0)-(55,3))
- │ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin"
- │ │ ├── statements:
- │ │ │ @ StatementsNode (location: (53,2)-(54,5))
- │ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (53,2)-(53,5))
- │ │ │ │ ├── receiver: ∅
- │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── name: :foo
- │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
- │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── arguments: ∅
- │ │ │ │ ├── closing_loc: ∅
- │ │ │ │ ├── block: ∅
- │ │ │ │ └── flags: variable_call
- │ │ │ └── @ CallNode (location: (54,2)-(54,5))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :bar
- │ │ │ ├── message_loc: (54,2)-(54,5) = "bar"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ ├── rescue_clause: ∅
- │ │ ├── else_clause: ∅
- │ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (55,0)-(55,3) = "end"
- │ └── flags: begin_modifier
+ │ │ └── block: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (52,0)-(55,3))
+ │ └── body: (length: 1)
+ │ └── @ BeginNode (location: (52,0)-(55,3))
+ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin"
+ │ ├── statements:
+ │ │ @ StatementsNode (location: (53,2)-(54,5))
+ │ │ └── body: (length: 2)
+ │ │ ├── @ CallNode (location: (53,2)-(53,5))
+ │ │ │ ├── flags: variable_call
+ │ │ │ ├── receiver: ∅
+ │ │ │ ├── call_operator_loc: ∅
+ │ │ │ ├── name: :foo
+ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
+ │ │ │ ├── opening_loc: ∅
+ │ │ │ ├── arguments: ∅
+ │ │ │ ├── closing_loc: ∅
+ │ │ │ └── block: ∅
+ │ │ └── @ CallNode (location: (54,2)-(54,5))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :bar
+ │ │ ├── message_loc: (54,2)-(54,5) = "bar"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ ├── rescue_clause: ∅
+ │ ├── else_clause: ∅
+ │ ├── ensure_clause: ∅
+ │ └── end_keyword_loc: (55,0)-(55,3) = "end"
├── @ WhileNode (location: (56,0)-(57,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (56,0)-(56,5) = "while"
│ ├── closing_loc: (57,0)-(57,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (56,6)-(56,11))
- │ ├── statements: ∅
- │ └── flags: ∅
+ │ └── statements: ∅
├── @ WhileNode (location: (58,0)-(60,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (58,0)-(58,5) = "while"
│ ├── closing_loc: (60,0)-(60,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (58,6)-(58,11))
- │ ├── statements:
- │ │ @ StatementsNode (location: (59,2)-(59,3))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (59,2)-(59,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (59,2)-(59,3))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (59,2)-(59,3))
+ │ └── flags: decimal
├── @ WhileNode (location: (61,0)-(64,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (61,0)-(61,5) = "while"
│ ├── closing_loc: (64,0)-(64,3) = "end"
│ ├── predicate:
@@ -620,6 +621,7 @@
│ │ │ @ StatementsNode (location: (61,7)-(62,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (61,7)-(62,1))
+ │ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@@ -627,45 +629,44 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
- │ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (61,11)-(62,1))
- │ │ │ │ ├── locals: []
- │ │ │ │ ├── locals_body_index: 0
- │ │ │ │ ├── parameters: ∅
- │ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (61,11)-(61,12) = "{"
- │ │ │ │ └── closing_loc: (62,0)-(62,1) = "}"
- │ │ │ └── flags: ∅
+ │ │ │ └── block:
+ │ │ │ @ BlockNode (location: (61,11)-(62,1))
+ │ │ │ ├── locals: []
+ │ │ │ ├── locals_body_index: 0
+ │ │ │ ├── parameters: ∅
+ │ │ │ ├── body: ∅
+ │ │ │ ├── opening_loc: (61,11)-(61,12) = "{"
+ │ │ │ └── closing_loc: (62,0)-(62,1) = "}"
│ │ ├── opening_loc: (61,6)-(61,7) = "("
│ │ └── closing_loc: (62,1)-(62,2) = ")"
- │ ├── statements:
- │ │ @ StatementsNode (location: (63,2)-(63,7))
- │ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (63,2)-(63,7))
- │ │ ├── opening_loc: (63,2)-(63,3) = ":"
- │ │ ├── value_loc: (63,3)-(63,7) = "body"
- │ │ ├── closing_loc: ∅
- │ │ └── unescaped: "body"
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (63,2)-(63,7))
+ │ └── body: (length: 1)
+ │ └── @ SymbolNode (location: (63,2)-(63,7))
+ │ ├── opening_loc: (63,2)-(63,3) = ":"
+ │ ├── value_loc: (63,3)-(63,7) = "body"
+ │ ├── closing_loc: ∅
+ │ └── unescaped: "body"
├── @ UntilNode (location: (65,0)-(66,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (65,0)-(65,5) = "until"
│ ├── closing_loc: (66,0)-(66,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (65,6)-(65,11))
- │ ├── statements: ∅
- │ └── flags: ∅
+ │ └── statements: ∅
├── @ UntilNode (location: (67,0)-(69,3))
+ │ ├── flags: ∅
│ ├── keyword_loc: (67,0)-(67,5) = "until"
│ ├── closing_loc: (69,0)-(69,3) = "end"
│ ├── predicate:
│ │ @ FalseNode (location: (67,6)-(67,11))
- │ ├── statements:
- │ │ @ StatementsNode (location: (68,2)-(68,3))
- │ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (68,2)-(68,3))
- │ │ └── flags: decimal
- │ └── flags: ∅
+ │ └── statements:
+ │ @ StatementsNode (location: (68,2)-(68,3))
+ │ └── body: (length: 1)
+ │ └── @ IntegerNode (location: (68,2)-(68,3))
+ │ └── flags: decimal
└── @ UntilNode (location: (70,0)-(73,3))
+ ├── flags: ∅
├── keyword_loc: (70,0)-(70,5) = "until"
├── closing_loc: (73,0)-(73,3) = "end"
├── predicate:
@@ -674,6 +675,7 @@
│ │ @ StatementsNode (location: (70,7)-(71,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (70,7)-(71,1))
+ │ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@@ -681,23 +683,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
- │ │ ├── block:
- │ │ │ @ BlockNode (location: (70,11)-(71,1))
- │ │ │ ├── locals: []
- │ │ │ ├── locals_body_index: 0
- │ │ │ ├── parameters: ∅
- │ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (70,11)-(70,12) = "{"
- │ │ │ └── closing_loc: (71,0)-(71,1) = "}"
- │ │ └── flags: ∅
+ │ │ └── block:
+ │ │ @ BlockNode (location: (70,11)-(71,1))
+ │ │ ├── locals: []
+ │ │ ├── locals_body_index: 0
+ │ │ ├── parameters: ∅
+ │ │ ├── body: ∅
+ │ │ ├── opening_loc: (70,11)-(70,12) = "{"
+ │ │ └── closing_loc: (71,0)-(71,1) = "}"
│ ├── opening_loc: (70,6)-(70,7) = "("
│ └── closing_loc: (71,1)-(71,2) = ")"
- ├── statements:
- │ @ StatementsNode (location: (72,2)-(72,7))
- │ └── body: (length: 1)
- │ └── @ SymbolNode (location: (72,2)-(72,7))
- │ ├── opening_loc: (72,2)-(72,3) = ":"
- │ ├── value_loc: (72,3)-(72,7) = "body"
- │ ├── closing_loc: ∅
- │ └── unescaped: "body"
- └── flags: ∅
+ └── statements:
+ @ StatementsNode (location: (72,2)-(72,7))
+ └── body: (length: 1)
+ └── @ SymbolNode (location: (72,2)-(72,7))
+ ├── opening_loc: (72,2)-(72,3) = ":"
+ ├── value_loc: (72,3)-(72,7) = "body"
+ ├── closing_loc: ∅
+ └── unescaped: "body"
diff --git a/test/prism/snapshots/unparser/corpus/literal/yield.txt b/test/prism/snapshots/unparser/corpus/literal/yield.txt
index dcedb07426..a1c0f25855 100644
--- a/test/prism/snapshots/unparser/corpus/literal/yield.txt
+++ b/test/prism/snapshots/unparser/corpus/literal/yield.txt
@@ -13,44 +13,44 @@
│ ├── lparen_loc: (2,5)-(2,6) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (2,6)-(2,7))
- │ │ ├── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (2,6)-(2,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (2,6)-(2,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── flags: ∅
+ │ │ ├── flags: ∅
+ │ │ └── arguments: (length: 1)
+ │ │ └── @ CallNode (location: (2,6)-(2,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (2,6)-(2,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
│ └── rparen_loc: (2,7)-(2,8) = ")"
└── @ YieldNode (location: (3,0)-(3,11))
├── keyword_loc: (3,0)-(3,5) = "yield"
├── lparen_loc: (3,5)-(3,6) = "("
├── arguments:
│ @ ArgumentsNode (location: (3,6)-(3,10))
- │ ├── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (3,6)-(3,7))
- │ │ │ ├── receiver: ∅
- │ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── name: :a
- │ │ │ ├── message_loc: (3,6)-(3,7) = "a"
- │ │ │ ├── opening_loc: ∅
- │ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: ∅
- │ │ │ ├── block: ∅
- │ │ │ └── flags: variable_call
- │ │ └── @ CallNode (location: (3,9)-(3,10))
- │ │ ├── receiver: ∅
- │ │ ├── call_operator_loc: ∅
- │ │ ├── name: :b
- │ │ ├── message_loc: (3,9)-(3,10) = "b"
- │ │ ├── opening_loc: ∅
- │ │ ├── arguments: ∅
- │ │ ├── closing_loc: ∅
- │ │ ├── block: ∅
- │ │ └── flags: variable_call
- │ └── flags: ∅
+ │ ├── flags: ∅
+ │ └── arguments: (length: 2)
+ │ ├── @ CallNode (location: (3,6)-(3,7))
+ │ │ ├── flags: variable_call
+ │ │ ├── receiver: ∅
+ │ │ ├── call_operator_loc: ∅
+ │ │ ├── name: :a
+ │ │ ├── message_loc: (3,6)-(3,7) = "a"
+ │ │ ├── opening_loc: ∅
+ │ │ ├── arguments: ∅
+ │ │ ├── closing_loc: ∅
+ │ │ └── block: ∅
+ │ └── @ CallNode (location: (3,9)-(3,10))
+ │ ├── flags: variable_call
+ │ ├── receiver: ∅
+ │ ├── call_operator_loc: ∅
+ │ ├── name: :b
+ │ ├── message_loc: (3,9)-(3,10) = "b"
+ │ ├── opening_loc: ∅
+ │ ├── arguments: ∅
+ │ ├── closing_loc: ∅
+ │ └── block: ∅
└── rparen_loc: (3,10)-(3,11) = ")"