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,1292 @@
1
+ # Generated from lib/prism/dispatcher.rb with RBS::Inline
2
+
3
+ module Prism
4
+ # The dispatcher class fires events for nodes that are found while walking an
5
+ # AST to all registered listeners. It's useful for performing different types
6
+ # of analysis on the AST while only having to walk the tree once.
7
+ #
8
+ # To use the dispatcher, you would first instantiate it and register listeners
9
+ # for the events you're interested in:
10
+ #
11
+ # class OctalListener
12
+ # def on_integer_node_enter(node)
13
+ # if node.octal? && !node.slice.start_with?("0o")
14
+ # warn("Octal integers should be written with the 0o prefix")
15
+ # end
16
+ # end
17
+ # end
18
+ #
19
+ # listener = OctalListener.new
20
+ # dispatcher = Prism::Dispatcher.new
21
+ # dispatcher.register(listener, :on_integer_node_enter)
22
+ #
23
+ # Then, you can walk any number of trees and dispatch events to the listeners:
24
+ #
25
+ # result = Prism.parse("001 + 002 + 003")
26
+ # dispatcher.dispatch(result.value)
27
+ #
28
+ # Optionally, you can also use `#dispatch_once` to dispatch enter and leave
29
+ # events for a single node without recursing further down the tree. This can
30
+ # be useful in circumstances where you want to reuse the listeners you already
31
+ # have registers but want to stop walking the tree at a certain point.
32
+ #
33
+ # integer = result.value.statements.body.first.receiver.receiver
34
+ # dispatcher.dispatch_once(integer)
35
+ class Dispatcher < Visitor
36
+ # A hash mapping event names to arrays of listeners that should be notified
37
+ # when that event is fired.
38
+ attr_reader listeners: Hash[Symbol, Array[untyped]]
39
+
40
+ # Initialize a new dispatcher.
41
+ #
42
+ # : () -> void
43
+ def initialize: () -> void
44
+
45
+ # Register a listener for one or more events.
46
+ #
47
+ # : (untyped, *Symbol) -> void
48
+ def register: (untyped, *Symbol) -> void
49
+
50
+ # Register all public methods of a listener that match the pattern
51
+ # `on_<node_name>_(enter|leave)`.
52
+ #
53
+ # : (untyped) -> void
54
+ def register_public_methods: (untyped) -> void
55
+
56
+ # Register a listener for the given events.
57
+ #
58
+ # : (untyped, Array[Symbol]) -> void
59
+ private def register_events: (untyped, Array[Symbol]) -> void
60
+
61
+ # Walks `root` dispatching events to all registered listeners.
62
+ alias dispatch visit
63
+
64
+ # Dispatches a single event for `node` to all registered listeners.
65
+ #
66
+ # : (node node) -> void
67
+ def dispatch_once: (node node) -> void
68
+
69
+ # : (AliasGlobalVariableNode node) -> void
70
+ def visit_alias_global_variable_node: (AliasGlobalVariableNode node) -> void
71
+
72
+ # : (AliasMethodNode node) -> void
73
+ def visit_alias_method_node: (AliasMethodNode node) -> void
74
+
75
+ # : (AlternationPatternNode node) -> void
76
+ def visit_alternation_pattern_node: (AlternationPatternNode node) -> void
77
+
78
+ # : (AndNode node) -> void
79
+ def visit_and_node: (AndNode node) -> void
80
+
81
+ # : (ArgumentsNode node) -> void
82
+ def visit_arguments_node: (ArgumentsNode node) -> void
83
+
84
+ # : (ArrayNode node) -> void
85
+ def visit_array_node: (ArrayNode node) -> void
86
+
87
+ # : (ArrayPatternNode node) -> void
88
+ def visit_array_pattern_node: (ArrayPatternNode node) -> void
89
+
90
+ # : (AssocNode node) -> void
91
+ def visit_assoc_node: (AssocNode node) -> void
92
+
93
+ # : (AssocSplatNode node) -> void
94
+ def visit_assoc_splat_node: (AssocSplatNode node) -> void
95
+
96
+ # : (BackReferenceReadNode node) -> void
97
+ def visit_back_reference_read_node: (BackReferenceReadNode node) -> void
98
+
99
+ # : (BeginNode node) -> void
100
+ def visit_begin_node: (BeginNode node) -> void
101
+
102
+ # : (BlockArgumentNode node) -> void
103
+ def visit_block_argument_node: (BlockArgumentNode node) -> void
104
+
105
+ # : (BlockLocalVariableNode node) -> void
106
+ def visit_block_local_variable_node: (BlockLocalVariableNode node) -> void
107
+
108
+ # : (BlockNode node) -> void
109
+ def visit_block_node: (BlockNode node) -> void
110
+
111
+ # : (BlockParameterNode node) -> void
112
+ def visit_block_parameter_node: (BlockParameterNode node) -> void
113
+
114
+ # : (BlockParametersNode node) -> void
115
+ def visit_block_parameters_node: (BlockParametersNode node) -> void
116
+
117
+ # : (BreakNode node) -> void
118
+ def visit_break_node: (BreakNode node) -> void
119
+
120
+ # : (CallAndWriteNode node) -> void
121
+ def visit_call_and_write_node: (CallAndWriteNode node) -> void
122
+
123
+ # : (CallNode node) -> void
124
+ def visit_call_node: (CallNode node) -> void
125
+
126
+ # : (CallOperatorWriteNode node) -> void
127
+ def visit_call_operator_write_node: (CallOperatorWriteNode node) -> void
128
+
129
+ # : (CallOrWriteNode node) -> void
130
+ def visit_call_or_write_node: (CallOrWriteNode node) -> void
131
+
132
+ # : (CallTargetNode node) -> void
133
+ def visit_call_target_node: (CallTargetNode node) -> void
134
+
135
+ # : (CapturePatternNode node) -> void
136
+ def visit_capture_pattern_node: (CapturePatternNode node) -> void
137
+
138
+ # : (CaseMatchNode node) -> void
139
+ def visit_case_match_node: (CaseMatchNode node) -> void
140
+
141
+ # : (CaseNode node) -> void
142
+ def visit_case_node: (CaseNode node) -> void
143
+
144
+ # : (ClassNode node) -> void
145
+ def visit_class_node: (ClassNode node) -> void
146
+
147
+ # : (ClassVariableAndWriteNode node) -> void
148
+ def visit_class_variable_and_write_node: (ClassVariableAndWriteNode node) -> void
149
+
150
+ # : (ClassVariableOperatorWriteNode node) -> void
151
+ def visit_class_variable_operator_write_node: (ClassVariableOperatorWriteNode node) -> void
152
+
153
+ # : (ClassVariableOrWriteNode node) -> void
154
+ def visit_class_variable_or_write_node: (ClassVariableOrWriteNode node) -> void
155
+
156
+ # : (ClassVariableReadNode node) -> void
157
+ def visit_class_variable_read_node: (ClassVariableReadNode node) -> void
158
+
159
+ # : (ClassVariableTargetNode node) -> void
160
+ def visit_class_variable_target_node: (ClassVariableTargetNode node) -> void
161
+
162
+ # : (ClassVariableWriteNode node) -> void
163
+ def visit_class_variable_write_node: (ClassVariableWriteNode node) -> void
164
+
165
+ # : (ConstantAndWriteNode node) -> void
166
+ def visit_constant_and_write_node: (ConstantAndWriteNode node) -> void
167
+
168
+ # : (ConstantOperatorWriteNode node) -> void
169
+ def visit_constant_operator_write_node: (ConstantOperatorWriteNode node) -> void
170
+
171
+ # : (ConstantOrWriteNode node) -> void
172
+ def visit_constant_or_write_node: (ConstantOrWriteNode node) -> void
173
+
174
+ # : (ConstantPathAndWriteNode node) -> void
175
+ def visit_constant_path_and_write_node: (ConstantPathAndWriteNode node) -> void
176
+
177
+ # : (ConstantPathNode node) -> void
178
+ def visit_constant_path_node: (ConstantPathNode node) -> void
179
+
180
+ # : (ConstantPathOperatorWriteNode node) -> void
181
+ def visit_constant_path_operator_write_node: (ConstantPathOperatorWriteNode node) -> void
182
+
183
+ # : (ConstantPathOrWriteNode node) -> void
184
+ def visit_constant_path_or_write_node: (ConstantPathOrWriteNode node) -> void
185
+
186
+ # : (ConstantPathTargetNode node) -> void
187
+ def visit_constant_path_target_node: (ConstantPathTargetNode node) -> void
188
+
189
+ # : (ConstantPathWriteNode node) -> void
190
+ def visit_constant_path_write_node: (ConstantPathWriteNode node) -> void
191
+
192
+ # : (ConstantReadNode node) -> void
193
+ def visit_constant_read_node: (ConstantReadNode node) -> void
194
+
195
+ # : (ConstantTargetNode node) -> void
196
+ def visit_constant_target_node: (ConstantTargetNode node) -> void
197
+
198
+ # : (ConstantWriteNode node) -> void
199
+ def visit_constant_write_node: (ConstantWriteNode node) -> void
200
+
201
+ # : (DefNode node) -> void
202
+ def visit_def_node: (DefNode node) -> void
203
+
204
+ # : (DefinedNode node) -> void
205
+ def visit_defined_node: (DefinedNode node) -> void
206
+
207
+ # : (ElseNode node) -> void
208
+ def visit_else_node: (ElseNode node) -> void
209
+
210
+ # : (EmbeddedStatementsNode node) -> void
211
+ def visit_embedded_statements_node: (EmbeddedStatementsNode node) -> void
212
+
213
+ # : (EmbeddedVariableNode node) -> void
214
+ def visit_embedded_variable_node: (EmbeddedVariableNode node) -> void
215
+
216
+ # : (EnsureNode node) -> void
217
+ def visit_ensure_node: (EnsureNode node) -> void
218
+
219
+ # : (ErrorRecoveryNode node) -> void
220
+ def visit_error_recovery_node: (ErrorRecoveryNode node) -> void
221
+
222
+ # : (FalseNode node) -> void
223
+ def visit_false_node: (FalseNode node) -> void
224
+
225
+ # : (FindPatternNode node) -> void
226
+ def visit_find_pattern_node: (FindPatternNode node) -> void
227
+
228
+ # : (FlipFlopNode node) -> void
229
+ def visit_flip_flop_node: (FlipFlopNode node) -> void
230
+
231
+ # : (FloatNode node) -> void
232
+ def visit_float_node: (FloatNode node) -> void
233
+
234
+ # : (ForNode node) -> void
235
+ def visit_for_node: (ForNode node) -> void
236
+
237
+ # : (ForwardingArgumentsNode node) -> void
238
+ def visit_forwarding_arguments_node: (ForwardingArgumentsNode node) -> void
239
+
240
+ # : (ForwardingParameterNode node) -> void
241
+ def visit_forwarding_parameter_node: (ForwardingParameterNode node) -> void
242
+
243
+ # : (ForwardingSuperNode node) -> void
244
+ def visit_forwarding_super_node: (ForwardingSuperNode node) -> void
245
+
246
+ # : (GlobalVariableAndWriteNode node) -> void
247
+ def visit_global_variable_and_write_node: (GlobalVariableAndWriteNode node) -> void
248
+
249
+ # : (GlobalVariableOperatorWriteNode node) -> void
250
+ def visit_global_variable_operator_write_node: (GlobalVariableOperatorWriteNode node) -> void
251
+
252
+ # : (GlobalVariableOrWriteNode node) -> void
253
+ def visit_global_variable_or_write_node: (GlobalVariableOrWriteNode node) -> void
254
+
255
+ # : (GlobalVariableReadNode node) -> void
256
+ def visit_global_variable_read_node: (GlobalVariableReadNode node) -> void
257
+
258
+ # : (GlobalVariableTargetNode node) -> void
259
+ def visit_global_variable_target_node: (GlobalVariableTargetNode node) -> void
260
+
261
+ # : (GlobalVariableWriteNode node) -> void
262
+ def visit_global_variable_write_node: (GlobalVariableWriteNode node) -> void
263
+
264
+ # : (HashNode node) -> void
265
+ def visit_hash_node: (HashNode node) -> void
266
+
267
+ # : (HashPatternNode node) -> void
268
+ def visit_hash_pattern_node: (HashPatternNode node) -> void
269
+
270
+ # : (IfNode node) -> void
271
+ def visit_if_node: (IfNode node) -> void
272
+
273
+ # : (ImaginaryNode node) -> void
274
+ def visit_imaginary_node: (ImaginaryNode node) -> void
275
+
276
+ # : (ImplicitNode node) -> void
277
+ def visit_implicit_node: (ImplicitNode node) -> void
278
+
279
+ # : (ImplicitRestNode node) -> void
280
+ def visit_implicit_rest_node: (ImplicitRestNode node) -> void
281
+
282
+ # : (InNode node) -> void
283
+ def visit_in_node: (InNode node) -> void
284
+
285
+ # : (IndexAndWriteNode node) -> void
286
+ def visit_index_and_write_node: (IndexAndWriteNode node) -> void
287
+
288
+ # : (IndexOperatorWriteNode node) -> void
289
+ def visit_index_operator_write_node: (IndexOperatorWriteNode node) -> void
290
+
291
+ # : (IndexOrWriteNode node) -> void
292
+ def visit_index_or_write_node: (IndexOrWriteNode node) -> void
293
+
294
+ # : (IndexTargetNode node) -> void
295
+ def visit_index_target_node: (IndexTargetNode node) -> void
296
+
297
+ # : (InstanceVariableAndWriteNode node) -> void
298
+ def visit_instance_variable_and_write_node: (InstanceVariableAndWriteNode node) -> void
299
+
300
+ # : (InstanceVariableOperatorWriteNode node) -> void
301
+ def visit_instance_variable_operator_write_node: (InstanceVariableOperatorWriteNode node) -> void
302
+
303
+ # : (InstanceVariableOrWriteNode node) -> void
304
+ def visit_instance_variable_or_write_node: (InstanceVariableOrWriteNode node) -> void
305
+
306
+ # : (InstanceVariableReadNode node) -> void
307
+ def visit_instance_variable_read_node: (InstanceVariableReadNode node) -> void
308
+
309
+ # : (InstanceVariableTargetNode node) -> void
310
+ def visit_instance_variable_target_node: (InstanceVariableTargetNode node) -> void
311
+
312
+ # : (InstanceVariableWriteNode node) -> void
313
+ def visit_instance_variable_write_node: (InstanceVariableWriteNode node) -> void
314
+
315
+ # : (IntegerNode node) -> void
316
+ def visit_integer_node: (IntegerNode node) -> void
317
+
318
+ # : (InterpolatedMatchLastLineNode node) -> void
319
+ def visit_interpolated_match_last_line_node: (InterpolatedMatchLastLineNode node) -> void
320
+
321
+ # : (InterpolatedRegularExpressionNode node) -> void
322
+ def visit_interpolated_regular_expression_node: (InterpolatedRegularExpressionNode node) -> void
323
+
324
+ # : (InterpolatedStringNode node) -> void
325
+ def visit_interpolated_string_node: (InterpolatedStringNode node) -> void
326
+
327
+ # : (InterpolatedSymbolNode node) -> void
328
+ def visit_interpolated_symbol_node: (InterpolatedSymbolNode node) -> void
329
+
330
+ # : (InterpolatedXStringNode node) -> void
331
+ def visit_interpolated_x_string_node: (InterpolatedXStringNode node) -> void
332
+
333
+ # : (ItLocalVariableReadNode node) -> void
334
+ def visit_it_local_variable_read_node: (ItLocalVariableReadNode node) -> void
335
+
336
+ # : (ItParametersNode node) -> void
337
+ def visit_it_parameters_node: (ItParametersNode node) -> void
338
+
339
+ # : (KeywordHashNode node) -> void
340
+ def visit_keyword_hash_node: (KeywordHashNode node) -> void
341
+
342
+ # : (KeywordRestParameterNode node) -> void
343
+ def visit_keyword_rest_parameter_node: (KeywordRestParameterNode node) -> void
344
+
345
+ # : (LambdaNode node) -> void
346
+ def visit_lambda_node: (LambdaNode node) -> void
347
+
348
+ # : (LocalVariableAndWriteNode node) -> void
349
+ def visit_local_variable_and_write_node: (LocalVariableAndWriteNode node) -> void
350
+
351
+ # : (LocalVariableOperatorWriteNode node) -> void
352
+ def visit_local_variable_operator_write_node: (LocalVariableOperatorWriteNode node) -> void
353
+
354
+ # : (LocalVariableOrWriteNode node) -> void
355
+ def visit_local_variable_or_write_node: (LocalVariableOrWriteNode node) -> void
356
+
357
+ # : (LocalVariableReadNode node) -> void
358
+ def visit_local_variable_read_node: (LocalVariableReadNode node) -> void
359
+
360
+ # : (LocalVariableTargetNode node) -> void
361
+ def visit_local_variable_target_node: (LocalVariableTargetNode node) -> void
362
+
363
+ # : (LocalVariableWriteNode node) -> void
364
+ def visit_local_variable_write_node: (LocalVariableWriteNode node) -> void
365
+
366
+ # : (MatchLastLineNode node) -> void
367
+ def visit_match_last_line_node: (MatchLastLineNode node) -> void
368
+
369
+ # : (MatchPredicateNode node) -> void
370
+ def visit_match_predicate_node: (MatchPredicateNode node) -> void
371
+
372
+ # : (MatchRequiredNode node) -> void
373
+ def visit_match_required_node: (MatchRequiredNode node) -> void
374
+
375
+ # : (MatchWriteNode node) -> void
376
+ def visit_match_write_node: (MatchWriteNode node) -> void
377
+
378
+ # : (ModuleNode node) -> void
379
+ def visit_module_node: (ModuleNode node) -> void
380
+
381
+ # : (MultiTargetNode node) -> void
382
+ def visit_multi_target_node: (MultiTargetNode node) -> void
383
+
384
+ # : (MultiWriteNode node) -> void
385
+ def visit_multi_write_node: (MultiWriteNode node) -> void
386
+
387
+ # : (NextNode node) -> void
388
+ def visit_next_node: (NextNode node) -> void
389
+
390
+ # : (NilNode node) -> void
391
+ def visit_nil_node: (NilNode node) -> void
392
+
393
+ # : (NoBlockParameterNode node) -> void
394
+ def visit_no_block_parameter_node: (NoBlockParameterNode node) -> void
395
+
396
+ # : (NoKeywordsParameterNode node) -> void
397
+ def visit_no_keywords_parameter_node: (NoKeywordsParameterNode node) -> void
398
+
399
+ # : (NumberedParametersNode node) -> void
400
+ def visit_numbered_parameters_node: (NumberedParametersNode node) -> void
401
+
402
+ # : (NumberedReferenceReadNode node) -> void
403
+ def visit_numbered_reference_read_node: (NumberedReferenceReadNode node) -> void
404
+
405
+ # : (OptionalKeywordParameterNode node) -> void
406
+ def visit_optional_keyword_parameter_node: (OptionalKeywordParameterNode node) -> void
407
+
408
+ # : (OptionalParameterNode node) -> void
409
+ def visit_optional_parameter_node: (OptionalParameterNode node) -> void
410
+
411
+ # : (OrNode node) -> void
412
+ def visit_or_node: (OrNode node) -> void
413
+
414
+ # : (ParametersNode node) -> void
415
+ def visit_parameters_node: (ParametersNode node) -> void
416
+
417
+ # : (ParenthesesNode node) -> void
418
+ def visit_parentheses_node: (ParenthesesNode node) -> void
419
+
420
+ # : (PinnedExpressionNode node) -> void
421
+ def visit_pinned_expression_node: (PinnedExpressionNode node) -> void
422
+
423
+ # : (PinnedVariableNode node) -> void
424
+ def visit_pinned_variable_node: (PinnedVariableNode node) -> void
425
+
426
+ # : (PostExecutionNode node) -> void
427
+ def visit_post_execution_node: (PostExecutionNode node) -> void
428
+
429
+ # : (PreExecutionNode node) -> void
430
+ def visit_pre_execution_node: (PreExecutionNode node) -> void
431
+
432
+ # : (ProgramNode node) -> void
433
+ def visit_program_node: (ProgramNode node) -> void
434
+
435
+ # : (RangeNode node) -> void
436
+ def visit_range_node: (RangeNode node) -> void
437
+
438
+ # : (RationalNode node) -> void
439
+ def visit_rational_node: (RationalNode node) -> void
440
+
441
+ # : (RedoNode node) -> void
442
+ def visit_redo_node: (RedoNode node) -> void
443
+
444
+ # : (RegularExpressionNode node) -> void
445
+ def visit_regular_expression_node: (RegularExpressionNode node) -> void
446
+
447
+ # : (RequiredKeywordParameterNode node) -> void
448
+ def visit_required_keyword_parameter_node: (RequiredKeywordParameterNode node) -> void
449
+
450
+ # : (RequiredParameterNode node) -> void
451
+ def visit_required_parameter_node: (RequiredParameterNode node) -> void
452
+
453
+ # : (RescueModifierNode node) -> void
454
+ def visit_rescue_modifier_node: (RescueModifierNode node) -> void
455
+
456
+ # : (RescueNode node) -> void
457
+ def visit_rescue_node: (RescueNode node) -> void
458
+
459
+ # : (RestParameterNode node) -> void
460
+ def visit_rest_parameter_node: (RestParameterNode node) -> void
461
+
462
+ # : (RetryNode node) -> void
463
+ def visit_retry_node: (RetryNode node) -> void
464
+
465
+ # : (ReturnNode node) -> void
466
+ def visit_return_node: (ReturnNode node) -> void
467
+
468
+ # : (SelfNode node) -> void
469
+ def visit_self_node: (SelfNode node) -> void
470
+
471
+ # : (ShareableConstantNode node) -> void
472
+ def visit_shareable_constant_node: (ShareableConstantNode node) -> void
473
+
474
+ # : (SingletonClassNode node) -> void
475
+ def visit_singleton_class_node: (SingletonClassNode node) -> void
476
+
477
+ # : (SourceEncodingNode node) -> void
478
+ def visit_source_encoding_node: (SourceEncodingNode node) -> void
479
+
480
+ # : (SourceFileNode node) -> void
481
+ def visit_source_file_node: (SourceFileNode node) -> void
482
+
483
+ # : (SourceLineNode node) -> void
484
+ def visit_source_line_node: (SourceLineNode node) -> void
485
+
486
+ # : (SplatNode node) -> void
487
+ def visit_splat_node: (SplatNode node) -> void
488
+
489
+ # : (StatementsNode node) -> void
490
+ def visit_statements_node: (StatementsNode node) -> void
491
+
492
+ # : (StringNode node) -> void
493
+ def visit_string_node: (StringNode node) -> void
494
+
495
+ # : (SuperNode node) -> void
496
+ def visit_super_node: (SuperNode node) -> void
497
+
498
+ # : (SymbolNode node) -> void
499
+ def visit_symbol_node: (SymbolNode node) -> void
500
+
501
+ # : (TrueNode node) -> void
502
+ def visit_true_node: (TrueNode node) -> void
503
+
504
+ # : (UndefNode node) -> void
505
+ def visit_undef_node: (UndefNode node) -> void
506
+
507
+ # : (UnlessNode node) -> void
508
+ def visit_unless_node: (UnlessNode node) -> void
509
+
510
+ # : (UntilNode node) -> void
511
+ def visit_until_node: (UntilNode node) -> void
512
+
513
+ # : (WhenNode node) -> void
514
+ def visit_when_node: (WhenNode node) -> void
515
+
516
+ # : (WhileNode node) -> void
517
+ def visit_while_node: (WhileNode node) -> void
518
+
519
+ # : (XStringNode node) -> void
520
+ def visit_x_string_node: (XStringNode node) -> void
521
+
522
+ # : (YieldNode node) -> void
523
+ def visit_yield_node: (YieldNode node) -> void
524
+
525
+ class DispatchOnce < Visitor
526
+ attr_reader listeners: Hash[Symbol, Array[untyped]]
527
+
528
+ # : (Hash[Symbol, Array[untyped]] listeners) -> void
529
+ def initialize: (Hash[Symbol, Array[untyped]] listeners) -> void
530
+
531
+ # Dispatch enter and leave events for AliasGlobalVariableNode nodes.
532
+ #
533
+ # : (AliasGlobalVariableNode node) -> void
534
+ def visit_alias_global_variable_node: (AliasGlobalVariableNode node) -> void
535
+
536
+ # Dispatch enter and leave events for AliasMethodNode nodes.
537
+ #
538
+ # : (AliasMethodNode node) -> void
539
+ def visit_alias_method_node: (AliasMethodNode node) -> void
540
+
541
+ # Dispatch enter and leave events for AlternationPatternNode nodes.
542
+ #
543
+ # : (AlternationPatternNode node) -> void
544
+ def visit_alternation_pattern_node: (AlternationPatternNode node) -> void
545
+
546
+ # Dispatch enter and leave events for AndNode nodes.
547
+ #
548
+ # : (AndNode node) -> void
549
+ def visit_and_node: (AndNode node) -> void
550
+
551
+ # Dispatch enter and leave events for ArgumentsNode nodes.
552
+ #
553
+ # : (ArgumentsNode node) -> void
554
+ def visit_arguments_node: (ArgumentsNode node) -> void
555
+
556
+ # Dispatch enter and leave events for ArrayNode nodes.
557
+ #
558
+ # : (ArrayNode node) -> void
559
+ def visit_array_node: (ArrayNode node) -> void
560
+
561
+ # Dispatch enter and leave events for ArrayPatternNode nodes.
562
+ #
563
+ # : (ArrayPatternNode node) -> void
564
+ def visit_array_pattern_node: (ArrayPatternNode node) -> void
565
+
566
+ # Dispatch enter and leave events for AssocNode nodes.
567
+ #
568
+ # : (AssocNode node) -> void
569
+ def visit_assoc_node: (AssocNode node) -> void
570
+
571
+ # Dispatch enter and leave events for AssocSplatNode nodes.
572
+ #
573
+ # : (AssocSplatNode node) -> void
574
+ def visit_assoc_splat_node: (AssocSplatNode node) -> void
575
+
576
+ # Dispatch enter and leave events for BackReferenceReadNode nodes.
577
+ #
578
+ # : (BackReferenceReadNode node) -> void
579
+ def visit_back_reference_read_node: (BackReferenceReadNode node) -> void
580
+
581
+ # Dispatch enter and leave events for BeginNode nodes.
582
+ #
583
+ # : (BeginNode node) -> void
584
+ def visit_begin_node: (BeginNode node) -> void
585
+
586
+ # Dispatch enter and leave events for BlockArgumentNode nodes.
587
+ #
588
+ # : (BlockArgumentNode node) -> void
589
+ def visit_block_argument_node: (BlockArgumentNode node) -> void
590
+
591
+ # Dispatch enter and leave events for BlockLocalVariableNode nodes.
592
+ #
593
+ # : (BlockLocalVariableNode node) -> void
594
+ def visit_block_local_variable_node: (BlockLocalVariableNode node) -> void
595
+
596
+ # Dispatch enter and leave events for BlockNode nodes.
597
+ #
598
+ # : (BlockNode node) -> void
599
+ def visit_block_node: (BlockNode node) -> void
600
+
601
+ # Dispatch enter and leave events for BlockParameterNode nodes.
602
+ #
603
+ # : (BlockParameterNode node) -> void
604
+ def visit_block_parameter_node: (BlockParameterNode node) -> void
605
+
606
+ # Dispatch enter and leave events for BlockParametersNode nodes.
607
+ #
608
+ # : (BlockParametersNode node) -> void
609
+ def visit_block_parameters_node: (BlockParametersNode node) -> void
610
+
611
+ # Dispatch enter and leave events for BreakNode nodes.
612
+ #
613
+ # : (BreakNode node) -> void
614
+ def visit_break_node: (BreakNode node) -> void
615
+
616
+ # Dispatch enter and leave events for CallAndWriteNode nodes.
617
+ #
618
+ # : (CallAndWriteNode node) -> void
619
+ def visit_call_and_write_node: (CallAndWriteNode node) -> void
620
+
621
+ # Dispatch enter and leave events for CallNode nodes.
622
+ #
623
+ # : (CallNode node) -> void
624
+ def visit_call_node: (CallNode node) -> void
625
+
626
+ # Dispatch enter and leave events for CallOperatorWriteNode nodes.
627
+ #
628
+ # : (CallOperatorWriteNode node) -> void
629
+ def visit_call_operator_write_node: (CallOperatorWriteNode node) -> void
630
+
631
+ # Dispatch enter and leave events for CallOrWriteNode nodes.
632
+ #
633
+ # : (CallOrWriteNode node) -> void
634
+ def visit_call_or_write_node: (CallOrWriteNode node) -> void
635
+
636
+ # Dispatch enter and leave events for CallTargetNode nodes.
637
+ #
638
+ # : (CallTargetNode node) -> void
639
+ def visit_call_target_node: (CallTargetNode node) -> void
640
+
641
+ # Dispatch enter and leave events for CapturePatternNode nodes.
642
+ #
643
+ # : (CapturePatternNode node) -> void
644
+ def visit_capture_pattern_node: (CapturePatternNode node) -> void
645
+
646
+ # Dispatch enter and leave events for CaseMatchNode nodes.
647
+ #
648
+ # : (CaseMatchNode node) -> void
649
+ def visit_case_match_node: (CaseMatchNode node) -> void
650
+
651
+ # Dispatch enter and leave events for CaseNode nodes.
652
+ #
653
+ # : (CaseNode node) -> void
654
+ def visit_case_node: (CaseNode node) -> void
655
+
656
+ # Dispatch enter and leave events for ClassNode nodes.
657
+ #
658
+ # : (ClassNode node) -> void
659
+ def visit_class_node: (ClassNode node) -> void
660
+
661
+ # Dispatch enter and leave events for ClassVariableAndWriteNode nodes.
662
+ #
663
+ # : (ClassVariableAndWriteNode node) -> void
664
+ def visit_class_variable_and_write_node: (ClassVariableAndWriteNode node) -> void
665
+
666
+ # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes.
667
+ #
668
+ # : (ClassVariableOperatorWriteNode node) -> void
669
+ def visit_class_variable_operator_write_node: (ClassVariableOperatorWriteNode node) -> void
670
+
671
+ # Dispatch enter and leave events for ClassVariableOrWriteNode nodes.
672
+ #
673
+ # : (ClassVariableOrWriteNode node) -> void
674
+ def visit_class_variable_or_write_node: (ClassVariableOrWriteNode node) -> void
675
+
676
+ # Dispatch enter and leave events for ClassVariableReadNode nodes.
677
+ #
678
+ # : (ClassVariableReadNode node) -> void
679
+ def visit_class_variable_read_node: (ClassVariableReadNode node) -> void
680
+
681
+ # Dispatch enter and leave events for ClassVariableTargetNode nodes.
682
+ #
683
+ # : (ClassVariableTargetNode node) -> void
684
+ def visit_class_variable_target_node: (ClassVariableTargetNode node) -> void
685
+
686
+ # Dispatch enter and leave events for ClassVariableWriteNode nodes.
687
+ #
688
+ # : (ClassVariableWriteNode node) -> void
689
+ def visit_class_variable_write_node: (ClassVariableWriteNode node) -> void
690
+
691
+ # Dispatch enter and leave events for ConstantAndWriteNode nodes.
692
+ #
693
+ # : (ConstantAndWriteNode node) -> void
694
+ def visit_constant_and_write_node: (ConstantAndWriteNode node) -> void
695
+
696
+ # Dispatch enter and leave events for ConstantOperatorWriteNode nodes.
697
+ #
698
+ # : (ConstantOperatorWriteNode node) -> void
699
+ def visit_constant_operator_write_node: (ConstantOperatorWriteNode node) -> void
700
+
701
+ # Dispatch enter and leave events for ConstantOrWriteNode nodes.
702
+ #
703
+ # : (ConstantOrWriteNode node) -> void
704
+ def visit_constant_or_write_node: (ConstantOrWriteNode node) -> void
705
+
706
+ # Dispatch enter and leave events for ConstantPathAndWriteNode nodes.
707
+ #
708
+ # : (ConstantPathAndWriteNode node) -> void
709
+ def visit_constant_path_and_write_node: (ConstantPathAndWriteNode node) -> void
710
+
711
+ # Dispatch enter and leave events for ConstantPathNode nodes.
712
+ #
713
+ # : (ConstantPathNode node) -> void
714
+ def visit_constant_path_node: (ConstantPathNode node) -> void
715
+
716
+ # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes.
717
+ #
718
+ # : (ConstantPathOperatorWriteNode node) -> void
719
+ def visit_constant_path_operator_write_node: (ConstantPathOperatorWriteNode node) -> void
720
+
721
+ # Dispatch enter and leave events for ConstantPathOrWriteNode nodes.
722
+ #
723
+ # : (ConstantPathOrWriteNode node) -> void
724
+ def visit_constant_path_or_write_node: (ConstantPathOrWriteNode node) -> void
725
+
726
+ # Dispatch enter and leave events for ConstantPathTargetNode nodes.
727
+ #
728
+ # : (ConstantPathTargetNode node) -> void
729
+ def visit_constant_path_target_node: (ConstantPathTargetNode node) -> void
730
+
731
+ # Dispatch enter and leave events for ConstantPathWriteNode nodes.
732
+ #
733
+ # : (ConstantPathWriteNode node) -> void
734
+ def visit_constant_path_write_node: (ConstantPathWriteNode node) -> void
735
+
736
+ # Dispatch enter and leave events for ConstantReadNode nodes.
737
+ #
738
+ # : (ConstantReadNode node) -> void
739
+ def visit_constant_read_node: (ConstantReadNode node) -> void
740
+
741
+ # Dispatch enter and leave events for ConstantTargetNode nodes.
742
+ #
743
+ # : (ConstantTargetNode node) -> void
744
+ def visit_constant_target_node: (ConstantTargetNode node) -> void
745
+
746
+ # Dispatch enter and leave events for ConstantWriteNode nodes.
747
+ #
748
+ # : (ConstantWriteNode node) -> void
749
+ def visit_constant_write_node: (ConstantWriteNode node) -> void
750
+
751
+ # Dispatch enter and leave events for DefNode nodes.
752
+ #
753
+ # : (DefNode node) -> void
754
+ def visit_def_node: (DefNode node) -> void
755
+
756
+ # Dispatch enter and leave events for DefinedNode nodes.
757
+ #
758
+ # : (DefinedNode node) -> void
759
+ def visit_defined_node: (DefinedNode node) -> void
760
+
761
+ # Dispatch enter and leave events for ElseNode nodes.
762
+ #
763
+ # : (ElseNode node) -> void
764
+ def visit_else_node: (ElseNode node) -> void
765
+
766
+ # Dispatch enter and leave events for EmbeddedStatementsNode nodes.
767
+ #
768
+ # : (EmbeddedStatementsNode node) -> void
769
+ def visit_embedded_statements_node: (EmbeddedStatementsNode node) -> void
770
+
771
+ # Dispatch enter and leave events for EmbeddedVariableNode nodes.
772
+ #
773
+ # : (EmbeddedVariableNode node) -> void
774
+ def visit_embedded_variable_node: (EmbeddedVariableNode node) -> void
775
+
776
+ # Dispatch enter and leave events for EnsureNode nodes.
777
+ #
778
+ # : (EnsureNode node) -> void
779
+ def visit_ensure_node: (EnsureNode node) -> void
780
+
781
+ # Dispatch enter and leave events for ErrorRecoveryNode nodes.
782
+ #
783
+ # : (ErrorRecoveryNode node) -> void
784
+ def visit_error_recovery_node: (ErrorRecoveryNode node) -> void
785
+
786
+ # Dispatch enter and leave events for FalseNode nodes.
787
+ #
788
+ # : (FalseNode node) -> void
789
+ def visit_false_node: (FalseNode node) -> void
790
+
791
+ # Dispatch enter and leave events for FindPatternNode nodes.
792
+ #
793
+ # : (FindPatternNode node) -> void
794
+ def visit_find_pattern_node: (FindPatternNode node) -> void
795
+
796
+ # Dispatch enter and leave events for FlipFlopNode nodes.
797
+ #
798
+ # : (FlipFlopNode node) -> void
799
+ def visit_flip_flop_node: (FlipFlopNode node) -> void
800
+
801
+ # Dispatch enter and leave events for FloatNode nodes.
802
+ #
803
+ # : (FloatNode node) -> void
804
+ def visit_float_node: (FloatNode node) -> void
805
+
806
+ # Dispatch enter and leave events for ForNode nodes.
807
+ #
808
+ # : (ForNode node) -> void
809
+ def visit_for_node: (ForNode node) -> void
810
+
811
+ # Dispatch enter and leave events for ForwardingArgumentsNode nodes.
812
+ #
813
+ # : (ForwardingArgumentsNode node) -> void
814
+ def visit_forwarding_arguments_node: (ForwardingArgumentsNode node) -> void
815
+
816
+ # Dispatch enter and leave events for ForwardingParameterNode nodes.
817
+ #
818
+ # : (ForwardingParameterNode node) -> void
819
+ def visit_forwarding_parameter_node: (ForwardingParameterNode node) -> void
820
+
821
+ # Dispatch enter and leave events for ForwardingSuperNode nodes.
822
+ #
823
+ # : (ForwardingSuperNode node) -> void
824
+ def visit_forwarding_super_node: (ForwardingSuperNode node) -> void
825
+
826
+ # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes.
827
+ #
828
+ # : (GlobalVariableAndWriteNode node) -> void
829
+ def visit_global_variable_and_write_node: (GlobalVariableAndWriteNode node) -> void
830
+
831
+ # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes.
832
+ #
833
+ # : (GlobalVariableOperatorWriteNode node) -> void
834
+ def visit_global_variable_operator_write_node: (GlobalVariableOperatorWriteNode node) -> void
835
+
836
+ # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes.
837
+ #
838
+ # : (GlobalVariableOrWriteNode node) -> void
839
+ def visit_global_variable_or_write_node: (GlobalVariableOrWriteNode node) -> void
840
+
841
+ # Dispatch enter and leave events for GlobalVariableReadNode nodes.
842
+ #
843
+ # : (GlobalVariableReadNode node) -> void
844
+ def visit_global_variable_read_node: (GlobalVariableReadNode node) -> void
845
+
846
+ # Dispatch enter and leave events for GlobalVariableTargetNode nodes.
847
+ #
848
+ # : (GlobalVariableTargetNode node) -> void
849
+ def visit_global_variable_target_node: (GlobalVariableTargetNode node) -> void
850
+
851
+ # Dispatch enter and leave events for GlobalVariableWriteNode nodes.
852
+ #
853
+ # : (GlobalVariableWriteNode node) -> void
854
+ def visit_global_variable_write_node: (GlobalVariableWriteNode node) -> void
855
+
856
+ # Dispatch enter and leave events for HashNode nodes.
857
+ #
858
+ # : (HashNode node) -> void
859
+ def visit_hash_node: (HashNode node) -> void
860
+
861
+ # Dispatch enter and leave events for HashPatternNode nodes.
862
+ #
863
+ # : (HashPatternNode node) -> void
864
+ def visit_hash_pattern_node: (HashPatternNode node) -> void
865
+
866
+ # Dispatch enter and leave events for IfNode nodes.
867
+ #
868
+ # : (IfNode node) -> void
869
+ def visit_if_node: (IfNode node) -> void
870
+
871
+ # Dispatch enter and leave events for ImaginaryNode nodes.
872
+ #
873
+ # : (ImaginaryNode node) -> void
874
+ def visit_imaginary_node: (ImaginaryNode node) -> void
875
+
876
+ # Dispatch enter and leave events for ImplicitNode nodes.
877
+ #
878
+ # : (ImplicitNode node) -> void
879
+ def visit_implicit_node: (ImplicitNode node) -> void
880
+
881
+ # Dispatch enter and leave events for ImplicitRestNode nodes.
882
+ #
883
+ # : (ImplicitRestNode node) -> void
884
+ def visit_implicit_rest_node: (ImplicitRestNode node) -> void
885
+
886
+ # Dispatch enter and leave events for InNode nodes.
887
+ #
888
+ # : (InNode node) -> void
889
+ def visit_in_node: (InNode node) -> void
890
+
891
+ # Dispatch enter and leave events for IndexAndWriteNode nodes.
892
+ #
893
+ # : (IndexAndWriteNode node) -> void
894
+ def visit_index_and_write_node: (IndexAndWriteNode node) -> void
895
+
896
+ # Dispatch enter and leave events for IndexOperatorWriteNode nodes.
897
+ #
898
+ # : (IndexOperatorWriteNode node) -> void
899
+ def visit_index_operator_write_node: (IndexOperatorWriteNode node) -> void
900
+
901
+ # Dispatch enter and leave events for IndexOrWriteNode nodes.
902
+ #
903
+ # : (IndexOrWriteNode node) -> void
904
+ def visit_index_or_write_node: (IndexOrWriteNode node) -> void
905
+
906
+ # Dispatch enter and leave events for IndexTargetNode nodes.
907
+ #
908
+ # : (IndexTargetNode node) -> void
909
+ def visit_index_target_node: (IndexTargetNode node) -> void
910
+
911
+ # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes.
912
+ #
913
+ # : (InstanceVariableAndWriteNode node) -> void
914
+ def visit_instance_variable_and_write_node: (InstanceVariableAndWriteNode node) -> void
915
+
916
+ # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes.
917
+ #
918
+ # : (InstanceVariableOperatorWriteNode node) -> void
919
+ def visit_instance_variable_operator_write_node: (InstanceVariableOperatorWriteNode node) -> void
920
+
921
+ # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes.
922
+ #
923
+ # : (InstanceVariableOrWriteNode node) -> void
924
+ def visit_instance_variable_or_write_node: (InstanceVariableOrWriteNode node) -> void
925
+
926
+ # Dispatch enter and leave events for InstanceVariableReadNode nodes.
927
+ #
928
+ # : (InstanceVariableReadNode node) -> void
929
+ def visit_instance_variable_read_node: (InstanceVariableReadNode node) -> void
930
+
931
+ # Dispatch enter and leave events for InstanceVariableTargetNode nodes.
932
+ #
933
+ # : (InstanceVariableTargetNode node) -> void
934
+ def visit_instance_variable_target_node: (InstanceVariableTargetNode node) -> void
935
+
936
+ # Dispatch enter and leave events for InstanceVariableWriteNode nodes.
937
+ #
938
+ # : (InstanceVariableWriteNode node) -> void
939
+ def visit_instance_variable_write_node: (InstanceVariableWriteNode node) -> void
940
+
941
+ # Dispatch enter and leave events for IntegerNode nodes.
942
+ #
943
+ # : (IntegerNode node) -> void
944
+ def visit_integer_node: (IntegerNode node) -> void
945
+
946
+ # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes.
947
+ #
948
+ # : (InterpolatedMatchLastLineNode node) -> void
949
+ def visit_interpolated_match_last_line_node: (InterpolatedMatchLastLineNode node) -> void
950
+
951
+ # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes.
952
+ #
953
+ # : (InterpolatedRegularExpressionNode node) -> void
954
+ def visit_interpolated_regular_expression_node: (InterpolatedRegularExpressionNode node) -> void
955
+
956
+ # Dispatch enter and leave events for InterpolatedStringNode nodes.
957
+ #
958
+ # : (InterpolatedStringNode node) -> void
959
+ def visit_interpolated_string_node: (InterpolatedStringNode node) -> void
960
+
961
+ # Dispatch enter and leave events for InterpolatedSymbolNode nodes.
962
+ #
963
+ # : (InterpolatedSymbolNode node) -> void
964
+ def visit_interpolated_symbol_node: (InterpolatedSymbolNode node) -> void
965
+
966
+ # Dispatch enter and leave events for InterpolatedXStringNode nodes.
967
+ #
968
+ # : (InterpolatedXStringNode node) -> void
969
+ def visit_interpolated_x_string_node: (InterpolatedXStringNode node) -> void
970
+
971
+ # Dispatch enter and leave events for ItLocalVariableReadNode nodes.
972
+ #
973
+ # : (ItLocalVariableReadNode node) -> void
974
+ def visit_it_local_variable_read_node: (ItLocalVariableReadNode node) -> void
975
+
976
+ # Dispatch enter and leave events for ItParametersNode nodes.
977
+ #
978
+ # : (ItParametersNode node) -> void
979
+ def visit_it_parameters_node: (ItParametersNode node) -> void
980
+
981
+ # Dispatch enter and leave events for KeywordHashNode nodes.
982
+ #
983
+ # : (KeywordHashNode node) -> void
984
+ def visit_keyword_hash_node: (KeywordHashNode node) -> void
985
+
986
+ # Dispatch enter and leave events for KeywordRestParameterNode nodes.
987
+ #
988
+ # : (KeywordRestParameterNode node) -> void
989
+ def visit_keyword_rest_parameter_node: (KeywordRestParameterNode node) -> void
990
+
991
+ # Dispatch enter and leave events for LambdaNode nodes.
992
+ #
993
+ # : (LambdaNode node) -> void
994
+ def visit_lambda_node: (LambdaNode node) -> void
995
+
996
+ # Dispatch enter and leave events for LocalVariableAndWriteNode nodes.
997
+ #
998
+ # : (LocalVariableAndWriteNode node) -> void
999
+ def visit_local_variable_and_write_node: (LocalVariableAndWriteNode node) -> void
1000
+
1001
+ # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes.
1002
+ #
1003
+ # : (LocalVariableOperatorWriteNode node) -> void
1004
+ def visit_local_variable_operator_write_node: (LocalVariableOperatorWriteNode node) -> void
1005
+
1006
+ # Dispatch enter and leave events for LocalVariableOrWriteNode nodes.
1007
+ #
1008
+ # : (LocalVariableOrWriteNode node) -> void
1009
+ def visit_local_variable_or_write_node: (LocalVariableOrWriteNode node) -> void
1010
+
1011
+ # Dispatch enter and leave events for LocalVariableReadNode nodes.
1012
+ #
1013
+ # : (LocalVariableReadNode node) -> void
1014
+ def visit_local_variable_read_node: (LocalVariableReadNode node) -> void
1015
+
1016
+ # Dispatch enter and leave events for LocalVariableTargetNode nodes.
1017
+ #
1018
+ # : (LocalVariableTargetNode node) -> void
1019
+ def visit_local_variable_target_node: (LocalVariableTargetNode node) -> void
1020
+
1021
+ # Dispatch enter and leave events for LocalVariableWriteNode nodes.
1022
+ #
1023
+ # : (LocalVariableWriteNode node) -> void
1024
+ def visit_local_variable_write_node: (LocalVariableWriteNode node) -> void
1025
+
1026
+ # Dispatch enter and leave events for MatchLastLineNode nodes.
1027
+ #
1028
+ # : (MatchLastLineNode node) -> void
1029
+ def visit_match_last_line_node: (MatchLastLineNode node) -> void
1030
+
1031
+ # Dispatch enter and leave events for MatchPredicateNode nodes.
1032
+ #
1033
+ # : (MatchPredicateNode node) -> void
1034
+ def visit_match_predicate_node: (MatchPredicateNode node) -> void
1035
+
1036
+ # Dispatch enter and leave events for MatchRequiredNode nodes.
1037
+ #
1038
+ # : (MatchRequiredNode node) -> void
1039
+ def visit_match_required_node: (MatchRequiredNode node) -> void
1040
+
1041
+ # Dispatch enter and leave events for MatchWriteNode nodes.
1042
+ #
1043
+ # : (MatchWriteNode node) -> void
1044
+ def visit_match_write_node: (MatchWriteNode node) -> void
1045
+
1046
+ # Dispatch enter and leave events for ModuleNode nodes.
1047
+ #
1048
+ # : (ModuleNode node) -> void
1049
+ def visit_module_node: (ModuleNode node) -> void
1050
+
1051
+ # Dispatch enter and leave events for MultiTargetNode nodes.
1052
+ #
1053
+ # : (MultiTargetNode node) -> void
1054
+ def visit_multi_target_node: (MultiTargetNode node) -> void
1055
+
1056
+ # Dispatch enter and leave events for MultiWriteNode nodes.
1057
+ #
1058
+ # : (MultiWriteNode node) -> void
1059
+ def visit_multi_write_node: (MultiWriteNode node) -> void
1060
+
1061
+ # Dispatch enter and leave events for NextNode nodes.
1062
+ #
1063
+ # : (NextNode node) -> void
1064
+ def visit_next_node: (NextNode node) -> void
1065
+
1066
+ # Dispatch enter and leave events for NilNode nodes.
1067
+ #
1068
+ # : (NilNode node) -> void
1069
+ def visit_nil_node: (NilNode node) -> void
1070
+
1071
+ # Dispatch enter and leave events for NoBlockParameterNode nodes.
1072
+ #
1073
+ # : (NoBlockParameterNode node) -> void
1074
+ def visit_no_block_parameter_node: (NoBlockParameterNode node) -> void
1075
+
1076
+ # Dispatch enter and leave events for NoKeywordsParameterNode nodes.
1077
+ #
1078
+ # : (NoKeywordsParameterNode node) -> void
1079
+ def visit_no_keywords_parameter_node: (NoKeywordsParameterNode node) -> void
1080
+
1081
+ # Dispatch enter and leave events for NumberedParametersNode nodes.
1082
+ #
1083
+ # : (NumberedParametersNode node) -> void
1084
+ def visit_numbered_parameters_node: (NumberedParametersNode node) -> void
1085
+
1086
+ # Dispatch enter and leave events for NumberedReferenceReadNode nodes.
1087
+ #
1088
+ # : (NumberedReferenceReadNode node) -> void
1089
+ def visit_numbered_reference_read_node: (NumberedReferenceReadNode node) -> void
1090
+
1091
+ # Dispatch enter and leave events for OptionalKeywordParameterNode nodes.
1092
+ #
1093
+ # : (OptionalKeywordParameterNode node) -> void
1094
+ def visit_optional_keyword_parameter_node: (OptionalKeywordParameterNode node) -> void
1095
+
1096
+ # Dispatch enter and leave events for OptionalParameterNode nodes.
1097
+ #
1098
+ # : (OptionalParameterNode node) -> void
1099
+ def visit_optional_parameter_node: (OptionalParameterNode node) -> void
1100
+
1101
+ # Dispatch enter and leave events for OrNode nodes.
1102
+ #
1103
+ # : (OrNode node) -> void
1104
+ def visit_or_node: (OrNode node) -> void
1105
+
1106
+ # Dispatch enter and leave events for ParametersNode nodes.
1107
+ #
1108
+ # : (ParametersNode node) -> void
1109
+ def visit_parameters_node: (ParametersNode node) -> void
1110
+
1111
+ # Dispatch enter and leave events for ParenthesesNode nodes.
1112
+ #
1113
+ # : (ParenthesesNode node) -> void
1114
+ def visit_parentheses_node: (ParenthesesNode node) -> void
1115
+
1116
+ # Dispatch enter and leave events for PinnedExpressionNode nodes.
1117
+ #
1118
+ # : (PinnedExpressionNode node) -> void
1119
+ def visit_pinned_expression_node: (PinnedExpressionNode node) -> void
1120
+
1121
+ # Dispatch enter and leave events for PinnedVariableNode nodes.
1122
+ #
1123
+ # : (PinnedVariableNode node) -> void
1124
+ def visit_pinned_variable_node: (PinnedVariableNode node) -> void
1125
+
1126
+ # Dispatch enter and leave events for PostExecutionNode nodes.
1127
+ #
1128
+ # : (PostExecutionNode node) -> void
1129
+ def visit_post_execution_node: (PostExecutionNode node) -> void
1130
+
1131
+ # Dispatch enter and leave events for PreExecutionNode nodes.
1132
+ #
1133
+ # : (PreExecutionNode node) -> void
1134
+ def visit_pre_execution_node: (PreExecutionNode node) -> void
1135
+
1136
+ # Dispatch enter and leave events for ProgramNode nodes.
1137
+ #
1138
+ # : (ProgramNode node) -> void
1139
+ def visit_program_node: (ProgramNode node) -> void
1140
+
1141
+ # Dispatch enter and leave events for RangeNode nodes.
1142
+ #
1143
+ # : (RangeNode node) -> void
1144
+ def visit_range_node: (RangeNode node) -> void
1145
+
1146
+ # Dispatch enter and leave events for RationalNode nodes.
1147
+ #
1148
+ # : (RationalNode node) -> void
1149
+ def visit_rational_node: (RationalNode node) -> void
1150
+
1151
+ # Dispatch enter and leave events for RedoNode nodes.
1152
+ #
1153
+ # : (RedoNode node) -> void
1154
+ def visit_redo_node: (RedoNode node) -> void
1155
+
1156
+ # Dispatch enter and leave events for RegularExpressionNode nodes.
1157
+ #
1158
+ # : (RegularExpressionNode node) -> void
1159
+ def visit_regular_expression_node: (RegularExpressionNode node) -> void
1160
+
1161
+ # Dispatch enter and leave events for RequiredKeywordParameterNode nodes.
1162
+ #
1163
+ # : (RequiredKeywordParameterNode node) -> void
1164
+ def visit_required_keyword_parameter_node: (RequiredKeywordParameterNode node) -> void
1165
+
1166
+ # Dispatch enter and leave events for RequiredParameterNode nodes.
1167
+ #
1168
+ # : (RequiredParameterNode node) -> void
1169
+ def visit_required_parameter_node: (RequiredParameterNode node) -> void
1170
+
1171
+ # Dispatch enter and leave events for RescueModifierNode nodes.
1172
+ #
1173
+ # : (RescueModifierNode node) -> void
1174
+ def visit_rescue_modifier_node: (RescueModifierNode node) -> void
1175
+
1176
+ # Dispatch enter and leave events for RescueNode nodes.
1177
+ #
1178
+ # : (RescueNode node) -> void
1179
+ def visit_rescue_node: (RescueNode node) -> void
1180
+
1181
+ # Dispatch enter and leave events for RestParameterNode nodes.
1182
+ #
1183
+ # : (RestParameterNode node) -> void
1184
+ def visit_rest_parameter_node: (RestParameterNode node) -> void
1185
+
1186
+ # Dispatch enter and leave events for RetryNode nodes.
1187
+ #
1188
+ # : (RetryNode node) -> void
1189
+ def visit_retry_node: (RetryNode node) -> void
1190
+
1191
+ # Dispatch enter and leave events for ReturnNode nodes.
1192
+ #
1193
+ # : (ReturnNode node) -> void
1194
+ def visit_return_node: (ReturnNode node) -> void
1195
+
1196
+ # Dispatch enter and leave events for SelfNode nodes.
1197
+ #
1198
+ # : (SelfNode node) -> void
1199
+ def visit_self_node: (SelfNode node) -> void
1200
+
1201
+ # Dispatch enter and leave events for ShareableConstantNode nodes.
1202
+ #
1203
+ # : (ShareableConstantNode node) -> void
1204
+ def visit_shareable_constant_node: (ShareableConstantNode node) -> void
1205
+
1206
+ # Dispatch enter and leave events for SingletonClassNode nodes.
1207
+ #
1208
+ # : (SingletonClassNode node) -> void
1209
+ def visit_singleton_class_node: (SingletonClassNode node) -> void
1210
+
1211
+ # Dispatch enter and leave events for SourceEncodingNode nodes.
1212
+ #
1213
+ # : (SourceEncodingNode node) -> void
1214
+ def visit_source_encoding_node: (SourceEncodingNode node) -> void
1215
+
1216
+ # Dispatch enter and leave events for SourceFileNode nodes.
1217
+ #
1218
+ # : (SourceFileNode node) -> void
1219
+ def visit_source_file_node: (SourceFileNode node) -> void
1220
+
1221
+ # Dispatch enter and leave events for SourceLineNode nodes.
1222
+ #
1223
+ # : (SourceLineNode node) -> void
1224
+ def visit_source_line_node: (SourceLineNode node) -> void
1225
+
1226
+ # Dispatch enter and leave events for SplatNode nodes.
1227
+ #
1228
+ # : (SplatNode node) -> void
1229
+ def visit_splat_node: (SplatNode node) -> void
1230
+
1231
+ # Dispatch enter and leave events for StatementsNode nodes.
1232
+ #
1233
+ # : (StatementsNode node) -> void
1234
+ def visit_statements_node: (StatementsNode node) -> void
1235
+
1236
+ # Dispatch enter and leave events for StringNode nodes.
1237
+ #
1238
+ # : (StringNode node) -> void
1239
+ def visit_string_node: (StringNode node) -> void
1240
+
1241
+ # Dispatch enter and leave events for SuperNode nodes.
1242
+ #
1243
+ # : (SuperNode node) -> void
1244
+ def visit_super_node: (SuperNode node) -> void
1245
+
1246
+ # Dispatch enter and leave events for SymbolNode nodes.
1247
+ #
1248
+ # : (SymbolNode node) -> void
1249
+ def visit_symbol_node: (SymbolNode node) -> void
1250
+
1251
+ # Dispatch enter and leave events for TrueNode nodes.
1252
+ #
1253
+ # : (TrueNode node) -> void
1254
+ def visit_true_node: (TrueNode node) -> void
1255
+
1256
+ # Dispatch enter and leave events for UndefNode nodes.
1257
+ #
1258
+ # : (UndefNode node) -> void
1259
+ def visit_undef_node: (UndefNode node) -> void
1260
+
1261
+ # Dispatch enter and leave events for UnlessNode nodes.
1262
+ #
1263
+ # : (UnlessNode node) -> void
1264
+ def visit_unless_node: (UnlessNode node) -> void
1265
+
1266
+ # Dispatch enter and leave events for UntilNode nodes.
1267
+ #
1268
+ # : (UntilNode node) -> void
1269
+ def visit_until_node: (UntilNode node) -> void
1270
+
1271
+ # Dispatch enter and leave events for WhenNode nodes.
1272
+ #
1273
+ # : (WhenNode node) -> void
1274
+ def visit_when_node: (WhenNode node) -> void
1275
+
1276
+ # Dispatch enter and leave events for WhileNode nodes.
1277
+ #
1278
+ # : (WhileNode node) -> void
1279
+ def visit_while_node: (WhileNode node) -> void
1280
+
1281
+ # Dispatch enter and leave events for XStringNode nodes.
1282
+ #
1283
+ # : (XStringNode node) -> void
1284
+ def visit_x_string_node: (XStringNode node) -> void
1285
+
1286
+ # Dispatch enter and leave events for YieldNode nodes.
1287
+ #
1288
+ # : (YieldNode node) -> void
1289
+ def visit_yield_node: (YieldNode node) -> void
1290
+ end
1291
+ end
1292
+ end