prism 2.0.0.rc1-x86_64-linux-gnu

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 (216) hide show
  1. checksums.yaml +7 -0
  2. data/BSDmakefile +58 -0
  3. data/CHANGELOG.md +870 -0
  4. data/CODE_OF_CONDUCT.md +76 -0
  5. data/CONTRIBUTING.md +58 -0
  6. data/LICENSE.md +7 -0
  7. data/Makefile +145 -0
  8. data/README.md +81 -0
  9. data/config.yml +4752 -0
  10. data/docs/build_system.md +119 -0
  11. data/docs/configuration.md +69 -0
  12. data/docs/cruby_compilation.md +27 -0
  13. data/docs/design.md +53 -0
  14. data/docs/encoding.md +121 -0
  15. data/docs/fuzzing.md +81 -0
  16. data/docs/heredocs.md +36 -0
  17. data/docs/javascript.md +133 -0
  18. data/docs/local_variable_depth.md +229 -0
  19. data/docs/mapping.md +117 -0
  20. data/docs/parser_translation.md +24 -0
  21. data/docs/parsing_rules.md +22 -0
  22. data/docs/releasing.md +147 -0
  23. data/docs/relocation.md +32 -0
  24. data/docs/ripper_translation.md +63 -0
  25. data/docs/ruby_api.md +45 -0
  26. data/docs/ruby_parser_translation.md +19 -0
  27. data/docs/serialization.md +230 -0
  28. data/docs/testing.md +72 -0
  29. data/ext/prism/api_node.c +7005 -0
  30. data/ext/prism/extconf.rb +126 -0
  31. data/ext/prism/extension.c +1783 -0
  32. data/ext/prism/extension.h +19 -0
  33. data/include/prism/arena.h +37 -0
  34. data/include/prism/ast.h +10371 -0
  35. data/include/prism/buffer.h +52 -0
  36. data/include/prism/comments.h +55 -0
  37. data/include/prism/compiler/accel.h +24 -0
  38. data/include/prism/compiler/align.h +36 -0
  39. data/include/prism/compiler/assume.h +25 -0
  40. data/include/prism/compiler/exported.h +24 -0
  41. data/include/prism/compiler/fallthrough.h +22 -0
  42. data/include/prism/compiler/filesystem.h +32 -0
  43. data/include/prism/compiler/flex_array.h +19 -0
  44. data/include/prism/compiler/force_inline.h +21 -0
  45. data/include/prism/compiler/format.h +25 -0
  46. data/include/prism/compiler/inline.h +17 -0
  47. data/include/prism/compiler/nodiscard.h +22 -0
  48. data/include/prism/compiler/nonnull.h +18 -0
  49. data/include/prism/compiler/unused.h +18 -0
  50. data/include/prism/constant_pool.h +81 -0
  51. data/include/prism/diagnostic.h +93 -0
  52. data/include/prism/errors_format.h +53 -0
  53. data/include/prism/excludes.h +29 -0
  54. data/include/prism/integer.h +41 -0
  55. data/include/prism/internal/allocator.h +68 -0
  56. data/include/prism/internal/allocator_debug.h +88 -0
  57. data/include/prism/internal/arena.h +108 -0
  58. data/include/prism/internal/bit.h +42 -0
  59. data/include/prism/internal/buffer.h +91 -0
  60. data/include/prism/internal/char.h +145 -0
  61. data/include/prism/internal/comments.h +53 -0
  62. data/include/prism/internal/constant_pool.h +152 -0
  63. data/include/prism/internal/diagnostic.h +389 -0
  64. data/include/prism/internal/encoding.h +242 -0
  65. data/include/prism/internal/integer.h +68 -0
  66. data/include/prism/internal/isinf.h +16 -0
  67. data/include/prism/internal/line_offset_list.h +34 -0
  68. data/include/prism/internal/list.h +62 -0
  69. data/include/prism/internal/magic_comments.h +23 -0
  70. data/include/prism/internal/memchr.h +15 -0
  71. data/include/prism/internal/node.h +38 -0
  72. data/include/prism/internal/options.h +232 -0
  73. data/include/prism/internal/parser.h +984 -0
  74. data/include/prism/internal/regexp.h +26 -0
  75. data/include/prism/internal/serialize.h +39 -0
  76. data/include/prism/internal/source.h +72 -0
  77. data/include/prism/internal/static_literals.h +100 -0
  78. data/include/prism/internal/stringy.h +35 -0
  79. data/include/prism/internal/strncasecmp.h +18 -0
  80. data/include/prism/internal/strpbrk.h +33 -0
  81. data/include/prism/internal/tokens.h +11 -0
  82. data/include/prism/json.h +32 -0
  83. data/include/prism/line_offset_list.h +61 -0
  84. data/include/prism/magic_comments.h +35 -0
  85. data/include/prism/node.h +94 -0
  86. data/include/prism/options.h +354 -0
  87. data/include/prism/parser.h +404 -0
  88. data/include/prism/prettyprint.h +31 -0
  89. data/include/prism/serialize.h +115 -0
  90. data/include/prism/source.h +155 -0
  91. data/include/prism/stream.h +28 -0
  92. data/include/prism/string_query.h +63 -0
  93. data/include/prism/stringy.h +72 -0
  94. data/include/prism/version.h +38 -0
  95. data/include/prism.h +131 -0
  96. data/lib/prism/3.3/prism.so +0 -0
  97. data/lib/prism/3.4/prism.so +0 -0
  98. data/lib/prism/4.0/prism.so +0 -0
  99. data/lib/prism/compiler.rb +815 -0
  100. data/lib/prism/desugar_compiler.rb +463 -0
  101. data/lib/prism/dispatcher.rb +2383 -0
  102. data/lib/prism/dot_visitor.rb +4848 -0
  103. data/lib/prism/dsl.rb +1369 -0
  104. data/lib/prism/ffi.rb +740 -0
  105. data/lib/prism/inspect_visitor.rb +2425 -0
  106. data/lib/prism/lex_compat.rb +953 -0
  107. data/lib/prism/mutation_compiler.rb +780 -0
  108. data/lib/prism/node.rb +33204 -0
  109. data/lib/prism/node_ext.rb +504 -0
  110. data/lib/prism/node_find.rb +215 -0
  111. data/lib/prism/parse_result/errors.rb +72 -0
  112. data/lib/prism/parse_result/newlines.rb +423 -0
  113. data/lib/prism/parse_result.rb +1221 -0
  114. data/lib/prism/pattern.rb +314 -0
  115. data/lib/prism/polyfill/append_as_bytes.rb +15 -0
  116. data/lib/prism/polyfill/byteindex.rb +13 -0
  117. data/lib/prism/polyfill/scan_byte.rb +14 -0
  118. data/lib/prism/polyfill/unpack1.rb +14 -0
  119. data/lib/prism/polyfill/warn.rb +36 -0
  120. data/lib/prism/reflection.rb +427 -0
  121. data/lib/prism/relocation.rb +567 -0
  122. data/lib/prism/serialize.rb +5308 -0
  123. data/lib/prism/string_query.rb +46 -0
  124. data/lib/prism/translation/parser/builder.rb +70 -0
  125. data/lib/prism/translation/parser/compiler.rb +2226 -0
  126. data/lib/prism/translation/parser/lexer.rb +769 -0
  127. data/lib/prism/translation/parser.rb +376 -0
  128. data/lib/prism/translation/parser_current.rb +26 -0
  129. data/lib/prism/translation/parser_versions.rb +36 -0
  130. data/lib/prism/translation/ripper/filter.rb +53 -0
  131. data/lib/prism/translation/ripper/lexer.rb +133 -0
  132. data/lib/prism/translation/ripper/sexp.rb +118 -0
  133. data/lib/prism/translation/ripper/shim.rb +7 -0
  134. data/lib/prism/translation/ripper.rb +4278 -0
  135. data/lib/prism/translation/ruby_parser.rb +1721 -0
  136. data/lib/prism/translation.rb +20 -0
  137. data/lib/prism/visitor.rb +1440 -0
  138. data/lib/prism.rb +168 -0
  139. data/prism.gemspec +234 -0
  140. data/rbi/generated/prism/compiler.rbi +489 -0
  141. data/rbi/generated/prism/desugar_compiler.rbi +306 -0
  142. data/rbi/generated/prism/dispatcher.rbi +1138 -0
  143. data/rbi/generated/prism/dot_visitor.rbi +618 -0
  144. data/rbi/generated/prism/dsl.rbi +751 -0
  145. data/rbi/generated/prism/inspect_visitor.rbi +503 -0
  146. data/rbi/generated/prism/lex_compat.rbi +162 -0
  147. data/rbi/generated/prism/mutation_compiler.rbi +464 -0
  148. data/rbi/generated/prism/node.rbi +13681 -0
  149. data/rbi/generated/prism/node_ext.rbi +259 -0
  150. data/rbi/generated/prism/node_find.rbi +79 -0
  151. data/rbi/generated/prism/parse_result/errors.rbi +21 -0
  152. data/rbi/generated/prism/parse_result/newlines.rbi +208 -0
  153. data/rbi/generated/prism/parse_result.rbi +764 -0
  154. data/rbi/generated/prism/pattern.rbi +134 -0
  155. data/rbi/generated/prism/reflection.rbi +89 -0
  156. data/rbi/generated/prism/relocation.rbi +329 -0
  157. data/rbi/generated/prism/serialize.rbi +181 -0
  158. data/rbi/generated/prism/string_query.rbi +36 -0
  159. data/rbi/generated/prism/translation.rbi +7 -0
  160. data/rbi/generated/prism/visitor.rbi +650 -0
  161. data/rbi/generated/prism.rbi +86 -0
  162. data/rbi/prism/translation/parser.rbi +11 -0
  163. data/rbi/prism/translation/parser_versions.rbi +28 -0
  164. data/rbi/prism/translation/ripper.rbi +15 -0
  165. data/rbi/rubyvm/node_find.rbi +14 -0
  166. data/sig/generated/prism/compiler.rbs +492 -0
  167. data/sig/generated/prism/desugar_compiler.rbs +305 -0
  168. data/sig/generated/prism/dispatcher.rbs +1292 -0
  169. data/sig/generated/prism/dot_visitor.rbs +635 -0
  170. data/sig/generated/prism/dsl.rbs +928 -0
  171. data/sig/generated/prism/inspect_visitor.rbs +509 -0
  172. data/sig/generated/prism/lex_compat.rbs +166 -0
  173. data/sig/generated/prism/mutation_compiler.rbs +464 -0
  174. data/sig/generated/prism/node.rbs +20160 -0
  175. data/sig/generated/prism/node_ext.rbs +290 -0
  176. data/sig/generated/prism/node_find.rbs +90 -0
  177. data/sig/generated/prism/parse_result/errors.rbs +22 -0
  178. data/sig/generated/prism/parse_result/newlines.rbs +223 -0
  179. data/sig/generated/prism/parse_result.rbs +859 -0
  180. data/sig/generated/prism/pattern.rbs +156 -0
  181. data/sig/generated/prism/reflection.rbs +101 -0
  182. data/sig/generated/prism/relocation.rbs +428 -0
  183. data/sig/generated/prism/serialize.rbs +195 -0
  184. data/sig/generated/prism/string_query.rbs +36 -0
  185. data/sig/generated/prism/translation.rbs +8 -0
  186. data/sig/generated/prism/visitor.rbs +1111 -0
  187. data/sig/generated/prism.rbs +84 -0
  188. data/sig/manifest.yaml +2 -0
  189. data/src/arena.c +117 -0
  190. data/src/buffer.c +380 -0
  191. data/src/char.c +289 -0
  192. data/src/comments.c +454 -0
  193. data/src/constant_pool.c +406 -0
  194. data/src/diagnostic.c +886 -0
  195. data/src/encoding.c +5345 -0
  196. data/src/errors_format.c +519 -0
  197. data/src/integer.c +681 -0
  198. data/src/json.c +5733 -0
  199. data/src/line_offset_list.c +100 -0
  200. data/src/list.c +24 -0
  201. data/src/memchr.c +37 -0
  202. data/src/node.c +4515 -0
  203. data/src/options.c +451 -0
  204. data/src/parser.c +349 -0
  205. data/src/prettyprint.c +9024 -0
  206. data/src/prism.c +23739 -0
  207. data/src/regexp.c +1706 -0
  208. data/src/serialize.c +2309 -0
  209. data/src/source.c +518 -0
  210. data/src/static_literals.c +685 -0
  211. data/src/string_query.c +166 -0
  212. data/src/stringy.c +91 -0
  213. data/src/strncasecmp.c +37 -0
  214. data/src/strpbrk.c +447 -0
  215. data/src/tokens.c +724 -0
  216. metadata +259 -0
@@ -0,0 +1,1440 @@
1
+ # frozen_string_literal: true
2
+ # :markup: markdown
3
+
4
+ =begin
5
+ --
6
+ This file is generated by the templates/template.rb script and should not be
7
+ modified manually. See templates/lib/prism/visitor.rb.erb
8
+ if you are looking to modify the template
9
+ ++
10
+ =end
11
+
12
+ #--
13
+ # rbs_inline: enabled
14
+
15
+ module Prism
16
+ # @rbs!
17
+ # interface _Visitor
18
+ #
19
+ # def visit_alias_global_variable_node: (AliasGlobalVariableNode) -> void
20
+ #
21
+ # def visit_alias_method_node: (AliasMethodNode) -> void
22
+ #
23
+ # def visit_alternation_pattern_node: (AlternationPatternNode) -> void
24
+ #
25
+ # def visit_and_node: (AndNode) -> void
26
+ #
27
+ # def visit_arguments_node: (ArgumentsNode) -> void
28
+ #
29
+ # def visit_array_node: (ArrayNode) -> void
30
+ #
31
+ # def visit_array_pattern_node: (ArrayPatternNode) -> void
32
+ #
33
+ # def visit_assoc_node: (AssocNode) -> void
34
+ #
35
+ # def visit_assoc_splat_node: (AssocSplatNode) -> void
36
+ #
37
+ # def visit_back_reference_read_node: (BackReferenceReadNode) -> void
38
+ #
39
+ # def visit_begin_node: (BeginNode) -> void
40
+ #
41
+ # def visit_block_argument_node: (BlockArgumentNode) -> void
42
+ #
43
+ # def visit_block_local_variable_node: (BlockLocalVariableNode) -> void
44
+ #
45
+ # def visit_block_node: (BlockNode) -> void
46
+ #
47
+ # def visit_block_parameter_node: (BlockParameterNode) -> void
48
+ #
49
+ # def visit_block_parameters_node: (BlockParametersNode) -> void
50
+ #
51
+ # def visit_break_node: (BreakNode) -> void
52
+ #
53
+ # def visit_call_and_write_node: (CallAndWriteNode) -> void
54
+ #
55
+ # def visit_call_node: (CallNode) -> void
56
+ #
57
+ # def visit_call_operator_write_node: (CallOperatorWriteNode) -> void
58
+ #
59
+ # def visit_call_or_write_node: (CallOrWriteNode) -> void
60
+ #
61
+ # def visit_call_target_node: (CallTargetNode) -> void
62
+ #
63
+ # def visit_capture_pattern_node: (CapturePatternNode) -> void
64
+ #
65
+ # def visit_case_match_node: (CaseMatchNode) -> void
66
+ #
67
+ # def visit_case_node: (CaseNode) -> void
68
+ #
69
+ # def visit_class_node: (ClassNode) -> void
70
+ #
71
+ # def visit_class_variable_and_write_node: (ClassVariableAndWriteNode) -> void
72
+ #
73
+ # def visit_class_variable_operator_write_node: (ClassVariableOperatorWriteNode) -> void
74
+ #
75
+ # def visit_class_variable_or_write_node: (ClassVariableOrWriteNode) -> void
76
+ #
77
+ # def visit_class_variable_read_node: (ClassVariableReadNode) -> void
78
+ #
79
+ # def visit_class_variable_target_node: (ClassVariableTargetNode) -> void
80
+ #
81
+ # def visit_class_variable_write_node: (ClassVariableWriteNode) -> void
82
+ #
83
+ # def visit_constant_and_write_node: (ConstantAndWriteNode) -> void
84
+ #
85
+ # def visit_constant_operator_write_node: (ConstantOperatorWriteNode) -> void
86
+ #
87
+ # def visit_constant_or_write_node: (ConstantOrWriteNode) -> void
88
+ #
89
+ # def visit_constant_path_and_write_node: (ConstantPathAndWriteNode) -> void
90
+ #
91
+ # def visit_constant_path_node: (ConstantPathNode) -> void
92
+ #
93
+ # def visit_constant_path_operator_write_node: (ConstantPathOperatorWriteNode) -> void
94
+ #
95
+ # def visit_constant_path_or_write_node: (ConstantPathOrWriteNode) -> void
96
+ #
97
+ # def visit_constant_path_target_node: (ConstantPathTargetNode) -> void
98
+ #
99
+ # def visit_constant_path_write_node: (ConstantPathWriteNode) -> void
100
+ #
101
+ # def visit_constant_read_node: (ConstantReadNode) -> void
102
+ #
103
+ # def visit_constant_target_node: (ConstantTargetNode) -> void
104
+ #
105
+ # def visit_constant_write_node: (ConstantWriteNode) -> void
106
+ #
107
+ # def visit_def_node: (DefNode) -> void
108
+ #
109
+ # def visit_defined_node: (DefinedNode) -> void
110
+ #
111
+ # def visit_else_node: (ElseNode) -> void
112
+ #
113
+ # def visit_embedded_statements_node: (EmbeddedStatementsNode) -> void
114
+ #
115
+ # def visit_embedded_variable_node: (EmbeddedVariableNode) -> void
116
+ #
117
+ # def visit_ensure_node: (EnsureNode) -> void
118
+ #
119
+ # def visit_error_recovery_node: (ErrorRecoveryNode) -> void
120
+ #
121
+ # def visit_false_node: (FalseNode) -> void
122
+ #
123
+ # def visit_find_pattern_node: (FindPatternNode) -> void
124
+ #
125
+ # def visit_flip_flop_node: (FlipFlopNode) -> void
126
+ #
127
+ # def visit_float_node: (FloatNode) -> void
128
+ #
129
+ # def visit_for_node: (ForNode) -> void
130
+ #
131
+ # def visit_forwarding_arguments_node: (ForwardingArgumentsNode) -> void
132
+ #
133
+ # def visit_forwarding_parameter_node: (ForwardingParameterNode) -> void
134
+ #
135
+ # def visit_forwarding_super_node: (ForwardingSuperNode) -> void
136
+ #
137
+ # def visit_global_variable_and_write_node: (GlobalVariableAndWriteNode) -> void
138
+ #
139
+ # def visit_global_variable_operator_write_node: (GlobalVariableOperatorWriteNode) -> void
140
+ #
141
+ # def visit_global_variable_or_write_node: (GlobalVariableOrWriteNode) -> void
142
+ #
143
+ # def visit_global_variable_read_node: (GlobalVariableReadNode) -> void
144
+ #
145
+ # def visit_global_variable_target_node: (GlobalVariableTargetNode) -> void
146
+ #
147
+ # def visit_global_variable_write_node: (GlobalVariableWriteNode) -> void
148
+ #
149
+ # def visit_hash_node: (HashNode) -> void
150
+ #
151
+ # def visit_hash_pattern_node: (HashPatternNode) -> void
152
+ #
153
+ # def visit_if_node: (IfNode) -> void
154
+ #
155
+ # def visit_imaginary_node: (ImaginaryNode) -> void
156
+ #
157
+ # def visit_implicit_node: (ImplicitNode) -> void
158
+ #
159
+ # def visit_implicit_rest_node: (ImplicitRestNode) -> void
160
+ #
161
+ # def visit_in_node: (InNode) -> void
162
+ #
163
+ # def visit_index_and_write_node: (IndexAndWriteNode) -> void
164
+ #
165
+ # def visit_index_operator_write_node: (IndexOperatorWriteNode) -> void
166
+ #
167
+ # def visit_index_or_write_node: (IndexOrWriteNode) -> void
168
+ #
169
+ # def visit_index_target_node: (IndexTargetNode) -> void
170
+ #
171
+ # def visit_instance_variable_and_write_node: (InstanceVariableAndWriteNode) -> void
172
+ #
173
+ # def visit_instance_variable_operator_write_node: (InstanceVariableOperatorWriteNode) -> void
174
+ #
175
+ # def visit_instance_variable_or_write_node: (InstanceVariableOrWriteNode) -> void
176
+ #
177
+ # def visit_instance_variable_read_node: (InstanceVariableReadNode) -> void
178
+ #
179
+ # def visit_instance_variable_target_node: (InstanceVariableTargetNode) -> void
180
+ #
181
+ # def visit_instance_variable_write_node: (InstanceVariableWriteNode) -> void
182
+ #
183
+ # def visit_integer_node: (IntegerNode) -> void
184
+ #
185
+ # def visit_interpolated_match_last_line_node: (InterpolatedMatchLastLineNode) -> void
186
+ #
187
+ # def visit_interpolated_regular_expression_node: (InterpolatedRegularExpressionNode) -> void
188
+ #
189
+ # def visit_interpolated_string_node: (InterpolatedStringNode) -> void
190
+ #
191
+ # def visit_interpolated_symbol_node: (InterpolatedSymbolNode) -> void
192
+ #
193
+ # def visit_interpolated_x_string_node: (InterpolatedXStringNode) -> void
194
+ #
195
+ # def visit_it_local_variable_read_node: (ItLocalVariableReadNode) -> void
196
+ #
197
+ # def visit_it_parameters_node: (ItParametersNode) -> void
198
+ #
199
+ # def visit_keyword_hash_node: (KeywordHashNode) -> void
200
+ #
201
+ # def visit_keyword_rest_parameter_node: (KeywordRestParameterNode) -> void
202
+ #
203
+ # def visit_lambda_node: (LambdaNode) -> void
204
+ #
205
+ # def visit_local_variable_and_write_node: (LocalVariableAndWriteNode) -> void
206
+ #
207
+ # def visit_local_variable_operator_write_node: (LocalVariableOperatorWriteNode) -> void
208
+ #
209
+ # def visit_local_variable_or_write_node: (LocalVariableOrWriteNode) -> void
210
+ #
211
+ # def visit_local_variable_read_node: (LocalVariableReadNode) -> void
212
+ #
213
+ # def visit_local_variable_target_node: (LocalVariableTargetNode) -> void
214
+ #
215
+ # def visit_local_variable_write_node: (LocalVariableWriteNode) -> void
216
+ #
217
+ # def visit_match_last_line_node: (MatchLastLineNode) -> void
218
+ #
219
+ # def visit_match_predicate_node: (MatchPredicateNode) -> void
220
+ #
221
+ # def visit_match_required_node: (MatchRequiredNode) -> void
222
+ #
223
+ # def visit_match_write_node: (MatchWriteNode) -> void
224
+ #
225
+ # def visit_module_node: (ModuleNode) -> void
226
+ #
227
+ # def visit_multi_target_node: (MultiTargetNode) -> void
228
+ #
229
+ # def visit_multi_write_node: (MultiWriteNode) -> void
230
+ #
231
+ # def visit_next_node: (NextNode) -> void
232
+ #
233
+ # def visit_nil_node: (NilNode) -> void
234
+ #
235
+ # def visit_no_block_parameter_node: (NoBlockParameterNode) -> void
236
+ #
237
+ # def visit_no_keywords_parameter_node: (NoKeywordsParameterNode) -> void
238
+ #
239
+ # def visit_numbered_parameters_node: (NumberedParametersNode) -> void
240
+ #
241
+ # def visit_numbered_reference_read_node: (NumberedReferenceReadNode) -> void
242
+ #
243
+ # def visit_optional_keyword_parameter_node: (OptionalKeywordParameterNode) -> void
244
+ #
245
+ # def visit_optional_parameter_node: (OptionalParameterNode) -> void
246
+ #
247
+ # def visit_or_node: (OrNode) -> void
248
+ #
249
+ # def visit_parameters_node: (ParametersNode) -> void
250
+ #
251
+ # def visit_parentheses_node: (ParenthesesNode) -> void
252
+ #
253
+ # def visit_pinned_expression_node: (PinnedExpressionNode) -> void
254
+ #
255
+ # def visit_pinned_variable_node: (PinnedVariableNode) -> void
256
+ #
257
+ # def visit_post_execution_node: (PostExecutionNode) -> void
258
+ #
259
+ # def visit_pre_execution_node: (PreExecutionNode) -> void
260
+ #
261
+ # def visit_program_node: (ProgramNode) -> void
262
+ #
263
+ # def visit_range_node: (RangeNode) -> void
264
+ #
265
+ # def visit_rational_node: (RationalNode) -> void
266
+ #
267
+ # def visit_redo_node: (RedoNode) -> void
268
+ #
269
+ # def visit_regular_expression_node: (RegularExpressionNode) -> void
270
+ #
271
+ # def visit_required_keyword_parameter_node: (RequiredKeywordParameterNode) -> void
272
+ #
273
+ # def visit_required_parameter_node: (RequiredParameterNode) -> void
274
+ #
275
+ # def visit_rescue_modifier_node: (RescueModifierNode) -> void
276
+ #
277
+ # def visit_rescue_node: (RescueNode) -> void
278
+ #
279
+ # def visit_rest_parameter_node: (RestParameterNode) -> void
280
+ #
281
+ # def visit_retry_node: (RetryNode) -> void
282
+ #
283
+ # def visit_return_node: (ReturnNode) -> void
284
+ #
285
+ # def visit_self_node: (SelfNode) -> void
286
+ #
287
+ # def visit_shareable_constant_node: (ShareableConstantNode) -> void
288
+ #
289
+ # def visit_singleton_class_node: (SingletonClassNode) -> void
290
+ #
291
+ # def visit_source_encoding_node: (SourceEncodingNode) -> void
292
+ #
293
+ # def visit_source_file_node: (SourceFileNode) -> void
294
+ #
295
+ # def visit_source_line_node: (SourceLineNode) -> void
296
+ #
297
+ # def visit_splat_node: (SplatNode) -> void
298
+ #
299
+ # def visit_statements_node: (StatementsNode) -> void
300
+ #
301
+ # def visit_string_node: (StringNode) -> void
302
+ #
303
+ # def visit_super_node: (SuperNode) -> void
304
+ #
305
+ # def visit_symbol_node: (SymbolNode) -> void
306
+ #
307
+ # def visit_true_node: (TrueNode) -> void
308
+ #
309
+ # def visit_undef_node: (UndefNode) -> void
310
+ #
311
+ # def visit_unless_node: (UnlessNode) -> void
312
+ #
313
+ # def visit_until_node: (UntilNode) -> void
314
+ #
315
+ # def visit_when_node: (WhenNode) -> void
316
+ #
317
+ # def visit_while_node: (WhileNode) -> void
318
+ #
319
+ # def visit_x_string_node: (XStringNode) -> void
320
+ #
321
+ # def visit_yield_node: (YieldNode) -> void
322
+ #
323
+ # end
324
+
325
+ # A class that knows how to walk down the tree. None of the individual visit
326
+ # methods are implemented on this visitor, so it forces the consumer to
327
+ # implement each one that they need. For a default implementation that
328
+ # continues walking the tree, see the Visitor class.
329
+ class BasicVisitor
330
+ # Calls `accept` on the given node if it is not `nil`, which in turn should
331
+ # call back into this visitor by calling the appropriate `visit_*` method.
332
+ #
333
+ #: (node? node) -> void
334
+ def visit(node)
335
+ # @type self: _Visitor
336
+ node&.accept(self)
337
+ end
338
+
339
+ # Visits each node in `nodes` by calling `accept` on each one.
340
+ #
341
+ #: (Array[node?] nodes) -> void
342
+ def visit_all(nodes)
343
+ # @type self: _Visitor
344
+ nodes.each { |node| node&.accept(self) }
345
+ end
346
+
347
+ # Visits the child nodes of `node` by calling `accept` on each one.
348
+ #
349
+ #: (node node) -> void
350
+ def visit_child_nodes(node)
351
+ # @type self: _Visitor
352
+ node.each_child_node { |node| node.accept(self) }
353
+ end
354
+ end
355
+
356
+ # A visitor is a class that provides a default implementation for every accept
357
+ # method defined on the nodes. This means it can walk a tree without the
358
+ # caller needing to define any special handling. This allows you to handle a
359
+ # subset of the tree, while still walking the whole tree.
360
+ #
361
+ # For example, to find all of the method calls that call the `foo` method, you
362
+ # could write:
363
+ #
364
+ # class FooCalls < Prism::Visitor
365
+ # def visit_call_node(node)
366
+ # if node.name == :foo
367
+ # # Do something with the node
368
+ # end
369
+ #
370
+ # # Call super so that the visitor continues walking the tree
371
+ # super
372
+ # end
373
+ # end
374
+ #
375
+ class Visitor < BasicVisitor
376
+ # Visit a AliasGlobalVariableNode node
377
+ #
378
+ #: (AliasGlobalVariableNode node) -> void
379
+ def visit_alias_global_variable_node(node)
380
+ node.each_child_node { |node| node.accept(self) }
381
+ end
382
+
383
+ # Visit a AliasMethodNode node
384
+ #
385
+ #: (AliasMethodNode node) -> void
386
+ def visit_alias_method_node(node)
387
+ node.each_child_node { |node| node.accept(self) }
388
+ end
389
+
390
+ # Visit a AlternationPatternNode node
391
+ #
392
+ #: (AlternationPatternNode node) -> void
393
+ def visit_alternation_pattern_node(node)
394
+ node.each_child_node { |node| node.accept(self) }
395
+ end
396
+
397
+ # Visit a AndNode node
398
+ #
399
+ #: (AndNode node) -> void
400
+ def visit_and_node(node)
401
+ node.each_child_node { |node| node.accept(self) }
402
+ end
403
+
404
+ # Visit a ArgumentsNode node
405
+ #
406
+ #: (ArgumentsNode node) -> void
407
+ def visit_arguments_node(node)
408
+ node.each_child_node { |node| node.accept(self) }
409
+ end
410
+
411
+ # Visit a ArrayNode node
412
+ #
413
+ #: (ArrayNode node) -> void
414
+ def visit_array_node(node)
415
+ node.each_child_node { |node| node.accept(self) }
416
+ end
417
+
418
+ # Visit a ArrayPatternNode node
419
+ #
420
+ #: (ArrayPatternNode node) -> void
421
+ def visit_array_pattern_node(node)
422
+ node.each_child_node { |node| node.accept(self) }
423
+ end
424
+
425
+ # Visit a AssocNode node
426
+ #
427
+ #: (AssocNode node) -> void
428
+ def visit_assoc_node(node)
429
+ node.each_child_node { |node| node.accept(self) }
430
+ end
431
+
432
+ # Visit a AssocSplatNode node
433
+ #
434
+ #: (AssocSplatNode node) -> void
435
+ def visit_assoc_splat_node(node)
436
+ node.each_child_node { |node| node.accept(self) }
437
+ end
438
+
439
+ # Visit a BackReferenceReadNode node
440
+ #
441
+ #: (BackReferenceReadNode node) -> void
442
+ def visit_back_reference_read_node(node)
443
+ node.each_child_node { |node| node.accept(self) }
444
+ end
445
+
446
+ # Visit a BeginNode node
447
+ #
448
+ #: (BeginNode node) -> void
449
+ def visit_begin_node(node)
450
+ node.each_child_node { |node| node.accept(self) }
451
+ end
452
+
453
+ # Visit a BlockArgumentNode node
454
+ #
455
+ #: (BlockArgumentNode node) -> void
456
+ def visit_block_argument_node(node)
457
+ node.each_child_node { |node| node.accept(self) }
458
+ end
459
+
460
+ # Visit a BlockLocalVariableNode node
461
+ #
462
+ #: (BlockLocalVariableNode node) -> void
463
+ def visit_block_local_variable_node(node)
464
+ node.each_child_node { |node| node.accept(self) }
465
+ end
466
+
467
+ # Visit a BlockNode node
468
+ #
469
+ #: (BlockNode node) -> void
470
+ def visit_block_node(node)
471
+ node.each_child_node { |node| node.accept(self) }
472
+ end
473
+
474
+ # Visit a BlockParameterNode node
475
+ #
476
+ #: (BlockParameterNode node) -> void
477
+ def visit_block_parameter_node(node)
478
+ node.each_child_node { |node| node.accept(self) }
479
+ end
480
+
481
+ # Visit a BlockParametersNode node
482
+ #
483
+ #: (BlockParametersNode node) -> void
484
+ def visit_block_parameters_node(node)
485
+ node.each_child_node { |node| node.accept(self) }
486
+ end
487
+
488
+ # Visit a BreakNode node
489
+ #
490
+ #: (BreakNode node) -> void
491
+ def visit_break_node(node)
492
+ node.each_child_node { |node| node.accept(self) }
493
+ end
494
+
495
+ # Visit a CallAndWriteNode node
496
+ #
497
+ #: (CallAndWriteNode node) -> void
498
+ def visit_call_and_write_node(node)
499
+ node.each_child_node { |node| node.accept(self) }
500
+ end
501
+
502
+ # Visit a CallNode node
503
+ #
504
+ #: (CallNode node) -> void
505
+ def visit_call_node(node)
506
+ node.each_child_node { |node| node.accept(self) }
507
+ end
508
+
509
+ # Visit a CallOperatorWriteNode node
510
+ #
511
+ #: (CallOperatorWriteNode node) -> void
512
+ def visit_call_operator_write_node(node)
513
+ node.each_child_node { |node| node.accept(self) }
514
+ end
515
+
516
+ # Visit a CallOrWriteNode node
517
+ #
518
+ #: (CallOrWriteNode node) -> void
519
+ def visit_call_or_write_node(node)
520
+ node.each_child_node { |node| node.accept(self) }
521
+ end
522
+
523
+ # Visit a CallTargetNode node
524
+ #
525
+ #: (CallTargetNode node) -> void
526
+ def visit_call_target_node(node)
527
+ node.each_child_node { |node| node.accept(self) }
528
+ end
529
+
530
+ # Visit a CapturePatternNode node
531
+ #
532
+ #: (CapturePatternNode node) -> void
533
+ def visit_capture_pattern_node(node)
534
+ node.each_child_node { |node| node.accept(self) }
535
+ end
536
+
537
+ # Visit a CaseMatchNode node
538
+ #
539
+ #: (CaseMatchNode node) -> void
540
+ def visit_case_match_node(node)
541
+ node.each_child_node { |node| node.accept(self) }
542
+ end
543
+
544
+ # Visit a CaseNode node
545
+ #
546
+ #: (CaseNode node) -> void
547
+ def visit_case_node(node)
548
+ node.each_child_node { |node| node.accept(self) }
549
+ end
550
+
551
+ # Visit a ClassNode node
552
+ #
553
+ #: (ClassNode node) -> void
554
+ def visit_class_node(node)
555
+ node.each_child_node { |node| node.accept(self) }
556
+ end
557
+
558
+ # Visit a ClassVariableAndWriteNode node
559
+ #
560
+ #: (ClassVariableAndWriteNode node) -> void
561
+ def visit_class_variable_and_write_node(node)
562
+ node.each_child_node { |node| node.accept(self) }
563
+ end
564
+
565
+ # Visit a ClassVariableOperatorWriteNode node
566
+ #
567
+ #: (ClassVariableOperatorWriteNode node) -> void
568
+ def visit_class_variable_operator_write_node(node)
569
+ node.each_child_node { |node| node.accept(self) }
570
+ end
571
+
572
+ # Visit a ClassVariableOrWriteNode node
573
+ #
574
+ #: (ClassVariableOrWriteNode node) -> void
575
+ def visit_class_variable_or_write_node(node)
576
+ node.each_child_node { |node| node.accept(self) }
577
+ end
578
+
579
+ # Visit a ClassVariableReadNode node
580
+ #
581
+ #: (ClassVariableReadNode node) -> void
582
+ def visit_class_variable_read_node(node)
583
+ node.each_child_node { |node| node.accept(self) }
584
+ end
585
+
586
+ # Visit a ClassVariableTargetNode node
587
+ #
588
+ #: (ClassVariableTargetNode node) -> void
589
+ def visit_class_variable_target_node(node)
590
+ node.each_child_node { |node| node.accept(self) }
591
+ end
592
+
593
+ # Visit a ClassVariableWriteNode node
594
+ #
595
+ #: (ClassVariableWriteNode node) -> void
596
+ def visit_class_variable_write_node(node)
597
+ node.each_child_node { |node| node.accept(self) }
598
+ end
599
+
600
+ # Visit a ConstantAndWriteNode node
601
+ #
602
+ #: (ConstantAndWriteNode node) -> void
603
+ def visit_constant_and_write_node(node)
604
+ node.each_child_node { |node| node.accept(self) }
605
+ end
606
+
607
+ # Visit a ConstantOperatorWriteNode node
608
+ #
609
+ #: (ConstantOperatorWriteNode node) -> void
610
+ def visit_constant_operator_write_node(node)
611
+ node.each_child_node { |node| node.accept(self) }
612
+ end
613
+
614
+ # Visit a ConstantOrWriteNode node
615
+ #
616
+ #: (ConstantOrWriteNode node) -> void
617
+ def visit_constant_or_write_node(node)
618
+ node.each_child_node { |node| node.accept(self) }
619
+ end
620
+
621
+ # Visit a ConstantPathAndWriteNode node
622
+ #
623
+ #: (ConstantPathAndWriteNode node) -> void
624
+ def visit_constant_path_and_write_node(node)
625
+ node.each_child_node { |node| node.accept(self) }
626
+ end
627
+
628
+ # Visit a ConstantPathNode node
629
+ #
630
+ #: (ConstantPathNode node) -> void
631
+ def visit_constant_path_node(node)
632
+ node.each_child_node { |node| node.accept(self) }
633
+ end
634
+
635
+ # Visit a ConstantPathOperatorWriteNode node
636
+ #
637
+ #: (ConstantPathOperatorWriteNode node) -> void
638
+ def visit_constant_path_operator_write_node(node)
639
+ node.each_child_node { |node| node.accept(self) }
640
+ end
641
+
642
+ # Visit a ConstantPathOrWriteNode node
643
+ #
644
+ #: (ConstantPathOrWriteNode node) -> void
645
+ def visit_constant_path_or_write_node(node)
646
+ node.each_child_node { |node| node.accept(self) }
647
+ end
648
+
649
+ # Visit a ConstantPathTargetNode node
650
+ #
651
+ #: (ConstantPathTargetNode node) -> void
652
+ def visit_constant_path_target_node(node)
653
+ node.each_child_node { |node| node.accept(self) }
654
+ end
655
+
656
+ # Visit a ConstantPathWriteNode node
657
+ #
658
+ #: (ConstantPathWriteNode node) -> void
659
+ def visit_constant_path_write_node(node)
660
+ node.each_child_node { |node| node.accept(self) }
661
+ end
662
+
663
+ # Visit a ConstantReadNode node
664
+ #
665
+ #: (ConstantReadNode node) -> void
666
+ def visit_constant_read_node(node)
667
+ node.each_child_node { |node| node.accept(self) }
668
+ end
669
+
670
+ # Visit a ConstantTargetNode node
671
+ #
672
+ #: (ConstantTargetNode node) -> void
673
+ def visit_constant_target_node(node)
674
+ node.each_child_node { |node| node.accept(self) }
675
+ end
676
+
677
+ # Visit a ConstantWriteNode node
678
+ #
679
+ #: (ConstantWriteNode node) -> void
680
+ def visit_constant_write_node(node)
681
+ node.each_child_node { |node| node.accept(self) }
682
+ end
683
+
684
+ # Visit a DefNode node
685
+ #
686
+ #: (DefNode node) -> void
687
+ def visit_def_node(node)
688
+ node.each_child_node { |node| node.accept(self) }
689
+ end
690
+
691
+ # Visit a DefinedNode node
692
+ #
693
+ #: (DefinedNode node) -> void
694
+ def visit_defined_node(node)
695
+ node.each_child_node { |node| node.accept(self) }
696
+ end
697
+
698
+ # Visit a ElseNode node
699
+ #
700
+ #: (ElseNode node) -> void
701
+ def visit_else_node(node)
702
+ node.each_child_node { |node| node.accept(self) }
703
+ end
704
+
705
+ # Visit a EmbeddedStatementsNode node
706
+ #
707
+ #: (EmbeddedStatementsNode node) -> void
708
+ def visit_embedded_statements_node(node)
709
+ node.each_child_node { |node| node.accept(self) }
710
+ end
711
+
712
+ # Visit a EmbeddedVariableNode node
713
+ #
714
+ #: (EmbeddedVariableNode node) -> void
715
+ def visit_embedded_variable_node(node)
716
+ node.each_child_node { |node| node.accept(self) }
717
+ end
718
+
719
+ # Visit a EnsureNode node
720
+ #
721
+ #: (EnsureNode node) -> void
722
+ def visit_ensure_node(node)
723
+ node.each_child_node { |node| node.accept(self) }
724
+ end
725
+
726
+ # Visit a ErrorRecoveryNode node
727
+ #
728
+ #: (ErrorRecoveryNode node) -> void
729
+ def visit_error_recovery_node(node)
730
+ node.each_child_node { |node| node.accept(self) }
731
+ end
732
+
733
+ # Visit a FalseNode node
734
+ #
735
+ #: (FalseNode node) -> void
736
+ def visit_false_node(node)
737
+ node.each_child_node { |node| node.accept(self) }
738
+ end
739
+
740
+ # Visit a FindPatternNode node
741
+ #
742
+ #: (FindPatternNode node) -> void
743
+ def visit_find_pattern_node(node)
744
+ node.each_child_node { |node| node.accept(self) }
745
+ end
746
+
747
+ # Visit a FlipFlopNode node
748
+ #
749
+ #: (FlipFlopNode node) -> void
750
+ def visit_flip_flop_node(node)
751
+ node.each_child_node { |node| node.accept(self) }
752
+ end
753
+
754
+ # Visit a FloatNode node
755
+ #
756
+ #: (FloatNode node) -> void
757
+ def visit_float_node(node)
758
+ node.each_child_node { |node| node.accept(self) }
759
+ end
760
+
761
+ # Visit a ForNode node
762
+ #
763
+ #: (ForNode node) -> void
764
+ def visit_for_node(node)
765
+ node.each_child_node { |node| node.accept(self) }
766
+ end
767
+
768
+ # Visit a ForwardingArgumentsNode node
769
+ #
770
+ #: (ForwardingArgumentsNode node) -> void
771
+ def visit_forwarding_arguments_node(node)
772
+ node.each_child_node { |node| node.accept(self) }
773
+ end
774
+
775
+ # Visit a ForwardingParameterNode node
776
+ #
777
+ #: (ForwardingParameterNode node) -> void
778
+ def visit_forwarding_parameter_node(node)
779
+ node.each_child_node { |node| node.accept(self) }
780
+ end
781
+
782
+ # Visit a ForwardingSuperNode node
783
+ #
784
+ #: (ForwardingSuperNode node) -> void
785
+ def visit_forwarding_super_node(node)
786
+ node.each_child_node { |node| node.accept(self) }
787
+ end
788
+
789
+ # Visit a GlobalVariableAndWriteNode node
790
+ #
791
+ #: (GlobalVariableAndWriteNode node) -> void
792
+ def visit_global_variable_and_write_node(node)
793
+ node.each_child_node { |node| node.accept(self) }
794
+ end
795
+
796
+ # Visit a GlobalVariableOperatorWriteNode node
797
+ #
798
+ #: (GlobalVariableOperatorWriteNode node) -> void
799
+ def visit_global_variable_operator_write_node(node)
800
+ node.each_child_node { |node| node.accept(self) }
801
+ end
802
+
803
+ # Visit a GlobalVariableOrWriteNode node
804
+ #
805
+ #: (GlobalVariableOrWriteNode node) -> void
806
+ def visit_global_variable_or_write_node(node)
807
+ node.each_child_node { |node| node.accept(self) }
808
+ end
809
+
810
+ # Visit a GlobalVariableReadNode node
811
+ #
812
+ #: (GlobalVariableReadNode node) -> void
813
+ def visit_global_variable_read_node(node)
814
+ node.each_child_node { |node| node.accept(self) }
815
+ end
816
+
817
+ # Visit a GlobalVariableTargetNode node
818
+ #
819
+ #: (GlobalVariableTargetNode node) -> void
820
+ def visit_global_variable_target_node(node)
821
+ node.each_child_node { |node| node.accept(self) }
822
+ end
823
+
824
+ # Visit a GlobalVariableWriteNode node
825
+ #
826
+ #: (GlobalVariableWriteNode node) -> void
827
+ def visit_global_variable_write_node(node)
828
+ node.each_child_node { |node| node.accept(self) }
829
+ end
830
+
831
+ # Visit a HashNode node
832
+ #
833
+ #: (HashNode node) -> void
834
+ def visit_hash_node(node)
835
+ node.each_child_node { |node| node.accept(self) }
836
+ end
837
+
838
+ # Visit a HashPatternNode node
839
+ #
840
+ #: (HashPatternNode node) -> void
841
+ def visit_hash_pattern_node(node)
842
+ node.each_child_node { |node| node.accept(self) }
843
+ end
844
+
845
+ # Visit a IfNode node
846
+ #
847
+ #: (IfNode node) -> void
848
+ def visit_if_node(node)
849
+ node.each_child_node { |node| node.accept(self) }
850
+ end
851
+
852
+ # Visit a ImaginaryNode node
853
+ #
854
+ #: (ImaginaryNode node) -> void
855
+ def visit_imaginary_node(node)
856
+ node.each_child_node { |node| node.accept(self) }
857
+ end
858
+
859
+ # Visit a ImplicitNode node
860
+ #
861
+ #: (ImplicitNode node) -> void
862
+ def visit_implicit_node(node)
863
+ node.each_child_node { |node| node.accept(self) }
864
+ end
865
+
866
+ # Visit a ImplicitRestNode node
867
+ #
868
+ #: (ImplicitRestNode node) -> void
869
+ def visit_implicit_rest_node(node)
870
+ node.each_child_node { |node| node.accept(self) }
871
+ end
872
+
873
+ # Visit a InNode node
874
+ #
875
+ #: (InNode node) -> void
876
+ def visit_in_node(node)
877
+ node.each_child_node { |node| node.accept(self) }
878
+ end
879
+
880
+ # Visit a IndexAndWriteNode node
881
+ #
882
+ #: (IndexAndWriteNode node) -> void
883
+ def visit_index_and_write_node(node)
884
+ node.each_child_node { |node| node.accept(self) }
885
+ end
886
+
887
+ # Visit a IndexOperatorWriteNode node
888
+ #
889
+ #: (IndexOperatorWriteNode node) -> void
890
+ def visit_index_operator_write_node(node)
891
+ node.each_child_node { |node| node.accept(self) }
892
+ end
893
+
894
+ # Visit a IndexOrWriteNode node
895
+ #
896
+ #: (IndexOrWriteNode node) -> void
897
+ def visit_index_or_write_node(node)
898
+ node.each_child_node { |node| node.accept(self) }
899
+ end
900
+
901
+ # Visit a IndexTargetNode node
902
+ #
903
+ #: (IndexTargetNode node) -> void
904
+ def visit_index_target_node(node)
905
+ node.each_child_node { |node| node.accept(self) }
906
+ end
907
+
908
+ # Visit a InstanceVariableAndWriteNode node
909
+ #
910
+ #: (InstanceVariableAndWriteNode node) -> void
911
+ def visit_instance_variable_and_write_node(node)
912
+ node.each_child_node { |node| node.accept(self) }
913
+ end
914
+
915
+ # Visit a InstanceVariableOperatorWriteNode node
916
+ #
917
+ #: (InstanceVariableOperatorWriteNode node) -> void
918
+ def visit_instance_variable_operator_write_node(node)
919
+ node.each_child_node { |node| node.accept(self) }
920
+ end
921
+
922
+ # Visit a InstanceVariableOrWriteNode node
923
+ #
924
+ #: (InstanceVariableOrWriteNode node) -> void
925
+ def visit_instance_variable_or_write_node(node)
926
+ node.each_child_node { |node| node.accept(self) }
927
+ end
928
+
929
+ # Visit a InstanceVariableReadNode node
930
+ #
931
+ #: (InstanceVariableReadNode node) -> void
932
+ def visit_instance_variable_read_node(node)
933
+ node.each_child_node { |node| node.accept(self) }
934
+ end
935
+
936
+ # Visit a InstanceVariableTargetNode node
937
+ #
938
+ #: (InstanceVariableTargetNode node) -> void
939
+ def visit_instance_variable_target_node(node)
940
+ node.each_child_node { |node| node.accept(self) }
941
+ end
942
+
943
+ # Visit a InstanceVariableWriteNode node
944
+ #
945
+ #: (InstanceVariableWriteNode node) -> void
946
+ def visit_instance_variable_write_node(node)
947
+ node.each_child_node { |node| node.accept(self) }
948
+ end
949
+
950
+ # Visit a IntegerNode node
951
+ #
952
+ #: (IntegerNode node) -> void
953
+ def visit_integer_node(node)
954
+ node.each_child_node { |node| node.accept(self) }
955
+ end
956
+
957
+ # Visit a InterpolatedMatchLastLineNode node
958
+ #
959
+ #: (InterpolatedMatchLastLineNode node) -> void
960
+ def visit_interpolated_match_last_line_node(node)
961
+ node.each_child_node { |node| node.accept(self) }
962
+ end
963
+
964
+ # Visit a InterpolatedRegularExpressionNode node
965
+ #
966
+ #: (InterpolatedRegularExpressionNode node) -> void
967
+ def visit_interpolated_regular_expression_node(node)
968
+ node.each_child_node { |node| node.accept(self) }
969
+ end
970
+
971
+ # Visit a InterpolatedStringNode node
972
+ #
973
+ #: (InterpolatedStringNode node) -> void
974
+ def visit_interpolated_string_node(node)
975
+ node.each_child_node { |node| node.accept(self) }
976
+ end
977
+
978
+ # Visit a InterpolatedSymbolNode node
979
+ #
980
+ #: (InterpolatedSymbolNode node) -> void
981
+ def visit_interpolated_symbol_node(node)
982
+ node.each_child_node { |node| node.accept(self) }
983
+ end
984
+
985
+ # Visit a InterpolatedXStringNode node
986
+ #
987
+ #: (InterpolatedXStringNode node) -> void
988
+ def visit_interpolated_x_string_node(node)
989
+ node.each_child_node { |node| node.accept(self) }
990
+ end
991
+
992
+ # Visit a ItLocalVariableReadNode node
993
+ #
994
+ #: (ItLocalVariableReadNode node) -> void
995
+ def visit_it_local_variable_read_node(node)
996
+ node.each_child_node { |node| node.accept(self) }
997
+ end
998
+
999
+ # Visit a ItParametersNode node
1000
+ #
1001
+ #: (ItParametersNode node) -> void
1002
+ def visit_it_parameters_node(node)
1003
+ node.each_child_node { |node| node.accept(self) }
1004
+ end
1005
+
1006
+ # Visit a KeywordHashNode node
1007
+ #
1008
+ #: (KeywordHashNode node) -> void
1009
+ def visit_keyword_hash_node(node)
1010
+ node.each_child_node { |node| node.accept(self) }
1011
+ end
1012
+
1013
+ # Visit a KeywordRestParameterNode node
1014
+ #
1015
+ #: (KeywordRestParameterNode node) -> void
1016
+ def visit_keyword_rest_parameter_node(node)
1017
+ node.each_child_node { |node| node.accept(self) }
1018
+ end
1019
+
1020
+ # Visit a LambdaNode node
1021
+ #
1022
+ #: (LambdaNode node) -> void
1023
+ def visit_lambda_node(node)
1024
+ node.each_child_node { |node| node.accept(self) }
1025
+ end
1026
+
1027
+ # Visit a LocalVariableAndWriteNode node
1028
+ #
1029
+ #: (LocalVariableAndWriteNode node) -> void
1030
+ def visit_local_variable_and_write_node(node)
1031
+ node.each_child_node { |node| node.accept(self) }
1032
+ end
1033
+
1034
+ # Visit a LocalVariableOperatorWriteNode node
1035
+ #
1036
+ #: (LocalVariableOperatorWriteNode node) -> void
1037
+ def visit_local_variable_operator_write_node(node)
1038
+ node.each_child_node { |node| node.accept(self) }
1039
+ end
1040
+
1041
+ # Visit a LocalVariableOrWriteNode node
1042
+ #
1043
+ #: (LocalVariableOrWriteNode node) -> void
1044
+ def visit_local_variable_or_write_node(node)
1045
+ node.each_child_node { |node| node.accept(self) }
1046
+ end
1047
+
1048
+ # Visit a LocalVariableReadNode node
1049
+ #
1050
+ #: (LocalVariableReadNode node) -> void
1051
+ def visit_local_variable_read_node(node)
1052
+ node.each_child_node { |node| node.accept(self) }
1053
+ end
1054
+
1055
+ # Visit a LocalVariableTargetNode node
1056
+ #
1057
+ #: (LocalVariableTargetNode node) -> void
1058
+ def visit_local_variable_target_node(node)
1059
+ node.each_child_node { |node| node.accept(self) }
1060
+ end
1061
+
1062
+ # Visit a LocalVariableWriteNode node
1063
+ #
1064
+ #: (LocalVariableWriteNode node) -> void
1065
+ def visit_local_variable_write_node(node)
1066
+ node.each_child_node { |node| node.accept(self) }
1067
+ end
1068
+
1069
+ # Visit a MatchLastLineNode node
1070
+ #
1071
+ #: (MatchLastLineNode node) -> void
1072
+ def visit_match_last_line_node(node)
1073
+ node.each_child_node { |node| node.accept(self) }
1074
+ end
1075
+
1076
+ # Visit a MatchPredicateNode node
1077
+ #
1078
+ #: (MatchPredicateNode node) -> void
1079
+ def visit_match_predicate_node(node)
1080
+ node.each_child_node { |node| node.accept(self) }
1081
+ end
1082
+
1083
+ # Visit a MatchRequiredNode node
1084
+ #
1085
+ #: (MatchRequiredNode node) -> void
1086
+ def visit_match_required_node(node)
1087
+ node.each_child_node { |node| node.accept(self) }
1088
+ end
1089
+
1090
+ # Visit a MatchWriteNode node
1091
+ #
1092
+ #: (MatchWriteNode node) -> void
1093
+ def visit_match_write_node(node)
1094
+ node.each_child_node { |node| node.accept(self) }
1095
+ end
1096
+
1097
+ # Visit a ModuleNode node
1098
+ #
1099
+ #: (ModuleNode node) -> void
1100
+ def visit_module_node(node)
1101
+ node.each_child_node { |node| node.accept(self) }
1102
+ end
1103
+
1104
+ # Visit a MultiTargetNode node
1105
+ #
1106
+ #: (MultiTargetNode node) -> void
1107
+ def visit_multi_target_node(node)
1108
+ node.each_child_node { |node| node.accept(self) }
1109
+ end
1110
+
1111
+ # Visit a MultiWriteNode node
1112
+ #
1113
+ #: (MultiWriteNode node) -> void
1114
+ def visit_multi_write_node(node)
1115
+ node.each_child_node { |node| node.accept(self) }
1116
+ end
1117
+
1118
+ # Visit a NextNode node
1119
+ #
1120
+ #: (NextNode node) -> void
1121
+ def visit_next_node(node)
1122
+ node.each_child_node { |node| node.accept(self) }
1123
+ end
1124
+
1125
+ # Visit a NilNode node
1126
+ #
1127
+ #: (NilNode node) -> void
1128
+ def visit_nil_node(node)
1129
+ node.each_child_node { |node| node.accept(self) }
1130
+ end
1131
+
1132
+ # Visit a NoBlockParameterNode node
1133
+ #
1134
+ #: (NoBlockParameterNode node) -> void
1135
+ def visit_no_block_parameter_node(node)
1136
+ node.each_child_node { |node| node.accept(self) }
1137
+ end
1138
+
1139
+ # Visit a NoKeywordsParameterNode node
1140
+ #
1141
+ #: (NoKeywordsParameterNode node) -> void
1142
+ def visit_no_keywords_parameter_node(node)
1143
+ node.each_child_node { |node| node.accept(self) }
1144
+ end
1145
+
1146
+ # Visit a NumberedParametersNode node
1147
+ #
1148
+ #: (NumberedParametersNode node) -> void
1149
+ def visit_numbered_parameters_node(node)
1150
+ node.each_child_node { |node| node.accept(self) }
1151
+ end
1152
+
1153
+ # Visit a NumberedReferenceReadNode node
1154
+ #
1155
+ #: (NumberedReferenceReadNode node) -> void
1156
+ def visit_numbered_reference_read_node(node)
1157
+ node.each_child_node { |node| node.accept(self) }
1158
+ end
1159
+
1160
+ # Visit a OptionalKeywordParameterNode node
1161
+ #
1162
+ #: (OptionalKeywordParameterNode node) -> void
1163
+ def visit_optional_keyword_parameter_node(node)
1164
+ node.each_child_node { |node| node.accept(self) }
1165
+ end
1166
+
1167
+ # Visit a OptionalParameterNode node
1168
+ #
1169
+ #: (OptionalParameterNode node) -> void
1170
+ def visit_optional_parameter_node(node)
1171
+ node.each_child_node { |node| node.accept(self) }
1172
+ end
1173
+
1174
+ # Visit a OrNode node
1175
+ #
1176
+ #: (OrNode node) -> void
1177
+ def visit_or_node(node)
1178
+ node.each_child_node { |node| node.accept(self) }
1179
+ end
1180
+
1181
+ # Visit a ParametersNode node
1182
+ #
1183
+ #: (ParametersNode node) -> void
1184
+ def visit_parameters_node(node)
1185
+ node.each_child_node { |node| node.accept(self) }
1186
+ end
1187
+
1188
+ # Visit a ParenthesesNode node
1189
+ #
1190
+ #: (ParenthesesNode node) -> void
1191
+ def visit_parentheses_node(node)
1192
+ node.each_child_node { |node| node.accept(self) }
1193
+ end
1194
+
1195
+ # Visit a PinnedExpressionNode node
1196
+ #
1197
+ #: (PinnedExpressionNode node) -> void
1198
+ def visit_pinned_expression_node(node)
1199
+ node.each_child_node { |node| node.accept(self) }
1200
+ end
1201
+
1202
+ # Visit a PinnedVariableNode node
1203
+ #
1204
+ #: (PinnedVariableNode node) -> void
1205
+ def visit_pinned_variable_node(node)
1206
+ node.each_child_node { |node| node.accept(self) }
1207
+ end
1208
+
1209
+ # Visit a PostExecutionNode node
1210
+ #
1211
+ #: (PostExecutionNode node) -> void
1212
+ def visit_post_execution_node(node)
1213
+ node.each_child_node { |node| node.accept(self) }
1214
+ end
1215
+
1216
+ # Visit a PreExecutionNode node
1217
+ #
1218
+ #: (PreExecutionNode node) -> void
1219
+ def visit_pre_execution_node(node)
1220
+ node.each_child_node { |node| node.accept(self) }
1221
+ end
1222
+
1223
+ # Visit a ProgramNode node
1224
+ #
1225
+ #: (ProgramNode node) -> void
1226
+ def visit_program_node(node)
1227
+ node.each_child_node { |node| node.accept(self) }
1228
+ end
1229
+
1230
+ # Visit a RangeNode node
1231
+ #
1232
+ #: (RangeNode node) -> void
1233
+ def visit_range_node(node)
1234
+ node.each_child_node { |node| node.accept(self) }
1235
+ end
1236
+
1237
+ # Visit a RationalNode node
1238
+ #
1239
+ #: (RationalNode node) -> void
1240
+ def visit_rational_node(node)
1241
+ node.each_child_node { |node| node.accept(self) }
1242
+ end
1243
+
1244
+ # Visit a RedoNode node
1245
+ #
1246
+ #: (RedoNode node) -> void
1247
+ def visit_redo_node(node)
1248
+ node.each_child_node { |node| node.accept(self) }
1249
+ end
1250
+
1251
+ # Visit a RegularExpressionNode node
1252
+ #
1253
+ #: (RegularExpressionNode node) -> void
1254
+ def visit_regular_expression_node(node)
1255
+ node.each_child_node { |node| node.accept(self) }
1256
+ end
1257
+
1258
+ # Visit a RequiredKeywordParameterNode node
1259
+ #
1260
+ #: (RequiredKeywordParameterNode node) -> void
1261
+ def visit_required_keyword_parameter_node(node)
1262
+ node.each_child_node { |node| node.accept(self) }
1263
+ end
1264
+
1265
+ # Visit a RequiredParameterNode node
1266
+ #
1267
+ #: (RequiredParameterNode node) -> void
1268
+ def visit_required_parameter_node(node)
1269
+ node.each_child_node { |node| node.accept(self) }
1270
+ end
1271
+
1272
+ # Visit a RescueModifierNode node
1273
+ #
1274
+ #: (RescueModifierNode node) -> void
1275
+ def visit_rescue_modifier_node(node)
1276
+ node.each_child_node { |node| node.accept(self) }
1277
+ end
1278
+
1279
+ # Visit a RescueNode node
1280
+ #
1281
+ #: (RescueNode node) -> void
1282
+ def visit_rescue_node(node)
1283
+ node.each_child_node { |node| node.accept(self) }
1284
+ end
1285
+
1286
+ # Visit a RestParameterNode node
1287
+ #
1288
+ #: (RestParameterNode node) -> void
1289
+ def visit_rest_parameter_node(node)
1290
+ node.each_child_node { |node| node.accept(self) }
1291
+ end
1292
+
1293
+ # Visit a RetryNode node
1294
+ #
1295
+ #: (RetryNode node) -> void
1296
+ def visit_retry_node(node)
1297
+ node.each_child_node { |node| node.accept(self) }
1298
+ end
1299
+
1300
+ # Visit a ReturnNode node
1301
+ #
1302
+ #: (ReturnNode node) -> void
1303
+ def visit_return_node(node)
1304
+ node.each_child_node { |node| node.accept(self) }
1305
+ end
1306
+
1307
+ # Visit a SelfNode node
1308
+ #
1309
+ #: (SelfNode node) -> void
1310
+ def visit_self_node(node)
1311
+ node.each_child_node { |node| node.accept(self) }
1312
+ end
1313
+
1314
+ # Visit a ShareableConstantNode node
1315
+ #
1316
+ #: (ShareableConstantNode node) -> void
1317
+ def visit_shareable_constant_node(node)
1318
+ node.each_child_node { |node| node.accept(self) }
1319
+ end
1320
+
1321
+ # Visit a SingletonClassNode node
1322
+ #
1323
+ #: (SingletonClassNode node) -> void
1324
+ def visit_singleton_class_node(node)
1325
+ node.each_child_node { |node| node.accept(self) }
1326
+ end
1327
+
1328
+ # Visit a SourceEncodingNode node
1329
+ #
1330
+ #: (SourceEncodingNode node) -> void
1331
+ def visit_source_encoding_node(node)
1332
+ node.each_child_node { |node| node.accept(self) }
1333
+ end
1334
+
1335
+ # Visit a SourceFileNode node
1336
+ #
1337
+ #: (SourceFileNode node) -> void
1338
+ def visit_source_file_node(node)
1339
+ node.each_child_node { |node| node.accept(self) }
1340
+ end
1341
+
1342
+ # Visit a SourceLineNode node
1343
+ #
1344
+ #: (SourceLineNode node) -> void
1345
+ def visit_source_line_node(node)
1346
+ node.each_child_node { |node| node.accept(self) }
1347
+ end
1348
+
1349
+ # Visit a SplatNode node
1350
+ #
1351
+ #: (SplatNode node) -> void
1352
+ def visit_splat_node(node)
1353
+ node.each_child_node { |node| node.accept(self) }
1354
+ end
1355
+
1356
+ # Visit a StatementsNode node
1357
+ #
1358
+ #: (StatementsNode node) -> void
1359
+ def visit_statements_node(node)
1360
+ node.each_child_node { |node| node.accept(self) }
1361
+ end
1362
+
1363
+ # Visit a StringNode node
1364
+ #
1365
+ #: (StringNode node) -> void
1366
+ def visit_string_node(node)
1367
+ node.each_child_node { |node| node.accept(self) }
1368
+ end
1369
+
1370
+ # Visit a SuperNode node
1371
+ #
1372
+ #: (SuperNode node) -> void
1373
+ def visit_super_node(node)
1374
+ node.each_child_node { |node| node.accept(self) }
1375
+ end
1376
+
1377
+ # Visit a SymbolNode node
1378
+ #
1379
+ #: (SymbolNode node) -> void
1380
+ def visit_symbol_node(node)
1381
+ node.each_child_node { |node| node.accept(self) }
1382
+ end
1383
+
1384
+ # Visit a TrueNode node
1385
+ #
1386
+ #: (TrueNode node) -> void
1387
+ def visit_true_node(node)
1388
+ node.each_child_node { |node| node.accept(self) }
1389
+ end
1390
+
1391
+ # Visit a UndefNode node
1392
+ #
1393
+ #: (UndefNode node) -> void
1394
+ def visit_undef_node(node)
1395
+ node.each_child_node { |node| node.accept(self) }
1396
+ end
1397
+
1398
+ # Visit a UnlessNode node
1399
+ #
1400
+ #: (UnlessNode node) -> void
1401
+ def visit_unless_node(node)
1402
+ node.each_child_node { |node| node.accept(self) }
1403
+ end
1404
+
1405
+ # Visit a UntilNode node
1406
+ #
1407
+ #: (UntilNode node) -> void
1408
+ def visit_until_node(node)
1409
+ node.each_child_node { |node| node.accept(self) }
1410
+ end
1411
+
1412
+ # Visit a WhenNode node
1413
+ #
1414
+ #: (WhenNode node) -> void
1415
+ def visit_when_node(node)
1416
+ node.each_child_node { |node| node.accept(self) }
1417
+ end
1418
+
1419
+ # Visit a WhileNode node
1420
+ #
1421
+ #: (WhileNode node) -> void
1422
+ def visit_while_node(node)
1423
+ node.each_child_node { |node| node.accept(self) }
1424
+ end
1425
+
1426
+ # Visit a XStringNode node
1427
+ #
1428
+ #: (XStringNode node) -> void
1429
+ def visit_x_string_node(node)
1430
+ node.each_child_node { |node| node.accept(self) }
1431
+ end
1432
+
1433
+ # Visit a YieldNode node
1434
+ #
1435
+ #: (YieldNode node) -> void
1436
+ def visit_yield_node(node)
1437
+ node.each_child_node { |node| node.accept(self) }
1438
+ end
1439
+ end
1440
+ end