prism 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -1
- data/Makefile +7 -1
- data/docs/releasing.md +2 -4
- data/docs/ruby_api.md +1 -0
- data/ext/prism/extension.h +1 -1
- data/include/prism/version.h +2 -2
- data/lib/prism/compiler.rb +152 -152
- data/lib/prism/lex_compat.rb +17 -75
- data/lib/prism/lex_ripper.rb +64 -0
- data/lib/prism/node.rb +1104 -1
- data/lib/prism/serialize.rb +1 -1
- data/lib/prism/translation/parser_current.rb +1 -1
- data/lib/prism/translation/parser_versions.rb +36 -0
- data/lib/prism/translation/ripper/lexer.rb +46 -0
- data/lib/prism/translation/ripper.rb +25 -2
- data/lib/prism/translation/ruby_parser.rb +1 -1
- data/lib/prism/translation.rb +5 -5
- data/lib/prism/visitor.rb +152 -152
- data/lib/prism.rb +1 -1
- data/prism.gemspec +5 -11
- data/rbi/prism/translation/parser_versions.rbi +23 -0
- data/sig/prism/node.rbs +1 -0
- data/src/prism.c +48 -27
- metadata +5 -11
- data/lib/prism/translation/parser33.rb +0 -13
- data/lib/prism/translation/parser34.rb +0 -13
- data/lib/prism/translation/parser35.rb +0 -8
- data/lib/prism/translation/parser40.rb +0 -13
- data/lib/prism/translation/parser41.rb +0 -13
- data/rbi/prism/translation/parser33.rbi +0 -6
- data/rbi/prism/translation/parser34.rbi +0 -6
- data/rbi/prism/translation/parser35.rbi +0 -4
- data/rbi/prism/translation/parser40.rbi +0 -6
- data/rbi/prism/translation/parser41.rbi +0 -6
data/lib/prism/compiler.rb
CHANGED
|
@@ -40,762 +40,762 @@ module Prism
|
|
|
40
40
|
|
|
41
41
|
# Visit the child nodes of the given node.
|
|
42
42
|
def visit_child_nodes(node)
|
|
43
|
-
node.
|
|
43
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
# Compile a AliasGlobalVariableNode node
|
|
47
47
|
def visit_alias_global_variable_node(node)
|
|
48
|
-
node.
|
|
48
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
# Compile a AliasMethodNode node
|
|
52
52
|
def visit_alias_method_node(node)
|
|
53
|
-
node.
|
|
53
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
# Compile a AlternationPatternNode node
|
|
57
57
|
def visit_alternation_pattern_node(node)
|
|
58
|
-
node.
|
|
58
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
# Compile a AndNode node
|
|
62
62
|
def visit_and_node(node)
|
|
63
|
-
node.
|
|
63
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
# Compile a ArgumentsNode node
|
|
67
67
|
def visit_arguments_node(node)
|
|
68
|
-
node.
|
|
68
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
# Compile a ArrayNode node
|
|
72
72
|
def visit_array_node(node)
|
|
73
|
-
node.
|
|
73
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
# Compile a ArrayPatternNode node
|
|
77
77
|
def visit_array_pattern_node(node)
|
|
78
|
-
node.
|
|
78
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
# Compile a AssocNode node
|
|
82
82
|
def visit_assoc_node(node)
|
|
83
|
-
node.
|
|
83
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
# Compile a AssocSplatNode node
|
|
87
87
|
def visit_assoc_splat_node(node)
|
|
88
|
-
node.
|
|
88
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
# Compile a BackReferenceReadNode node
|
|
92
92
|
def visit_back_reference_read_node(node)
|
|
93
|
-
node.
|
|
93
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
# Compile a BeginNode node
|
|
97
97
|
def visit_begin_node(node)
|
|
98
|
-
node.
|
|
98
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
# Compile a BlockArgumentNode node
|
|
102
102
|
def visit_block_argument_node(node)
|
|
103
|
-
node.
|
|
103
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
# Compile a BlockLocalVariableNode node
|
|
107
107
|
def visit_block_local_variable_node(node)
|
|
108
|
-
node.
|
|
108
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
# Compile a BlockNode node
|
|
112
112
|
def visit_block_node(node)
|
|
113
|
-
node.
|
|
113
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
114
114
|
end
|
|
115
115
|
|
|
116
116
|
# Compile a BlockParameterNode node
|
|
117
117
|
def visit_block_parameter_node(node)
|
|
118
|
-
node.
|
|
118
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
# Compile a BlockParametersNode node
|
|
122
122
|
def visit_block_parameters_node(node)
|
|
123
|
-
node.
|
|
123
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
# Compile a BreakNode node
|
|
127
127
|
def visit_break_node(node)
|
|
128
|
-
node.
|
|
128
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
129
129
|
end
|
|
130
130
|
|
|
131
131
|
# Compile a CallAndWriteNode node
|
|
132
132
|
def visit_call_and_write_node(node)
|
|
133
|
-
node.
|
|
133
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
# Compile a CallNode node
|
|
137
137
|
def visit_call_node(node)
|
|
138
|
-
node.
|
|
138
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
139
139
|
end
|
|
140
140
|
|
|
141
141
|
# Compile a CallOperatorWriteNode node
|
|
142
142
|
def visit_call_operator_write_node(node)
|
|
143
|
-
node.
|
|
143
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
144
144
|
end
|
|
145
145
|
|
|
146
146
|
# Compile a CallOrWriteNode node
|
|
147
147
|
def visit_call_or_write_node(node)
|
|
148
|
-
node.
|
|
148
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
149
149
|
end
|
|
150
150
|
|
|
151
151
|
# Compile a CallTargetNode node
|
|
152
152
|
def visit_call_target_node(node)
|
|
153
|
-
node.
|
|
153
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
154
154
|
end
|
|
155
155
|
|
|
156
156
|
# Compile a CapturePatternNode node
|
|
157
157
|
def visit_capture_pattern_node(node)
|
|
158
|
-
node.
|
|
158
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
# Compile a CaseMatchNode node
|
|
162
162
|
def visit_case_match_node(node)
|
|
163
|
-
node.
|
|
163
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
164
164
|
end
|
|
165
165
|
|
|
166
166
|
# Compile a CaseNode node
|
|
167
167
|
def visit_case_node(node)
|
|
168
|
-
node.
|
|
168
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
169
169
|
end
|
|
170
170
|
|
|
171
171
|
# Compile a ClassNode node
|
|
172
172
|
def visit_class_node(node)
|
|
173
|
-
node.
|
|
173
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
174
174
|
end
|
|
175
175
|
|
|
176
176
|
# Compile a ClassVariableAndWriteNode node
|
|
177
177
|
def visit_class_variable_and_write_node(node)
|
|
178
|
-
node.
|
|
178
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
179
179
|
end
|
|
180
180
|
|
|
181
181
|
# Compile a ClassVariableOperatorWriteNode node
|
|
182
182
|
def visit_class_variable_operator_write_node(node)
|
|
183
|
-
node.
|
|
183
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
184
184
|
end
|
|
185
185
|
|
|
186
186
|
# Compile a ClassVariableOrWriteNode node
|
|
187
187
|
def visit_class_variable_or_write_node(node)
|
|
188
|
-
node.
|
|
188
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
189
189
|
end
|
|
190
190
|
|
|
191
191
|
# Compile a ClassVariableReadNode node
|
|
192
192
|
def visit_class_variable_read_node(node)
|
|
193
|
-
node.
|
|
193
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
194
194
|
end
|
|
195
195
|
|
|
196
196
|
# Compile a ClassVariableTargetNode node
|
|
197
197
|
def visit_class_variable_target_node(node)
|
|
198
|
-
node.
|
|
198
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
199
199
|
end
|
|
200
200
|
|
|
201
201
|
# Compile a ClassVariableWriteNode node
|
|
202
202
|
def visit_class_variable_write_node(node)
|
|
203
|
-
node.
|
|
203
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
204
204
|
end
|
|
205
205
|
|
|
206
206
|
# Compile a ConstantAndWriteNode node
|
|
207
207
|
def visit_constant_and_write_node(node)
|
|
208
|
-
node.
|
|
208
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
209
209
|
end
|
|
210
210
|
|
|
211
211
|
# Compile a ConstantOperatorWriteNode node
|
|
212
212
|
def visit_constant_operator_write_node(node)
|
|
213
|
-
node.
|
|
213
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
214
214
|
end
|
|
215
215
|
|
|
216
216
|
# Compile a ConstantOrWriteNode node
|
|
217
217
|
def visit_constant_or_write_node(node)
|
|
218
|
-
node.
|
|
218
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
219
219
|
end
|
|
220
220
|
|
|
221
221
|
# Compile a ConstantPathAndWriteNode node
|
|
222
222
|
def visit_constant_path_and_write_node(node)
|
|
223
|
-
node.
|
|
223
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
# Compile a ConstantPathNode node
|
|
227
227
|
def visit_constant_path_node(node)
|
|
228
|
-
node.
|
|
228
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
229
229
|
end
|
|
230
230
|
|
|
231
231
|
# Compile a ConstantPathOperatorWriteNode node
|
|
232
232
|
def visit_constant_path_operator_write_node(node)
|
|
233
|
-
node.
|
|
233
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
234
234
|
end
|
|
235
235
|
|
|
236
236
|
# Compile a ConstantPathOrWriteNode node
|
|
237
237
|
def visit_constant_path_or_write_node(node)
|
|
238
|
-
node.
|
|
238
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
239
239
|
end
|
|
240
240
|
|
|
241
241
|
# Compile a ConstantPathTargetNode node
|
|
242
242
|
def visit_constant_path_target_node(node)
|
|
243
|
-
node.
|
|
243
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
244
244
|
end
|
|
245
245
|
|
|
246
246
|
# Compile a ConstantPathWriteNode node
|
|
247
247
|
def visit_constant_path_write_node(node)
|
|
248
|
-
node.
|
|
248
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
249
249
|
end
|
|
250
250
|
|
|
251
251
|
# Compile a ConstantReadNode node
|
|
252
252
|
def visit_constant_read_node(node)
|
|
253
|
-
node.
|
|
253
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
254
254
|
end
|
|
255
255
|
|
|
256
256
|
# Compile a ConstantTargetNode node
|
|
257
257
|
def visit_constant_target_node(node)
|
|
258
|
-
node.
|
|
258
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
259
259
|
end
|
|
260
260
|
|
|
261
261
|
# Compile a ConstantWriteNode node
|
|
262
262
|
def visit_constant_write_node(node)
|
|
263
|
-
node.
|
|
263
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
264
264
|
end
|
|
265
265
|
|
|
266
266
|
# Compile a DefNode node
|
|
267
267
|
def visit_def_node(node)
|
|
268
|
-
node.
|
|
268
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
269
269
|
end
|
|
270
270
|
|
|
271
271
|
# Compile a DefinedNode node
|
|
272
272
|
def visit_defined_node(node)
|
|
273
|
-
node.
|
|
273
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
274
274
|
end
|
|
275
275
|
|
|
276
276
|
# Compile a ElseNode node
|
|
277
277
|
def visit_else_node(node)
|
|
278
|
-
node.
|
|
278
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
279
279
|
end
|
|
280
280
|
|
|
281
281
|
# Compile a EmbeddedStatementsNode node
|
|
282
282
|
def visit_embedded_statements_node(node)
|
|
283
|
-
node.
|
|
283
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
284
284
|
end
|
|
285
285
|
|
|
286
286
|
# Compile a EmbeddedVariableNode node
|
|
287
287
|
def visit_embedded_variable_node(node)
|
|
288
|
-
node.
|
|
288
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
289
289
|
end
|
|
290
290
|
|
|
291
291
|
# Compile a EnsureNode node
|
|
292
292
|
def visit_ensure_node(node)
|
|
293
|
-
node.
|
|
293
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
294
294
|
end
|
|
295
295
|
|
|
296
296
|
# Compile a FalseNode node
|
|
297
297
|
def visit_false_node(node)
|
|
298
|
-
node.
|
|
298
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
299
299
|
end
|
|
300
300
|
|
|
301
301
|
# Compile a FindPatternNode node
|
|
302
302
|
def visit_find_pattern_node(node)
|
|
303
|
-
node.
|
|
303
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
304
304
|
end
|
|
305
305
|
|
|
306
306
|
# Compile a FlipFlopNode node
|
|
307
307
|
def visit_flip_flop_node(node)
|
|
308
|
-
node.
|
|
308
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
309
309
|
end
|
|
310
310
|
|
|
311
311
|
# Compile a FloatNode node
|
|
312
312
|
def visit_float_node(node)
|
|
313
|
-
node.
|
|
313
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
314
314
|
end
|
|
315
315
|
|
|
316
316
|
# Compile a ForNode node
|
|
317
317
|
def visit_for_node(node)
|
|
318
|
-
node.
|
|
318
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
319
319
|
end
|
|
320
320
|
|
|
321
321
|
# Compile a ForwardingArgumentsNode node
|
|
322
322
|
def visit_forwarding_arguments_node(node)
|
|
323
|
-
node.
|
|
323
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
324
324
|
end
|
|
325
325
|
|
|
326
326
|
# Compile a ForwardingParameterNode node
|
|
327
327
|
def visit_forwarding_parameter_node(node)
|
|
328
|
-
node.
|
|
328
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
329
329
|
end
|
|
330
330
|
|
|
331
331
|
# Compile a ForwardingSuperNode node
|
|
332
332
|
def visit_forwarding_super_node(node)
|
|
333
|
-
node.
|
|
333
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
334
334
|
end
|
|
335
335
|
|
|
336
336
|
# Compile a GlobalVariableAndWriteNode node
|
|
337
337
|
def visit_global_variable_and_write_node(node)
|
|
338
|
-
node.
|
|
338
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
339
339
|
end
|
|
340
340
|
|
|
341
341
|
# Compile a GlobalVariableOperatorWriteNode node
|
|
342
342
|
def visit_global_variable_operator_write_node(node)
|
|
343
|
-
node.
|
|
343
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
344
344
|
end
|
|
345
345
|
|
|
346
346
|
# Compile a GlobalVariableOrWriteNode node
|
|
347
347
|
def visit_global_variable_or_write_node(node)
|
|
348
|
-
node.
|
|
348
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
349
349
|
end
|
|
350
350
|
|
|
351
351
|
# Compile a GlobalVariableReadNode node
|
|
352
352
|
def visit_global_variable_read_node(node)
|
|
353
|
-
node.
|
|
353
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
354
354
|
end
|
|
355
355
|
|
|
356
356
|
# Compile a GlobalVariableTargetNode node
|
|
357
357
|
def visit_global_variable_target_node(node)
|
|
358
|
-
node.
|
|
358
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
359
359
|
end
|
|
360
360
|
|
|
361
361
|
# Compile a GlobalVariableWriteNode node
|
|
362
362
|
def visit_global_variable_write_node(node)
|
|
363
|
-
node.
|
|
363
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
364
364
|
end
|
|
365
365
|
|
|
366
366
|
# Compile a HashNode node
|
|
367
367
|
def visit_hash_node(node)
|
|
368
|
-
node.
|
|
368
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
369
369
|
end
|
|
370
370
|
|
|
371
371
|
# Compile a HashPatternNode node
|
|
372
372
|
def visit_hash_pattern_node(node)
|
|
373
|
-
node.
|
|
373
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
374
374
|
end
|
|
375
375
|
|
|
376
376
|
# Compile a IfNode node
|
|
377
377
|
def visit_if_node(node)
|
|
378
|
-
node.
|
|
378
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
379
379
|
end
|
|
380
380
|
|
|
381
381
|
# Compile a ImaginaryNode node
|
|
382
382
|
def visit_imaginary_node(node)
|
|
383
|
-
node.
|
|
383
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
384
384
|
end
|
|
385
385
|
|
|
386
386
|
# Compile a ImplicitNode node
|
|
387
387
|
def visit_implicit_node(node)
|
|
388
|
-
node.
|
|
388
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
389
389
|
end
|
|
390
390
|
|
|
391
391
|
# Compile a ImplicitRestNode node
|
|
392
392
|
def visit_implicit_rest_node(node)
|
|
393
|
-
node.
|
|
393
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
394
394
|
end
|
|
395
395
|
|
|
396
396
|
# Compile a InNode node
|
|
397
397
|
def visit_in_node(node)
|
|
398
|
-
node.
|
|
398
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
399
399
|
end
|
|
400
400
|
|
|
401
401
|
# Compile a IndexAndWriteNode node
|
|
402
402
|
def visit_index_and_write_node(node)
|
|
403
|
-
node.
|
|
403
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
404
404
|
end
|
|
405
405
|
|
|
406
406
|
# Compile a IndexOperatorWriteNode node
|
|
407
407
|
def visit_index_operator_write_node(node)
|
|
408
|
-
node.
|
|
408
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
409
409
|
end
|
|
410
410
|
|
|
411
411
|
# Compile a IndexOrWriteNode node
|
|
412
412
|
def visit_index_or_write_node(node)
|
|
413
|
-
node.
|
|
413
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
414
414
|
end
|
|
415
415
|
|
|
416
416
|
# Compile a IndexTargetNode node
|
|
417
417
|
def visit_index_target_node(node)
|
|
418
|
-
node.
|
|
418
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
419
419
|
end
|
|
420
420
|
|
|
421
421
|
# Compile a InstanceVariableAndWriteNode node
|
|
422
422
|
def visit_instance_variable_and_write_node(node)
|
|
423
|
-
node.
|
|
423
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
424
424
|
end
|
|
425
425
|
|
|
426
426
|
# Compile a InstanceVariableOperatorWriteNode node
|
|
427
427
|
def visit_instance_variable_operator_write_node(node)
|
|
428
|
-
node.
|
|
428
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
429
429
|
end
|
|
430
430
|
|
|
431
431
|
# Compile a InstanceVariableOrWriteNode node
|
|
432
432
|
def visit_instance_variable_or_write_node(node)
|
|
433
|
-
node.
|
|
433
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
434
434
|
end
|
|
435
435
|
|
|
436
436
|
# Compile a InstanceVariableReadNode node
|
|
437
437
|
def visit_instance_variable_read_node(node)
|
|
438
|
-
node.
|
|
438
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
439
439
|
end
|
|
440
440
|
|
|
441
441
|
# Compile a InstanceVariableTargetNode node
|
|
442
442
|
def visit_instance_variable_target_node(node)
|
|
443
|
-
node.
|
|
443
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
444
444
|
end
|
|
445
445
|
|
|
446
446
|
# Compile a InstanceVariableWriteNode node
|
|
447
447
|
def visit_instance_variable_write_node(node)
|
|
448
|
-
node.
|
|
448
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
449
449
|
end
|
|
450
450
|
|
|
451
451
|
# Compile a IntegerNode node
|
|
452
452
|
def visit_integer_node(node)
|
|
453
|
-
node.
|
|
453
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
454
454
|
end
|
|
455
455
|
|
|
456
456
|
# Compile a InterpolatedMatchLastLineNode node
|
|
457
457
|
def visit_interpolated_match_last_line_node(node)
|
|
458
|
-
node.
|
|
458
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
459
459
|
end
|
|
460
460
|
|
|
461
461
|
# Compile a InterpolatedRegularExpressionNode node
|
|
462
462
|
def visit_interpolated_regular_expression_node(node)
|
|
463
|
-
node.
|
|
463
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
464
464
|
end
|
|
465
465
|
|
|
466
466
|
# Compile a InterpolatedStringNode node
|
|
467
467
|
def visit_interpolated_string_node(node)
|
|
468
|
-
node.
|
|
468
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
469
469
|
end
|
|
470
470
|
|
|
471
471
|
# Compile a InterpolatedSymbolNode node
|
|
472
472
|
def visit_interpolated_symbol_node(node)
|
|
473
|
-
node.
|
|
473
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
474
474
|
end
|
|
475
475
|
|
|
476
476
|
# Compile a InterpolatedXStringNode node
|
|
477
477
|
def visit_interpolated_x_string_node(node)
|
|
478
|
-
node.
|
|
478
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
479
479
|
end
|
|
480
480
|
|
|
481
481
|
# Compile a ItLocalVariableReadNode node
|
|
482
482
|
def visit_it_local_variable_read_node(node)
|
|
483
|
-
node.
|
|
483
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
484
484
|
end
|
|
485
485
|
|
|
486
486
|
# Compile a ItParametersNode node
|
|
487
487
|
def visit_it_parameters_node(node)
|
|
488
|
-
node.
|
|
488
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
489
489
|
end
|
|
490
490
|
|
|
491
491
|
# Compile a KeywordHashNode node
|
|
492
492
|
def visit_keyword_hash_node(node)
|
|
493
|
-
node.
|
|
493
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
494
494
|
end
|
|
495
495
|
|
|
496
496
|
# Compile a KeywordRestParameterNode node
|
|
497
497
|
def visit_keyword_rest_parameter_node(node)
|
|
498
|
-
node.
|
|
498
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
499
499
|
end
|
|
500
500
|
|
|
501
501
|
# Compile a LambdaNode node
|
|
502
502
|
def visit_lambda_node(node)
|
|
503
|
-
node.
|
|
503
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
504
504
|
end
|
|
505
505
|
|
|
506
506
|
# Compile a LocalVariableAndWriteNode node
|
|
507
507
|
def visit_local_variable_and_write_node(node)
|
|
508
|
-
node.
|
|
508
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
509
509
|
end
|
|
510
510
|
|
|
511
511
|
# Compile a LocalVariableOperatorWriteNode node
|
|
512
512
|
def visit_local_variable_operator_write_node(node)
|
|
513
|
-
node.
|
|
513
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
514
514
|
end
|
|
515
515
|
|
|
516
516
|
# Compile a LocalVariableOrWriteNode node
|
|
517
517
|
def visit_local_variable_or_write_node(node)
|
|
518
|
-
node.
|
|
518
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
519
519
|
end
|
|
520
520
|
|
|
521
521
|
# Compile a LocalVariableReadNode node
|
|
522
522
|
def visit_local_variable_read_node(node)
|
|
523
|
-
node.
|
|
523
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
524
524
|
end
|
|
525
525
|
|
|
526
526
|
# Compile a LocalVariableTargetNode node
|
|
527
527
|
def visit_local_variable_target_node(node)
|
|
528
|
-
node.
|
|
528
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
529
529
|
end
|
|
530
530
|
|
|
531
531
|
# Compile a LocalVariableWriteNode node
|
|
532
532
|
def visit_local_variable_write_node(node)
|
|
533
|
-
node.
|
|
533
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
534
534
|
end
|
|
535
535
|
|
|
536
536
|
# Compile a MatchLastLineNode node
|
|
537
537
|
def visit_match_last_line_node(node)
|
|
538
|
-
node.
|
|
538
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
539
539
|
end
|
|
540
540
|
|
|
541
541
|
# Compile a MatchPredicateNode node
|
|
542
542
|
def visit_match_predicate_node(node)
|
|
543
|
-
node.
|
|
543
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
544
544
|
end
|
|
545
545
|
|
|
546
546
|
# Compile a MatchRequiredNode node
|
|
547
547
|
def visit_match_required_node(node)
|
|
548
|
-
node.
|
|
548
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
549
549
|
end
|
|
550
550
|
|
|
551
551
|
# Compile a MatchWriteNode node
|
|
552
552
|
def visit_match_write_node(node)
|
|
553
|
-
node.
|
|
553
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
554
554
|
end
|
|
555
555
|
|
|
556
556
|
# Compile a MissingNode node
|
|
557
557
|
def visit_missing_node(node)
|
|
558
|
-
node.
|
|
558
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
559
559
|
end
|
|
560
560
|
|
|
561
561
|
# Compile a ModuleNode node
|
|
562
562
|
def visit_module_node(node)
|
|
563
|
-
node.
|
|
563
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
564
564
|
end
|
|
565
565
|
|
|
566
566
|
# Compile a MultiTargetNode node
|
|
567
567
|
def visit_multi_target_node(node)
|
|
568
|
-
node.
|
|
568
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
569
569
|
end
|
|
570
570
|
|
|
571
571
|
# Compile a MultiWriteNode node
|
|
572
572
|
def visit_multi_write_node(node)
|
|
573
|
-
node.
|
|
573
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
574
574
|
end
|
|
575
575
|
|
|
576
576
|
# Compile a NextNode node
|
|
577
577
|
def visit_next_node(node)
|
|
578
|
-
node.
|
|
578
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
579
579
|
end
|
|
580
580
|
|
|
581
581
|
# Compile a NilNode node
|
|
582
582
|
def visit_nil_node(node)
|
|
583
|
-
node.
|
|
583
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
584
584
|
end
|
|
585
585
|
|
|
586
586
|
# Compile a NoKeywordsParameterNode node
|
|
587
587
|
def visit_no_keywords_parameter_node(node)
|
|
588
|
-
node.
|
|
588
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
589
589
|
end
|
|
590
590
|
|
|
591
591
|
# Compile a NumberedParametersNode node
|
|
592
592
|
def visit_numbered_parameters_node(node)
|
|
593
|
-
node.
|
|
593
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
594
594
|
end
|
|
595
595
|
|
|
596
596
|
# Compile a NumberedReferenceReadNode node
|
|
597
597
|
def visit_numbered_reference_read_node(node)
|
|
598
|
-
node.
|
|
598
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
599
599
|
end
|
|
600
600
|
|
|
601
601
|
# Compile a OptionalKeywordParameterNode node
|
|
602
602
|
def visit_optional_keyword_parameter_node(node)
|
|
603
|
-
node.
|
|
603
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
604
604
|
end
|
|
605
605
|
|
|
606
606
|
# Compile a OptionalParameterNode node
|
|
607
607
|
def visit_optional_parameter_node(node)
|
|
608
|
-
node.
|
|
608
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
609
609
|
end
|
|
610
610
|
|
|
611
611
|
# Compile a OrNode node
|
|
612
612
|
def visit_or_node(node)
|
|
613
|
-
node.
|
|
613
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
614
614
|
end
|
|
615
615
|
|
|
616
616
|
# Compile a ParametersNode node
|
|
617
617
|
def visit_parameters_node(node)
|
|
618
|
-
node.
|
|
618
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
619
619
|
end
|
|
620
620
|
|
|
621
621
|
# Compile a ParenthesesNode node
|
|
622
622
|
def visit_parentheses_node(node)
|
|
623
|
-
node.
|
|
623
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
624
624
|
end
|
|
625
625
|
|
|
626
626
|
# Compile a PinnedExpressionNode node
|
|
627
627
|
def visit_pinned_expression_node(node)
|
|
628
|
-
node.
|
|
628
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
629
629
|
end
|
|
630
630
|
|
|
631
631
|
# Compile a PinnedVariableNode node
|
|
632
632
|
def visit_pinned_variable_node(node)
|
|
633
|
-
node.
|
|
633
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
634
634
|
end
|
|
635
635
|
|
|
636
636
|
# Compile a PostExecutionNode node
|
|
637
637
|
def visit_post_execution_node(node)
|
|
638
|
-
node.
|
|
638
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
639
639
|
end
|
|
640
640
|
|
|
641
641
|
# Compile a PreExecutionNode node
|
|
642
642
|
def visit_pre_execution_node(node)
|
|
643
|
-
node.
|
|
643
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
644
644
|
end
|
|
645
645
|
|
|
646
646
|
# Compile a ProgramNode node
|
|
647
647
|
def visit_program_node(node)
|
|
648
|
-
node.
|
|
648
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
649
649
|
end
|
|
650
650
|
|
|
651
651
|
# Compile a RangeNode node
|
|
652
652
|
def visit_range_node(node)
|
|
653
|
-
node.
|
|
653
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
654
654
|
end
|
|
655
655
|
|
|
656
656
|
# Compile a RationalNode node
|
|
657
657
|
def visit_rational_node(node)
|
|
658
|
-
node.
|
|
658
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
659
659
|
end
|
|
660
660
|
|
|
661
661
|
# Compile a RedoNode node
|
|
662
662
|
def visit_redo_node(node)
|
|
663
|
-
node.
|
|
663
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
664
664
|
end
|
|
665
665
|
|
|
666
666
|
# Compile a RegularExpressionNode node
|
|
667
667
|
def visit_regular_expression_node(node)
|
|
668
|
-
node.
|
|
668
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
669
669
|
end
|
|
670
670
|
|
|
671
671
|
# Compile a RequiredKeywordParameterNode node
|
|
672
672
|
def visit_required_keyword_parameter_node(node)
|
|
673
|
-
node.
|
|
673
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
674
674
|
end
|
|
675
675
|
|
|
676
676
|
# Compile a RequiredParameterNode node
|
|
677
677
|
def visit_required_parameter_node(node)
|
|
678
|
-
node.
|
|
678
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
679
679
|
end
|
|
680
680
|
|
|
681
681
|
# Compile a RescueModifierNode node
|
|
682
682
|
def visit_rescue_modifier_node(node)
|
|
683
|
-
node.
|
|
683
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
684
684
|
end
|
|
685
685
|
|
|
686
686
|
# Compile a RescueNode node
|
|
687
687
|
def visit_rescue_node(node)
|
|
688
|
-
node.
|
|
688
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
689
689
|
end
|
|
690
690
|
|
|
691
691
|
# Compile a RestParameterNode node
|
|
692
692
|
def visit_rest_parameter_node(node)
|
|
693
|
-
node.
|
|
693
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
694
694
|
end
|
|
695
695
|
|
|
696
696
|
# Compile a RetryNode node
|
|
697
697
|
def visit_retry_node(node)
|
|
698
|
-
node.
|
|
698
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
699
699
|
end
|
|
700
700
|
|
|
701
701
|
# Compile a ReturnNode node
|
|
702
702
|
def visit_return_node(node)
|
|
703
|
-
node.
|
|
703
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
704
704
|
end
|
|
705
705
|
|
|
706
706
|
# Compile a SelfNode node
|
|
707
707
|
def visit_self_node(node)
|
|
708
|
-
node.
|
|
708
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
709
709
|
end
|
|
710
710
|
|
|
711
711
|
# Compile a ShareableConstantNode node
|
|
712
712
|
def visit_shareable_constant_node(node)
|
|
713
|
-
node.
|
|
713
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
714
714
|
end
|
|
715
715
|
|
|
716
716
|
# Compile a SingletonClassNode node
|
|
717
717
|
def visit_singleton_class_node(node)
|
|
718
|
-
node.
|
|
718
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
719
719
|
end
|
|
720
720
|
|
|
721
721
|
# Compile a SourceEncodingNode node
|
|
722
722
|
def visit_source_encoding_node(node)
|
|
723
|
-
node.
|
|
723
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
724
724
|
end
|
|
725
725
|
|
|
726
726
|
# Compile a SourceFileNode node
|
|
727
727
|
def visit_source_file_node(node)
|
|
728
|
-
node.
|
|
728
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
729
729
|
end
|
|
730
730
|
|
|
731
731
|
# Compile a SourceLineNode node
|
|
732
732
|
def visit_source_line_node(node)
|
|
733
|
-
node.
|
|
733
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
734
734
|
end
|
|
735
735
|
|
|
736
736
|
# Compile a SplatNode node
|
|
737
737
|
def visit_splat_node(node)
|
|
738
|
-
node.
|
|
738
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
739
739
|
end
|
|
740
740
|
|
|
741
741
|
# Compile a StatementsNode node
|
|
742
742
|
def visit_statements_node(node)
|
|
743
|
-
node.
|
|
743
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
744
744
|
end
|
|
745
745
|
|
|
746
746
|
# Compile a StringNode node
|
|
747
747
|
def visit_string_node(node)
|
|
748
|
-
node.
|
|
748
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
749
749
|
end
|
|
750
750
|
|
|
751
751
|
# Compile a SuperNode node
|
|
752
752
|
def visit_super_node(node)
|
|
753
|
-
node.
|
|
753
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
754
754
|
end
|
|
755
755
|
|
|
756
756
|
# Compile a SymbolNode node
|
|
757
757
|
def visit_symbol_node(node)
|
|
758
|
-
node.
|
|
758
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
759
759
|
end
|
|
760
760
|
|
|
761
761
|
# Compile a TrueNode node
|
|
762
762
|
def visit_true_node(node)
|
|
763
|
-
node.
|
|
763
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
764
764
|
end
|
|
765
765
|
|
|
766
766
|
# Compile a UndefNode node
|
|
767
767
|
def visit_undef_node(node)
|
|
768
|
-
node.
|
|
768
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
769
769
|
end
|
|
770
770
|
|
|
771
771
|
# Compile a UnlessNode node
|
|
772
772
|
def visit_unless_node(node)
|
|
773
|
-
node.
|
|
773
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
774
774
|
end
|
|
775
775
|
|
|
776
776
|
# Compile a UntilNode node
|
|
777
777
|
def visit_until_node(node)
|
|
778
|
-
node.
|
|
778
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
779
779
|
end
|
|
780
780
|
|
|
781
781
|
# Compile a WhenNode node
|
|
782
782
|
def visit_when_node(node)
|
|
783
|
-
node.
|
|
783
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
784
784
|
end
|
|
785
785
|
|
|
786
786
|
# Compile a WhileNode node
|
|
787
787
|
def visit_while_node(node)
|
|
788
|
-
node.
|
|
788
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
789
789
|
end
|
|
790
790
|
|
|
791
791
|
# Compile a XStringNode node
|
|
792
792
|
def visit_x_string_node(node)
|
|
793
|
-
node.
|
|
793
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
794
794
|
end
|
|
795
795
|
|
|
796
796
|
# Compile a YieldNode node
|
|
797
797
|
def visit_yield_node(node)
|
|
798
|
-
node.
|
|
798
|
+
node.each_child_node.map { |node| node.accept(self) }
|
|
799
799
|
end
|
|
800
800
|
end
|
|
801
801
|
end
|