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,650 @@
1
+ # typed: true
2
+
3
+ module Prism
4
+ # A class that knows how to walk down the tree. None of the individual visit
5
+ # methods are implemented on this visitor, so it forces the consumer to
6
+ # implement each one that they need. For a default implementation that
7
+ # continues walking the tree, see the Visitor class.
8
+ class BasicVisitor
9
+ # Calls `accept` on the given node if it is not `nil`, which in turn should
10
+ # call back into this visitor by calling the appropriate `visit_*` method.
11
+ sig { params(node: ::T.nilable(Node)).void }
12
+ def visit(node); end
13
+
14
+ # Visits each node in `nodes` by calling `accept` on each one.
15
+ sig { params(nodes: T::Array[::T.nilable(Node)]).void }
16
+ def visit_all(nodes); end
17
+
18
+ # Visits the child nodes of `node` by calling `accept` on each one.
19
+ sig { params(node: Node).void }
20
+ def visit_child_nodes(node); end
21
+ end
22
+
23
+ # A visitor is a class that provides a default implementation for every accept
24
+ # method defined on the nodes. This means it can walk a tree without the
25
+ # caller needing to define any special handling. This allows you to handle a
26
+ # subset of the tree, while still walking the whole tree.
27
+ #
28
+ # For example, to find all of the method calls that call the `foo` method, you
29
+ # could write:
30
+ #
31
+ # class FooCalls < Prism::Visitor
32
+ # def visit_call_node(node)
33
+ # if node.name == :foo
34
+ # # Do something with the node
35
+ # end
36
+ #
37
+ # # Call super so that the visitor continues walking the tree
38
+ # super
39
+ # end
40
+ # end
41
+ class Visitor < BasicVisitor
42
+ # Visit a AliasGlobalVariableNode node
43
+ sig { params(node: AliasGlobalVariableNode).void }
44
+ def visit_alias_global_variable_node(node); end
45
+
46
+ # Visit a AliasMethodNode node
47
+ sig { params(node: AliasMethodNode).void }
48
+ def visit_alias_method_node(node); end
49
+
50
+ # Visit a AlternationPatternNode node
51
+ sig { params(node: AlternationPatternNode).void }
52
+ def visit_alternation_pattern_node(node); end
53
+
54
+ # Visit a AndNode node
55
+ sig { params(node: AndNode).void }
56
+ def visit_and_node(node); end
57
+
58
+ # Visit a ArgumentsNode node
59
+ sig { params(node: ArgumentsNode).void }
60
+ def visit_arguments_node(node); end
61
+
62
+ # Visit a ArrayNode node
63
+ sig { params(node: ArrayNode).void }
64
+ def visit_array_node(node); end
65
+
66
+ # Visit a ArrayPatternNode node
67
+ sig { params(node: ArrayPatternNode).void }
68
+ def visit_array_pattern_node(node); end
69
+
70
+ # Visit a AssocNode node
71
+ sig { params(node: AssocNode).void }
72
+ def visit_assoc_node(node); end
73
+
74
+ # Visit a AssocSplatNode node
75
+ sig { params(node: AssocSplatNode).void }
76
+ def visit_assoc_splat_node(node); end
77
+
78
+ # Visit a BackReferenceReadNode node
79
+ sig { params(node: BackReferenceReadNode).void }
80
+ def visit_back_reference_read_node(node); end
81
+
82
+ # Visit a BeginNode node
83
+ sig { params(node: BeginNode).void }
84
+ def visit_begin_node(node); end
85
+
86
+ # Visit a BlockArgumentNode node
87
+ sig { params(node: BlockArgumentNode).void }
88
+ def visit_block_argument_node(node); end
89
+
90
+ # Visit a BlockLocalVariableNode node
91
+ sig { params(node: BlockLocalVariableNode).void }
92
+ def visit_block_local_variable_node(node); end
93
+
94
+ # Visit a BlockNode node
95
+ sig { params(node: BlockNode).void }
96
+ def visit_block_node(node); end
97
+
98
+ # Visit a BlockParameterNode node
99
+ sig { params(node: BlockParameterNode).void }
100
+ def visit_block_parameter_node(node); end
101
+
102
+ # Visit a BlockParametersNode node
103
+ sig { params(node: BlockParametersNode).void }
104
+ def visit_block_parameters_node(node); end
105
+
106
+ # Visit a BreakNode node
107
+ sig { params(node: BreakNode).void }
108
+ def visit_break_node(node); end
109
+
110
+ # Visit a CallAndWriteNode node
111
+ sig { params(node: CallAndWriteNode).void }
112
+ def visit_call_and_write_node(node); end
113
+
114
+ # Visit a CallNode node
115
+ sig { params(node: CallNode).void }
116
+ def visit_call_node(node); end
117
+
118
+ # Visit a CallOperatorWriteNode node
119
+ sig { params(node: CallOperatorWriteNode).void }
120
+ def visit_call_operator_write_node(node); end
121
+
122
+ # Visit a CallOrWriteNode node
123
+ sig { params(node: CallOrWriteNode).void }
124
+ def visit_call_or_write_node(node); end
125
+
126
+ # Visit a CallTargetNode node
127
+ sig { params(node: CallTargetNode).void }
128
+ def visit_call_target_node(node); end
129
+
130
+ # Visit a CapturePatternNode node
131
+ sig { params(node: CapturePatternNode).void }
132
+ def visit_capture_pattern_node(node); end
133
+
134
+ # Visit a CaseMatchNode node
135
+ sig { params(node: CaseMatchNode).void }
136
+ def visit_case_match_node(node); end
137
+
138
+ # Visit a CaseNode node
139
+ sig { params(node: CaseNode).void }
140
+ def visit_case_node(node); end
141
+
142
+ # Visit a ClassNode node
143
+ sig { params(node: ClassNode).void }
144
+ def visit_class_node(node); end
145
+
146
+ # Visit a ClassVariableAndWriteNode node
147
+ sig { params(node: ClassVariableAndWriteNode).void }
148
+ def visit_class_variable_and_write_node(node); end
149
+
150
+ # Visit a ClassVariableOperatorWriteNode node
151
+ sig { params(node: ClassVariableOperatorWriteNode).void }
152
+ def visit_class_variable_operator_write_node(node); end
153
+
154
+ # Visit a ClassVariableOrWriteNode node
155
+ sig { params(node: ClassVariableOrWriteNode).void }
156
+ def visit_class_variable_or_write_node(node); end
157
+
158
+ # Visit a ClassVariableReadNode node
159
+ sig { params(node: ClassVariableReadNode).void }
160
+ def visit_class_variable_read_node(node); end
161
+
162
+ # Visit a ClassVariableTargetNode node
163
+ sig { params(node: ClassVariableTargetNode).void }
164
+ def visit_class_variable_target_node(node); end
165
+
166
+ # Visit a ClassVariableWriteNode node
167
+ sig { params(node: ClassVariableWriteNode).void }
168
+ def visit_class_variable_write_node(node); end
169
+
170
+ # Visit a ConstantAndWriteNode node
171
+ sig { params(node: ConstantAndWriteNode).void }
172
+ def visit_constant_and_write_node(node); end
173
+
174
+ # Visit a ConstantOperatorWriteNode node
175
+ sig { params(node: ConstantOperatorWriteNode).void }
176
+ def visit_constant_operator_write_node(node); end
177
+
178
+ # Visit a ConstantOrWriteNode node
179
+ sig { params(node: ConstantOrWriteNode).void }
180
+ def visit_constant_or_write_node(node); end
181
+
182
+ # Visit a ConstantPathAndWriteNode node
183
+ sig { params(node: ConstantPathAndWriteNode).void }
184
+ def visit_constant_path_and_write_node(node); end
185
+
186
+ # Visit a ConstantPathNode node
187
+ sig { params(node: ConstantPathNode).void }
188
+ def visit_constant_path_node(node); end
189
+
190
+ # Visit a ConstantPathOperatorWriteNode node
191
+ sig { params(node: ConstantPathOperatorWriteNode).void }
192
+ def visit_constant_path_operator_write_node(node); end
193
+
194
+ # Visit a ConstantPathOrWriteNode node
195
+ sig { params(node: ConstantPathOrWriteNode).void }
196
+ def visit_constant_path_or_write_node(node); end
197
+
198
+ # Visit a ConstantPathTargetNode node
199
+ sig { params(node: ConstantPathTargetNode).void }
200
+ def visit_constant_path_target_node(node); end
201
+
202
+ # Visit a ConstantPathWriteNode node
203
+ sig { params(node: ConstantPathWriteNode).void }
204
+ def visit_constant_path_write_node(node); end
205
+
206
+ # Visit a ConstantReadNode node
207
+ sig { params(node: ConstantReadNode).void }
208
+ def visit_constant_read_node(node); end
209
+
210
+ # Visit a ConstantTargetNode node
211
+ sig { params(node: ConstantTargetNode).void }
212
+ def visit_constant_target_node(node); end
213
+
214
+ # Visit a ConstantWriteNode node
215
+ sig { params(node: ConstantWriteNode).void }
216
+ def visit_constant_write_node(node); end
217
+
218
+ # Visit a DefNode node
219
+ sig { params(node: DefNode).void }
220
+ def visit_def_node(node); end
221
+
222
+ # Visit a DefinedNode node
223
+ sig { params(node: DefinedNode).void }
224
+ def visit_defined_node(node); end
225
+
226
+ # Visit a ElseNode node
227
+ sig { params(node: ElseNode).void }
228
+ def visit_else_node(node); end
229
+
230
+ # Visit a EmbeddedStatementsNode node
231
+ sig { params(node: EmbeddedStatementsNode).void }
232
+ def visit_embedded_statements_node(node); end
233
+
234
+ # Visit a EmbeddedVariableNode node
235
+ sig { params(node: EmbeddedVariableNode).void }
236
+ def visit_embedded_variable_node(node); end
237
+
238
+ # Visit a EnsureNode node
239
+ sig { params(node: EnsureNode).void }
240
+ def visit_ensure_node(node); end
241
+
242
+ # Visit a ErrorRecoveryNode node
243
+ sig { params(node: ErrorRecoveryNode).void }
244
+ def visit_error_recovery_node(node); end
245
+
246
+ # Visit a FalseNode node
247
+ sig { params(node: FalseNode).void }
248
+ def visit_false_node(node); end
249
+
250
+ # Visit a FindPatternNode node
251
+ sig { params(node: FindPatternNode).void }
252
+ def visit_find_pattern_node(node); end
253
+
254
+ # Visit a FlipFlopNode node
255
+ sig { params(node: FlipFlopNode).void }
256
+ def visit_flip_flop_node(node); end
257
+
258
+ # Visit a FloatNode node
259
+ sig { params(node: FloatNode).void }
260
+ def visit_float_node(node); end
261
+
262
+ # Visit a ForNode node
263
+ sig { params(node: ForNode).void }
264
+ def visit_for_node(node); end
265
+
266
+ # Visit a ForwardingArgumentsNode node
267
+ sig { params(node: ForwardingArgumentsNode).void }
268
+ def visit_forwarding_arguments_node(node); end
269
+
270
+ # Visit a ForwardingParameterNode node
271
+ sig { params(node: ForwardingParameterNode).void }
272
+ def visit_forwarding_parameter_node(node); end
273
+
274
+ # Visit a ForwardingSuperNode node
275
+ sig { params(node: ForwardingSuperNode).void }
276
+ def visit_forwarding_super_node(node); end
277
+
278
+ # Visit a GlobalVariableAndWriteNode node
279
+ sig { params(node: GlobalVariableAndWriteNode).void }
280
+ def visit_global_variable_and_write_node(node); end
281
+
282
+ # Visit a GlobalVariableOperatorWriteNode node
283
+ sig { params(node: GlobalVariableOperatorWriteNode).void }
284
+ def visit_global_variable_operator_write_node(node); end
285
+
286
+ # Visit a GlobalVariableOrWriteNode node
287
+ sig { params(node: GlobalVariableOrWriteNode).void }
288
+ def visit_global_variable_or_write_node(node); end
289
+
290
+ # Visit a GlobalVariableReadNode node
291
+ sig { params(node: GlobalVariableReadNode).void }
292
+ def visit_global_variable_read_node(node); end
293
+
294
+ # Visit a GlobalVariableTargetNode node
295
+ sig { params(node: GlobalVariableTargetNode).void }
296
+ def visit_global_variable_target_node(node); end
297
+
298
+ # Visit a GlobalVariableWriteNode node
299
+ sig { params(node: GlobalVariableWriteNode).void }
300
+ def visit_global_variable_write_node(node); end
301
+
302
+ # Visit a HashNode node
303
+ sig { params(node: HashNode).void }
304
+ def visit_hash_node(node); end
305
+
306
+ # Visit a HashPatternNode node
307
+ sig { params(node: HashPatternNode).void }
308
+ def visit_hash_pattern_node(node); end
309
+
310
+ # Visit a IfNode node
311
+ sig { params(node: IfNode).void }
312
+ def visit_if_node(node); end
313
+
314
+ # Visit a ImaginaryNode node
315
+ sig { params(node: ImaginaryNode).void }
316
+ def visit_imaginary_node(node); end
317
+
318
+ # Visit a ImplicitNode node
319
+ sig { params(node: ImplicitNode).void }
320
+ def visit_implicit_node(node); end
321
+
322
+ # Visit a ImplicitRestNode node
323
+ sig { params(node: ImplicitRestNode).void }
324
+ def visit_implicit_rest_node(node); end
325
+
326
+ # Visit a InNode node
327
+ sig { params(node: InNode).void }
328
+ def visit_in_node(node); end
329
+
330
+ # Visit a IndexAndWriteNode node
331
+ sig { params(node: IndexAndWriteNode).void }
332
+ def visit_index_and_write_node(node); end
333
+
334
+ # Visit a IndexOperatorWriteNode node
335
+ sig { params(node: IndexOperatorWriteNode).void }
336
+ def visit_index_operator_write_node(node); end
337
+
338
+ # Visit a IndexOrWriteNode node
339
+ sig { params(node: IndexOrWriteNode).void }
340
+ def visit_index_or_write_node(node); end
341
+
342
+ # Visit a IndexTargetNode node
343
+ sig { params(node: IndexTargetNode).void }
344
+ def visit_index_target_node(node); end
345
+
346
+ # Visit a InstanceVariableAndWriteNode node
347
+ sig { params(node: InstanceVariableAndWriteNode).void }
348
+ def visit_instance_variable_and_write_node(node); end
349
+
350
+ # Visit a InstanceVariableOperatorWriteNode node
351
+ sig { params(node: InstanceVariableOperatorWriteNode).void }
352
+ def visit_instance_variable_operator_write_node(node); end
353
+
354
+ # Visit a InstanceVariableOrWriteNode node
355
+ sig { params(node: InstanceVariableOrWriteNode).void }
356
+ def visit_instance_variable_or_write_node(node); end
357
+
358
+ # Visit a InstanceVariableReadNode node
359
+ sig { params(node: InstanceVariableReadNode).void }
360
+ def visit_instance_variable_read_node(node); end
361
+
362
+ # Visit a InstanceVariableTargetNode node
363
+ sig { params(node: InstanceVariableTargetNode).void }
364
+ def visit_instance_variable_target_node(node); end
365
+
366
+ # Visit a InstanceVariableWriteNode node
367
+ sig { params(node: InstanceVariableWriteNode).void }
368
+ def visit_instance_variable_write_node(node); end
369
+
370
+ # Visit a IntegerNode node
371
+ sig { params(node: IntegerNode).void }
372
+ def visit_integer_node(node); end
373
+
374
+ # Visit a InterpolatedMatchLastLineNode node
375
+ sig { params(node: InterpolatedMatchLastLineNode).void }
376
+ def visit_interpolated_match_last_line_node(node); end
377
+
378
+ # Visit a InterpolatedRegularExpressionNode node
379
+ sig { params(node: InterpolatedRegularExpressionNode).void }
380
+ def visit_interpolated_regular_expression_node(node); end
381
+
382
+ # Visit a InterpolatedStringNode node
383
+ sig { params(node: InterpolatedStringNode).void }
384
+ def visit_interpolated_string_node(node); end
385
+
386
+ # Visit a InterpolatedSymbolNode node
387
+ sig { params(node: InterpolatedSymbolNode).void }
388
+ def visit_interpolated_symbol_node(node); end
389
+
390
+ # Visit a InterpolatedXStringNode node
391
+ sig { params(node: InterpolatedXStringNode).void }
392
+ def visit_interpolated_x_string_node(node); end
393
+
394
+ # Visit a ItLocalVariableReadNode node
395
+ sig { params(node: ItLocalVariableReadNode).void }
396
+ def visit_it_local_variable_read_node(node); end
397
+
398
+ # Visit a ItParametersNode node
399
+ sig { params(node: ItParametersNode).void }
400
+ def visit_it_parameters_node(node); end
401
+
402
+ # Visit a KeywordHashNode node
403
+ sig { params(node: KeywordHashNode).void }
404
+ def visit_keyword_hash_node(node); end
405
+
406
+ # Visit a KeywordRestParameterNode node
407
+ sig { params(node: KeywordRestParameterNode).void }
408
+ def visit_keyword_rest_parameter_node(node); end
409
+
410
+ # Visit a LambdaNode node
411
+ sig { params(node: LambdaNode).void }
412
+ def visit_lambda_node(node); end
413
+
414
+ # Visit a LocalVariableAndWriteNode node
415
+ sig { params(node: LocalVariableAndWriteNode).void }
416
+ def visit_local_variable_and_write_node(node); end
417
+
418
+ # Visit a LocalVariableOperatorWriteNode node
419
+ sig { params(node: LocalVariableOperatorWriteNode).void }
420
+ def visit_local_variable_operator_write_node(node); end
421
+
422
+ # Visit a LocalVariableOrWriteNode node
423
+ sig { params(node: LocalVariableOrWriteNode).void }
424
+ def visit_local_variable_or_write_node(node); end
425
+
426
+ # Visit a LocalVariableReadNode node
427
+ sig { params(node: LocalVariableReadNode).void }
428
+ def visit_local_variable_read_node(node); end
429
+
430
+ # Visit a LocalVariableTargetNode node
431
+ sig { params(node: LocalVariableTargetNode).void }
432
+ def visit_local_variable_target_node(node); end
433
+
434
+ # Visit a LocalVariableWriteNode node
435
+ sig { params(node: LocalVariableWriteNode).void }
436
+ def visit_local_variable_write_node(node); end
437
+
438
+ # Visit a MatchLastLineNode node
439
+ sig { params(node: MatchLastLineNode).void }
440
+ def visit_match_last_line_node(node); end
441
+
442
+ # Visit a MatchPredicateNode node
443
+ sig { params(node: MatchPredicateNode).void }
444
+ def visit_match_predicate_node(node); end
445
+
446
+ # Visit a MatchRequiredNode node
447
+ sig { params(node: MatchRequiredNode).void }
448
+ def visit_match_required_node(node); end
449
+
450
+ # Visit a MatchWriteNode node
451
+ sig { params(node: MatchWriteNode).void }
452
+ def visit_match_write_node(node); end
453
+
454
+ # Visit a ModuleNode node
455
+ sig { params(node: ModuleNode).void }
456
+ def visit_module_node(node); end
457
+
458
+ # Visit a MultiTargetNode node
459
+ sig { params(node: MultiTargetNode).void }
460
+ def visit_multi_target_node(node); end
461
+
462
+ # Visit a MultiWriteNode node
463
+ sig { params(node: MultiWriteNode).void }
464
+ def visit_multi_write_node(node); end
465
+
466
+ # Visit a NextNode node
467
+ sig { params(node: NextNode).void }
468
+ def visit_next_node(node); end
469
+
470
+ # Visit a NilNode node
471
+ sig { params(node: NilNode).void }
472
+ def visit_nil_node(node); end
473
+
474
+ # Visit a NoBlockParameterNode node
475
+ sig { params(node: NoBlockParameterNode).void }
476
+ def visit_no_block_parameter_node(node); end
477
+
478
+ # Visit a NoKeywordsParameterNode node
479
+ sig { params(node: NoKeywordsParameterNode).void }
480
+ def visit_no_keywords_parameter_node(node); end
481
+
482
+ # Visit a NumberedParametersNode node
483
+ sig { params(node: NumberedParametersNode).void }
484
+ def visit_numbered_parameters_node(node); end
485
+
486
+ # Visit a NumberedReferenceReadNode node
487
+ sig { params(node: NumberedReferenceReadNode).void }
488
+ def visit_numbered_reference_read_node(node); end
489
+
490
+ # Visit a OptionalKeywordParameterNode node
491
+ sig { params(node: OptionalKeywordParameterNode).void }
492
+ def visit_optional_keyword_parameter_node(node); end
493
+
494
+ # Visit a OptionalParameterNode node
495
+ sig { params(node: OptionalParameterNode).void }
496
+ def visit_optional_parameter_node(node); end
497
+
498
+ # Visit a OrNode node
499
+ sig { params(node: OrNode).void }
500
+ def visit_or_node(node); end
501
+
502
+ # Visit a ParametersNode node
503
+ sig { params(node: ParametersNode).void }
504
+ def visit_parameters_node(node); end
505
+
506
+ # Visit a ParenthesesNode node
507
+ sig { params(node: ParenthesesNode).void }
508
+ def visit_parentheses_node(node); end
509
+
510
+ # Visit a PinnedExpressionNode node
511
+ sig { params(node: PinnedExpressionNode).void }
512
+ def visit_pinned_expression_node(node); end
513
+
514
+ # Visit a PinnedVariableNode node
515
+ sig { params(node: PinnedVariableNode).void }
516
+ def visit_pinned_variable_node(node); end
517
+
518
+ # Visit a PostExecutionNode node
519
+ sig { params(node: PostExecutionNode).void }
520
+ def visit_post_execution_node(node); end
521
+
522
+ # Visit a PreExecutionNode node
523
+ sig { params(node: PreExecutionNode).void }
524
+ def visit_pre_execution_node(node); end
525
+
526
+ # Visit a ProgramNode node
527
+ sig { params(node: ProgramNode).void }
528
+ def visit_program_node(node); end
529
+
530
+ # Visit a RangeNode node
531
+ sig { params(node: RangeNode).void }
532
+ def visit_range_node(node); end
533
+
534
+ # Visit a RationalNode node
535
+ sig { params(node: RationalNode).void }
536
+ def visit_rational_node(node); end
537
+
538
+ # Visit a RedoNode node
539
+ sig { params(node: RedoNode).void }
540
+ def visit_redo_node(node); end
541
+
542
+ # Visit a RegularExpressionNode node
543
+ sig { params(node: RegularExpressionNode).void }
544
+ def visit_regular_expression_node(node); end
545
+
546
+ # Visit a RequiredKeywordParameterNode node
547
+ sig { params(node: RequiredKeywordParameterNode).void }
548
+ def visit_required_keyword_parameter_node(node); end
549
+
550
+ # Visit a RequiredParameterNode node
551
+ sig { params(node: RequiredParameterNode).void }
552
+ def visit_required_parameter_node(node); end
553
+
554
+ # Visit a RescueModifierNode node
555
+ sig { params(node: RescueModifierNode).void }
556
+ def visit_rescue_modifier_node(node); end
557
+
558
+ # Visit a RescueNode node
559
+ sig { params(node: RescueNode).void }
560
+ def visit_rescue_node(node); end
561
+
562
+ # Visit a RestParameterNode node
563
+ sig { params(node: RestParameterNode).void }
564
+ def visit_rest_parameter_node(node); end
565
+
566
+ # Visit a RetryNode node
567
+ sig { params(node: RetryNode).void }
568
+ def visit_retry_node(node); end
569
+
570
+ # Visit a ReturnNode node
571
+ sig { params(node: ReturnNode).void }
572
+ def visit_return_node(node); end
573
+
574
+ # Visit a SelfNode node
575
+ sig { params(node: SelfNode).void }
576
+ def visit_self_node(node); end
577
+
578
+ # Visit a ShareableConstantNode node
579
+ sig { params(node: ShareableConstantNode).void }
580
+ def visit_shareable_constant_node(node); end
581
+
582
+ # Visit a SingletonClassNode node
583
+ sig { params(node: SingletonClassNode).void }
584
+ def visit_singleton_class_node(node); end
585
+
586
+ # Visit a SourceEncodingNode node
587
+ sig { params(node: SourceEncodingNode).void }
588
+ def visit_source_encoding_node(node); end
589
+
590
+ # Visit a SourceFileNode node
591
+ sig { params(node: SourceFileNode).void }
592
+ def visit_source_file_node(node); end
593
+
594
+ # Visit a SourceLineNode node
595
+ sig { params(node: SourceLineNode).void }
596
+ def visit_source_line_node(node); end
597
+
598
+ # Visit a SplatNode node
599
+ sig { params(node: SplatNode).void }
600
+ def visit_splat_node(node); end
601
+
602
+ # Visit a StatementsNode node
603
+ sig { params(node: StatementsNode).void }
604
+ def visit_statements_node(node); end
605
+
606
+ # Visit a StringNode node
607
+ sig { params(node: StringNode).void }
608
+ def visit_string_node(node); end
609
+
610
+ # Visit a SuperNode node
611
+ sig { params(node: SuperNode).void }
612
+ def visit_super_node(node); end
613
+
614
+ # Visit a SymbolNode node
615
+ sig { params(node: SymbolNode).void }
616
+ def visit_symbol_node(node); end
617
+
618
+ # Visit a TrueNode node
619
+ sig { params(node: TrueNode).void }
620
+ def visit_true_node(node); end
621
+
622
+ # Visit a UndefNode node
623
+ sig { params(node: UndefNode).void }
624
+ def visit_undef_node(node); end
625
+
626
+ # Visit a UnlessNode node
627
+ sig { params(node: UnlessNode).void }
628
+ def visit_unless_node(node); end
629
+
630
+ # Visit a UntilNode node
631
+ sig { params(node: UntilNode).void }
632
+ def visit_until_node(node); end
633
+
634
+ # Visit a WhenNode node
635
+ sig { params(node: WhenNode).void }
636
+ def visit_when_node(node); end
637
+
638
+ # Visit a WhileNode node
639
+ sig { params(node: WhileNode).void }
640
+ def visit_while_node(node); end
641
+
642
+ # Visit a XStringNode node
643
+ sig { params(node: XStringNode).void }
644
+ def visit_x_string_node(node); end
645
+
646
+ # Visit a YieldNode node
647
+ sig { params(node: YieldNode).void }
648
+ def visit_yield_node(node); end
649
+ end
650
+ end