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
data/lib/refract/converter.rb
CHANGED
@@ -16,6 +16,7 @@ module Refract
|
|
16
16
|
|
17
17
|
visit Prism::AliasGlobalVariableNode do |node|
|
18
18
|
AliasGlobalVariableNode.new(
|
19
|
+
prism_node: node,
|
19
20
|
new_name: visit(node.new_name),
|
20
21
|
old_name: visit(node.old_name),
|
21
22
|
)
|
@@ -23,6 +24,7 @@ module Refract
|
|
23
24
|
|
24
25
|
visit Prism::AliasMethodNode do |node|
|
25
26
|
AliasMethodNode.new(
|
27
|
+
prism_node: node,
|
26
28
|
new_name: visit(node.new_name),
|
27
29
|
old_name: visit(node.old_name),
|
28
30
|
)
|
@@ -30,6 +32,7 @@ module Refract
|
|
30
32
|
|
31
33
|
visit Prism::AlternationPatternNode do |node|
|
32
34
|
AlternationPatternNode.new(
|
35
|
+
prism_node: node,
|
33
36
|
left: visit(node.left),
|
34
37
|
right: visit(node.right),
|
35
38
|
)
|
@@ -37,26 +40,30 @@ module Refract
|
|
37
40
|
|
38
41
|
visit Prism::AndNode do |node|
|
39
42
|
AndNode.new(
|
43
|
+
prism_node: node,
|
40
44
|
left: visit(node.left),
|
41
|
-
operator: node.
|
45
|
+
operator: node.operator,
|
42
46
|
right: visit(node.right),
|
43
47
|
)
|
44
48
|
end
|
45
49
|
|
46
50
|
visit Prism::ArgumentsNode do |node|
|
47
51
|
ArgumentsNode.new(
|
52
|
+
prism_node: node,
|
48
53
|
arguments: node.arguments&.map { |n| visit(n) },
|
49
54
|
)
|
50
55
|
end
|
51
56
|
|
52
57
|
visit Prism::ArrayNode do |node|
|
53
58
|
ArrayNode.new(
|
59
|
+
prism_node: node,
|
54
60
|
elements: node.elements&.map { |n| visit(n) },
|
55
61
|
)
|
56
62
|
end
|
57
63
|
|
58
64
|
visit Prism::ArrayPatternNode do |node|
|
59
65
|
ArrayPatternNode.new(
|
66
|
+
prism_node: node,
|
60
67
|
constant: visit(node.constant),
|
61
68
|
requireds: node.requireds&.map { |n| visit(n) },
|
62
69
|
rest: visit(node.rest),
|
@@ -66,6 +73,7 @@ module Refract
|
|
66
73
|
|
67
74
|
visit Prism::AssocNode do |node|
|
68
75
|
AssocNode.new(
|
76
|
+
prism_node: node,
|
69
77
|
key: visit(node.key),
|
70
78
|
value: visit(node.value),
|
71
79
|
)
|
@@ -73,18 +81,21 @@ module Refract
|
|
73
81
|
|
74
82
|
visit Prism::AssocSplatNode do |node|
|
75
83
|
AssocSplatNode.new(
|
84
|
+
prism_node: node,
|
76
85
|
value: visit(node.value),
|
77
86
|
)
|
78
87
|
end
|
79
88
|
|
80
89
|
visit Prism::BackReferenceReadNode do |node|
|
81
90
|
BackReferenceReadNode.new(
|
91
|
+
prism_node: node,
|
82
92
|
name: node.name,
|
83
93
|
)
|
84
94
|
end
|
85
95
|
|
86
96
|
visit Prism::BeginNode do |node|
|
87
97
|
BeginNode.new(
|
98
|
+
prism_node: node,
|
88
99
|
statements: visit(node.statements),
|
89
100
|
rescue_clause: visit(node.rescue_clause),
|
90
101
|
else_clause: visit(node.else_clause),
|
@@ -94,18 +105,21 @@ module Refract
|
|
94
105
|
|
95
106
|
visit Prism::BlockArgumentNode do |node|
|
96
107
|
BlockArgumentNode.new(
|
108
|
+
prism_node: node,
|
97
109
|
expression: visit(node.expression),
|
98
110
|
)
|
99
111
|
end
|
100
112
|
|
101
113
|
visit Prism::BlockLocalVariableNode do |node|
|
102
114
|
BlockLocalVariableNode.new(
|
115
|
+
prism_node: node,
|
103
116
|
name: node.name,
|
104
117
|
)
|
105
118
|
end
|
106
119
|
|
107
120
|
visit Prism::BlockNode do |node|
|
108
121
|
BlockNode.new(
|
122
|
+
prism_node: node,
|
109
123
|
parameters: visit(node.parameters),
|
110
124
|
body: visit(node.body),
|
111
125
|
)
|
@@ -113,12 +127,14 @@ module Refract
|
|
113
127
|
|
114
128
|
visit Prism::BlockParameterNode do |node|
|
115
129
|
BlockParameterNode.new(
|
130
|
+
prism_node: node,
|
116
131
|
name: node.name,
|
117
132
|
)
|
118
133
|
end
|
119
134
|
|
120
135
|
visit Prism::BlockParametersNode do |node|
|
121
136
|
BlockParametersNode.new(
|
137
|
+
prism_node: node,
|
122
138
|
parameters: visit(node.parameters),
|
123
139
|
locals: node.locals&.map { |n| visit(n) },
|
124
140
|
)
|
@@ -126,12 +142,14 @@ module Refract
|
|
126
142
|
|
127
143
|
visit Prism::BreakNode do |node|
|
128
144
|
BreakNode.new(
|
145
|
+
prism_node: node,
|
129
146
|
arguments: visit(node.arguments),
|
130
147
|
)
|
131
148
|
end
|
132
149
|
|
133
150
|
visit Prism::CallAndWriteNode do |node|
|
134
151
|
CallAndWriteNode.new(
|
152
|
+
prism_node: node,
|
135
153
|
receiver: visit(node.receiver),
|
136
154
|
read_name: node.read_name,
|
137
155
|
value: visit(node.value),
|
@@ -140,15 +158,18 @@ module Refract
|
|
140
158
|
|
141
159
|
visit Prism::CallNode do |node|
|
142
160
|
CallNode.new(
|
161
|
+
prism_node: node,
|
143
162
|
receiver: visit(node.receiver),
|
144
|
-
|
163
|
+
name: node.name,
|
145
164
|
arguments: visit(node.arguments),
|
146
165
|
block: visit(node.block),
|
166
|
+
safe_navigation: node.safe_navigation?,
|
147
167
|
)
|
148
168
|
end
|
149
169
|
|
150
170
|
visit Prism::CallOperatorWriteNode do |node|
|
151
171
|
CallOperatorWriteNode.new(
|
172
|
+
prism_node: node,
|
152
173
|
receiver: visit(node.receiver),
|
153
174
|
read_name: node.read_name,
|
154
175
|
binary_operator: node.binary_operator,
|
@@ -158,6 +179,7 @@ module Refract
|
|
158
179
|
|
159
180
|
visit Prism::CallOrWriteNode do |node|
|
160
181
|
CallOrWriteNode.new(
|
182
|
+
prism_node: node,
|
161
183
|
receiver: visit(node.receiver),
|
162
184
|
read_name: node.read_name,
|
163
185
|
value: visit(node.value),
|
@@ -166,6 +188,7 @@ module Refract
|
|
166
188
|
|
167
189
|
visit Prism::CallTargetNode do |node|
|
168
190
|
CallTargetNode.new(
|
191
|
+
prism_node: node,
|
169
192
|
receiver: visit(node.receiver),
|
170
193
|
name: node.name,
|
171
194
|
)
|
@@ -173,6 +196,7 @@ module Refract
|
|
173
196
|
|
174
197
|
visit Prism::CapturePatternNode do |node|
|
175
198
|
CapturePatternNode.new(
|
199
|
+
prism_node: node,
|
176
200
|
value: visit(node.value),
|
177
201
|
target: visit(node.target),
|
178
202
|
)
|
@@ -180,6 +204,7 @@ module Refract
|
|
180
204
|
|
181
205
|
visit Prism::CaseMatchNode do |node|
|
182
206
|
CaseMatchNode.new(
|
207
|
+
prism_node: node,
|
183
208
|
predicate: visit(node.predicate),
|
184
209
|
conditions: node.conditions&.map { |n| visit(n) },
|
185
210
|
else_clause: visit(node.else_clause),
|
@@ -188,6 +213,7 @@ module Refract
|
|
188
213
|
|
189
214
|
visit Prism::CaseNode do |node|
|
190
215
|
CaseNode.new(
|
216
|
+
prism_node: node,
|
191
217
|
predicate: visit(node.predicate),
|
192
218
|
conditions: node.conditions&.map { |n| visit(n) },
|
193
219
|
else_clause: visit(node.else_clause),
|
@@ -196,6 +222,7 @@ module Refract
|
|
196
222
|
|
197
223
|
visit Prism::ClassNode do |node|
|
198
224
|
ClassNode.new(
|
225
|
+
prism_node: node,
|
199
226
|
constant_path: visit(node.constant_path),
|
200
227
|
superclass: visit(node.superclass),
|
201
228
|
body: visit(node.body),
|
@@ -204,6 +231,7 @@ module Refract
|
|
204
231
|
|
205
232
|
visit Prism::ClassVariableAndWriteNode do |node|
|
206
233
|
ClassVariableAndWriteNode.new(
|
234
|
+
prism_node: node,
|
207
235
|
name: node.name,
|
208
236
|
value: visit(node.value),
|
209
237
|
)
|
@@ -211,6 +239,7 @@ module Refract
|
|
211
239
|
|
212
240
|
visit Prism::ClassVariableOperatorWriteNode do |node|
|
213
241
|
ClassVariableOperatorWriteNode.new(
|
242
|
+
prism_node: node,
|
214
243
|
name: node.name,
|
215
244
|
value: visit(node.value),
|
216
245
|
binary_operator: node.binary_operator,
|
@@ -219,6 +248,7 @@ module Refract
|
|
219
248
|
|
220
249
|
visit Prism::ClassVariableOrWriteNode do |node|
|
221
250
|
ClassVariableOrWriteNode.new(
|
251
|
+
prism_node: node,
|
222
252
|
name: node.name,
|
223
253
|
value: visit(node.value),
|
224
254
|
)
|
@@ -226,18 +256,21 @@ module Refract
|
|
226
256
|
|
227
257
|
visit Prism::ClassVariableReadNode do |node|
|
228
258
|
ClassVariableReadNode.new(
|
259
|
+
prism_node: node,
|
229
260
|
name: node.name,
|
230
261
|
)
|
231
262
|
end
|
232
263
|
|
233
264
|
visit Prism::ClassVariableTargetNode do |node|
|
234
265
|
ClassVariableTargetNode.new(
|
266
|
+
prism_node: node,
|
235
267
|
name: node.name,
|
236
268
|
)
|
237
269
|
end
|
238
270
|
|
239
271
|
visit Prism::ClassVariableWriteNode do |node|
|
240
272
|
ClassVariableWriteNode.new(
|
273
|
+
prism_node: node,
|
241
274
|
name: node.name,
|
242
275
|
value: visit(node.value),
|
243
276
|
)
|
@@ -245,6 +278,7 @@ module Refract
|
|
245
278
|
|
246
279
|
visit Prism::ConstantAndWriteNode do |node|
|
247
280
|
ConstantAndWriteNode.new(
|
281
|
+
prism_node: node,
|
248
282
|
name: node.name,
|
249
283
|
value: visit(node.value),
|
250
284
|
)
|
@@ -252,6 +286,7 @@ module Refract
|
|
252
286
|
|
253
287
|
visit Prism::ConstantOperatorWriteNode do |node|
|
254
288
|
ConstantOperatorWriteNode.new(
|
289
|
+
prism_node: node,
|
255
290
|
name: node.name,
|
256
291
|
value: visit(node.value),
|
257
292
|
binary_operator: node.binary_operator,
|
@@ -260,6 +295,7 @@ module Refract
|
|
260
295
|
|
261
296
|
visit Prism::ConstantOrWriteNode do |node|
|
262
297
|
ConstantOrWriteNode.new(
|
298
|
+
prism_node: node,
|
263
299
|
name: node.name,
|
264
300
|
value: visit(node.value),
|
265
301
|
)
|
@@ -267,13 +303,15 @@ module Refract
|
|
267
303
|
|
268
304
|
visit Prism::ConstantPathAndWriteNode do |node|
|
269
305
|
ConstantPathAndWriteNode.new(
|
306
|
+
prism_node: node,
|
270
307
|
target: visit(node.target),
|
271
308
|
value: visit(node.value),
|
272
309
|
)
|
273
310
|
end
|
274
311
|
|
275
312
|
visit Prism::ConstantPathNode do |node|
|
276
|
-
|
313
|
+
ConstantPathNode.new(
|
314
|
+
prism_node: node,
|
277
315
|
parent: visit(node.parent),
|
278
316
|
name: node.name,
|
279
317
|
)
|
@@ -281,6 +319,7 @@ module Refract
|
|
281
319
|
|
282
320
|
visit Prism::ConstantPathOperatorWriteNode do |node|
|
283
321
|
ConstantPathOperatorWriteNode.new(
|
322
|
+
prism_node: node,
|
284
323
|
target: visit(node.target),
|
285
324
|
value: visit(node.value),
|
286
325
|
binary_operator: node.binary_operator,
|
@@ -289,6 +328,7 @@ module Refract
|
|
289
328
|
|
290
329
|
visit Prism::ConstantPathOrWriteNode do |node|
|
291
330
|
ConstantPathOrWriteNode.new(
|
331
|
+
prism_node: node,
|
292
332
|
target: visit(node.target),
|
293
333
|
value: visit(node.value),
|
294
334
|
)
|
@@ -296,6 +336,7 @@ module Refract
|
|
296
336
|
|
297
337
|
visit Prism::ConstantPathTargetNode do |node|
|
298
338
|
ConstantPathTargetNode.new(
|
339
|
+
prism_node: node,
|
299
340
|
parent: visit(node.parent),
|
300
341
|
name: node.name,
|
301
342
|
)
|
@@ -303,6 +344,7 @@ module Refract
|
|
303
344
|
|
304
345
|
visit Prism::ConstantPathWriteNode do |node|
|
305
346
|
ConstantPathWriteNode.new(
|
347
|
+
prism_node: node,
|
306
348
|
target: visit(node.target),
|
307
349
|
value: visit(node.value),
|
308
350
|
)
|
@@ -310,18 +352,21 @@ module Refract
|
|
310
352
|
|
311
353
|
visit Prism::ConstantReadNode do |node|
|
312
354
|
ConstantReadNode.new(
|
313
|
-
|
314
|
-
|
355
|
+
prism_node: node,
|
356
|
+
name: node.name,
|
357
|
+
)
|
315
358
|
end
|
316
359
|
|
317
360
|
visit Prism::ConstantTargetNode do |node|
|
318
361
|
ConstantTargetNode.new(
|
362
|
+
prism_node: node,
|
319
363
|
name: node.name,
|
320
364
|
)
|
321
365
|
end
|
322
366
|
|
323
367
|
visit Prism::ConstantWriteNode do |node|
|
324
368
|
ConstantWriteNode.new(
|
369
|
+
prism_node: node,
|
325
370
|
name: node.name,
|
326
371
|
value: visit(node.value),
|
327
372
|
)
|
@@ -329,6 +374,7 @@ module Refract
|
|
329
374
|
|
330
375
|
visit Prism::DefNode do |node|
|
331
376
|
DefNode.new(
|
377
|
+
prism_node: node,
|
332
378
|
name: node.name,
|
333
379
|
receiver: visit(node.receiver),
|
334
380
|
parameters: visit(node.parameters),
|
@@ -338,40 +384,48 @@ module Refract
|
|
338
384
|
|
339
385
|
visit Prism::DefinedNode do |node|
|
340
386
|
DefinedNode.new(
|
387
|
+
prism_node: node,
|
341
388
|
value: visit(node.value),
|
342
389
|
)
|
343
390
|
end
|
344
391
|
|
345
392
|
visit Prism::ElseNode do |node|
|
346
393
|
ElseNode.new(
|
394
|
+
prism_node: node,
|
347
395
|
statements: visit(node.statements),
|
348
396
|
)
|
349
397
|
end
|
350
398
|
|
351
399
|
visit Prism::EmbeddedStatementsNode do |node|
|
352
400
|
EmbeddedStatementsNode.new(
|
401
|
+
prism_node: node,
|
353
402
|
statements: visit(node.statements),
|
354
403
|
)
|
355
404
|
end
|
356
405
|
|
357
406
|
visit Prism::EmbeddedVariableNode do |node|
|
358
407
|
EmbeddedVariableNode.new(
|
408
|
+
prism_node: node,
|
359
409
|
variable: visit(node.variable),
|
360
410
|
)
|
361
411
|
end
|
362
412
|
|
363
413
|
visit Prism::EnsureNode do |node|
|
364
414
|
EnsureNode.new(
|
415
|
+
prism_node: node,
|
365
416
|
statements: visit(node.statements),
|
366
417
|
)
|
367
418
|
end
|
368
419
|
|
369
420
|
visit Prism::FalseNode do |node|
|
370
|
-
FalseNode.new
|
421
|
+
FalseNode.new(
|
422
|
+
prism_node: node,
|
423
|
+
)
|
371
424
|
end
|
372
425
|
|
373
426
|
visit Prism::FindPatternNode do |node|
|
374
427
|
FindPatternNode.new(
|
428
|
+
prism_node: node,
|
375
429
|
constant: visit(node.constant),
|
376
430
|
left: visit(node.left),
|
377
431
|
requireds: node.requireds.map { |n| visit(n) },
|
@@ -381,6 +435,7 @@ module Refract
|
|
381
435
|
|
382
436
|
visit Prism::FlipFlopNode do |node|
|
383
437
|
FlipFlopNode.new(
|
438
|
+
prism_node: node,
|
384
439
|
left: visit(node.left),
|
385
440
|
right: visit(node.right),
|
386
441
|
exclude_end: node.exclude_end?,
|
@@ -389,12 +444,14 @@ module Refract
|
|
389
444
|
|
390
445
|
visit Prism::FloatNode do |node|
|
391
446
|
FloatNode.new(
|
447
|
+
prism_node: node,
|
392
448
|
value: node.slice,
|
393
449
|
)
|
394
450
|
end
|
395
451
|
|
396
452
|
visit Prism::ForNode do |node|
|
397
453
|
ForNode.new(
|
454
|
+
prism_node: node,
|
398
455
|
index: visit(node.index),
|
399
456
|
collection: visit(node.collection),
|
400
457
|
statements: visit(node.statements),
|
@@ -402,21 +459,27 @@ module Refract
|
|
402
459
|
end
|
403
460
|
|
404
461
|
visit Prism::ForwardingArgumentsNode do |node|
|
405
|
-
ForwardingArgumentsNode.new
|
462
|
+
ForwardingArgumentsNode.new(
|
463
|
+
prism_node: node,
|
464
|
+
)
|
406
465
|
end
|
407
466
|
|
408
467
|
visit Prism::ForwardingParameterNode do |node|
|
409
|
-
ForwardingParameterNode.new
|
468
|
+
ForwardingParameterNode.new(
|
469
|
+
prism_node: node,
|
470
|
+
)
|
410
471
|
end
|
411
472
|
|
412
473
|
visit Prism::ForwardingSuperNode do |node|
|
413
474
|
ForwardingSuperNode.new(
|
475
|
+
prism_node: node,
|
414
476
|
block: visit(node.block),
|
415
477
|
)
|
416
478
|
end
|
417
479
|
|
418
480
|
visit Prism::GlobalVariableAndWriteNode do |node|
|
419
481
|
GlobalVariableAndWriteNode.new(
|
482
|
+
prism_node: node,
|
420
483
|
name: node.name,
|
421
484
|
value: visit(node.value),
|
422
485
|
)
|
@@ -424,6 +487,7 @@ module Refract
|
|
424
487
|
|
425
488
|
visit Prism::GlobalVariableOperatorWriteNode do |node|
|
426
489
|
GlobalVariableOperatorWriteNode.new(
|
490
|
+
prism_node: node,
|
427
491
|
name: node.name,
|
428
492
|
value: visit(node.value),
|
429
493
|
binary_operator: node.binary_operator,
|
@@ -432,6 +496,7 @@ module Refract
|
|
432
496
|
|
433
497
|
visit Prism::GlobalVariableOrWriteNode do |node|
|
434
498
|
GlobalVariableOrWriteNode.new(
|
499
|
+
prism_node: node,
|
435
500
|
name: node.name,
|
436
501
|
value: visit(node.value),
|
437
502
|
)
|
@@ -439,18 +504,21 @@ module Refract
|
|
439
504
|
|
440
505
|
visit Prism::GlobalVariableReadNode do |node|
|
441
506
|
GlobalVariableReadNode.new(
|
507
|
+
prism_node: node,
|
442
508
|
name: node.name,
|
443
509
|
)
|
444
510
|
end
|
445
511
|
|
446
512
|
visit Prism::GlobalVariableTargetNode do |node|
|
447
513
|
GlobalVariableTargetNode.new(
|
514
|
+
prism_node: node,
|
448
515
|
name: node.name,
|
449
516
|
)
|
450
517
|
end
|
451
518
|
|
452
519
|
visit Prism::GlobalVariableWriteNode do |node|
|
453
520
|
GlobalVariableWriteNode.new(
|
521
|
+
prism_node: node,
|
454
522
|
name: node.name,
|
455
523
|
value: visit(node.value),
|
456
524
|
)
|
@@ -458,12 +526,14 @@ module Refract
|
|
458
526
|
|
459
527
|
visit Prism::HashNode do |node|
|
460
528
|
HashNode.new(
|
529
|
+
prism_node: node,
|
461
530
|
elements: node.elements&.map { |n| visit(n) },
|
462
531
|
)
|
463
532
|
end
|
464
533
|
|
465
534
|
visit Prism::HashPatternNode do |node|
|
466
535
|
HashPatternNode.new(
|
536
|
+
prism_node: node,
|
467
537
|
elements: node.elements&.map { |n| visit(n) },
|
468
538
|
rest: visit(node.rest),
|
469
539
|
)
|
@@ -471,30 +541,37 @@ module Refract
|
|
471
541
|
|
472
542
|
visit Prism::IfNode do |node|
|
473
543
|
IfNode.new(
|
544
|
+
prism_node: node,
|
474
545
|
predicate: visit(node.predicate),
|
475
546
|
statements: visit(node.statements),
|
476
547
|
subsequent: visit(node.subsequent),
|
548
|
+
inline: (node.predicate && node.statements && node.predicate.location.start_offset > node.statements.location.start_offset),
|
477
549
|
)
|
478
550
|
end
|
479
551
|
|
480
552
|
visit Prism::ImaginaryNode do |node|
|
481
553
|
ImaginaryNode.new(
|
554
|
+
prism_node: node,
|
482
555
|
numeric: visit(node.numeric),
|
483
556
|
)
|
484
557
|
end
|
485
558
|
|
486
559
|
visit Prism::ImplicitNode do |node|
|
487
560
|
ImplicitNode.new(
|
561
|
+
prism_node: node,
|
488
562
|
value: visit(node.value),
|
489
563
|
)
|
490
564
|
end
|
491
565
|
|
492
566
|
visit Prism::ImplicitRestNode do |node|
|
493
|
-
ImplicitRestNode.new
|
567
|
+
ImplicitRestNode.new(
|
568
|
+
prism_node: node,
|
569
|
+
)
|
494
570
|
end
|
495
571
|
|
496
572
|
visit Prism::InNode do |node|
|
497
573
|
InNode.new(
|
574
|
+
prism_node: node,
|
498
575
|
pattern: visit(node.pattern),
|
499
576
|
statements: visit(node.statements),
|
500
577
|
)
|
@@ -502,6 +579,7 @@ module Refract
|
|
502
579
|
|
503
580
|
visit Prism::IndexAndWriteNode do |node|
|
504
581
|
IndexAndWriteNode.new(
|
582
|
+
prism_node: node,
|
505
583
|
receiver: visit(node.receiver),
|
506
584
|
arguments: visit(node.arguments),
|
507
585
|
block: visit(node.block),
|
@@ -511,6 +589,7 @@ module Refract
|
|
511
589
|
|
512
590
|
visit Prism::IndexOperatorWriteNode do |node|
|
513
591
|
IndexOperatorWriteNode.new(
|
592
|
+
prism_node: node,
|
514
593
|
receiver: visit(node.receiver),
|
515
594
|
arguments: visit(node.arguments),
|
516
595
|
block: visit(node.block),
|
@@ -521,6 +600,7 @@ module Refract
|
|
521
600
|
|
522
601
|
visit Prism::IndexOrWriteNode do |node|
|
523
602
|
IndexOrWriteNode.new(
|
603
|
+
prism_node: node,
|
524
604
|
receiver: visit(node.receiver),
|
525
605
|
arguments: visit(node.arguments),
|
526
606
|
block: visit(node.block),
|
@@ -530,6 +610,7 @@ module Refract
|
|
530
610
|
|
531
611
|
visit Prism::IndexTargetNode do |node|
|
532
612
|
IndexTargetNode.new(
|
613
|
+
prism_node: node,
|
533
614
|
receiver: visit(node.receiver),
|
534
615
|
arguments: visit(node.arguments),
|
535
616
|
block: visit(node.block),
|
@@ -538,6 +619,7 @@ module Refract
|
|
538
619
|
|
539
620
|
visit Prism::InstanceVariableAndWriteNode do |node|
|
540
621
|
InstanceVariableAndWriteNode.new(
|
622
|
+
prism_node: node,
|
541
623
|
name: node.name,
|
542
624
|
value: visit(node.value),
|
543
625
|
)
|
@@ -545,6 +627,7 @@ module Refract
|
|
545
627
|
|
546
628
|
visit Prism::InstanceVariableOperatorWriteNode do |node|
|
547
629
|
InstanceVariableOperatorWriteNode.new(
|
630
|
+
prism_node: node,
|
548
631
|
name: node.name,
|
549
632
|
value: visit(node.value),
|
550
633
|
binary_operator: node.binary_operator,
|
@@ -553,6 +636,7 @@ module Refract
|
|
553
636
|
|
554
637
|
visit Prism::InstanceVariableOrWriteNode do |node|
|
555
638
|
InstanceVariableOrWriteNode.new(
|
639
|
+
prism_node: node,
|
556
640
|
name: node.name,
|
557
641
|
value: visit(node.value),
|
558
642
|
)
|
@@ -560,18 +644,21 @@ module Refract
|
|
560
644
|
|
561
645
|
visit Prism::InstanceVariableReadNode do |node|
|
562
646
|
InstanceVariableReadNode.new(
|
647
|
+
prism_node: node,
|
563
648
|
name: node.name,
|
564
649
|
)
|
565
650
|
end
|
566
651
|
|
567
652
|
visit Prism::InstanceVariableTargetNode do |node|
|
568
653
|
InstanceVariableTargetNode.new(
|
654
|
+
prism_node: node,
|
569
655
|
name: node.name,
|
570
656
|
)
|
571
657
|
end
|
572
658
|
|
573
659
|
visit Prism::InstanceVariableWriteNode do |node|
|
574
660
|
InstanceVariableWriteNode.new(
|
661
|
+
prism_node: node,
|
575
662
|
name: node.name,
|
576
663
|
value: visit(node.value),
|
577
664
|
)
|
@@ -579,12 +666,14 @@ module Refract
|
|
579
666
|
|
580
667
|
visit Prism::IntegerNode do |node|
|
581
668
|
IntegerNode.new(
|
669
|
+
prism_node: node,
|
582
670
|
value: node.value,
|
583
671
|
)
|
584
672
|
end
|
585
673
|
|
586
674
|
visit Prism::InterpolatedMatchLastLineNode do |node|
|
587
675
|
InterpolatedMatchLastLineNode.new(
|
676
|
+
prism_node: node,
|
588
677
|
parts: node.parts&.map { |n| visit(n) },
|
589
678
|
ignore_case: node.ignore_case?,
|
590
679
|
multi_line: node.multi_line?,
|
@@ -595,6 +684,7 @@ module Refract
|
|
595
684
|
|
596
685
|
visit Prism::InterpolatedRegularExpressionNode do |node|
|
597
686
|
InterpolatedRegularExpressionNode.new(
|
687
|
+
prism_node: node,
|
598
688
|
parts: node.parts.map { |part| visit(part) },
|
599
689
|
ignore_case: node.ignore_case?,
|
600
690
|
multi_line: node.multi_line?,
|
@@ -605,44 +695,54 @@ module Refract
|
|
605
695
|
|
606
696
|
visit Prism::InterpolatedStringNode do |node|
|
607
697
|
InterpolatedStringNode.new(
|
698
|
+
prism_node: node,
|
608
699
|
parts: node.parts&.map { |n| visit(n) },
|
609
700
|
)
|
610
701
|
end
|
611
702
|
|
612
703
|
visit Prism::InterpolatedSymbolNode do |node|
|
613
704
|
InterpolatedSymbolNode.new(
|
705
|
+
prism_node: node,
|
614
706
|
parts: node.parts.map { |part| visit(part) },
|
615
707
|
)
|
616
708
|
end
|
617
709
|
|
618
710
|
visit Prism::InterpolatedXStringNode do |node|
|
619
711
|
InterpolatedXStringNode.new(
|
712
|
+
prism_node: node,
|
620
713
|
parts: node.parts.map { |part| visit(part) },
|
621
714
|
)
|
622
715
|
end
|
623
716
|
|
624
717
|
visit Prism::ItLocalVariableReadNode do |node|
|
625
|
-
ItLocalVariableReadNode.new
|
718
|
+
ItLocalVariableReadNode.new(
|
719
|
+
prism_node: node,
|
720
|
+
)
|
626
721
|
end
|
627
722
|
|
628
723
|
visit Prism::ItParametersNode do |node|
|
629
|
-
ItParametersNode.new
|
724
|
+
ItParametersNode.new(
|
725
|
+
prism_node: node,
|
726
|
+
)
|
630
727
|
end
|
631
728
|
|
632
729
|
visit Prism::KeywordHashNode do |node|
|
633
730
|
KeywordHashNode.new(
|
731
|
+
prism_node: node,
|
634
732
|
elements: node.elements&.map { |n| visit(n) },
|
635
733
|
)
|
636
734
|
end
|
637
735
|
|
638
736
|
visit Prism::KeywordRestParameterNode do |node|
|
639
737
|
KeywordRestParameterNode.new(
|
738
|
+
prism_node: node,
|
640
739
|
name: node.name,
|
641
740
|
)
|
642
741
|
end
|
643
742
|
|
644
743
|
visit Prism::LambdaNode do |node|
|
645
744
|
LambdaNode.new(
|
745
|
+
prism_node: node,
|
646
746
|
parameters: visit(node.parameters),
|
647
747
|
body: visit(node.body),
|
648
748
|
)
|
@@ -650,6 +750,7 @@ module Refract
|
|
650
750
|
|
651
751
|
visit Prism::LocalVariableAndWriteNode do |node|
|
652
752
|
LocalVariableAndWriteNode.new(
|
753
|
+
prism_node: node,
|
653
754
|
name: node.name,
|
654
755
|
value: visit(node.value),
|
655
756
|
depth: node.depth,
|
@@ -658,6 +759,7 @@ module Refract
|
|
658
759
|
|
659
760
|
visit Prism::LocalVariableOperatorWriteNode do |node|
|
660
761
|
LocalVariableOperatorWriteNode.new(
|
762
|
+
prism_node: node,
|
661
763
|
name: node.name,
|
662
764
|
value: visit(node.value),
|
663
765
|
binary_operator: node.binary_operator,
|
@@ -667,6 +769,7 @@ module Refract
|
|
667
769
|
|
668
770
|
visit Prism::LocalVariableOrWriteNode do |node|
|
669
771
|
LocalVariableOrWriteNode.new(
|
772
|
+
prism_node: node,
|
670
773
|
name: node.name,
|
671
774
|
value: visit(node.value),
|
672
775
|
depth: node.depth,
|
@@ -675,18 +778,21 @@ module Refract
|
|
675
778
|
|
676
779
|
visit Prism::LocalVariableReadNode do |node|
|
677
780
|
LocalVariableReadNode.new(
|
781
|
+
prism_node: node,
|
678
782
|
name: node.name,
|
679
783
|
)
|
680
784
|
end
|
681
785
|
|
682
786
|
visit Prism::LocalVariableTargetNode do |node|
|
683
787
|
LocalVariableTargetNode.new(
|
788
|
+
prism_node: node,
|
684
789
|
name: node.name,
|
685
790
|
)
|
686
791
|
end
|
687
792
|
|
688
793
|
visit Prism::LocalVariableWriteNode do |node|
|
689
794
|
LocalVariableWriteNode.new(
|
795
|
+
prism_node: node,
|
690
796
|
name: node.name,
|
691
797
|
value: visit(node.value),
|
692
798
|
)
|
@@ -694,6 +800,7 @@ module Refract
|
|
694
800
|
|
695
801
|
visit Prism::MatchLastLineNode do |node|
|
696
802
|
MatchLastLineNode.new(
|
803
|
+
prism_node: node,
|
697
804
|
unescaped: node.unescaped,
|
698
805
|
ignore_case: node.ignore_case?,
|
699
806
|
multi_line: node.multi_line?,
|
@@ -704,6 +811,7 @@ module Refract
|
|
704
811
|
|
705
812
|
visit Prism::MatchPredicateNode do |node|
|
706
813
|
MatchPredicateNode.new(
|
814
|
+
prism_node: node,
|
707
815
|
value: visit(node.value),
|
708
816
|
pattern: visit(node.pattern),
|
709
817
|
)
|
@@ -711,6 +819,7 @@ module Refract
|
|
711
819
|
|
712
820
|
visit Prism::MatchRequiredNode do |node|
|
713
821
|
MatchRequiredNode.new(
|
822
|
+
prism_node: node,
|
714
823
|
value: visit(node.value),
|
715
824
|
pattern: visit(node.pattern),
|
716
825
|
)
|
@@ -718,17 +827,21 @@ module Refract
|
|
718
827
|
|
719
828
|
visit Prism::MatchWriteNode do |node|
|
720
829
|
MatchWriteNode.new(
|
830
|
+
prism_node: node,
|
721
831
|
call: visit(node.call),
|
722
832
|
targets: node.targets.map { |t| visit(t) },
|
723
833
|
)
|
724
834
|
end
|
725
835
|
|
726
836
|
visit Prism::MissingNode do |node|
|
727
|
-
MissingNode.new
|
837
|
+
MissingNode.new(
|
838
|
+
prism_node: node,
|
839
|
+
)
|
728
840
|
end
|
729
841
|
|
730
842
|
visit Prism::ModuleNode do |node|
|
731
843
|
ModuleNode.new(
|
844
|
+
prism_node: node,
|
732
845
|
constant_path: visit(node.constant_path),
|
733
846
|
body: visit(node.body),
|
734
847
|
)
|
@@ -736,6 +849,7 @@ module Refract
|
|
736
849
|
|
737
850
|
visit Prism::MultiTargetNode do |node|
|
738
851
|
MultiTargetNode.new(
|
852
|
+
prism_node: node,
|
739
853
|
lefts: node.lefts.map { |n| visit(n) },
|
740
854
|
rest: visit(node.rest),
|
741
855
|
rights: node.rights.map { |n| visit(n) },
|
@@ -744,6 +858,7 @@ module Refract
|
|
744
858
|
|
745
859
|
visit Prism::MultiWriteNode do |node|
|
746
860
|
MultiWriteNode.new(
|
861
|
+
prism_node: node,
|
747
862
|
lefts: node.lefts&.map { |n| visit(n) },
|
748
863
|
rest: visit(node.rest),
|
749
864
|
rights: node.rights&.map { |n| visit(n) },
|
@@ -753,30 +868,39 @@ module Refract
|
|
753
868
|
|
754
869
|
visit Prism::NextNode do |node|
|
755
870
|
NextNode.new(
|
871
|
+
prism_node: node,
|
756
872
|
arguments: visit(node.arguments),
|
757
873
|
)
|
758
874
|
end
|
759
875
|
|
760
876
|
visit Prism::NilNode do |node|
|
761
|
-
NilNode.new
|
877
|
+
NilNode.new(
|
878
|
+
prism_node: node,
|
879
|
+
)
|
762
880
|
end
|
763
881
|
|
764
882
|
visit Prism::NoKeywordsParameterNode do |node|
|
765
|
-
NoKeywordsParameterNode.new
|
883
|
+
NoKeywordsParameterNode.new(
|
884
|
+
prism_node: node,
|
885
|
+
)
|
766
886
|
end
|
767
887
|
|
768
888
|
visit Prism::NumberedParametersNode do |node|
|
769
|
-
NumberedParametersNode.new
|
889
|
+
NumberedParametersNode.new(
|
890
|
+
prism_node: node,
|
891
|
+
)
|
770
892
|
end
|
771
893
|
|
772
894
|
visit Prism::NumberedReferenceReadNode do |node|
|
773
895
|
NumberedReferenceReadNode.new(
|
896
|
+
prism_node: node,
|
774
897
|
number: node.number,
|
775
898
|
)
|
776
899
|
end
|
777
900
|
|
778
901
|
visit Prism::OptionalKeywordParameterNode do |node|
|
779
902
|
OptionalKeywordParameterNode.new(
|
903
|
+
prism_node: node,
|
780
904
|
name: node.name,
|
781
905
|
value: visit(node.value),
|
782
906
|
)
|
@@ -784,6 +908,7 @@ module Refract
|
|
784
908
|
|
785
909
|
visit Prism::OptionalParameterNode do |node|
|
786
910
|
OptionalParameterNode.new(
|
911
|
+
prism_node: node,
|
787
912
|
name: node.name,
|
788
913
|
value: visit(node.value),
|
789
914
|
)
|
@@ -791,14 +916,16 @@ module Refract
|
|
791
916
|
|
792
917
|
visit Prism::OrNode do |node|
|
793
918
|
OrNode.new(
|
919
|
+
prism_node: node,
|
794
920
|
left: visit(node.left),
|
795
|
-
operator: node.
|
921
|
+
operator: node.operator,
|
796
922
|
right: visit(node.right),
|
797
923
|
)
|
798
924
|
end
|
799
925
|
|
800
926
|
visit Prism::ParametersNode do |node|
|
801
927
|
ParametersNode.new(
|
928
|
+
prism_node: node,
|
802
929
|
requireds: node.requireds&.map { |n| visit(n) },
|
803
930
|
optionals: node.optionals&.map { |n| visit(n) },
|
804
931
|
rest: visit(node.rest),
|
@@ -811,42 +938,49 @@ module Refract
|
|
811
938
|
|
812
939
|
visit Prism::ParenthesesNode do |node|
|
813
940
|
ParenthesesNode.new(
|
941
|
+
prism_node: node,
|
814
942
|
body: visit(node.body),
|
815
943
|
)
|
816
944
|
end
|
817
945
|
|
818
946
|
visit Prism::PinnedExpressionNode do |node|
|
819
947
|
PinnedExpressionNode.new(
|
948
|
+
prism_node: node,
|
820
949
|
expression: visit(node.expression),
|
821
950
|
)
|
822
951
|
end
|
823
952
|
|
824
953
|
visit Prism::PinnedVariableNode do |node|
|
825
954
|
PinnedVariableNode.new(
|
955
|
+
prism_node: node,
|
826
956
|
variable: visit(node.variable),
|
827
957
|
)
|
828
958
|
end
|
829
959
|
|
830
960
|
visit Prism::PostExecutionNode do |node|
|
831
961
|
PostExecutionNode.new(
|
962
|
+
prism_node: node,
|
832
963
|
statements: visit(node.statements),
|
833
964
|
)
|
834
965
|
end
|
835
966
|
|
836
967
|
visit Prism::PreExecutionNode do |node|
|
837
968
|
PreExecutionNode.new(
|
969
|
+
prism_node: node,
|
838
970
|
statements: visit(node.statements),
|
839
971
|
)
|
840
972
|
end
|
841
973
|
|
842
974
|
visit Prism::ProgramNode do |node|
|
843
975
|
ProgramNode.new(
|
976
|
+
prism_node: node,
|
844
977
|
statements: visit(node.statements),
|
845
978
|
)
|
846
979
|
end
|
847
980
|
|
848
981
|
visit Prism::RangeNode do |node|
|
849
982
|
RangeNode.new(
|
983
|
+
prism_node: node,
|
850
984
|
left: visit(node.left),
|
851
985
|
right: visit(node.right),
|
852
986
|
exclude_end: node.exclude_end?,
|
@@ -855,17 +989,21 @@ module Refract
|
|
855
989
|
|
856
990
|
visit Prism::RationalNode do |node|
|
857
991
|
RationalNode.new(
|
992
|
+
prism_node: node,
|
858
993
|
numerator: node.numerator,
|
859
994
|
denominator: node.denominator,
|
860
995
|
)
|
861
996
|
end
|
862
997
|
|
863
998
|
visit Prism::RedoNode do |node|
|
864
|
-
RedoNode.new
|
999
|
+
RedoNode.new(
|
1000
|
+
prism_node: node,
|
1001
|
+
)
|
865
1002
|
end
|
866
1003
|
|
867
1004
|
visit Prism::RegularExpressionNode do |node|
|
868
1005
|
RegularExpressionNode.new(
|
1006
|
+
prism_node: node,
|
869
1007
|
unescaped: node.unescaped,
|
870
1008
|
ignore_case: node.ignore_case?,
|
871
1009
|
multi_line: node.multi_line?,
|
@@ -876,18 +1014,21 @@ module Refract
|
|
876
1014
|
|
877
1015
|
visit Prism::RequiredKeywordParameterNode do |node|
|
878
1016
|
RequiredKeywordParameterNode.new(
|
1017
|
+
prism_node: node,
|
879
1018
|
name: node.name,
|
880
1019
|
)
|
881
1020
|
end
|
882
1021
|
|
883
1022
|
visit Prism::RequiredParameterNode do |node|
|
884
1023
|
RequiredParameterNode.new(
|
1024
|
+
prism_node: node,
|
885
1025
|
name: node.name,
|
886
1026
|
)
|
887
1027
|
end
|
888
1028
|
|
889
1029
|
visit Prism::RescueModifierNode do |node|
|
890
1030
|
RescueModifierNode.new(
|
1031
|
+
prism_node: node,
|
891
1032
|
expression: visit(node.expression),
|
892
1033
|
rescue_expression: visit(node.rescue_expression),
|
893
1034
|
)
|
@@ -895,6 +1036,7 @@ module Refract
|
|
895
1036
|
|
896
1037
|
visit Prism::RescueNode do |node|
|
897
1038
|
RescueNode.new(
|
1039
|
+
prism_node: node,
|
898
1040
|
exceptions: node.exceptions&.map { |n| visit(n) },
|
899
1041
|
reference: visit(node.reference),
|
900
1042
|
statements: visit(node.statements),
|
@@ -904,69 +1046,87 @@ module Refract
|
|
904
1046
|
|
905
1047
|
visit Prism::RestParameterNode do |node|
|
906
1048
|
RestParameterNode.new(
|
1049
|
+
prism_node: node,
|
907
1050
|
name: node.name,
|
908
1051
|
)
|
909
1052
|
end
|
910
1053
|
|
911
1054
|
visit Prism::RetryNode do |node|
|
912
|
-
RetryNode.new
|
1055
|
+
RetryNode.new(
|
1056
|
+
prism_node: node,
|
1057
|
+
)
|
913
1058
|
end
|
914
1059
|
|
915
1060
|
visit Prism::ReturnNode do |node|
|
916
1061
|
ReturnNode.new(
|
1062
|
+
prism_node: node,
|
917
1063
|
arguments: visit(node.arguments),
|
918
1064
|
)
|
919
1065
|
end
|
920
1066
|
|
921
1067
|
visit Prism::SelfNode do |node|
|
922
|
-
SelfNode.new
|
1068
|
+
SelfNode.new(
|
1069
|
+
prism_node: node,
|
1070
|
+
)
|
923
1071
|
end
|
924
1072
|
|
925
1073
|
visit Prism::ShareableConstantNode do |node|
|
926
1074
|
ShareableConstantNode.new(
|
1075
|
+
prism_node: node,
|
927
1076
|
write: visit(node.write),
|
928
1077
|
)
|
929
1078
|
end
|
930
1079
|
|
931
1080
|
visit Prism::SingletonClassNode do |node|
|
932
1081
|
SingletonClassNode.new(
|
1082
|
+
prism_node: node,
|
933
1083
|
expression: visit(node.expression),
|
934
1084
|
body: visit(node.body),
|
935
1085
|
)
|
936
1086
|
end
|
937
1087
|
|
938
1088
|
visit Prism::SourceEncodingNode do |node|
|
939
|
-
SourceEncodingNode.new
|
1089
|
+
SourceEncodingNode.new(
|
1090
|
+
prism_node: node,
|
1091
|
+
)
|
940
1092
|
end
|
941
1093
|
|
942
1094
|
visit Prism::SourceFileNode do |node|
|
943
|
-
SourceFileNode.new
|
1095
|
+
SourceFileNode.new(
|
1096
|
+
prism_node: node,
|
1097
|
+
)
|
944
1098
|
end
|
945
1099
|
|
946
1100
|
visit Prism::SourceLineNode do |node|
|
947
|
-
SourceLineNode.new
|
1101
|
+
SourceLineNode.new(
|
1102
|
+
prism_node: node,
|
1103
|
+
)
|
948
1104
|
end
|
949
1105
|
|
950
1106
|
visit Prism::SplatNode do |node|
|
951
1107
|
SplatNode.new(
|
1108
|
+
prism_node: node,
|
952
1109
|
expression: visit(node.expression),
|
953
1110
|
)
|
954
1111
|
end
|
955
1112
|
|
956
1113
|
visit Prism::StatementsNode do |node|
|
957
1114
|
StatementsNode.new(
|
1115
|
+
prism_node: node,
|
958
1116
|
body: node.body&.map { |n| visit(n) },
|
959
1117
|
)
|
960
1118
|
end
|
961
1119
|
|
962
1120
|
visit Prism::StringNode do |node|
|
963
1121
|
StringNode.new(
|
1122
|
+
prism_node: node,
|
964
1123
|
unescaped: node.unescaped,
|
965
1124
|
)
|
966
1125
|
end
|
967
1126
|
|
968
1127
|
visit Prism::SuperNode do |node|
|
969
1128
|
SuperNode.new(
|
1129
|
+
prism_node: node,
|
970
1130
|
arguments: visit(node.arguments),
|
971
1131
|
block: visit(node.block),
|
972
1132
|
)
|
@@ -974,37 +1134,47 @@ module Refract
|
|
974
1134
|
|
975
1135
|
visit Prism::SymbolNode do |node|
|
976
1136
|
SymbolNode.new(
|
1137
|
+
prism_node: node,
|
977
1138
|
unescaped: node.unescaped,
|
1139
|
+
quoted: node.opening_loc && node.closing_loc,
|
978
1140
|
)
|
979
1141
|
end
|
980
1142
|
|
981
1143
|
visit Prism::TrueNode do |node|
|
982
|
-
TrueNode.new
|
1144
|
+
TrueNode.new(
|
1145
|
+
prism_node: node,
|
1146
|
+
)
|
983
1147
|
end
|
984
1148
|
|
985
1149
|
visit Prism::UndefNode do |node|
|
986
1150
|
UndefNode.new(
|
1151
|
+
prism_node: node,
|
987
1152
|
names: node.names.map { |n| visit(n) },
|
988
1153
|
)
|
989
1154
|
end
|
990
1155
|
|
991
1156
|
visit Prism::UnlessNode do |node|
|
992
1157
|
UnlessNode.new(
|
1158
|
+
prism_node: node,
|
993
1159
|
predicate: visit(node.predicate),
|
994
1160
|
statements: visit(node.statements),
|
995
1161
|
else_clause: visit(node.else_clause),
|
1162
|
+
inline: (node.predicate && node.statements && node.predicate.location.start_offset > node.statements.location.start_offset),
|
996
1163
|
)
|
997
1164
|
end
|
998
1165
|
|
999
1166
|
visit Prism::UntilNode do |node|
|
1000
1167
|
UntilNode.new(
|
1168
|
+
prism_node: node,
|
1001
1169
|
predicate: visit(node.predicate),
|
1002
1170
|
statements: visit(node.statements),
|
1171
|
+
inline: (node.predicate && node.statements && node.predicate.location.start_offset > node.statements.location.start_offset),
|
1003
1172
|
)
|
1004
1173
|
end
|
1005
1174
|
|
1006
1175
|
visit Prism::WhenNode do |node|
|
1007
1176
|
WhenNode.new(
|
1177
|
+
prism_node: node,
|
1008
1178
|
conditions: node.conditions&.map { |n| visit(n) },
|
1009
1179
|
statements: visit(node.statements),
|
1010
1180
|
)
|
@@ -1012,19 +1182,23 @@ module Refract
|
|
1012
1182
|
|
1013
1183
|
visit Prism::WhileNode do |node|
|
1014
1184
|
WhileNode.new(
|
1185
|
+
prism_node: node,
|
1015
1186
|
predicate: visit(node.predicate),
|
1016
1187
|
statements: visit(node.statements),
|
1188
|
+
inline: (node.predicate && node.statements && node.predicate.location.start_offset > node.statements.location.start_offset),
|
1017
1189
|
)
|
1018
1190
|
end
|
1019
1191
|
|
1020
1192
|
visit Prism::XStringNode do |node|
|
1021
1193
|
XStringNode.new(
|
1194
|
+
prism_node: node,
|
1022
1195
|
unescaped: node.unescaped,
|
1023
1196
|
)
|
1024
1197
|
end
|
1025
1198
|
|
1026
1199
|
visit Prism::YieldNode do |node|
|
1027
1200
|
YieldNode.new(
|
1201
|
+
prism_node: node,
|
1028
1202
|
arguments: visit(node.arguments),
|
1029
1203
|
)
|
1030
1204
|
end
|