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