prism 0.24.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/BSDmakefile +58 -0
  3. data/CHANGELOG.md +50 -1
  4. data/Makefile +5 -2
  5. data/README.md +45 -6
  6. data/config.yml +499 -4
  7. data/docs/build_system.md +31 -0
  8. data/docs/configuration.md +2 -0
  9. data/docs/cruby_compilation.md +1 -1
  10. data/docs/parser_translation.md +14 -9
  11. data/docs/releasing.md +2 -2
  12. data/docs/ripper_translation.md +50 -0
  13. data/docs/ruby_api.md +1 -0
  14. data/docs/serialization.md +26 -5
  15. data/ext/prism/api_node.c +911 -815
  16. data/ext/prism/api_pack.c +9 -0
  17. data/ext/prism/extconf.rb +27 -11
  18. data/ext/prism/extension.c +313 -66
  19. data/ext/prism/extension.h +5 -4
  20. data/include/prism/ast.h +213 -64
  21. data/include/prism/defines.h +106 -2
  22. data/include/prism/diagnostic.h +134 -71
  23. data/include/prism/encoding.h +22 -4
  24. data/include/prism/node.h +93 -0
  25. data/include/prism/options.h +82 -7
  26. data/include/prism/pack.h +11 -0
  27. data/include/prism/parser.h +198 -53
  28. data/include/prism/prettyprint.h +8 -0
  29. data/include/prism/static_literals.h +118 -0
  30. data/include/prism/util/pm_buffer.h +65 -2
  31. data/include/prism/util/pm_constant_pool.h +18 -1
  32. data/include/prism/util/pm_integer.h +119 -0
  33. data/include/prism/util/pm_list.h +1 -1
  34. data/include/prism/util/pm_newline_list.h +8 -0
  35. data/include/prism/util/pm_string.h +26 -2
  36. data/include/prism/version.h +2 -2
  37. data/include/prism.h +59 -1
  38. data/lib/prism/compiler.rb +8 -1
  39. data/lib/prism/debug.rb +46 -3
  40. data/lib/prism/desugar_compiler.rb +1 -1
  41. data/lib/prism/dispatcher.rb +29 -0
  42. data/lib/prism/dot_visitor.rb +87 -16
  43. data/lib/prism/dsl.rb +24 -12
  44. data/lib/prism/ffi.rb +67 -12
  45. data/lib/prism/lex_compat.rb +17 -15
  46. data/lib/prism/mutation_compiler.rb +11 -0
  47. data/lib/prism/node.rb +2096 -2499
  48. data/lib/prism/node_ext.rb +77 -29
  49. data/lib/prism/pack.rb +4 -0
  50. data/lib/prism/parse_result/comments.rb +34 -17
  51. data/lib/prism/parse_result/newlines.rb +3 -1
  52. data/lib/prism/parse_result.rb +78 -32
  53. data/lib/prism/pattern.rb +16 -4
  54. data/lib/prism/polyfill/string.rb +12 -0
  55. data/lib/prism/serialize.rb +439 -102
  56. data/lib/prism/translation/parser/compiler.rb +152 -50
  57. data/lib/prism/translation/parser/lexer.rb +103 -22
  58. data/lib/prism/translation/parser/rubocop.rb +41 -13
  59. data/lib/prism/translation/parser.rb +119 -7
  60. data/lib/prism/translation/parser33.rb +1 -1
  61. data/lib/prism/translation/parser34.rb +1 -1
  62. data/lib/prism/translation/ripper/sexp.rb +125 -0
  63. data/lib/prism/translation/ripper/shim.rb +5 -0
  64. data/lib/prism/translation/ripper.rb +3212 -462
  65. data/lib/prism/translation/ruby_parser.rb +35 -18
  66. data/lib/prism/translation.rb +3 -1
  67. data/lib/prism/visitor.rb +10 -0
  68. data/lib/prism.rb +8 -2
  69. data/prism.gemspec +33 -4
  70. data/rbi/prism/compiler.rbi +14 -0
  71. data/rbi/prism/desugar_compiler.rbi +5 -0
  72. data/rbi/prism/mutation_compiler.rbi +5 -0
  73. data/rbi/prism/node.rbi +8221 -0
  74. data/rbi/prism/node_ext.rbi +102 -0
  75. data/rbi/prism/parse_result.rbi +304 -0
  76. data/rbi/prism/translation/parser/compiler.rbi +13 -0
  77. data/rbi/prism/translation/ripper/ripper_compiler.rbi +5 -0
  78. data/rbi/prism/translation/ripper.rbi +25 -0
  79. data/rbi/prism/translation/ruby_parser.rbi +11 -0
  80. data/rbi/prism/visitor.rbi +470 -0
  81. data/rbi/prism.rbi +39 -7749
  82. data/sig/prism/compiler.rbs +9 -0
  83. data/sig/prism/dispatcher.rbs +16 -0
  84. data/sig/prism/dot_visitor.rbs +6 -0
  85. data/sig/prism/dsl.rbs +462 -0
  86. data/sig/prism/mutation_compiler.rbs +158 -0
  87. data/sig/prism/node.rbs +3529 -0
  88. data/sig/prism/node_ext.rbs +78 -0
  89. data/sig/prism/pack.rbs +43 -0
  90. data/sig/prism/parse_result.rbs +127 -0
  91. data/sig/prism/pattern.rbs +13 -0
  92. data/sig/prism/serialize.rbs +7 -0
  93. data/sig/prism/visitor.rbs +168 -0
  94. data/sig/prism.rbs +188 -4767
  95. data/src/diagnostic.c +575 -230
  96. data/src/encoding.c +211 -108
  97. data/src/node.c +7526 -447
  98. data/src/options.c +36 -12
  99. data/src/pack.c +33 -17
  100. data/src/prettyprint.c +1294 -1385
  101. data/src/prism.c +3628 -1099
  102. data/src/regexp.c +17 -2
  103. data/src/serialize.c +47 -28
  104. data/src/static_literals.c +552 -0
  105. data/src/token_type.c +1 -0
  106. data/src/util/pm_buffer.c +147 -20
  107. data/src/util/pm_char.c +4 -4
  108. data/src/util/pm_constant_pool.c +35 -11
  109. data/src/util/pm_integer.c +629 -0
  110. data/src/util/pm_list.c +1 -1
  111. data/src/util/pm_newline_list.c +14 -5
  112. data/src/util/pm_string.c +134 -5
  113. data/src/util/pm_string_list.c +2 -2
  114. metadata +35 -6
  115. data/docs/ripper.md +0 -36
  116. data/rbi/prism_static.rbi +0 -207
  117. data/sig/prism_static.rbs +0 -201
@@ -0,0 +1,470 @@
1
+ # typed: strict
2
+
3
+ =begin
4
+ This file is generated by the templates/template.rb script and should not be
5
+ modified manually. See templates/rbi/prism/visitor.rbi.erb
6
+ if you are looking to modify the template
7
+ =end
8
+
9
+ class Prism::BasicVisitor
10
+ sig { params(node: T.nilable(Prism::Node)).void }
11
+ def visit(node); end
12
+
13
+ sig { params(nodes: T::Array[T.nilable(Prism::Node)]).void }
14
+ def visit_all(nodes); end
15
+
16
+ sig { params(node: Prism::Node).void }
17
+ def visit_child_nodes(node); end
18
+ end
19
+
20
+ class Prism::Visitor < Prism::BasicVisitor
21
+ sig { params(node: Prism::AliasGlobalVariableNode).void }
22
+ def visit_alias_global_variable_node(node); end
23
+
24
+ sig { params(node: Prism::AliasMethodNode).void }
25
+ def visit_alias_method_node(node); end
26
+
27
+ sig { params(node: Prism::AlternationPatternNode).void }
28
+ def visit_alternation_pattern_node(node); end
29
+
30
+ sig { params(node: Prism::AndNode).void }
31
+ def visit_and_node(node); end
32
+
33
+ sig { params(node: Prism::ArgumentsNode).void }
34
+ def visit_arguments_node(node); end
35
+
36
+ sig { params(node: Prism::ArrayNode).void }
37
+ def visit_array_node(node); end
38
+
39
+ sig { params(node: Prism::ArrayPatternNode).void }
40
+ def visit_array_pattern_node(node); end
41
+
42
+ sig { params(node: Prism::AssocNode).void }
43
+ def visit_assoc_node(node); end
44
+
45
+ sig { params(node: Prism::AssocSplatNode).void }
46
+ def visit_assoc_splat_node(node); end
47
+
48
+ sig { params(node: Prism::BackReferenceReadNode).void }
49
+ def visit_back_reference_read_node(node); end
50
+
51
+ sig { params(node: Prism::BeginNode).void }
52
+ def visit_begin_node(node); end
53
+
54
+ sig { params(node: Prism::BlockArgumentNode).void }
55
+ def visit_block_argument_node(node); end
56
+
57
+ sig { params(node: Prism::BlockLocalVariableNode).void }
58
+ def visit_block_local_variable_node(node); end
59
+
60
+ sig { params(node: Prism::BlockNode).void }
61
+ def visit_block_node(node); end
62
+
63
+ sig { params(node: Prism::BlockParameterNode).void }
64
+ def visit_block_parameter_node(node); end
65
+
66
+ sig { params(node: Prism::BlockParametersNode).void }
67
+ def visit_block_parameters_node(node); end
68
+
69
+ sig { params(node: Prism::BreakNode).void }
70
+ def visit_break_node(node); end
71
+
72
+ sig { params(node: Prism::CallAndWriteNode).void }
73
+ def visit_call_and_write_node(node); end
74
+
75
+ sig { params(node: Prism::CallNode).void }
76
+ def visit_call_node(node); end
77
+
78
+ sig { params(node: Prism::CallOperatorWriteNode).void }
79
+ def visit_call_operator_write_node(node); end
80
+
81
+ sig { params(node: Prism::CallOrWriteNode).void }
82
+ def visit_call_or_write_node(node); end
83
+
84
+ sig { params(node: Prism::CallTargetNode).void }
85
+ def visit_call_target_node(node); end
86
+
87
+ sig { params(node: Prism::CapturePatternNode).void }
88
+ def visit_capture_pattern_node(node); end
89
+
90
+ sig { params(node: Prism::CaseMatchNode).void }
91
+ def visit_case_match_node(node); end
92
+
93
+ sig { params(node: Prism::CaseNode).void }
94
+ def visit_case_node(node); end
95
+
96
+ sig { params(node: Prism::ClassNode).void }
97
+ def visit_class_node(node); end
98
+
99
+ sig { params(node: Prism::ClassVariableAndWriteNode).void }
100
+ def visit_class_variable_and_write_node(node); end
101
+
102
+ sig { params(node: Prism::ClassVariableOperatorWriteNode).void }
103
+ def visit_class_variable_operator_write_node(node); end
104
+
105
+ sig { params(node: Prism::ClassVariableOrWriteNode).void }
106
+ def visit_class_variable_or_write_node(node); end
107
+
108
+ sig { params(node: Prism::ClassVariableReadNode).void }
109
+ def visit_class_variable_read_node(node); end
110
+
111
+ sig { params(node: Prism::ClassVariableTargetNode).void }
112
+ def visit_class_variable_target_node(node); end
113
+
114
+ sig { params(node: Prism::ClassVariableWriteNode).void }
115
+ def visit_class_variable_write_node(node); end
116
+
117
+ sig { params(node: Prism::ConstantAndWriteNode).void }
118
+ def visit_constant_and_write_node(node); end
119
+
120
+ sig { params(node: Prism::ConstantOperatorWriteNode).void }
121
+ def visit_constant_operator_write_node(node); end
122
+
123
+ sig { params(node: Prism::ConstantOrWriteNode).void }
124
+ def visit_constant_or_write_node(node); end
125
+
126
+ sig { params(node: Prism::ConstantPathAndWriteNode).void }
127
+ def visit_constant_path_and_write_node(node); end
128
+
129
+ sig { params(node: Prism::ConstantPathNode).void }
130
+ def visit_constant_path_node(node); end
131
+
132
+ sig { params(node: Prism::ConstantPathOperatorWriteNode).void }
133
+ def visit_constant_path_operator_write_node(node); end
134
+
135
+ sig { params(node: Prism::ConstantPathOrWriteNode).void }
136
+ def visit_constant_path_or_write_node(node); end
137
+
138
+ sig { params(node: Prism::ConstantPathTargetNode).void }
139
+ def visit_constant_path_target_node(node); end
140
+
141
+ sig { params(node: Prism::ConstantPathWriteNode).void }
142
+ def visit_constant_path_write_node(node); end
143
+
144
+ sig { params(node: Prism::ConstantReadNode).void }
145
+ def visit_constant_read_node(node); end
146
+
147
+ sig { params(node: Prism::ConstantTargetNode).void }
148
+ def visit_constant_target_node(node); end
149
+
150
+ sig { params(node: Prism::ConstantWriteNode).void }
151
+ def visit_constant_write_node(node); end
152
+
153
+ sig { params(node: Prism::DefNode).void }
154
+ def visit_def_node(node); end
155
+
156
+ sig { params(node: Prism::DefinedNode).void }
157
+ def visit_defined_node(node); end
158
+
159
+ sig { params(node: Prism::ElseNode).void }
160
+ def visit_else_node(node); end
161
+
162
+ sig { params(node: Prism::EmbeddedStatementsNode).void }
163
+ def visit_embedded_statements_node(node); end
164
+
165
+ sig { params(node: Prism::EmbeddedVariableNode).void }
166
+ def visit_embedded_variable_node(node); end
167
+
168
+ sig { params(node: Prism::EnsureNode).void }
169
+ def visit_ensure_node(node); end
170
+
171
+ sig { params(node: Prism::FalseNode).void }
172
+ def visit_false_node(node); end
173
+
174
+ sig { params(node: Prism::FindPatternNode).void }
175
+ def visit_find_pattern_node(node); end
176
+
177
+ sig { params(node: Prism::FlipFlopNode).void }
178
+ def visit_flip_flop_node(node); end
179
+
180
+ sig { params(node: Prism::FloatNode).void }
181
+ def visit_float_node(node); end
182
+
183
+ sig { params(node: Prism::ForNode).void }
184
+ def visit_for_node(node); end
185
+
186
+ sig { params(node: Prism::ForwardingArgumentsNode).void }
187
+ def visit_forwarding_arguments_node(node); end
188
+
189
+ sig { params(node: Prism::ForwardingParameterNode).void }
190
+ def visit_forwarding_parameter_node(node); end
191
+
192
+ sig { params(node: Prism::ForwardingSuperNode).void }
193
+ def visit_forwarding_super_node(node); end
194
+
195
+ sig { params(node: Prism::GlobalVariableAndWriteNode).void }
196
+ def visit_global_variable_and_write_node(node); end
197
+
198
+ sig { params(node: Prism::GlobalVariableOperatorWriteNode).void }
199
+ def visit_global_variable_operator_write_node(node); end
200
+
201
+ sig { params(node: Prism::GlobalVariableOrWriteNode).void }
202
+ def visit_global_variable_or_write_node(node); end
203
+
204
+ sig { params(node: Prism::GlobalVariableReadNode).void }
205
+ def visit_global_variable_read_node(node); end
206
+
207
+ sig { params(node: Prism::GlobalVariableTargetNode).void }
208
+ def visit_global_variable_target_node(node); end
209
+
210
+ sig { params(node: Prism::GlobalVariableWriteNode).void }
211
+ def visit_global_variable_write_node(node); end
212
+
213
+ sig { params(node: Prism::HashNode).void }
214
+ def visit_hash_node(node); end
215
+
216
+ sig { params(node: Prism::HashPatternNode).void }
217
+ def visit_hash_pattern_node(node); end
218
+
219
+ sig { params(node: Prism::IfNode).void }
220
+ def visit_if_node(node); end
221
+
222
+ sig { params(node: Prism::ImaginaryNode).void }
223
+ def visit_imaginary_node(node); end
224
+
225
+ sig { params(node: Prism::ImplicitNode).void }
226
+ def visit_implicit_node(node); end
227
+
228
+ sig { params(node: Prism::ImplicitRestNode).void }
229
+ def visit_implicit_rest_node(node); end
230
+
231
+ sig { params(node: Prism::InNode).void }
232
+ def visit_in_node(node); end
233
+
234
+ sig { params(node: Prism::IndexAndWriteNode).void }
235
+ def visit_index_and_write_node(node); end
236
+
237
+ sig { params(node: Prism::IndexOperatorWriteNode).void }
238
+ def visit_index_operator_write_node(node); end
239
+
240
+ sig { params(node: Prism::IndexOrWriteNode).void }
241
+ def visit_index_or_write_node(node); end
242
+
243
+ sig { params(node: Prism::IndexTargetNode).void }
244
+ def visit_index_target_node(node); end
245
+
246
+ sig { params(node: Prism::InstanceVariableAndWriteNode).void }
247
+ def visit_instance_variable_and_write_node(node); end
248
+
249
+ sig { params(node: Prism::InstanceVariableOperatorWriteNode).void }
250
+ def visit_instance_variable_operator_write_node(node); end
251
+
252
+ sig { params(node: Prism::InstanceVariableOrWriteNode).void }
253
+ def visit_instance_variable_or_write_node(node); end
254
+
255
+ sig { params(node: Prism::InstanceVariableReadNode).void }
256
+ def visit_instance_variable_read_node(node); end
257
+
258
+ sig { params(node: Prism::InstanceVariableTargetNode).void }
259
+ def visit_instance_variable_target_node(node); end
260
+
261
+ sig { params(node: Prism::InstanceVariableWriteNode).void }
262
+ def visit_instance_variable_write_node(node); end
263
+
264
+ sig { params(node: Prism::IntegerNode).void }
265
+ def visit_integer_node(node); end
266
+
267
+ sig { params(node: Prism::InterpolatedMatchLastLineNode).void }
268
+ def visit_interpolated_match_last_line_node(node); end
269
+
270
+ sig { params(node: Prism::InterpolatedRegularExpressionNode).void }
271
+ def visit_interpolated_regular_expression_node(node); end
272
+
273
+ sig { params(node: Prism::InterpolatedStringNode).void }
274
+ def visit_interpolated_string_node(node); end
275
+
276
+ sig { params(node: Prism::InterpolatedSymbolNode).void }
277
+ def visit_interpolated_symbol_node(node); end
278
+
279
+ sig { params(node: Prism::InterpolatedXStringNode).void }
280
+ def visit_interpolated_x_string_node(node); end
281
+
282
+ sig { params(node: Prism::ItParametersNode).void }
283
+ def visit_it_parameters_node(node); end
284
+
285
+ sig { params(node: Prism::KeywordHashNode).void }
286
+ def visit_keyword_hash_node(node); end
287
+
288
+ sig { params(node: Prism::KeywordRestParameterNode).void }
289
+ def visit_keyword_rest_parameter_node(node); end
290
+
291
+ sig { params(node: Prism::LambdaNode).void }
292
+ def visit_lambda_node(node); end
293
+
294
+ sig { params(node: Prism::LocalVariableAndWriteNode).void }
295
+ def visit_local_variable_and_write_node(node); end
296
+
297
+ sig { params(node: Prism::LocalVariableOperatorWriteNode).void }
298
+ def visit_local_variable_operator_write_node(node); end
299
+
300
+ sig { params(node: Prism::LocalVariableOrWriteNode).void }
301
+ def visit_local_variable_or_write_node(node); end
302
+
303
+ sig { params(node: Prism::LocalVariableReadNode).void }
304
+ def visit_local_variable_read_node(node); end
305
+
306
+ sig { params(node: Prism::LocalVariableTargetNode).void }
307
+ def visit_local_variable_target_node(node); end
308
+
309
+ sig { params(node: Prism::LocalVariableWriteNode).void }
310
+ def visit_local_variable_write_node(node); end
311
+
312
+ sig { params(node: Prism::MatchLastLineNode).void }
313
+ def visit_match_last_line_node(node); end
314
+
315
+ sig { params(node: Prism::MatchPredicateNode).void }
316
+ def visit_match_predicate_node(node); end
317
+
318
+ sig { params(node: Prism::MatchRequiredNode).void }
319
+ def visit_match_required_node(node); end
320
+
321
+ sig { params(node: Prism::MatchWriteNode).void }
322
+ def visit_match_write_node(node); end
323
+
324
+ sig { params(node: Prism::MissingNode).void }
325
+ def visit_missing_node(node); end
326
+
327
+ sig { params(node: Prism::ModuleNode).void }
328
+ def visit_module_node(node); end
329
+
330
+ sig { params(node: Prism::MultiTargetNode).void }
331
+ def visit_multi_target_node(node); end
332
+
333
+ sig { params(node: Prism::MultiWriteNode).void }
334
+ def visit_multi_write_node(node); end
335
+
336
+ sig { params(node: Prism::NextNode).void }
337
+ def visit_next_node(node); end
338
+
339
+ sig { params(node: Prism::NilNode).void }
340
+ def visit_nil_node(node); end
341
+
342
+ sig { params(node: Prism::NoKeywordsParameterNode).void }
343
+ def visit_no_keywords_parameter_node(node); end
344
+
345
+ sig { params(node: Prism::NumberedParametersNode).void }
346
+ def visit_numbered_parameters_node(node); end
347
+
348
+ sig { params(node: Prism::NumberedReferenceReadNode).void }
349
+ def visit_numbered_reference_read_node(node); end
350
+
351
+ sig { params(node: Prism::OptionalKeywordParameterNode).void }
352
+ def visit_optional_keyword_parameter_node(node); end
353
+
354
+ sig { params(node: Prism::OptionalParameterNode).void }
355
+ def visit_optional_parameter_node(node); end
356
+
357
+ sig { params(node: Prism::OrNode).void }
358
+ def visit_or_node(node); end
359
+
360
+ sig { params(node: Prism::ParametersNode).void }
361
+ def visit_parameters_node(node); end
362
+
363
+ sig { params(node: Prism::ParenthesesNode).void }
364
+ def visit_parentheses_node(node); end
365
+
366
+ sig { params(node: Prism::PinnedExpressionNode).void }
367
+ def visit_pinned_expression_node(node); end
368
+
369
+ sig { params(node: Prism::PinnedVariableNode).void }
370
+ def visit_pinned_variable_node(node); end
371
+
372
+ sig { params(node: Prism::PostExecutionNode).void }
373
+ def visit_post_execution_node(node); end
374
+
375
+ sig { params(node: Prism::PreExecutionNode).void }
376
+ def visit_pre_execution_node(node); end
377
+
378
+ sig { params(node: Prism::ProgramNode).void }
379
+ def visit_program_node(node); end
380
+
381
+ sig { params(node: Prism::RangeNode).void }
382
+ def visit_range_node(node); end
383
+
384
+ sig { params(node: Prism::RationalNode).void }
385
+ def visit_rational_node(node); end
386
+
387
+ sig { params(node: Prism::RedoNode).void }
388
+ def visit_redo_node(node); end
389
+
390
+ sig { params(node: Prism::RegularExpressionNode).void }
391
+ def visit_regular_expression_node(node); end
392
+
393
+ sig { params(node: Prism::RequiredKeywordParameterNode).void }
394
+ def visit_required_keyword_parameter_node(node); end
395
+
396
+ sig { params(node: Prism::RequiredParameterNode).void }
397
+ def visit_required_parameter_node(node); end
398
+
399
+ sig { params(node: Prism::RescueModifierNode).void }
400
+ def visit_rescue_modifier_node(node); end
401
+
402
+ sig { params(node: Prism::RescueNode).void }
403
+ def visit_rescue_node(node); end
404
+
405
+ sig { params(node: Prism::RestParameterNode).void }
406
+ def visit_rest_parameter_node(node); end
407
+
408
+ sig { params(node: Prism::RetryNode).void }
409
+ def visit_retry_node(node); end
410
+
411
+ sig { params(node: Prism::ReturnNode).void }
412
+ def visit_return_node(node); end
413
+
414
+ sig { params(node: Prism::SelfNode).void }
415
+ def visit_self_node(node); end
416
+
417
+ sig { params(node: Prism::ShareableConstantNode).void }
418
+ def visit_shareable_constant_node(node); end
419
+
420
+ sig { params(node: Prism::SingletonClassNode).void }
421
+ def visit_singleton_class_node(node); end
422
+
423
+ sig { params(node: Prism::SourceEncodingNode).void }
424
+ def visit_source_encoding_node(node); end
425
+
426
+ sig { params(node: Prism::SourceFileNode).void }
427
+ def visit_source_file_node(node); end
428
+
429
+ sig { params(node: Prism::SourceLineNode).void }
430
+ def visit_source_line_node(node); end
431
+
432
+ sig { params(node: Prism::SplatNode).void }
433
+ def visit_splat_node(node); end
434
+
435
+ sig { params(node: Prism::StatementsNode).void }
436
+ def visit_statements_node(node); end
437
+
438
+ sig { params(node: Prism::StringNode).void }
439
+ def visit_string_node(node); end
440
+
441
+ sig { params(node: Prism::SuperNode).void }
442
+ def visit_super_node(node); end
443
+
444
+ sig { params(node: Prism::SymbolNode).void }
445
+ def visit_symbol_node(node); end
446
+
447
+ sig { params(node: Prism::TrueNode).void }
448
+ def visit_true_node(node); end
449
+
450
+ sig { params(node: Prism::UndefNode).void }
451
+ def visit_undef_node(node); end
452
+
453
+ sig { params(node: Prism::UnlessNode).void }
454
+ def visit_unless_node(node); end
455
+
456
+ sig { params(node: Prism::UntilNode).void }
457
+ def visit_until_node(node); end
458
+
459
+ sig { params(node: Prism::WhenNode).void }
460
+ def visit_when_node(node); end
461
+
462
+ sig { params(node: Prism::WhileNode).void }
463
+ def visit_while_node(node); end
464
+
465
+ sig { params(node: Prism::XStringNode).void }
466
+ def visit_x_string_node(node); end
467
+
468
+ sig { params(node: Prism::YieldNode).void }
469
+ def visit_yield_node(node); end
470
+ end