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