1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
ProgramNode(0...299)(
[],
StatementsNode(0...299)(
[IfNode(0...20)(
(0...2),
TrueNode(3...7)(),
StatementsNode(10...16)(
[InterpolatedStringNode(10...16)(
(10...11),
[EmbeddedStatementsNode(11...14)((11...13), nil, (13...14)),
StringNode(14...15)(nil, (14...15), nil, "a")],
(15...16)
)]
),
nil,
(17...20)
),
IfNode(21...68)(
(21...23),
TrueNode(24...28)(),
StatementsNode(31...64)(
[InterpolatedStringNode(31...41)(
(31...41),
[StringNode(42...44)(nil, (42...44), nil, "a\n"),
EmbeddedStatementsNode(44...47)((44...46), nil, (46...47)),
StringNode(47...51)(nil, (47...51), nil, "a\n" + "b\n")],
(51...61)
),
CallNode(63...64)(nil, nil, (63...64), nil, nil, nil, nil, 2, "x")]
),
nil,
(65...68)
),
InterpolatedStringNode(69...79)(
(69...79),
[StringNode(80...89)(nil, (80...89), nil, "\#{}\#{}\n"),
EmbeddedStatementsNode(89...92)((89...91), nil, (91...92)),
StringNode(92...93)(nil, (92...93), nil, "\n"),
EmbeddedStatementsNode(93...96)((93...95), nil, (95...96)),
StringNode(96...97)(nil, (96...97), nil, "\n"),
EmbeddedStatementsNode(97...100)((97...99), nil, (99...100)),
StringNode(100...101)(nil, (100...101), nil, "\n")],
(101...109)
),
RescueModifierNode(109...130)(
InterpolatedStringNode(109...119)(
(109...119),
[EmbeddedStatementsNode(131...134)((131...133), nil, (133...134)),
StringNode(134...137)(nil, (134...137), nil, "\n" + "a\n")],
(137...145)
),
(120...126),
NilNode(127...130)()
),
InterpolatedStringNode(145...151)(
(145...146),
[StringNode(146...147)(nil, (146...147), nil, "a"),
EmbeddedVariableNode(147...150)(
(147...148),
NumberedReferenceReadNode(148...150)()
)],
(150...151)
),
InterpolatedStringNode(152...158)(
(152...153),
[StringNode(153...154)(nil, (153...154), nil, "a"),
EmbeddedVariableNode(154...157)(
(154...155),
GlobalVariableReadNode(155...157)()
)],
(157...158)
),
InterpolatedStringNode(159...165)(
(159...160),
[StringNode(160...161)(nil, (160...161), nil, "a"),
EmbeddedVariableNode(161...164)(
(161...162),
InstanceVariableReadNode(162...164)(:a)
)],
(164...165)
),
InterpolatedStringNode(166...173)(
(166...167),
[StringNode(167...168)(nil, (167...168), nil, "a"),
EmbeddedVariableNode(168...172)(
(168...169),
ClassVariableReadNode(169...172)()
)],
(172...173)
),
IfNode(174...225)(
(174...176),
TrueNode(177...181)(),
StatementsNode(184...201)(
[ReturnNode(184...201)(
(184...190),
ArgumentsNode(191...201)(
[InterpolatedStringNode(191...201)(
(191...201),
[StringNode(202...206)(nil, (202...206), nil, " "),
EmbeddedStatementsNode(206...211)(
(206...208),
StatementsNode(208...210)([IntegerNode(208...210)()]),
(210...211)
),
StringNode(211...212)(nil, (211...212), nil, "\n")],
(212...222)
)]
)
)]
),
nil,
(222...225)
),
CallNode(226...241)(
nil,
nil,
(226...229),
(229...230),
ArgumentsNode(230...240)(
[InterpolatedStringNode(230...240)(
(230...240),
[StringNode(242...244)(nil, (242...244), nil, " "),
EmbeddedStatementsNode(244...250)(
(244...246),
StatementsNode(246...249)(
[CallNode(246...249)(
nil,
nil,
(246...249),
nil,
nil,
nil,
nil,
2,
"bar"
)]
),
(249...250)
),
StringNode(250...251)(nil, (250...251), nil, "\n")],
(251...259)
)]
),
(240...241),
nil,
0,
"foo"
),
CallNode(259...299)(
nil,
nil,
(259...262),
(262...263),
ArgumentsNode(263...273)(
[InterpolatedStringNode(263...273)(
(263...273),
[StringNode(281...283)(nil, (281...283), nil, " "),
EmbeddedStatementsNode(283...289)(
(283...285),
StatementsNode(285...288)(
[CallNode(285...288)(
nil,
nil,
(285...288),
nil,
nil,
nil,
nil,
2,
"bar"
)]
),
(288...289)
),
StringNode(289...290)(nil, (289...290), nil, "\n")],
(290...298)
)]
),
(273...274),
BlockNode(275...299)(
[:x],
BlockParametersNode(277...280)(
ParametersNode(278...279)(
[RequiredParameterNode(278...279)(:x)],
[],
[],
nil,
[],
nil,
nil
),
[],
(277...278),
(279...280)
),
nil,
(275...276),
(298...299)
),
0,
"foo"
)]
)
)
|