spoom 1.3.1 → 1.3.3

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