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