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