refract 1.0.0.beta1 → 1.1.0
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/README.md +1 -1
- data/lib/refract/basic_visitor.rb +7 -2
- data/lib/refract/converter.rb +197 -23
- data/lib/refract/formatter.rb +146 -80
- data/lib/refract/mutation_visitor.rb +111 -115
- data/lib/refract/nodes/alias_global_variable_node.rb +3 -1
- data/lib/refract/nodes/alias_method_node.rb +3 -1
- data/lib/refract/nodes/alternation_pattern_node.rb +3 -1
- data/lib/refract/nodes/and_node.rb +3 -1
- data/lib/refract/nodes/arguments_node.rb +3 -1
- data/lib/refract/nodes/array_node.rb +3 -1
- data/lib/refract/nodes/array_pattern_node.rb +3 -1
- data/lib/refract/nodes/assoc_node.rb +3 -1
- data/lib/refract/nodes/assoc_splat_node.rb +3 -1
- data/lib/refract/nodes/back_reference_read_node.rb +3 -1
- data/lib/refract/nodes/begin_node.rb +3 -1
- data/lib/refract/nodes/block_argument_node.rb +3 -1
- data/lib/refract/nodes/block_local_variable_node.rb +3 -1
- data/lib/refract/nodes/block_node.rb +3 -1
- data/lib/refract/nodes/block_parameter_node.rb +3 -1
- data/lib/refract/nodes/block_parameters_node.rb +3 -1
- data/lib/refract/nodes/break_node.rb +3 -1
- data/lib/refract/nodes/call_and_write_node.rb +3 -1
- data/lib/refract/nodes/call_node.rb +6 -3
- data/lib/refract/nodes/call_operator_write_node.rb +3 -1
- data/lib/refract/nodes/call_or_write_node.rb +3 -1
- data/lib/refract/nodes/call_target_node.rb +3 -1
- data/lib/refract/nodes/capture_pattern_node.rb +3 -1
- data/lib/refract/nodes/case_match_node.rb +3 -1
- data/lib/refract/nodes/case_node.rb +3 -1
- data/lib/refract/nodes/class_node.rb +3 -1
- data/lib/refract/nodes/class_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/class_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/class_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/class_variable_read_node.rb +3 -1
- data/lib/refract/nodes/class_variable_target_node.rb +3 -1
- data/lib/refract/nodes/class_variable_write_node.rb +3 -1
- data/lib/refract/nodes/constant_and_write_node.rb +3 -1
- data/lib/refract/nodes/constant_operator_write_node.rb +3 -1
- data/lib/refract/nodes/constant_or_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_and_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_node.rb +14 -0
- data/lib/refract/nodes/constant_path_operator_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_or_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_target_node.rb +3 -1
- data/lib/refract/nodes/constant_path_write_node.rb +3 -1
- data/lib/refract/nodes/constant_read_node.rb +3 -1
- data/lib/refract/nodes/constant_target_node.rb +3 -1
- data/lib/refract/nodes/constant_write_node.rb +3 -1
- data/lib/refract/nodes/def_node.rb +3 -1
- data/lib/refract/nodes/defined_node.rb +3 -1
- data/lib/refract/nodes/else_node.rb +3 -1
- data/lib/refract/nodes/embedded_statements_node.rb +3 -1
- data/lib/refract/nodes/embedded_variable_node.rb +3 -1
- data/lib/refract/nodes/ensure_node.rb +3 -1
- data/lib/refract/nodes/false_node.rb +3 -0
- data/lib/refract/nodes/find_pattern_node.rb +3 -1
- data/lib/refract/nodes/flip_flop_node.rb +3 -1
- data/lib/refract/nodes/float_node.rb +3 -1
- data/lib/refract/nodes/for_node.rb +3 -1
- data/lib/refract/nodes/forwarding_arguments_node.rb +3 -0
- data/lib/refract/nodes/forwarding_parameter_node.rb +3 -0
- data/lib/refract/nodes/forwarding_super_node.rb +3 -1
- data/lib/refract/nodes/global_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/global_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/global_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/global_variable_read_node.rb +3 -1
- data/lib/refract/nodes/global_variable_target_node.rb +3 -1
- data/lib/refract/nodes/global_variable_write_node.rb +3 -1
- data/lib/refract/nodes/hash_node.rb +3 -1
- data/lib/refract/nodes/hash_pattern_node.rb +3 -1
- data/lib/refract/nodes/if_node.rb +5 -2
- data/lib/refract/nodes/imaginary_node.rb +3 -1
- data/lib/refract/nodes/implicit_node.rb +3 -1
- data/lib/refract/nodes/implicit_rest_node.rb +3 -0
- data/lib/refract/nodes/in_node.rb +3 -1
- data/lib/refract/nodes/index_and_write_node.rb +3 -1
- data/lib/refract/nodes/index_operator_write_node.rb +3 -1
- data/lib/refract/nodes/index_or_write_node.rb +3 -1
- data/lib/refract/nodes/index_target_node.rb +4 -2
- data/lib/refract/nodes/instance_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_read_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_target_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_write_node.rb +3 -1
- data/lib/refract/nodes/integer_node.rb +3 -1
- data/lib/refract/nodes/interpolated_match_last_line_node.rb +3 -1
- data/lib/refract/nodes/interpolated_regular_expression_node.rb +3 -1
- data/lib/refract/nodes/interpolated_string_node.rb +3 -1
- data/lib/refract/nodes/interpolated_symbol_node.rb +3 -1
- data/lib/refract/nodes/interpolated_x_string_node.rb +3 -1
- data/lib/refract/nodes/it_local_variable_read_node.rb +3 -0
- data/lib/refract/nodes/it_parameters_node.rb +3 -0
- data/lib/refract/nodes/keyword_hash_node.rb +3 -1
- data/lib/refract/nodes/keyword_rest_parameter_node.rb +3 -1
- data/lib/refract/nodes/lambda_node.rb +3 -1
- data/lib/refract/nodes/local_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/local_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/local_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/local_variable_read_node.rb +3 -1
- data/lib/refract/nodes/local_variable_target_node.rb +3 -1
- data/lib/refract/nodes/local_variable_write_node.rb +3 -1
- data/lib/refract/nodes/match_last_line_node.rb +3 -1
- data/lib/refract/nodes/match_predicate_node.rb +3 -1
- data/lib/refract/nodes/match_required_node.rb +3 -1
- data/lib/refract/nodes/match_write_node.rb +3 -1
- data/lib/refract/nodes/missing_node.rb +3 -0
- data/lib/refract/nodes/module_node.rb +3 -1
- data/lib/refract/nodes/multi_target_node.rb +3 -1
- data/lib/refract/nodes/multi_write_node.rb +3 -1
- data/lib/refract/nodes/next_node.rb +3 -1
- data/lib/refract/nodes/nil_node.rb +3 -0
- data/lib/refract/nodes/no_keywords_parameter_node.rb +3 -0
- data/lib/refract/nodes/numbered_parameters_node.rb +3 -0
- data/lib/refract/nodes/numbered_reference_read_node.rb +3 -1
- data/lib/refract/nodes/optional_keyword_parameter_node.rb +3 -1
- data/lib/refract/nodes/optional_parameter_node.rb +3 -1
- data/lib/refract/nodes/or_node.rb +3 -1
- data/lib/refract/nodes/parameters_node.rb +3 -1
- data/lib/refract/nodes/parentheses_node.rb +3 -1
- data/lib/refract/nodes/pinned_expression_node.rb +3 -1
- data/lib/refract/nodes/pinned_variable_node.rb +3 -1
- data/lib/refract/nodes/post_execution_node.rb +3 -1
- data/lib/refract/nodes/pre_execution_node.rb +3 -1
- data/lib/refract/nodes/program_node.rb +4 -2
- data/lib/refract/nodes/range_node.rb +3 -1
- data/lib/refract/nodes/rational_node.rb +3 -1
- data/lib/refract/nodes/redo_node.rb +3 -0
- data/lib/refract/nodes/regular_expression_node.rb +3 -1
- data/lib/refract/nodes/required_keyword_parameter_node.rb +3 -1
- data/lib/refract/nodes/required_parameter_node.rb +3 -1
- data/lib/refract/nodes/rescue_modifier_node.rb +3 -1
- data/lib/refract/nodes/rescue_node.rb +3 -1
- data/lib/refract/nodes/rest_parameter_node.rb +3 -1
- data/lib/refract/nodes/retry_node.rb +3 -0
- data/lib/refract/nodes/return_node.rb +3 -1
- data/lib/refract/nodes/self_node.rb +3 -0
- data/lib/refract/nodes/shareable_constant_node.rb +3 -1
- data/lib/refract/nodes/singleton_class_node.rb +3 -1
- data/lib/refract/nodes/source_encoding_node.rb +3 -0
- data/lib/refract/nodes/source_file_node.rb +3 -0
- data/lib/refract/nodes/source_line_node.rb +3 -0
- data/lib/refract/nodes/splat_node.rb +3 -1
- data/lib/refract/nodes/statements_node.rb +3 -1
- data/lib/refract/nodes/string_node.rb +3 -1
- data/lib/refract/nodes/super_node.rb +3 -1
- data/lib/refract/nodes/symbol_node.rb +5 -2
- data/lib/refract/nodes/true_node.rb +3 -0
- data/lib/refract/nodes/undef_node.rb +3 -1
- data/lib/refract/nodes/unless_node.rb +5 -2
- data/lib/refract/nodes/until_node.rb +5 -2
- data/lib/refract/nodes/when_node.rb +3 -1
- data/lib/refract/nodes/while_node.rb +5 -2
- data/lib/refract/nodes/x_string_node.rb +3 -1
- data/lib/refract/nodes/yield_node.rb +3 -1
- data/lib/refract/version.rb +1 -1
- data/lib/refract/visitor.rb +4 -4
- data/lib/refract.rb +11 -2
- metadata +2 -2
- data/lib/refract/nodes/constant_path.rb +0 -12
@@ -3,55 +3,51 @@
|
|
3
3
|
module Refract
|
4
4
|
class MutationVisitor < BasicVisitor
|
5
5
|
def self.visit(node_class, &)
|
6
|
-
define_method("visit_#{node_class.type}")
|
7
|
-
return_value = instance_exec(node, &)
|
8
|
-
raise unless node_class === return_value
|
9
|
-
return_value
|
10
|
-
end
|
6
|
+
define_method("visit_#{node_class.type}", &)
|
11
7
|
end
|
12
8
|
|
13
9
|
visit AliasGlobalVariableNode do |node|
|
14
|
-
node.
|
10
|
+
node.copy(
|
15
11
|
new_name: visit(node.new_name),
|
16
12
|
old_name: visit(node.old_name),
|
17
13
|
)
|
18
14
|
end
|
19
15
|
|
20
16
|
visit AliasMethodNode do |node|
|
21
|
-
node.
|
17
|
+
node.copy(
|
22
18
|
new_name: visit(node.new_name),
|
23
19
|
old_name: visit(node.old_name),
|
24
20
|
)
|
25
21
|
end
|
26
22
|
|
27
23
|
visit AlternationPatternNode do |node|
|
28
|
-
node.
|
24
|
+
node.copy(
|
29
25
|
left: visit(node.left),
|
30
26
|
right: visit(node.right),
|
31
27
|
)
|
32
28
|
end
|
33
29
|
|
34
30
|
visit AndNode do |node|
|
35
|
-
node.
|
31
|
+
node.copy(
|
36
32
|
left: visit(node.left),
|
37
33
|
right: visit(node.right),
|
38
34
|
)
|
39
35
|
end
|
40
36
|
|
41
37
|
visit ArgumentsNode do |node|
|
42
|
-
node.
|
38
|
+
node.copy(
|
43
39
|
arguments: node.arguments&.map { |n| visit(n) },
|
44
40
|
)
|
45
41
|
end
|
46
42
|
|
47
43
|
visit ArrayNode do |node|
|
48
|
-
node.
|
44
|
+
node.copy(
|
49
45
|
elements: node.elements&.map { |n| visit(n) },
|
50
46
|
)
|
51
47
|
end
|
52
48
|
|
53
49
|
visit ArrayPatternNode do |node|
|
54
|
-
node.
|
50
|
+
node.copy(
|
55
51
|
constant: visit(node.constant),
|
56
52
|
requireds: node.requireds&.map { |n| visit(n) },
|
57
53
|
rest: visit(node.rest),
|
@@ -59,14 +55,14 @@ module Refract
|
|
59
55
|
end
|
60
56
|
|
61
57
|
visit AssocNode do |node|
|
62
|
-
node.
|
58
|
+
node.copy(
|
63
59
|
key: visit(node.key),
|
64
60
|
value: visit(node.value),
|
65
61
|
)
|
66
62
|
end
|
67
63
|
|
68
64
|
visit AssocSplatNode do |node|
|
69
|
-
node.
|
65
|
+
node.copy(
|
70
66
|
value: visit(node.value),
|
71
67
|
)
|
72
68
|
end
|
@@ -76,7 +72,7 @@ module Refract
|
|
76
72
|
end
|
77
73
|
|
78
74
|
visit BeginNode do |node|
|
79
|
-
node.
|
75
|
+
node.copy(
|
80
76
|
statements: visit(node.statements),
|
81
77
|
rescue_clause: visit(node.rescue_clause),
|
82
78
|
else_clause: visit(node.else_clause),
|
@@ -85,7 +81,7 @@ module Refract
|
|
85
81
|
end
|
86
82
|
|
87
83
|
visit BlockArgumentNode do |node|
|
88
|
-
node.
|
84
|
+
node.copy(
|
89
85
|
expression: visit(node.expression),
|
90
86
|
)
|
91
87
|
end
|
@@ -95,7 +91,7 @@ module Refract
|
|
95
91
|
end
|
96
92
|
|
97
93
|
visit BlockNode do |node|
|
98
|
-
node.
|
94
|
+
node.copy(
|
99
95
|
parameters: visit(node.parameters),
|
100
96
|
body: visit(node.body),
|
101
97
|
)
|
@@ -106,27 +102,27 @@ module Refract
|
|
106
102
|
end
|
107
103
|
|
108
104
|
visit BlockParametersNode do |node|
|
109
|
-
node.
|
105
|
+
node.copy(
|
110
106
|
parameters: visit(node.parameters),
|
111
107
|
locals: node.locals&.map { |n| visit(n) },
|
112
108
|
)
|
113
109
|
end
|
114
110
|
|
115
111
|
visit BreakNode do |node|
|
116
|
-
node.
|
112
|
+
node.copy(
|
117
113
|
arguments: visit(node.arguments),
|
118
114
|
)
|
119
115
|
end
|
120
116
|
|
121
117
|
visit CallAndWriteNode do |node|
|
122
|
-
node.
|
118
|
+
node.copy(
|
123
119
|
receiver: visit(node.receiver),
|
124
120
|
value: visit(node.value),
|
125
121
|
)
|
126
122
|
end
|
127
123
|
|
128
124
|
visit CallNode do |node|
|
129
|
-
node.
|
125
|
+
node.copy(
|
130
126
|
receiver: visit(node.receiver),
|
131
127
|
arguments: visit(node.arguments),
|
132
128
|
block: visit(node.block),
|
@@ -134,34 +130,34 @@ module Refract
|
|
134
130
|
end
|
135
131
|
|
136
132
|
visit CallOperatorWriteNode do |node|
|
137
|
-
node.
|
133
|
+
node.copy(
|
138
134
|
receiver: visit(node.receiver),
|
139
135
|
value: visit(node.value),
|
140
136
|
)
|
141
137
|
end
|
142
138
|
|
143
139
|
visit CallOrWriteNode do |node|
|
144
|
-
node.
|
140
|
+
node.copy(
|
145
141
|
receiver: visit(node.receiver),
|
146
142
|
value: visit(node.value),
|
147
143
|
)
|
148
144
|
end
|
149
145
|
|
150
146
|
visit CallTargetNode do |node|
|
151
|
-
node.
|
147
|
+
node.copy(
|
152
148
|
receiver: visit(node.receiver),
|
153
149
|
)
|
154
150
|
end
|
155
151
|
|
156
152
|
visit CapturePatternNode do |node|
|
157
|
-
node.
|
153
|
+
node.copy(
|
158
154
|
value: visit(node.value),
|
159
155
|
target: visit(node.target),
|
160
156
|
)
|
161
157
|
end
|
162
158
|
|
163
159
|
visit CaseMatchNode do |node|
|
164
|
-
node.
|
160
|
+
node.copy(
|
165
161
|
predicate: visit(node.predicate),
|
166
162
|
conditions: node.conditions&.map { |n| visit(n) },
|
167
163
|
else_clause: visit(node.else_clause),
|
@@ -169,7 +165,7 @@ module Refract
|
|
169
165
|
end
|
170
166
|
|
171
167
|
visit CaseNode do |node|
|
172
|
-
node.
|
168
|
+
node.copy(
|
173
169
|
predicate: visit(node.predicate),
|
174
170
|
conditions: node.conditions&.map { |n| visit(n) },
|
175
171
|
else_clause: visit(node.else_clause),
|
@@ -177,7 +173,7 @@ module Refract
|
|
177
173
|
end
|
178
174
|
|
179
175
|
visit ClassNode do |node|
|
180
|
-
node.
|
176
|
+
node.copy(
|
181
177
|
constant_path: visit(node.constant_path),
|
182
178
|
superclass: visit(node.superclass),
|
183
179
|
body: visit(node.body),
|
@@ -185,19 +181,19 @@ module Refract
|
|
185
181
|
end
|
186
182
|
|
187
183
|
visit ClassVariableAndWriteNode do |node|
|
188
|
-
node.
|
184
|
+
node.copy(
|
189
185
|
value: visit(node.value),
|
190
186
|
)
|
191
187
|
end
|
192
188
|
|
193
189
|
visit ClassVariableOperatorWriteNode do |node|
|
194
|
-
node.
|
190
|
+
node.copy(
|
195
191
|
value: visit(node.value),
|
196
192
|
)
|
197
193
|
end
|
198
194
|
|
199
195
|
visit ClassVariableOrWriteNode do |node|
|
200
|
-
node.
|
196
|
+
node.copy(
|
201
197
|
value: visit(node.value),
|
202
198
|
)
|
203
199
|
end
|
@@ -211,52 +207,52 @@ module Refract
|
|
211
207
|
end
|
212
208
|
|
213
209
|
visit ClassVariableWriteNode do |node|
|
214
|
-
node.
|
210
|
+
node.copy(
|
215
211
|
value: visit(node.value),
|
216
212
|
)
|
217
213
|
end
|
218
214
|
|
219
215
|
visit ConstantOrWriteNode do |node|
|
220
|
-
node.
|
216
|
+
node.copy(
|
221
217
|
value: visit(node.value),
|
222
218
|
)
|
223
219
|
end
|
224
220
|
|
225
|
-
visit ConstantPath do |node|
|
226
|
-
node.update(
|
227
|
-
parent: visit(node.parent),
|
228
|
-
)
|
229
|
-
end
|
230
|
-
|
231
221
|
visit ConstantPathAndWriteNode do |node|
|
232
|
-
node.
|
222
|
+
node.copy(
|
233
223
|
target: visit(node.target),
|
234
224
|
value: visit(node.value),
|
235
225
|
)
|
236
226
|
end
|
237
227
|
|
228
|
+
visit ConstantPathNode do |node|
|
229
|
+
node.copy(
|
230
|
+
parent: visit(node.parent),
|
231
|
+
)
|
232
|
+
end
|
233
|
+
|
238
234
|
visit ConstantPathOperatorWriteNode do |node|
|
239
|
-
node.
|
235
|
+
node.copy(
|
240
236
|
target: visit(node.target),
|
241
237
|
value: visit(node.value),
|
242
238
|
)
|
243
239
|
end
|
244
240
|
|
245
241
|
visit ConstantPathOrWriteNode do |node|
|
246
|
-
node.
|
242
|
+
node.copy(
|
247
243
|
target: visit(node.target),
|
248
244
|
value: visit(node.value),
|
249
245
|
)
|
250
246
|
end
|
251
247
|
|
252
248
|
visit ConstantPathTargetNode do |node|
|
253
|
-
node.
|
249
|
+
node.copy(
|
254
250
|
parent: visit(node.parent),
|
255
251
|
)
|
256
252
|
end
|
257
253
|
|
258
254
|
visit ConstantPathWriteNode do |node|
|
259
|
-
node.
|
255
|
+
node.copy(
|
260
256
|
target: visit(node.target),
|
261
257
|
value: visit(node.value),
|
262
258
|
)
|
@@ -271,13 +267,13 @@ module Refract
|
|
271
267
|
end
|
272
268
|
|
273
269
|
visit ConstantWriteNode do |node|
|
274
|
-
node.
|
270
|
+
node.copy(
|
275
271
|
value: visit(node.value),
|
276
272
|
)
|
277
273
|
end
|
278
274
|
|
279
275
|
visit DefNode do |node|
|
280
|
-
node.
|
276
|
+
node.copy(
|
281
277
|
receiver: visit(node.receiver),
|
282
278
|
parameters: visit(node.parameters),
|
283
279
|
body: visit(node.body),
|
@@ -285,31 +281,31 @@ module Refract
|
|
285
281
|
end
|
286
282
|
|
287
283
|
visit DefinedNode do |node|
|
288
|
-
node.
|
284
|
+
node.copy(
|
289
285
|
value: visit(node.value),
|
290
286
|
)
|
291
287
|
end
|
292
288
|
|
293
289
|
visit ElseNode do |node|
|
294
|
-
node.
|
290
|
+
node.copy(
|
295
291
|
statements: visit(node.statements),
|
296
292
|
)
|
297
293
|
end
|
298
294
|
|
299
295
|
visit EmbeddedStatementsNode do |node|
|
300
|
-
node.
|
296
|
+
node.copy(
|
301
297
|
statements: visit(node.statements),
|
302
298
|
)
|
303
299
|
end
|
304
300
|
|
305
301
|
visit EmbeddedVariableNode do |node|
|
306
|
-
node.
|
302
|
+
node.copy(
|
307
303
|
variable: visit(node.variable),
|
308
304
|
)
|
309
305
|
end
|
310
306
|
|
311
307
|
visit EnsureNode do |node|
|
312
|
-
node.
|
308
|
+
node.copy(
|
313
309
|
statements: visit(node.statements),
|
314
310
|
)
|
315
311
|
end
|
@@ -319,7 +315,7 @@ module Refract
|
|
319
315
|
end
|
320
316
|
|
321
317
|
visit FindPatternNode do |node|
|
322
|
-
node.
|
318
|
+
node.copy(
|
323
319
|
constant: visit(node.constant),
|
324
320
|
left: visit(node.left),
|
325
321
|
requireds: node.requireds&.map { |n| visit(n) },
|
@@ -328,7 +324,7 @@ module Refract
|
|
328
324
|
end
|
329
325
|
|
330
326
|
visit FlipFlopNode do |node|
|
331
|
-
node.
|
327
|
+
node.copy(
|
332
328
|
left: visit(node.left),
|
333
329
|
right: visit(node.right),
|
334
330
|
)
|
@@ -339,7 +335,7 @@ module Refract
|
|
339
335
|
end
|
340
336
|
|
341
337
|
visit ForNode do |node|
|
342
|
-
node.
|
338
|
+
node.copy(
|
343
339
|
index: visit(node.index),
|
344
340
|
collection: visit(node.collection),
|
345
341
|
statements: visit(node.statements),
|
@@ -355,25 +351,25 @@ module Refract
|
|
355
351
|
end
|
356
352
|
|
357
353
|
visit ForwardingSuperNode do |node|
|
358
|
-
node.
|
354
|
+
node.copy(
|
359
355
|
block: visit(node.block),
|
360
356
|
)
|
361
357
|
end
|
362
358
|
|
363
359
|
visit GlobalVariableAndWriteNode do |node|
|
364
|
-
node.
|
360
|
+
node.copy(
|
365
361
|
value: visit(node.value),
|
366
362
|
)
|
367
363
|
end
|
368
364
|
|
369
365
|
visit GlobalVariableOperatorWriteNode do |node|
|
370
|
-
node.
|
366
|
+
node.copy(
|
371
367
|
value: visit(node.value),
|
372
368
|
)
|
373
369
|
end
|
374
370
|
|
375
371
|
visit GlobalVariableOrWriteNode do |node|
|
376
|
-
node.
|
372
|
+
node.copy(
|
377
373
|
value: visit(node.value),
|
378
374
|
)
|
379
375
|
end
|
@@ -387,26 +383,26 @@ module Refract
|
|
387
383
|
end
|
388
384
|
|
389
385
|
visit GlobalVariableWriteNode do |node|
|
390
|
-
node.
|
386
|
+
node.copy(
|
391
387
|
value: visit(node.value),
|
392
388
|
)
|
393
389
|
end
|
394
390
|
|
395
391
|
visit HashNode do |node|
|
396
|
-
node.
|
392
|
+
node.copy(
|
397
393
|
elements: node.elements&.map { |n| visit(n) },
|
398
394
|
)
|
399
395
|
end
|
400
396
|
|
401
397
|
visit HashPatternNode do |node|
|
402
|
-
node.
|
398
|
+
node.copy(
|
403
399
|
elements: node.elements&.map { |n| visit(n) },
|
404
400
|
rest: visit(node.rest),
|
405
401
|
)
|
406
402
|
end
|
407
403
|
|
408
404
|
visit IfNode do |node|
|
409
|
-
node.
|
405
|
+
node.copy(
|
410
406
|
predicate: visit(node.predicate),
|
411
407
|
statements: visit(node.statements),
|
412
408
|
subsequent: visit(node.subsequent),
|
@@ -414,7 +410,7 @@ module Refract
|
|
414
410
|
end
|
415
411
|
|
416
412
|
visit ImaginaryNode do |node|
|
417
|
-
node.
|
413
|
+
node.copy(
|
418
414
|
numeric: visit(node.numeric),
|
419
415
|
)
|
420
416
|
end
|
@@ -428,14 +424,14 @@ module Refract
|
|
428
424
|
end
|
429
425
|
|
430
426
|
visit InNode do |node|
|
431
|
-
node.
|
427
|
+
node.copy(
|
432
428
|
pattern: visit(node.pattern),
|
433
429
|
statements: visit(node.statements),
|
434
430
|
)
|
435
431
|
end
|
436
432
|
|
437
433
|
visit IndexAndWriteNode do |node|
|
438
|
-
node.
|
434
|
+
node.copy(
|
439
435
|
receiver: visit(node.receiver),
|
440
436
|
arguments: visit(node.arguments),
|
441
437
|
block: visit(node.block),
|
@@ -444,7 +440,7 @@ module Refract
|
|
444
440
|
end
|
445
441
|
|
446
442
|
visit IndexOperatorWriteNode do |node|
|
447
|
-
node.
|
443
|
+
node.copy(
|
448
444
|
receiver: visit(node.receiver),
|
449
445
|
arguments: visit(node.arguments),
|
450
446
|
block: visit(node.block),
|
@@ -453,7 +449,7 @@ module Refract
|
|
453
449
|
end
|
454
450
|
|
455
451
|
visit IndexOrWriteNode do |node|
|
456
|
-
node.
|
452
|
+
node.copy(
|
457
453
|
receiver: visit(node.receiver),
|
458
454
|
arguments: visit(node.arguments),
|
459
455
|
block: visit(node.block),
|
@@ -462,7 +458,7 @@ module Refract
|
|
462
458
|
end
|
463
459
|
|
464
460
|
visit IndexTargetNode do |node|
|
465
|
-
node.
|
461
|
+
node.copy(
|
466
462
|
receiver: visit(node.receiver),
|
467
463
|
arguments: visit(node.arguments),
|
468
464
|
block: visit(node.block),
|
@@ -470,19 +466,19 @@ module Refract
|
|
470
466
|
end
|
471
467
|
|
472
468
|
visit InstanceVariableAndWriteNode do |node|
|
473
|
-
node.
|
469
|
+
node.copy(
|
474
470
|
value: visit(node.value),
|
475
471
|
)
|
476
472
|
end
|
477
473
|
|
478
474
|
visit InstanceVariableOperatorWriteNode do |node|
|
479
|
-
node.
|
475
|
+
node.copy(
|
480
476
|
value: visit(node.value),
|
481
477
|
)
|
482
478
|
end
|
483
479
|
|
484
480
|
visit InstanceVariableOrWriteNode do |node|
|
485
|
-
node.
|
481
|
+
node.copy(
|
486
482
|
value: visit(node.value),
|
487
483
|
)
|
488
484
|
end
|
@@ -496,7 +492,7 @@ module Refract
|
|
496
492
|
end
|
497
493
|
|
498
494
|
visit InstanceVariableWriteNode do |node|
|
499
|
-
node.
|
495
|
+
node.copy(
|
500
496
|
value: visit(node.value),
|
501
497
|
)
|
502
498
|
end
|
@@ -506,31 +502,31 @@ module Refract
|
|
506
502
|
end
|
507
503
|
|
508
504
|
visit InterpolatedMatchLastLineNode do |node|
|
509
|
-
node.
|
505
|
+
node.copy(
|
510
506
|
parts: node.parts.map { |n| visit(n) },
|
511
507
|
)
|
512
508
|
end
|
513
509
|
|
514
510
|
visit InterpolatedRegularExpressionNode do |node|
|
515
|
-
node.
|
511
|
+
node.copy(
|
516
512
|
parts: node.parts&.map { |n| visit(n) },
|
517
513
|
)
|
518
514
|
end
|
519
515
|
|
520
516
|
visit InterpolatedStringNode do |node|
|
521
|
-
node.
|
517
|
+
node.copy(
|
522
518
|
parts: node.parts&.map { |n| visit(n) },
|
523
519
|
)
|
524
520
|
end
|
525
521
|
|
526
522
|
visit InterpolatedSymbolNode do |node|
|
527
|
-
node.
|
523
|
+
node.copy(
|
528
524
|
parts: node.parts&.map { |n| visit(n) },
|
529
525
|
)
|
530
526
|
end
|
531
527
|
|
532
528
|
visit InterpolatedXStringNode do |node|
|
533
|
-
node.
|
529
|
+
node.copy(
|
534
530
|
parts: node.parts&.map { |n| visit(n) },
|
535
531
|
)
|
536
532
|
end
|
@@ -544,7 +540,7 @@ module Refract
|
|
544
540
|
end
|
545
541
|
|
546
542
|
visit KeywordHashNode do |node|
|
547
|
-
node.
|
543
|
+
node.copy(
|
548
544
|
elements: node.elements&.map { |n| visit(n) },
|
549
545
|
)
|
550
546
|
end
|
@@ -554,26 +550,26 @@ module Refract
|
|
554
550
|
end
|
555
551
|
|
556
552
|
visit LambdaNode do |node|
|
557
|
-
node.
|
553
|
+
node.copy(
|
558
554
|
parameters: visit(node.parameters),
|
559
555
|
body: visit(node.body),
|
560
556
|
)
|
561
557
|
end
|
562
558
|
|
563
559
|
visit LocalVariableAndWriteNode do |node|
|
564
|
-
node.
|
560
|
+
node.copy(
|
565
561
|
value: visit(node.value),
|
566
562
|
)
|
567
563
|
end
|
568
564
|
|
569
565
|
visit LocalVariableOperatorWriteNode do |node|
|
570
|
-
node.
|
566
|
+
node.copy(
|
571
567
|
value: visit(node.value),
|
572
568
|
)
|
573
569
|
end
|
574
570
|
|
575
571
|
visit LocalVariableOrWriteNode do |node|
|
576
|
-
node.
|
572
|
+
node.copy(
|
577
573
|
value: visit(node.value),
|
578
574
|
)
|
579
575
|
end
|
@@ -587,7 +583,7 @@ module Refract
|
|
587
583
|
end
|
588
584
|
|
589
585
|
visit LocalVariableWriteNode do |node|
|
590
|
-
node.
|
586
|
+
node.copy(
|
591
587
|
value: visit(node.value),
|
592
588
|
)
|
593
589
|
end
|
@@ -597,21 +593,21 @@ module Refract
|
|
597
593
|
end
|
598
594
|
|
599
595
|
visit MatchPredicateNode do |node|
|
600
|
-
node.
|
596
|
+
node.copy(
|
601
597
|
value: visit(node.value),
|
602
598
|
pattern: visit(node.pattern),
|
603
599
|
)
|
604
600
|
end
|
605
601
|
|
606
602
|
visit MatchRequiredNode do |node|
|
607
|
-
node.
|
603
|
+
node.copy(
|
608
604
|
value: visit(node.value),
|
609
605
|
pattern: visit(node.pattern),
|
610
606
|
)
|
611
607
|
end
|
612
608
|
|
613
609
|
visit MatchWriteNode do |node|
|
614
|
-
node.
|
610
|
+
node.copy(
|
615
611
|
call: visit(node.call),
|
616
612
|
targets: node.targets&.map { |n| visit(n) },
|
617
613
|
)
|
@@ -622,14 +618,14 @@ module Refract
|
|
622
618
|
end
|
623
619
|
|
624
620
|
visit ModuleNode do |node|
|
625
|
-
node.
|
621
|
+
node.copy(
|
626
622
|
constant_path: visit(node.constant_path),
|
627
623
|
body: visit(node.body),
|
628
624
|
)
|
629
625
|
end
|
630
626
|
|
631
627
|
visit MultiTargetNode do |node|
|
632
|
-
node.
|
628
|
+
node.copy(
|
633
629
|
lefts: node.lefts&.map { |n| visit(n) },
|
634
630
|
rest: visit(node.rest),
|
635
631
|
rights: node.rights&.map { |n| visit(n) },
|
@@ -637,7 +633,7 @@ module Refract
|
|
637
633
|
end
|
638
634
|
|
639
635
|
visit MultiWriteNode do |node|
|
640
|
-
node.
|
636
|
+
node.copy(
|
641
637
|
lefts: node.lefts&.map { |n| visit(n) },
|
642
638
|
rest: visit(node.rest),
|
643
639
|
rights: node.rights&.map { |n| visit(n) },
|
@@ -646,7 +642,7 @@ module Refract
|
|
646
642
|
end
|
647
643
|
|
648
644
|
visit NextNode do |node|
|
649
|
-
node.
|
645
|
+
node.copy(
|
650
646
|
arguments: visit(node.arguments),
|
651
647
|
)
|
652
648
|
end
|
@@ -668,26 +664,26 @@ module Refract
|
|
668
664
|
end
|
669
665
|
|
670
666
|
visit OptionalKeywordParameterNode do |node|
|
671
|
-
node.
|
667
|
+
node.copy(
|
672
668
|
value: visit(node.value),
|
673
669
|
)
|
674
670
|
end
|
675
671
|
|
676
672
|
visit OptionalParameterNode do |node|
|
677
|
-
node.
|
673
|
+
node.copy(
|
678
674
|
value: visit(node.value),
|
679
675
|
)
|
680
676
|
end
|
681
677
|
|
682
678
|
visit OrNode do |node|
|
683
|
-
node.
|
679
|
+
node.copy(
|
684
680
|
left: visit(node.left),
|
685
681
|
right: visit(node.right),
|
686
682
|
)
|
687
683
|
end
|
688
684
|
|
689
685
|
visit ParametersNode do |node|
|
690
|
-
node.
|
686
|
+
node.copy(
|
691
687
|
requireds: node.requireds&.map { |n| visit(n) },
|
692
688
|
optionals: node.optionals&.map { |n| visit(n) },
|
693
689
|
rest: visit(node.rest),
|
@@ -699,43 +695,43 @@ module Refract
|
|
699
695
|
end
|
700
696
|
|
701
697
|
visit ParenthesesNode do |node|
|
702
|
-
node.
|
698
|
+
node.copy(
|
703
699
|
body: visit(node.body),
|
704
700
|
)
|
705
701
|
end
|
706
702
|
|
707
703
|
visit PinnedExpressionNode do |node|
|
708
|
-
node.
|
704
|
+
node.copy(
|
709
705
|
expression: visit(node.expression),
|
710
706
|
)
|
711
707
|
end
|
712
708
|
|
713
709
|
visit PinnedVariableNode do |node|
|
714
|
-
node.
|
710
|
+
node.copy(
|
715
711
|
variable: visit(node.variable),
|
716
712
|
)
|
717
713
|
end
|
718
714
|
|
719
715
|
visit PostExecutionNode do |node|
|
720
|
-
node.
|
716
|
+
node.copy(
|
721
717
|
statements: visit(node.statements),
|
722
718
|
)
|
723
719
|
end
|
724
720
|
|
725
721
|
visit PreExecutionNode do |node|
|
726
|
-
node.
|
722
|
+
node.copy(
|
727
723
|
statements: visit(node.statements),
|
728
724
|
)
|
729
725
|
end
|
730
726
|
|
731
727
|
visit ProgramNode do |node|
|
732
|
-
node.
|
728
|
+
node.copy(
|
733
729
|
statements: visit(node.statements),
|
734
730
|
)
|
735
731
|
end
|
736
732
|
|
737
733
|
visit RangeNode do |node|
|
738
|
-
node.
|
734
|
+
node.copy(
|
739
735
|
left: visit(node.left),
|
740
736
|
right: visit(node.right),
|
741
737
|
)
|
@@ -762,14 +758,14 @@ module Refract
|
|
762
758
|
end
|
763
759
|
|
764
760
|
visit RescueModifierNode do |node|
|
765
|
-
node.
|
761
|
+
node.copy(
|
766
762
|
expression: visit(node.expression),
|
767
763
|
rescue_expression: visit(node.rescue_expression),
|
768
764
|
)
|
769
765
|
end
|
770
766
|
|
771
767
|
visit RescueNode do |node|
|
772
|
-
node.
|
768
|
+
node.copy(
|
773
769
|
exceptions: node.exceptions&.map { |n| visit(n) },
|
774
770
|
reference: visit(node.reference),
|
775
771
|
statements: visit(node.statements),
|
@@ -786,7 +782,7 @@ module Refract
|
|
786
782
|
end
|
787
783
|
|
788
784
|
visit ReturnNode do |node|
|
789
|
-
node.
|
785
|
+
node.copy(
|
790
786
|
arguments: visit(node.arguments),
|
791
787
|
)
|
792
788
|
end
|
@@ -796,13 +792,13 @@ module Refract
|
|
796
792
|
end
|
797
793
|
|
798
794
|
visit ShareableConstantNode do |node|
|
799
|
-
node.
|
795
|
+
node.copy(
|
800
796
|
write: visit(node.write),
|
801
797
|
)
|
802
798
|
end
|
803
799
|
|
804
800
|
visit SingletonClassNode do |node|
|
805
|
-
node.
|
801
|
+
node.copy(
|
806
802
|
expression: visit(node.expression),
|
807
803
|
body: visit(node.body),
|
808
804
|
)
|
@@ -821,13 +817,13 @@ module Refract
|
|
821
817
|
end
|
822
818
|
|
823
819
|
visit SplatNode do |node|
|
824
|
-
node.
|
820
|
+
node.copy(
|
825
821
|
expression: visit(node.expression),
|
826
822
|
)
|
827
823
|
end
|
828
824
|
|
829
825
|
visit StatementsNode do |node|
|
830
|
-
node.
|
826
|
+
node.copy(
|
831
827
|
body: node.body&.map { |n| visit(n) },
|
832
828
|
)
|
833
829
|
end
|
@@ -837,7 +833,7 @@ module Refract
|
|
837
833
|
end
|
838
834
|
|
839
835
|
visit SuperNode do |node|
|
840
|
-
node.
|
836
|
+
node.copy(
|
841
837
|
arguments: visit(node.arguments),
|
842
838
|
block: visit(node.block),
|
843
839
|
)
|
@@ -852,13 +848,13 @@ module Refract
|
|
852
848
|
end
|
853
849
|
|
854
850
|
visit UndefNode do |node|
|
855
|
-
node.
|
851
|
+
node.copy(
|
856
852
|
names: node.names&.map { |n| visit(n) },
|
857
853
|
)
|
858
854
|
end
|
859
855
|
|
860
856
|
visit UnlessNode do |node|
|
861
|
-
node.
|
857
|
+
node.copy(
|
862
858
|
predicate: visit(node.predicate),
|
863
859
|
statements: visit(node.statements),
|
864
860
|
else_clause: visit(node.else_clause),
|
@@ -866,21 +862,21 @@ module Refract
|
|
866
862
|
end
|
867
863
|
|
868
864
|
visit UntilNode do |node|
|
869
|
-
node.
|
865
|
+
node.copy(
|
870
866
|
predicate: visit(node.predicate),
|
871
867
|
statements: visit(node.statements),
|
872
868
|
)
|
873
869
|
end
|
874
870
|
|
875
871
|
visit WhenNode do |node|
|
876
|
-
node.
|
872
|
+
node.copy(
|
877
873
|
conditions: node.conditions&.map { |n| visit(n) },
|
878
874
|
statements: visit(node.statements),
|
879
875
|
)
|
880
876
|
end
|
881
877
|
|
882
878
|
visit WhileNode do |node|
|
883
|
-
node.
|
879
|
+
node.copy(
|
884
880
|
predicate: visit(node.predicate),
|
885
881
|
statements: visit(node.statements),
|
886
882
|
)
|
@@ -891,7 +887,7 @@ module Refract
|
|
891
887
|
end
|
892
888
|
|
893
889
|
visit YieldNode do |node|
|
894
|
-
node.
|
890
|
+
node.copy(
|
895
891
|
arguments: visit(node.arguments),
|
896
892
|
)
|
897
893
|
end
|