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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -1
- data/Makefile +2 -1
- data/README.md +1 -0
- data/config.yml +264 -37
- data/docs/parser_translation.md +8 -23
- data/docs/ripper_translation.md +1 -1
- data/ext/prism/api_node.c +2 -0
- data/ext/prism/extension.c +14 -1
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +275 -49
- data/include/prism/diagnostic.h +4 -0
- data/include/prism/options.h +43 -3
- data/include/prism/regexp.h +2 -2
- data/include/prism/util/pm_buffer.h +8 -0
- data/include/prism/util/pm_integer.h +4 -0
- data/include/prism/util/pm_list.h +6 -0
- data/include/prism/util/pm_string.h +12 -2
- data/include/prism/version.h +2 -2
- data/include/prism.h +39 -14
- data/lib/prism/compiler.rb +456 -151
- data/lib/prism/desugar_compiler.rb +1 -0
- data/lib/prism/dispatcher.rb +16 -0
- data/lib/prism/dot_visitor.rb +5 -1
- data/lib/prism/dsl.rb +3 -0
- data/lib/prism/ffi.rb +17 -7
- data/lib/prism/inspect_visitor.rb +3 -0
- data/lib/prism/lex_compat.rb +1 -0
- data/lib/prism/mutation_compiler.rb +3 -0
- data/lib/prism/node.rb +506 -335
- data/lib/prism/node_ext.rb +4 -1
- data/lib/prism/pack.rb +2 -0
- data/lib/prism/parse_result/comments.rb +1 -0
- data/lib/prism/parse_result/errors.rb +1 -0
- data/lib/prism/parse_result/newlines.rb +1 -0
- data/lib/prism/parse_result.rb +1 -0
- data/lib/prism/pattern.rb +1 -0
- data/lib/prism/polyfill/scan_byte.rb +14 -0
- data/lib/prism/polyfill/warn.rb +42 -0
- data/lib/prism/reflection.rb +3 -0
- data/lib/prism/relocation.rb +1 -0
- data/lib/prism/serialize.rb +24 -19
- data/lib/prism/string_query.rb +1 -0
- data/lib/prism/translation/parser/builder.rb +1 -0
- data/lib/prism/translation/parser/compiler.rb +47 -25
- data/lib/prism/translation/parser/lexer.rb +29 -21
- data/lib/prism/translation/parser.rb +13 -1
- data/lib/prism/translation/parser33.rb +1 -0
- data/lib/prism/translation/parser34.rb +1 -0
- data/lib/prism/translation/parser35.rb +1 -0
- data/lib/prism/translation/parser_current.rb +24 -0
- data/lib/prism/translation/ripper/sexp.rb +1 -0
- data/lib/prism/translation/ripper.rb +17 -1
- data/lib/prism/translation/ruby_parser.rb +286 -3
- data/lib/prism/translation.rb +2 -0
- data/lib/prism/visitor.rb +457 -152
- data/lib/prism.rb +2 -0
- data/prism.gemspec +5 -1
- data/rbi/prism/dsl.rbi +3 -3
- data/rbi/prism/node.rbi +21 -9
- data/sig/prism/dispatcher.rbs +3 -0
- data/sig/prism/dsl.rbs +3 -3
- data/sig/prism/node.rbs +444 -30
- data/sig/prism/node_ext.rbs +84 -17
- data/sig/prism/parse_result/comments.rbs +38 -0
- data/sig/prism/parse_result.rbs +4 -0
- data/sig/prism/reflection.rbs +1 -1
- data/src/diagnostic.c +7 -1
- data/src/node.c +2 -0
- data/src/options.c +2 -2
- data/src/prettyprint.c +2 -0
- data/src/prism.c +252 -130
- data/src/serialize.c +2 -0
- data/src/token_type.c +36 -34
- metadata +6 -2
data/lib/prism/compiler.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
797
|
+
def visit_yield_node(node)
|
798
|
+
node.compact_child_nodes.map { |node| node.accept(self) }
|
799
|
+
end
|
495
800
|
end
|
496
801
|
end
|