spoom 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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