prism 1.9.0 → 2.0.0.rc2
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 +4 -4
- data/CHANGELOG.md +88 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/LICENSE.md +1 -1
- data/Makefile +41 -12
- data/README.md +35 -97
- data/config.yml +174 -161
- data/docs/build_system.md +2 -2
- data/docs/configuration.md +5 -4
- data/docs/encoding.md +2 -2
- data/docs/fuzzing.md +4 -11
- data/docs/javascript.md +19 -4
- data/docs/mapping.md +1 -1
- data/docs/releasing.md +77 -5
- data/docs/relocation.md +2 -4
- data/docs/serialization.md +22 -24
- data/docs/testing.md +46 -29
- data/ext/prism/api_node.c +1461 -1401
- data/ext/prism/extconf.rb +3 -4
- data/ext/prism/extension.c +796 -422
- data/ext/prism/extension.h +3 -3
- data/include/prism/arena.h +37 -0
- data/include/prism/ast.h +2727 -610
- data/include/prism/buffer.h +52 -0
- data/include/prism/comments.h +55 -0
- data/include/prism/compiler/accel.h +26 -0
- data/include/prism/compiler/align.h +36 -0
- data/include/prism/compiler/assume.h +25 -0
- data/include/prism/compiler/bswap.h +46 -0
- data/include/prism/compiler/endianness.h +34 -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 +38 -403
- 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 +94 -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/{encoding.h → internal/encoding.h} +27 -68
- 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/{util/pm_list.h → internal/list.h} +11 -52
- 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 +1004 -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/{static_literals.h → internal/static_literals.h} +26 -47
- data/include/prism/internal/stringy.h +35 -0
- data/include/prism/{util/pm_strncasecmp.h → internal/strncasecmp.h} +3 -17
- data/include/prism/{util/pm_strpbrk.h → internal/strpbrk.h} +7 -20
- data/include/prism/internal/tokens.h +11 -0
- data/include/prism/internal/xxh3.h +16 -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 +18 -53
- data/include/prism/options.h +146 -280
- data/include/prism/parser.h +356 -867
- data/include/prism/prettyprint.h +6 -9
- 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 +74 -0
- data/include/prism/stringy.h +72 -0
- data/include/prism/version.h +12 -3
- data/include/prism.h +43 -320
- data/lib/prism/compiler.rb +319 -305
- data/lib/prism/desugar_compiler.rb +105 -34
- data/lib/prism/dispatcher.rb +646 -473
- data/lib/prism/dot_visitor.rb +592 -511
- data/lib/prism/dsl.rb +391 -25
- data/lib/prism/ffi.rb +258 -90
- data/lib/prism/inspect_visitor.rb +357 -325
- data/lib/prism/lex_compat.rb +254 -212
- data/lib/prism/mutation_compiler.rb +313 -305
- data/lib/prism/node.rb +20966 -6992
- data/lib/prism/node_ext.rb +180 -187
- data/lib/prism/node_find.rb +215 -0
- data/lib/prism/parse_result/errors.rb +7 -1
- data/lib/prism/parse_result/newlines.rb +276 -8
- data/lib/prism/parse_result.rb +468 -139
- data/lib/prism/pattern.rb +65 -20
- data/lib/prism/reflection.rb +23 -12
- data/lib/prism/relocation.rb +149 -87
- data/lib/prism/serialize.rb +3460 -539
- data/lib/prism/string_query.rb +24 -1
- data/lib/prism/translation/parser/builder.rb +10 -2
- data/lib/prism/translation/parser/compiler.rb +44 -52
- data/lib/prism/translation/parser/lexer.rb +41 -92
- data/lib/prism/translation/parser.rb +1 -1
- data/lib/prism/translation/parser_current.rb +1 -1
- data/lib/prism/translation/ripper/lexer.rb +8 -10
- data/lib/prism/translation/ripper/sexp.rb +2 -10
- data/lib/prism/translation/ripper/shim.rb +2 -0
- data/lib/prism/translation/ripper.rb +967 -209
- data/lib/prism/translation/ruby_parser.rb +73 -316
- data/lib/prism/translation.rb +2 -0
- data/lib/prism/visitor.rb +632 -5
- data/lib/prism.rb +79 -9
- data/prism.gemspec +128 -62
- 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 +14407 -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 +776 -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 +184 -0
- data/rbi/generated/prism/string_query.rbi +43 -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_versions.rbi +5 -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/{prism → generated/prism}/mutation_compiler.rbs +309 -4
- data/sig/generated/prism/node.rbs +20896 -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 +871 -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 +198 -0
- data/sig/generated/prism/string_query.rbs +43 -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/{util/pm_buffer.c → buffer.c} +53 -21
- data/src/{util/pm_char.c → char.c} +28 -57
- data/src/comments.c +454 -0
- data/src/constant_pool.c +406 -0
- data/src/diagnostic.c +97 -65
- data/src/encoding.c +8 -3
- data/src/errors_format.c +519 -0
- data/src/{util/pm_integer.c → integer.c} +33 -22
- data/src/json.c +5733 -0
- data/src/line_offset_list.c +100 -0
- data/src/list.c +24 -0
- data/src/{util/pm_memchr.c → memchr.c} +8 -6
- data/src/node.c +3504 -7674
- data/src/options.c +162 -49
- data/src/parser.c +367 -0
- data/src/prettyprint.c +421 -354
- data/src/prism.c +8402 -7161
- data/src/regexp.c +961 -45
- data/src/serialize.c +460 -424
- data/src/source.c +518 -0
- data/src/static_literals.c +111 -43
- data/src/string_query.c +180 -0
- data/src/stringy.c +91 -0
- data/src/{util/pm_strncasecmp.c → strncasecmp.c} +5 -4
- data/src/strpbrk.c +447 -0
- data/src/{token_type.c → tokens.c} +39 -18
- data/src/xxh3.c +292 -0
- metadata +128 -63
- data/ext/prism/api_pack.c +0 -276
- data/include/prism/defines.h +0 -260
- data/include/prism/pack.h +0 -163
- data/include/prism/regexp.h +0 -43
- data/include/prism/util/pm_buffer.h +0 -236
- data/include/prism/util/pm_char.h +0 -204
- data/include/prism/util/pm_constant_pool.h +0 -218
- data/include/prism/util/pm_integer.h +0 -130
- data/include/prism/util/pm_memchr.h +0 -29
- data/include/prism/util/pm_newline_list.h +0 -113
- data/include/prism/util/pm_string.h +0 -200
- data/lib/prism/pack.rb +0 -230
- data/lib/prism/parse_result/comments.rb +0 -188
- data/rbi/prism/compiler.rbi +0 -12
- data/rbi/prism/dsl.rbi +0 -524
- data/rbi/prism/inspect_visitor.rbi +0 -12
- data/rbi/prism/node.rbi +0 -8750
- data/rbi/prism/node_ext.rbi +0 -107
- data/rbi/prism/parse_result.rbi +0 -404
- data/rbi/prism/reflection.rbi +0 -58
- data/rbi/prism/string_query.rbi +0 -12
- data/rbi/prism/visitor.rbi +0 -473
- data/rbi/prism.rbi +0 -63
- data/sig/prism/compiler.rbs +0 -9
- data/sig/prism/dispatcher.rbs +0 -19
- data/sig/prism/dot_visitor.rbs +0 -6
- data/sig/prism/dsl.rbs +0 -351
- data/sig/prism/inspect_visitor.rbs +0 -22
- data/sig/prism/lex_compat.rbs +0 -10
- data/sig/prism/node.rbs +0 -4042
- data/sig/prism/node_ext.rbs +0 -149
- data/sig/prism/pack.rbs +0 -43
- data/sig/prism/parse_result/comments.rbs +0 -38
- data/sig/prism/parse_result.rbs +0 -197
- data/sig/prism/pattern.rbs +0 -13
- data/sig/prism/reflection.rbs +0 -50
- data/sig/prism/relocation.rbs +0 -185
- data/sig/prism/serialize.rbs +0 -8
- data/sig/prism/string_query.rbs +0 -11
- data/sig/prism/visitor.rbs +0 -169
- data/sig/prism.rbs +0 -272
- data/src/pack.c +0 -509
- data/src/util/pm_constant_pool.c +0 -342
- data/src/util/pm_list.c +0 -49
- data/src/util/pm_newline_list.c +0 -125
- data/src/util/pm_string.c +0 -381
- data/src/util/pm_strpbrk.c +0 -206
|
@@ -9,763 +9,771 @@ if you are looking to modify the template
|
|
|
9
9
|
++
|
|
10
10
|
=end
|
|
11
11
|
|
|
12
|
+
#--
|
|
13
|
+
# rbs_inline: enabled
|
|
14
|
+
|
|
12
15
|
module Prism
|
|
13
16
|
# This visitor walks through the tree and copies each node as it is being
|
|
14
17
|
# visited. This is useful for consumers that want to mutate the tree, as you
|
|
15
18
|
# can change subtrees in place without effecting the rest of the tree.
|
|
16
19
|
class MutationCompiler < Compiler
|
|
17
|
-
|
|
18
|
-
def visit_alias_global_variable_node(node)
|
|
20
|
+
#: (AliasGlobalVariableNode) -> node?
|
|
21
|
+
def visit_alias_global_variable_node(node) # :nodoc:
|
|
19
22
|
node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
|
|
20
23
|
end
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
def visit_alias_method_node(node)
|
|
25
|
+
#: (AliasMethodNode) -> node?
|
|
26
|
+
def visit_alias_method_node(node) # :nodoc:
|
|
24
27
|
node.copy(new_name: visit(node.new_name), old_name: visit(node.old_name))
|
|
25
28
|
end
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
def visit_alternation_pattern_node(node)
|
|
30
|
+
#: (AlternationPatternNode) -> node?
|
|
31
|
+
def visit_alternation_pattern_node(node) # :nodoc:
|
|
29
32
|
node.copy(left: visit(node.left), right: visit(node.right))
|
|
30
33
|
end
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
def visit_and_node(node)
|
|
35
|
+
#: (AndNode) -> node?
|
|
36
|
+
def visit_and_node(node) # :nodoc:
|
|
34
37
|
node.copy(left: visit(node.left), right: visit(node.right))
|
|
35
38
|
end
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
def visit_arguments_node(node)
|
|
40
|
+
#: (ArgumentsNode) -> node?
|
|
41
|
+
def visit_arguments_node(node) # :nodoc:
|
|
39
42
|
node.copy(arguments: visit_all(node.arguments))
|
|
40
43
|
end
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
def visit_array_node(node)
|
|
45
|
+
#: (ArrayNode) -> node?
|
|
46
|
+
def visit_array_node(node) # :nodoc:
|
|
44
47
|
node.copy(elements: visit_all(node.elements))
|
|
45
48
|
end
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
def visit_array_pattern_node(node)
|
|
50
|
+
#: (ArrayPatternNode) -> node?
|
|
51
|
+
def visit_array_pattern_node(node) # :nodoc:
|
|
49
52
|
node.copy(constant: visit(node.constant), requireds: visit_all(node.requireds), rest: visit(node.rest), posts: visit_all(node.posts))
|
|
50
53
|
end
|
|
51
54
|
|
|
52
|
-
|
|
53
|
-
def visit_assoc_node(node)
|
|
55
|
+
#: (AssocNode) -> node?
|
|
56
|
+
def visit_assoc_node(node) # :nodoc:
|
|
54
57
|
node.copy(key: visit(node.key), value: visit(node.value))
|
|
55
58
|
end
|
|
56
59
|
|
|
57
|
-
|
|
58
|
-
def visit_assoc_splat_node(node)
|
|
60
|
+
#: (AssocSplatNode) -> node?
|
|
61
|
+
def visit_assoc_splat_node(node) # :nodoc:
|
|
59
62
|
node.copy(value: visit(node.value))
|
|
60
63
|
end
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
def visit_back_reference_read_node(node)
|
|
65
|
+
#: (BackReferenceReadNode) -> node?
|
|
66
|
+
def visit_back_reference_read_node(node) # :nodoc:
|
|
64
67
|
node.copy
|
|
65
68
|
end
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
def visit_begin_node(node)
|
|
70
|
+
#: (BeginNode) -> node?
|
|
71
|
+
def visit_begin_node(node) # :nodoc:
|
|
69
72
|
node.copy(statements: visit(node.statements), rescue_clause: visit(node.rescue_clause), else_clause: visit(node.else_clause), ensure_clause: visit(node.ensure_clause))
|
|
70
73
|
end
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
def visit_block_argument_node(node)
|
|
75
|
+
#: (BlockArgumentNode) -> node?
|
|
76
|
+
def visit_block_argument_node(node) # :nodoc:
|
|
74
77
|
node.copy(expression: visit(node.expression))
|
|
75
78
|
end
|
|
76
79
|
|
|
77
|
-
|
|
78
|
-
def visit_block_local_variable_node(node)
|
|
80
|
+
#: (BlockLocalVariableNode) -> node?
|
|
81
|
+
def visit_block_local_variable_node(node) # :nodoc:
|
|
79
82
|
node.copy
|
|
80
83
|
end
|
|
81
84
|
|
|
82
|
-
|
|
83
|
-
def visit_block_node(node)
|
|
85
|
+
#: (BlockNode) -> node?
|
|
86
|
+
def visit_block_node(node) # :nodoc:
|
|
84
87
|
node.copy(parameters: visit(node.parameters), body: visit(node.body))
|
|
85
88
|
end
|
|
86
89
|
|
|
87
|
-
|
|
88
|
-
def visit_block_parameter_node(node)
|
|
90
|
+
#: (BlockParameterNode) -> node?
|
|
91
|
+
def visit_block_parameter_node(node) # :nodoc:
|
|
89
92
|
node.copy
|
|
90
93
|
end
|
|
91
94
|
|
|
92
|
-
|
|
93
|
-
def visit_block_parameters_node(node)
|
|
95
|
+
#: (BlockParametersNode) -> node?
|
|
96
|
+
def visit_block_parameters_node(node) # :nodoc:
|
|
94
97
|
node.copy(parameters: visit(node.parameters), locals: visit_all(node.locals))
|
|
95
98
|
end
|
|
96
99
|
|
|
97
|
-
|
|
98
|
-
def visit_break_node(node)
|
|
100
|
+
#: (BreakNode) -> node?
|
|
101
|
+
def visit_break_node(node) # :nodoc:
|
|
99
102
|
node.copy(arguments: visit(node.arguments))
|
|
100
103
|
end
|
|
101
104
|
|
|
102
|
-
|
|
103
|
-
def visit_call_and_write_node(node)
|
|
105
|
+
#: (CallAndWriteNode) -> node?
|
|
106
|
+
def visit_call_and_write_node(node) # :nodoc:
|
|
104
107
|
node.copy(receiver: visit(node.receiver), value: visit(node.value))
|
|
105
108
|
end
|
|
106
109
|
|
|
107
|
-
|
|
108
|
-
def visit_call_node(node)
|
|
110
|
+
#: (CallNode) -> node?
|
|
111
|
+
def visit_call_node(node) # :nodoc:
|
|
109
112
|
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
|
|
110
113
|
end
|
|
111
114
|
|
|
112
|
-
|
|
113
|
-
def visit_call_operator_write_node(node)
|
|
115
|
+
#: (CallOperatorWriteNode) -> node?
|
|
116
|
+
def visit_call_operator_write_node(node) # :nodoc:
|
|
114
117
|
node.copy(receiver: visit(node.receiver), value: visit(node.value))
|
|
115
118
|
end
|
|
116
119
|
|
|
117
|
-
|
|
118
|
-
def visit_call_or_write_node(node)
|
|
120
|
+
#: (CallOrWriteNode) -> node?
|
|
121
|
+
def visit_call_or_write_node(node) # :nodoc:
|
|
119
122
|
node.copy(receiver: visit(node.receiver), value: visit(node.value))
|
|
120
123
|
end
|
|
121
124
|
|
|
122
|
-
|
|
123
|
-
def visit_call_target_node(node)
|
|
125
|
+
#: (CallTargetNode) -> node?
|
|
126
|
+
def visit_call_target_node(node) # :nodoc:
|
|
124
127
|
node.copy(receiver: visit(node.receiver))
|
|
125
128
|
end
|
|
126
129
|
|
|
127
|
-
|
|
128
|
-
def visit_capture_pattern_node(node)
|
|
130
|
+
#: (CapturePatternNode) -> node?
|
|
131
|
+
def visit_capture_pattern_node(node) # :nodoc:
|
|
129
132
|
node.copy(value: visit(node.value), target: visit(node.target))
|
|
130
133
|
end
|
|
131
134
|
|
|
132
|
-
|
|
133
|
-
def visit_case_match_node(node)
|
|
135
|
+
#: (CaseMatchNode) -> node?
|
|
136
|
+
def visit_case_match_node(node) # :nodoc:
|
|
134
137
|
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
|
|
135
138
|
end
|
|
136
139
|
|
|
137
|
-
|
|
138
|
-
def visit_case_node(node)
|
|
140
|
+
#: (CaseNode) -> node?
|
|
141
|
+
def visit_case_node(node) # :nodoc:
|
|
139
142
|
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
|
|
140
143
|
end
|
|
141
144
|
|
|
142
|
-
|
|
143
|
-
def visit_class_node(node)
|
|
145
|
+
#: (ClassNode) -> node?
|
|
146
|
+
def visit_class_node(node) # :nodoc:
|
|
144
147
|
node.copy(constant_path: visit(node.constant_path), superclass: visit(node.superclass), body: visit(node.body))
|
|
145
148
|
end
|
|
146
149
|
|
|
147
|
-
|
|
148
|
-
def visit_class_variable_and_write_node(node)
|
|
150
|
+
#: (ClassVariableAndWriteNode) -> node?
|
|
151
|
+
def visit_class_variable_and_write_node(node) # :nodoc:
|
|
149
152
|
node.copy(value: visit(node.value))
|
|
150
153
|
end
|
|
151
154
|
|
|
152
|
-
|
|
153
|
-
def visit_class_variable_operator_write_node(node)
|
|
155
|
+
#: (ClassVariableOperatorWriteNode) -> node?
|
|
156
|
+
def visit_class_variable_operator_write_node(node) # :nodoc:
|
|
154
157
|
node.copy(value: visit(node.value))
|
|
155
158
|
end
|
|
156
159
|
|
|
157
|
-
|
|
158
|
-
def visit_class_variable_or_write_node(node)
|
|
160
|
+
#: (ClassVariableOrWriteNode) -> node?
|
|
161
|
+
def visit_class_variable_or_write_node(node) # :nodoc:
|
|
159
162
|
node.copy(value: visit(node.value))
|
|
160
163
|
end
|
|
161
164
|
|
|
162
|
-
|
|
163
|
-
def visit_class_variable_read_node(node)
|
|
165
|
+
#: (ClassVariableReadNode) -> node?
|
|
166
|
+
def visit_class_variable_read_node(node) # :nodoc:
|
|
164
167
|
node.copy
|
|
165
168
|
end
|
|
166
169
|
|
|
167
|
-
|
|
168
|
-
def visit_class_variable_target_node(node)
|
|
170
|
+
#: (ClassVariableTargetNode) -> node?
|
|
171
|
+
def visit_class_variable_target_node(node) # :nodoc:
|
|
169
172
|
node.copy
|
|
170
173
|
end
|
|
171
174
|
|
|
172
|
-
|
|
173
|
-
def visit_class_variable_write_node(node)
|
|
175
|
+
#: (ClassVariableWriteNode) -> node?
|
|
176
|
+
def visit_class_variable_write_node(node) # :nodoc:
|
|
174
177
|
node.copy(value: visit(node.value))
|
|
175
178
|
end
|
|
176
179
|
|
|
177
|
-
|
|
178
|
-
def visit_constant_and_write_node(node)
|
|
180
|
+
#: (ConstantAndWriteNode) -> node?
|
|
181
|
+
def visit_constant_and_write_node(node) # :nodoc:
|
|
179
182
|
node.copy(value: visit(node.value))
|
|
180
183
|
end
|
|
181
184
|
|
|
182
|
-
|
|
183
|
-
def visit_constant_operator_write_node(node)
|
|
185
|
+
#: (ConstantOperatorWriteNode) -> node?
|
|
186
|
+
def visit_constant_operator_write_node(node) # :nodoc:
|
|
184
187
|
node.copy(value: visit(node.value))
|
|
185
188
|
end
|
|
186
189
|
|
|
187
|
-
|
|
188
|
-
def visit_constant_or_write_node(node)
|
|
190
|
+
#: (ConstantOrWriteNode) -> node?
|
|
191
|
+
def visit_constant_or_write_node(node) # :nodoc:
|
|
189
192
|
node.copy(value: visit(node.value))
|
|
190
193
|
end
|
|
191
194
|
|
|
192
|
-
|
|
193
|
-
def visit_constant_path_and_write_node(node)
|
|
195
|
+
#: (ConstantPathAndWriteNode) -> node?
|
|
196
|
+
def visit_constant_path_and_write_node(node) # :nodoc:
|
|
194
197
|
node.copy(target: visit(node.target), value: visit(node.value))
|
|
195
198
|
end
|
|
196
199
|
|
|
197
|
-
|
|
198
|
-
def visit_constant_path_node(node)
|
|
200
|
+
#: (ConstantPathNode) -> node?
|
|
201
|
+
def visit_constant_path_node(node) # :nodoc:
|
|
199
202
|
node.copy(parent: visit(node.parent))
|
|
200
203
|
end
|
|
201
204
|
|
|
202
|
-
|
|
203
|
-
def visit_constant_path_operator_write_node(node)
|
|
205
|
+
#: (ConstantPathOperatorWriteNode) -> node?
|
|
206
|
+
def visit_constant_path_operator_write_node(node) # :nodoc:
|
|
204
207
|
node.copy(target: visit(node.target), value: visit(node.value))
|
|
205
208
|
end
|
|
206
209
|
|
|
207
|
-
|
|
208
|
-
def visit_constant_path_or_write_node(node)
|
|
210
|
+
#: (ConstantPathOrWriteNode) -> node?
|
|
211
|
+
def visit_constant_path_or_write_node(node) # :nodoc:
|
|
209
212
|
node.copy(target: visit(node.target), value: visit(node.value))
|
|
210
213
|
end
|
|
211
214
|
|
|
212
|
-
|
|
213
|
-
def visit_constant_path_target_node(node)
|
|
215
|
+
#: (ConstantPathTargetNode) -> node?
|
|
216
|
+
def visit_constant_path_target_node(node) # :nodoc:
|
|
214
217
|
node.copy(parent: visit(node.parent))
|
|
215
218
|
end
|
|
216
219
|
|
|
217
|
-
|
|
218
|
-
def visit_constant_path_write_node(node)
|
|
220
|
+
#: (ConstantPathWriteNode) -> node?
|
|
221
|
+
def visit_constant_path_write_node(node) # :nodoc:
|
|
219
222
|
node.copy(target: visit(node.target), value: visit(node.value))
|
|
220
223
|
end
|
|
221
224
|
|
|
222
|
-
|
|
223
|
-
def visit_constant_read_node(node)
|
|
225
|
+
#: (ConstantReadNode) -> node?
|
|
226
|
+
def visit_constant_read_node(node) # :nodoc:
|
|
224
227
|
node.copy
|
|
225
228
|
end
|
|
226
229
|
|
|
227
|
-
|
|
228
|
-
def visit_constant_target_node(node)
|
|
230
|
+
#: (ConstantTargetNode) -> node?
|
|
231
|
+
def visit_constant_target_node(node) # :nodoc:
|
|
229
232
|
node.copy
|
|
230
233
|
end
|
|
231
234
|
|
|
232
|
-
|
|
233
|
-
def visit_constant_write_node(node)
|
|
235
|
+
#: (ConstantWriteNode) -> node?
|
|
236
|
+
def visit_constant_write_node(node) # :nodoc:
|
|
234
237
|
node.copy(value: visit(node.value))
|
|
235
238
|
end
|
|
236
239
|
|
|
237
|
-
|
|
238
|
-
def visit_def_node(node)
|
|
240
|
+
#: (DefNode) -> node?
|
|
241
|
+
def visit_def_node(node) # :nodoc:
|
|
239
242
|
node.copy(receiver: visit(node.receiver), parameters: visit(node.parameters), body: visit(node.body))
|
|
240
243
|
end
|
|
241
244
|
|
|
242
|
-
|
|
243
|
-
def visit_defined_node(node)
|
|
245
|
+
#: (DefinedNode) -> node?
|
|
246
|
+
def visit_defined_node(node) # :nodoc:
|
|
244
247
|
node.copy(value: visit(node.value))
|
|
245
248
|
end
|
|
246
249
|
|
|
247
|
-
|
|
248
|
-
def visit_else_node(node)
|
|
250
|
+
#: (ElseNode) -> node?
|
|
251
|
+
def visit_else_node(node) # :nodoc:
|
|
249
252
|
node.copy(statements: visit(node.statements))
|
|
250
253
|
end
|
|
251
254
|
|
|
252
|
-
|
|
253
|
-
def visit_embedded_statements_node(node)
|
|
255
|
+
#: (EmbeddedStatementsNode) -> node?
|
|
256
|
+
def visit_embedded_statements_node(node) # :nodoc:
|
|
254
257
|
node.copy(statements: visit(node.statements))
|
|
255
258
|
end
|
|
256
259
|
|
|
257
|
-
|
|
258
|
-
def visit_embedded_variable_node(node)
|
|
260
|
+
#: (EmbeddedVariableNode) -> node?
|
|
261
|
+
def visit_embedded_variable_node(node) # :nodoc:
|
|
259
262
|
node.copy(variable: visit(node.variable))
|
|
260
263
|
end
|
|
261
264
|
|
|
262
|
-
|
|
263
|
-
def visit_ensure_node(node)
|
|
265
|
+
#: (EnsureNode) -> node?
|
|
266
|
+
def visit_ensure_node(node) # :nodoc:
|
|
264
267
|
node.copy(statements: visit(node.statements))
|
|
265
268
|
end
|
|
266
269
|
|
|
267
|
-
|
|
268
|
-
def
|
|
270
|
+
#: (ErrorRecoveryNode) -> node?
|
|
271
|
+
def visit_error_recovery_node(node) # :nodoc:
|
|
272
|
+
node.copy(unexpected: visit(node.unexpected))
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
#: (FalseNode) -> node?
|
|
276
|
+
def visit_false_node(node) # :nodoc:
|
|
269
277
|
node.copy
|
|
270
278
|
end
|
|
271
279
|
|
|
272
|
-
|
|
273
|
-
def visit_find_pattern_node(node)
|
|
280
|
+
#: (FindPatternNode) -> node?
|
|
281
|
+
def visit_find_pattern_node(node) # :nodoc:
|
|
274
282
|
node.copy(constant: visit(node.constant), left: visit(node.left), requireds: visit_all(node.requireds), right: visit(node.right))
|
|
275
283
|
end
|
|
276
284
|
|
|
277
|
-
|
|
278
|
-
def visit_flip_flop_node(node)
|
|
285
|
+
#: (FlipFlopNode) -> node?
|
|
286
|
+
def visit_flip_flop_node(node) # :nodoc:
|
|
279
287
|
node.copy(left: visit(node.left), right: visit(node.right))
|
|
280
288
|
end
|
|
281
289
|
|
|
282
|
-
|
|
283
|
-
def visit_float_node(node)
|
|
290
|
+
#: (FloatNode) -> node?
|
|
291
|
+
def visit_float_node(node) # :nodoc:
|
|
284
292
|
node.copy
|
|
285
293
|
end
|
|
286
294
|
|
|
287
|
-
|
|
288
|
-
def visit_for_node(node)
|
|
295
|
+
#: (ForNode) -> node?
|
|
296
|
+
def visit_for_node(node) # :nodoc:
|
|
289
297
|
node.copy(index: visit(node.index), collection: visit(node.collection), statements: visit(node.statements))
|
|
290
298
|
end
|
|
291
299
|
|
|
292
|
-
|
|
293
|
-
def visit_forwarding_arguments_node(node)
|
|
300
|
+
#: (ForwardingArgumentsNode) -> node?
|
|
301
|
+
def visit_forwarding_arguments_node(node) # :nodoc:
|
|
294
302
|
node.copy
|
|
295
303
|
end
|
|
296
304
|
|
|
297
|
-
|
|
298
|
-
def visit_forwarding_parameter_node(node)
|
|
305
|
+
#: (ForwardingParameterNode) -> node?
|
|
306
|
+
def visit_forwarding_parameter_node(node) # :nodoc:
|
|
299
307
|
node.copy
|
|
300
308
|
end
|
|
301
309
|
|
|
302
|
-
|
|
303
|
-
def visit_forwarding_super_node(node)
|
|
310
|
+
#: (ForwardingSuperNode) -> node?
|
|
311
|
+
def visit_forwarding_super_node(node) # :nodoc:
|
|
304
312
|
node.copy(block: visit(node.block))
|
|
305
313
|
end
|
|
306
314
|
|
|
307
|
-
|
|
308
|
-
def visit_global_variable_and_write_node(node)
|
|
315
|
+
#: (GlobalVariableAndWriteNode) -> node?
|
|
316
|
+
def visit_global_variable_and_write_node(node) # :nodoc:
|
|
309
317
|
node.copy(value: visit(node.value))
|
|
310
318
|
end
|
|
311
319
|
|
|
312
|
-
|
|
313
|
-
def visit_global_variable_operator_write_node(node)
|
|
320
|
+
#: (GlobalVariableOperatorWriteNode) -> node?
|
|
321
|
+
def visit_global_variable_operator_write_node(node) # :nodoc:
|
|
314
322
|
node.copy(value: visit(node.value))
|
|
315
323
|
end
|
|
316
324
|
|
|
317
|
-
|
|
318
|
-
def visit_global_variable_or_write_node(node)
|
|
325
|
+
#: (GlobalVariableOrWriteNode) -> node?
|
|
326
|
+
def visit_global_variable_or_write_node(node) # :nodoc:
|
|
319
327
|
node.copy(value: visit(node.value))
|
|
320
328
|
end
|
|
321
329
|
|
|
322
|
-
|
|
323
|
-
def visit_global_variable_read_node(node)
|
|
330
|
+
#: (GlobalVariableReadNode) -> node?
|
|
331
|
+
def visit_global_variable_read_node(node) # :nodoc:
|
|
324
332
|
node.copy
|
|
325
333
|
end
|
|
326
334
|
|
|
327
|
-
|
|
328
|
-
def visit_global_variable_target_node(node)
|
|
335
|
+
#: (GlobalVariableTargetNode) -> node?
|
|
336
|
+
def visit_global_variable_target_node(node) # :nodoc:
|
|
329
337
|
node.copy
|
|
330
338
|
end
|
|
331
339
|
|
|
332
|
-
|
|
333
|
-
def visit_global_variable_write_node(node)
|
|
340
|
+
#: (GlobalVariableWriteNode) -> node?
|
|
341
|
+
def visit_global_variable_write_node(node) # :nodoc:
|
|
334
342
|
node.copy(value: visit(node.value))
|
|
335
343
|
end
|
|
336
344
|
|
|
337
|
-
|
|
338
|
-
def visit_hash_node(node)
|
|
345
|
+
#: (HashNode) -> node?
|
|
346
|
+
def visit_hash_node(node) # :nodoc:
|
|
339
347
|
node.copy(elements: visit_all(node.elements))
|
|
340
348
|
end
|
|
341
349
|
|
|
342
|
-
|
|
343
|
-
def visit_hash_pattern_node(node)
|
|
350
|
+
#: (HashPatternNode) -> node?
|
|
351
|
+
def visit_hash_pattern_node(node) # :nodoc:
|
|
344
352
|
node.copy(constant: visit(node.constant), elements: visit_all(node.elements), rest: visit(node.rest))
|
|
345
353
|
end
|
|
346
354
|
|
|
347
|
-
|
|
348
|
-
def visit_if_node(node)
|
|
355
|
+
#: (IfNode) -> node?
|
|
356
|
+
def visit_if_node(node) # :nodoc:
|
|
349
357
|
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent))
|
|
350
358
|
end
|
|
351
359
|
|
|
352
|
-
|
|
353
|
-
def visit_imaginary_node(node)
|
|
360
|
+
#: (ImaginaryNode) -> node?
|
|
361
|
+
def visit_imaginary_node(node) # :nodoc:
|
|
354
362
|
node.copy(numeric: visit(node.numeric))
|
|
355
363
|
end
|
|
356
364
|
|
|
357
|
-
|
|
358
|
-
def visit_implicit_node(node)
|
|
365
|
+
#: (ImplicitNode) -> node?
|
|
366
|
+
def visit_implicit_node(node) # :nodoc:
|
|
359
367
|
node.copy(value: visit(node.value))
|
|
360
368
|
end
|
|
361
369
|
|
|
362
|
-
|
|
363
|
-
def visit_implicit_rest_node(node)
|
|
370
|
+
#: (ImplicitRestNode) -> node?
|
|
371
|
+
def visit_implicit_rest_node(node) # :nodoc:
|
|
364
372
|
node.copy
|
|
365
373
|
end
|
|
366
374
|
|
|
367
|
-
|
|
368
|
-
def visit_in_node(node)
|
|
375
|
+
#: (InNode) -> node?
|
|
376
|
+
def visit_in_node(node) # :nodoc:
|
|
369
377
|
node.copy(pattern: visit(node.pattern), statements: visit(node.statements))
|
|
370
378
|
end
|
|
371
379
|
|
|
372
|
-
|
|
373
|
-
def visit_index_and_write_node(node)
|
|
380
|
+
#: (IndexAndWriteNode) -> node?
|
|
381
|
+
def visit_index_and_write_node(node) # :nodoc:
|
|
374
382
|
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
|
|
375
383
|
end
|
|
376
384
|
|
|
377
|
-
|
|
378
|
-
def visit_index_operator_write_node(node)
|
|
385
|
+
#: (IndexOperatorWriteNode) -> node?
|
|
386
|
+
def visit_index_operator_write_node(node) # :nodoc:
|
|
379
387
|
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
|
|
380
388
|
end
|
|
381
389
|
|
|
382
|
-
|
|
383
|
-
def visit_index_or_write_node(node)
|
|
390
|
+
#: (IndexOrWriteNode) -> node?
|
|
391
|
+
def visit_index_or_write_node(node) # :nodoc:
|
|
384
392
|
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block), value: visit(node.value))
|
|
385
393
|
end
|
|
386
394
|
|
|
387
|
-
|
|
388
|
-
def visit_index_target_node(node)
|
|
395
|
+
#: (IndexTargetNode) -> node?
|
|
396
|
+
def visit_index_target_node(node) # :nodoc:
|
|
389
397
|
node.copy(receiver: visit(node.receiver), arguments: visit(node.arguments), block: visit(node.block))
|
|
390
398
|
end
|
|
391
399
|
|
|
392
|
-
|
|
393
|
-
def visit_instance_variable_and_write_node(node)
|
|
400
|
+
#: (InstanceVariableAndWriteNode) -> node?
|
|
401
|
+
def visit_instance_variable_and_write_node(node) # :nodoc:
|
|
394
402
|
node.copy(value: visit(node.value))
|
|
395
403
|
end
|
|
396
404
|
|
|
397
|
-
|
|
398
|
-
def visit_instance_variable_operator_write_node(node)
|
|
405
|
+
#: (InstanceVariableOperatorWriteNode) -> node?
|
|
406
|
+
def visit_instance_variable_operator_write_node(node) # :nodoc:
|
|
399
407
|
node.copy(value: visit(node.value))
|
|
400
408
|
end
|
|
401
409
|
|
|
402
|
-
|
|
403
|
-
def visit_instance_variable_or_write_node(node)
|
|
410
|
+
#: (InstanceVariableOrWriteNode) -> node?
|
|
411
|
+
def visit_instance_variable_or_write_node(node) # :nodoc:
|
|
404
412
|
node.copy(value: visit(node.value))
|
|
405
413
|
end
|
|
406
414
|
|
|
407
|
-
|
|
408
|
-
def visit_instance_variable_read_node(node)
|
|
415
|
+
#: (InstanceVariableReadNode) -> node?
|
|
416
|
+
def visit_instance_variable_read_node(node) # :nodoc:
|
|
409
417
|
node.copy
|
|
410
418
|
end
|
|
411
419
|
|
|
412
|
-
|
|
413
|
-
def visit_instance_variable_target_node(node)
|
|
420
|
+
#: (InstanceVariableTargetNode) -> node?
|
|
421
|
+
def visit_instance_variable_target_node(node) # :nodoc:
|
|
414
422
|
node.copy
|
|
415
423
|
end
|
|
416
424
|
|
|
417
|
-
|
|
418
|
-
def visit_instance_variable_write_node(node)
|
|
425
|
+
#: (InstanceVariableWriteNode) -> node?
|
|
426
|
+
def visit_instance_variable_write_node(node) # :nodoc:
|
|
419
427
|
node.copy(value: visit(node.value))
|
|
420
428
|
end
|
|
421
429
|
|
|
422
|
-
|
|
423
|
-
def visit_integer_node(node)
|
|
430
|
+
#: (IntegerNode) -> node?
|
|
431
|
+
def visit_integer_node(node) # :nodoc:
|
|
424
432
|
node.copy
|
|
425
433
|
end
|
|
426
434
|
|
|
427
|
-
|
|
428
|
-
def visit_interpolated_match_last_line_node(node)
|
|
435
|
+
#: (InterpolatedMatchLastLineNode) -> node?
|
|
436
|
+
def visit_interpolated_match_last_line_node(node) # :nodoc:
|
|
429
437
|
node.copy(parts: visit_all(node.parts))
|
|
430
438
|
end
|
|
431
439
|
|
|
432
|
-
|
|
433
|
-
def visit_interpolated_regular_expression_node(node)
|
|
440
|
+
#: (InterpolatedRegularExpressionNode) -> node?
|
|
441
|
+
def visit_interpolated_regular_expression_node(node) # :nodoc:
|
|
434
442
|
node.copy(parts: visit_all(node.parts))
|
|
435
443
|
end
|
|
436
444
|
|
|
437
|
-
|
|
438
|
-
def visit_interpolated_string_node(node)
|
|
445
|
+
#: (InterpolatedStringNode) -> node?
|
|
446
|
+
def visit_interpolated_string_node(node) # :nodoc:
|
|
439
447
|
node.copy(parts: visit_all(node.parts))
|
|
440
448
|
end
|
|
441
449
|
|
|
442
|
-
|
|
443
|
-
def visit_interpolated_symbol_node(node)
|
|
450
|
+
#: (InterpolatedSymbolNode) -> node?
|
|
451
|
+
def visit_interpolated_symbol_node(node) # :nodoc:
|
|
444
452
|
node.copy(parts: visit_all(node.parts))
|
|
445
453
|
end
|
|
446
454
|
|
|
447
|
-
|
|
448
|
-
def visit_interpolated_x_string_node(node)
|
|
455
|
+
#: (InterpolatedXStringNode) -> node?
|
|
456
|
+
def visit_interpolated_x_string_node(node) # :nodoc:
|
|
449
457
|
node.copy(parts: visit_all(node.parts))
|
|
450
458
|
end
|
|
451
459
|
|
|
452
|
-
|
|
453
|
-
def visit_it_local_variable_read_node(node)
|
|
460
|
+
#: (ItLocalVariableReadNode) -> node?
|
|
461
|
+
def visit_it_local_variable_read_node(node) # :nodoc:
|
|
454
462
|
node.copy
|
|
455
463
|
end
|
|
456
464
|
|
|
457
|
-
|
|
458
|
-
def visit_it_parameters_node(node)
|
|
465
|
+
#: (ItParametersNode) -> node?
|
|
466
|
+
def visit_it_parameters_node(node) # :nodoc:
|
|
459
467
|
node.copy
|
|
460
468
|
end
|
|
461
469
|
|
|
462
|
-
|
|
463
|
-
def visit_keyword_hash_node(node)
|
|
470
|
+
#: (KeywordHashNode) -> node?
|
|
471
|
+
def visit_keyword_hash_node(node) # :nodoc:
|
|
464
472
|
node.copy(elements: visit_all(node.elements))
|
|
465
473
|
end
|
|
466
474
|
|
|
467
|
-
|
|
468
|
-
def visit_keyword_rest_parameter_node(node)
|
|
475
|
+
#: (KeywordRestParameterNode) -> node?
|
|
476
|
+
def visit_keyword_rest_parameter_node(node) # :nodoc:
|
|
469
477
|
node.copy
|
|
470
478
|
end
|
|
471
479
|
|
|
472
|
-
|
|
473
|
-
def visit_lambda_node(node)
|
|
480
|
+
#: (LambdaNode) -> node?
|
|
481
|
+
def visit_lambda_node(node) # :nodoc:
|
|
474
482
|
node.copy(parameters: visit(node.parameters), body: visit(node.body))
|
|
475
483
|
end
|
|
476
484
|
|
|
477
|
-
|
|
478
|
-
def visit_local_variable_and_write_node(node)
|
|
485
|
+
#: (LocalVariableAndWriteNode) -> node?
|
|
486
|
+
def visit_local_variable_and_write_node(node) # :nodoc:
|
|
479
487
|
node.copy(value: visit(node.value))
|
|
480
488
|
end
|
|
481
489
|
|
|
482
|
-
|
|
483
|
-
def visit_local_variable_operator_write_node(node)
|
|
490
|
+
#: (LocalVariableOperatorWriteNode) -> node?
|
|
491
|
+
def visit_local_variable_operator_write_node(node) # :nodoc:
|
|
484
492
|
node.copy(value: visit(node.value))
|
|
485
493
|
end
|
|
486
494
|
|
|
487
|
-
|
|
488
|
-
def visit_local_variable_or_write_node(node)
|
|
495
|
+
#: (LocalVariableOrWriteNode) -> node?
|
|
496
|
+
def visit_local_variable_or_write_node(node) # :nodoc:
|
|
489
497
|
node.copy(value: visit(node.value))
|
|
490
498
|
end
|
|
491
499
|
|
|
492
|
-
|
|
493
|
-
def visit_local_variable_read_node(node)
|
|
500
|
+
#: (LocalVariableReadNode) -> node?
|
|
501
|
+
def visit_local_variable_read_node(node) # :nodoc:
|
|
494
502
|
node.copy
|
|
495
503
|
end
|
|
496
504
|
|
|
497
|
-
|
|
498
|
-
def visit_local_variable_target_node(node)
|
|
505
|
+
#: (LocalVariableTargetNode) -> node?
|
|
506
|
+
def visit_local_variable_target_node(node) # :nodoc:
|
|
499
507
|
node.copy
|
|
500
508
|
end
|
|
501
509
|
|
|
502
|
-
|
|
503
|
-
def visit_local_variable_write_node(node)
|
|
510
|
+
#: (LocalVariableWriteNode) -> node?
|
|
511
|
+
def visit_local_variable_write_node(node) # :nodoc:
|
|
504
512
|
node.copy(value: visit(node.value))
|
|
505
513
|
end
|
|
506
514
|
|
|
507
|
-
|
|
508
|
-
def visit_match_last_line_node(node)
|
|
515
|
+
#: (MatchLastLineNode) -> node?
|
|
516
|
+
def visit_match_last_line_node(node) # :nodoc:
|
|
509
517
|
node.copy
|
|
510
518
|
end
|
|
511
519
|
|
|
512
|
-
|
|
513
|
-
def visit_match_predicate_node(node)
|
|
520
|
+
#: (MatchPredicateNode) -> node?
|
|
521
|
+
def visit_match_predicate_node(node) # :nodoc:
|
|
514
522
|
node.copy(value: visit(node.value), pattern: visit(node.pattern))
|
|
515
523
|
end
|
|
516
524
|
|
|
517
|
-
|
|
518
|
-
def visit_match_required_node(node)
|
|
525
|
+
#: (MatchRequiredNode) -> node?
|
|
526
|
+
def visit_match_required_node(node) # :nodoc:
|
|
519
527
|
node.copy(value: visit(node.value), pattern: visit(node.pattern))
|
|
520
528
|
end
|
|
521
529
|
|
|
522
|
-
|
|
523
|
-
def visit_match_write_node(node)
|
|
530
|
+
#: (MatchWriteNode) -> node?
|
|
531
|
+
def visit_match_write_node(node) # :nodoc:
|
|
524
532
|
node.copy(call: visit(node.call), targets: visit_all(node.targets))
|
|
525
533
|
end
|
|
526
534
|
|
|
527
|
-
|
|
528
|
-
def
|
|
529
|
-
node.copy
|
|
530
|
-
end
|
|
531
|
-
|
|
532
|
-
# Copy a ModuleNode node
|
|
533
|
-
def visit_module_node(node)
|
|
535
|
+
#: (ModuleNode) -> node?
|
|
536
|
+
def visit_module_node(node) # :nodoc:
|
|
534
537
|
node.copy(constant_path: visit(node.constant_path), body: visit(node.body))
|
|
535
538
|
end
|
|
536
539
|
|
|
537
|
-
|
|
538
|
-
def visit_multi_target_node(node)
|
|
540
|
+
#: (MultiTargetNode) -> node?
|
|
541
|
+
def visit_multi_target_node(node) # :nodoc:
|
|
539
542
|
node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights))
|
|
540
543
|
end
|
|
541
544
|
|
|
542
|
-
|
|
543
|
-
def visit_multi_write_node(node)
|
|
545
|
+
#: (MultiWriteNode) -> node?
|
|
546
|
+
def visit_multi_write_node(node) # :nodoc:
|
|
544
547
|
node.copy(lefts: visit_all(node.lefts), rest: visit(node.rest), rights: visit_all(node.rights), value: visit(node.value))
|
|
545
548
|
end
|
|
546
549
|
|
|
547
|
-
|
|
548
|
-
def visit_next_node(node)
|
|
550
|
+
#: (NextNode) -> node?
|
|
551
|
+
def visit_next_node(node) # :nodoc:
|
|
549
552
|
node.copy(arguments: visit(node.arguments))
|
|
550
553
|
end
|
|
551
554
|
|
|
552
|
-
|
|
553
|
-
def visit_nil_node(node)
|
|
555
|
+
#: (NilNode) -> node?
|
|
556
|
+
def visit_nil_node(node) # :nodoc:
|
|
557
|
+
node.copy
|
|
558
|
+
end
|
|
559
|
+
|
|
560
|
+
#: (NoBlockParameterNode) -> node?
|
|
561
|
+
def visit_no_block_parameter_node(node) # :nodoc:
|
|
554
562
|
node.copy
|
|
555
563
|
end
|
|
556
564
|
|
|
557
|
-
|
|
558
|
-
def visit_no_keywords_parameter_node(node)
|
|
565
|
+
#: (NoKeywordsParameterNode) -> node?
|
|
566
|
+
def visit_no_keywords_parameter_node(node) # :nodoc:
|
|
559
567
|
node.copy
|
|
560
568
|
end
|
|
561
569
|
|
|
562
|
-
|
|
563
|
-
def visit_numbered_parameters_node(node)
|
|
570
|
+
#: (NumberedParametersNode) -> node?
|
|
571
|
+
def visit_numbered_parameters_node(node) # :nodoc:
|
|
564
572
|
node.copy
|
|
565
573
|
end
|
|
566
574
|
|
|
567
|
-
|
|
568
|
-
def visit_numbered_reference_read_node(node)
|
|
575
|
+
#: (NumberedReferenceReadNode) -> node?
|
|
576
|
+
def visit_numbered_reference_read_node(node) # :nodoc:
|
|
569
577
|
node.copy
|
|
570
578
|
end
|
|
571
579
|
|
|
572
|
-
|
|
573
|
-
def visit_optional_keyword_parameter_node(node)
|
|
580
|
+
#: (OptionalKeywordParameterNode) -> node?
|
|
581
|
+
def visit_optional_keyword_parameter_node(node) # :nodoc:
|
|
574
582
|
node.copy(value: visit(node.value))
|
|
575
583
|
end
|
|
576
584
|
|
|
577
|
-
|
|
578
|
-
def visit_optional_parameter_node(node)
|
|
585
|
+
#: (OptionalParameterNode) -> node?
|
|
586
|
+
def visit_optional_parameter_node(node) # :nodoc:
|
|
579
587
|
node.copy(value: visit(node.value))
|
|
580
588
|
end
|
|
581
589
|
|
|
582
|
-
|
|
583
|
-
def visit_or_node(node)
|
|
590
|
+
#: (OrNode) -> node?
|
|
591
|
+
def visit_or_node(node) # :nodoc:
|
|
584
592
|
node.copy(left: visit(node.left), right: visit(node.right))
|
|
585
593
|
end
|
|
586
594
|
|
|
587
|
-
|
|
588
|
-
def visit_parameters_node(node)
|
|
595
|
+
#: (ParametersNode) -> node?
|
|
596
|
+
def visit_parameters_node(node) # :nodoc:
|
|
589
597
|
node.copy(requireds: visit_all(node.requireds), optionals: visit_all(node.optionals), rest: visit(node.rest), posts: visit_all(node.posts), keywords: visit_all(node.keywords), keyword_rest: visit(node.keyword_rest), block: visit(node.block))
|
|
590
598
|
end
|
|
591
599
|
|
|
592
|
-
|
|
593
|
-
def visit_parentheses_node(node)
|
|
600
|
+
#: (ParenthesesNode) -> node?
|
|
601
|
+
def visit_parentheses_node(node) # :nodoc:
|
|
594
602
|
node.copy(body: visit(node.body))
|
|
595
603
|
end
|
|
596
604
|
|
|
597
|
-
|
|
598
|
-
def visit_pinned_expression_node(node)
|
|
605
|
+
#: (PinnedExpressionNode) -> node?
|
|
606
|
+
def visit_pinned_expression_node(node) # :nodoc:
|
|
599
607
|
node.copy(expression: visit(node.expression))
|
|
600
608
|
end
|
|
601
609
|
|
|
602
|
-
|
|
603
|
-
def visit_pinned_variable_node(node)
|
|
610
|
+
#: (PinnedVariableNode) -> node?
|
|
611
|
+
def visit_pinned_variable_node(node) # :nodoc:
|
|
604
612
|
node.copy(variable: visit(node.variable))
|
|
605
613
|
end
|
|
606
614
|
|
|
607
|
-
|
|
608
|
-
def visit_post_execution_node(node)
|
|
615
|
+
#: (PostExecutionNode) -> node?
|
|
616
|
+
def visit_post_execution_node(node) # :nodoc:
|
|
609
617
|
node.copy(statements: visit(node.statements))
|
|
610
618
|
end
|
|
611
619
|
|
|
612
|
-
|
|
613
|
-
def visit_pre_execution_node(node)
|
|
620
|
+
#: (PreExecutionNode) -> node?
|
|
621
|
+
def visit_pre_execution_node(node) # :nodoc:
|
|
614
622
|
node.copy(statements: visit(node.statements))
|
|
615
623
|
end
|
|
616
624
|
|
|
617
|
-
|
|
618
|
-
def visit_program_node(node)
|
|
625
|
+
#: (ProgramNode) -> node?
|
|
626
|
+
def visit_program_node(node) # :nodoc:
|
|
619
627
|
node.copy(statements: visit(node.statements))
|
|
620
628
|
end
|
|
621
629
|
|
|
622
|
-
|
|
623
|
-
def visit_range_node(node)
|
|
630
|
+
#: (RangeNode) -> node?
|
|
631
|
+
def visit_range_node(node) # :nodoc:
|
|
624
632
|
node.copy(left: visit(node.left), right: visit(node.right))
|
|
625
633
|
end
|
|
626
634
|
|
|
627
|
-
|
|
628
|
-
def visit_rational_node(node)
|
|
635
|
+
#: (RationalNode) -> node?
|
|
636
|
+
def visit_rational_node(node) # :nodoc:
|
|
629
637
|
node.copy
|
|
630
638
|
end
|
|
631
639
|
|
|
632
|
-
|
|
633
|
-
def visit_redo_node(node)
|
|
640
|
+
#: (RedoNode) -> node?
|
|
641
|
+
def visit_redo_node(node) # :nodoc:
|
|
634
642
|
node.copy
|
|
635
643
|
end
|
|
636
644
|
|
|
637
|
-
|
|
638
|
-
def visit_regular_expression_node(node)
|
|
645
|
+
#: (RegularExpressionNode) -> node?
|
|
646
|
+
def visit_regular_expression_node(node) # :nodoc:
|
|
639
647
|
node.copy
|
|
640
648
|
end
|
|
641
649
|
|
|
642
|
-
|
|
643
|
-
def visit_required_keyword_parameter_node(node)
|
|
650
|
+
#: (RequiredKeywordParameterNode) -> node?
|
|
651
|
+
def visit_required_keyword_parameter_node(node) # :nodoc:
|
|
644
652
|
node.copy
|
|
645
653
|
end
|
|
646
654
|
|
|
647
|
-
|
|
648
|
-
def visit_required_parameter_node(node)
|
|
655
|
+
#: (RequiredParameterNode) -> node?
|
|
656
|
+
def visit_required_parameter_node(node) # :nodoc:
|
|
649
657
|
node.copy
|
|
650
658
|
end
|
|
651
659
|
|
|
652
|
-
|
|
653
|
-
def visit_rescue_modifier_node(node)
|
|
660
|
+
#: (RescueModifierNode) -> node?
|
|
661
|
+
def visit_rescue_modifier_node(node) # :nodoc:
|
|
654
662
|
node.copy(expression: visit(node.expression), rescue_expression: visit(node.rescue_expression))
|
|
655
663
|
end
|
|
656
664
|
|
|
657
|
-
|
|
658
|
-
def visit_rescue_node(node)
|
|
665
|
+
#: (RescueNode) -> node?
|
|
666
|
+
def visit_rescue_node(node) # :nodoc:
|
|
659
667
|
node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), subsequent: visit(node.subsequent))
|
|
660
668
|
end
|
|
661
669
|
|
|
662
|
-
|
|
663
|
-
def visit_rest_parameter_node(node)
|
|
670
|
+
#: (RestParameterNode) -> node?
|
|
671
|
+
def visit_rest_parameter_node(node) # :nodoc:
|
|
664
672
|
node.copy
|
|
665
673
|
end
|
|
666
674
|
|
|
667
|
-
|
|
668
|
-
def visit_retry_node(node)
|
|
675
|
+
#: (RetryNode) -> node?
|
|
676
|
+
def visit_retry_node(node) # :nodoc:
|
|
669
677
|
node.copy
|
|
670
678
|
end
|
|
671
679
|
|
|
672
|
-
|
|
673
|
-
def visit_return_node(node)
|
|
680
|
+
#: (ReturnNode) -> node?
|
|
681
|
+
def visit_return_node(node) # :nodoc:
|
|
674
682
|
node.copy(arguments: visit(node.arguments))
|
|
675
683
|
end
|
|
676
684
|
|
|
677
|
-
|
|
678
|
-
def visit_self_node(node)
|
|
685
|
+
#: (SelfNode) -> node?
|
|
686
|
+
def visit_self_node(node) # :nodoc:
|
|
679
687
|
node.copy
|
|
680
688
|
end
|
|
681
689
|
|
|
682
|
-
|
|
683
|
-
def visit_shareable_constant_node(node)
|
|
690
|
+
#: (ShareableConstantNode) -> node?
|
|
691
|
+
def visit_shareable_constant_node(node) # :nodoc:
|
|
684
692
|
node.copy(write: visit(node.write))
|
|
685
693
|
end
|
|
686
694
|
|
|
687
|
-
|
|
688
|
-
def visit_singleton_class_node(node)
|
|
695
|
+
#: (SingletonClassNode) -> node?
|
|
696
|
+
def visit_singleton_class_node(node) # :nodoc:
|
|
689
697
|
node.copy(expression: visit(node.expression), body: visit(node.body))
|
|
690
698
|
end
|
|
691
699
|
|
|
692
|
-
|
|
693
|
-
def visit_source_encoding_node(node)
|
|
700
|
+
#: (SourceEncodingNode) -> node?
|
|
701
|
+
def visit_source_encoding_node(node) # :nodoc:
|
|
694
702
|
node.copy
|
|
695
703
|
end
|
|
696
704
|
|
|
697
|
-
|
|
698
|
-
def visit_source_file_node(node)
|
|
705
|
+
#: (SourceFileNode) -> node?
|
|
706
|
+
def visit_source_file_node(node) # :nodoc:
|
|
699
707
|
node.copy
|
|
700
708
|
end
|
|
701
709
|
|
|
702
|
-
|
|
703
|
-
def visit_source_line_node(node)
|
|
710
|
+
#: (SourceLineNode) -> node?
|
|
711
|
+
def visit_source_line_node(node) # :nodoc:
|
|
704
712
|
node.copy
|
|
705
713
|
end
|
|
706
714
|
|
|
707
|
-
|
|
708
|
-
def visit_splat_node(node)
|
|
715
|
+
#: (SplatNode) -> node?
|
|
716
|
+
def visit_splat_node(node) # :nodoc:
|
|
709
717
|
node.copy(expression: visit(node.expression))
|
|
710
718
|
end
|
|
711
719
|
|
|
712
|
-
|
|
713
|
-
def visit_statements_node(node)
|
|
720
|
+
#: (StatementsNode) -> node?
|
|
721
|
+
def visit_statements_node(node) # :nodoc:
|
|
714
722
|
node.copy(body: visit_all(node.body))
|
|
715
723
|
end
|
|
716
724
|
|
|
717
|
-
|
|
718
|
-
def visit_string_node(node)
|
|
725
|
+
#: (StringNode) -> node?
|
|
726
|
+
def visit_string_node(node) # :nodoc:
|
|
719
727
|
node.copy
|
|
720
728
|
end
|
|
721
729
|
|
|
722
|
-
|
|
723
|
-
def visit_super_node(node)
|
|
730
|
+
#: (SuperNode) -> node?
|
|
731
|
+
def visit_super_node(node) # :nodoc:
|
|
724
732
|
node.copy(arguments: visit(node.arguments), block: visit(node.block))
|
|
725
733
|
end
|
|
726
734
|
|
|
727
|
-
|
|
728
|
-
def visit_symbol_node(node)
|
|
735
|
+
#: (SymbolNode) -> node?
|
|
736
|
+
def visit_symbol_node(node) # :nodoc:
|
|
729
737
|
node.copy
|
|
730
738
|
end
|
|
731
739
|
|
|
732
|
-
|
|
733
|
-
def visit_true_node(node)
|
|
740
|
+
#: (TrueNode) -> node?
|
|
741
|
+
def visit_true_node(node) # :nodoc:
|
|
734
742
|
node.copy
|
|
735
743
|
end
|
|
736
744
|
|
|
737
|
-
|
|
738
|
-
def visit_undef_node(node)
|
|
745
|
+
#: (UndefNode) -> node?
|
|
746
|
+
def visit_undef_node(node) # :nodoc:
|
|
739
747
|
node.copy(names: visit_all(node.names))
|
|
740
748
|
end
|
|
741
749
|
|
|
742
|
-
|
|
743
|
-
def visit_unless_node(node)
|
|
750
|
+
#: (UnlessNode) -> node?
|
|
751
|
+
def visit_unless_node(node) # :nodoc:
|
|
744
752
|
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), else_clause: visit(node.else_clause))
|
|
745
753
|
end
|
|
746
754
|
|
|
747
|
-
|
|
748
|
-
def visit_until_node(node)
|
|
755
|
+
#: (UntilNode) -> node?
|
|
756
|
+
def visit_until_node(node) # :nodoc:
|
|
749
757
|
node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
|
|
750
758
|
end
|
|
751
759
|
|
|
752
|
-
|
|
753
|
-
def visit_when_node(node)
|
|
760
|
+
#: (WhenNode) -> node?
|
|
761
|
+
def visit_when_node(node) # :nodoc:
|
|
754
762
|
node.copy(conditions: visit_all(node.conditions), statements: visit(node.statements))
|
|
755
763
|
end
|
|
756
764
|
|
|
757
|
-
|
|
758
|
-
def visit_while_node(node)
|
|
765
|
+
#: (WhileNode) -> node?
|
|
766
|
+
def visit_while_node(node) # :nodoc:
|
|
759
767
|
node.copy(predicate: visit(node.predicate), statements: visit(node.statements))
|
|
760
768
|
end
|
|
761
769
|
|
|
762
|
-
|
|
763
|
-
def visit_x_string_node(node)
|
|
770
|
+
#: (XStringNode) -> node?
|
|
771
|
+
def visit_x_string_node(node) # :nodoc:
|
|
764
772
|
node.copy
|
|
765
773
|
end
|
|
766
774
|
|
|
767
|
-
|
|
768
|
-
def visit_yield_node(node)
|
|
775
|
+
#: (YieldNode) -> node?
|
|
776
|
+
def visit_yield_node(node) # :nodoc:
|
|
769
777
|
node.copy(arguments: visit(node.arguments))
|
|
770
778
|
end
|
|
771
779
|
end
|