prism 0.17.1 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +60 -1
- data/Makefile +5 -5
- data/README.md +4 -3
- data/config.yml +214 -68
- data/docs/build_system.md +6 -6
- data/docs/building.md +10 -3
- data/docs/configuration.md +11 -9
- data/docs/encoding.md +92 -88
- data/docs/heredocs.md +1 -1
- data/docs/javascript.md +29 -1
- data/docs/local_variable_depth.md +229 -0
- data/docs/ruby_api.md +16 -0
- data/docs/serialization.md +18 -13
- data/ext/prism/api_node.c +411 -240
- data/ext/prism/extconf.rb +97 -127
- data/ext/prism/extension.c +97 -33
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +377 -159
- data/include/prism/defines.h +17 -0
- data/include/prism/diagnostic.h +38 -6
- data/include/prism/{enc/pm_encoding.h → encoding.h} +126 -64
- data/include/prism/options.h +2 -2
- data/include/prism/parser.h +62 -36
- data/include/prism/regexp.h +2 -2
- data/include/prism/util/pm_buffer.h +9 -1
- data/include/prism/util/pm_memchr.h +2 -2
- data/include/prism/util/pm_strpbrk.h +3 -3
- data/include/prism/version.h +3 -3
- data/include/prism.h +13 -15
- data/lib/prism/compiler.rb +15 -3
- data/lib/prism/debug.rb +13 -4
- data/lib/prism/desugar_compiler.rb +4 -3
- data/lib/prism/dispatcher.rb +70 -14
- data/lib/prism/dot_visitor.rb +4612 -0
- data/lib/prism/dsl.rb +77 -57
- data/lib/prism/ffi.rb +19 -6
- data/lib/prism/lex_compat.rb +19 -9
- data/lib/prism/mutation_compiler.rb +26 -6
- data/lib/prism/node.rb +1314 -522
- data/lib/prism/node_ext.rb +102 -19
- data/lib/prism/parse_result.rb +58 -27
- data/lib/prism/ripper_compat.rb +49 -34
- data/lib/prism/serialize.rb +251 -227
- data/lib/prism/visitor.rb +15 -3
- data/lib/prism.rb +21 -4
- data/prism.gemspec +7 -9
- data/rbi/prism.rbi +688 -284
- data/rbi/prism_static.rbi +3 -0
- data/sig/prism.rbs +426 -156
- data/sig/prism_static.rbs +1 -0
- data/src/diagnostic.c +280 -216
- data/src/encoding.c +5137 -0
- data/src/node.c +99 -21
- data/src/options.c +21 -2
- data/src/prettyprint.c +1743 -1241
- data/src/prism.c +1774 -831
- data/src/regexp.c +15 -15
- data/src/serialize.c +261 -164
- data/src/util/pm_buffer.c +10 -1
- data/src/util/pm_memchr.c +1 -1
- data/src/util/pm_strpbrk.c +4 -4
- metadata +8 -10
- data/src/enc/pm_big5.c +0 -53
- data/src/enc/pm_euc_jp.c +0 -59
- data/src/enc/pm_gbk.c +0 -62
- data/src/enc/pm_shift_jis.c +0 -57
- data/src/enc/pm_tables.c +0 -743
- data/src/enc/pm_unicode.c +0 -2369
- data/src/enc/pm_windows_31j.c +0 -57
data/lib/prism/serialize.rb
CHANGED
@@ -27,11 +27,11 @@ module Prism
|
|
27
27
|
|
28
28
|
# The minor version of prism that we are expecting to find in the serialized
|
29
29
|
# strings.
|
30
|
-
MINOR_VERSION =
|
30
|
+
MINOR_VERSION = 19
|
31
31
|
|
32
32
|
# The patch version of prism that we are expecting to find in the serialized
|
33
33
|
# strings.
|
34
|
-
PATCH_VERSION =
|
34
|
+
PATCH_VERSION = 0
|
35
35
|
|
36
36
|
# Deserialize the AST represented by the given string into a parse result.
|
37
37
|
def self.load(input, serialized)
|
@@ -80,21 +80,18 @@ module Prism
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def load_encoding
|
83
|
-
Encoding.find(io.read(
|
84
|
-
end
|
85
|
-
|
86
|
-
def load_force_encoding
|
87
|
-
@encoding = load_encoding
|
83
|
+
@encoding = Encoding.find(io.read(load_varuint))
|
88
84
|
@input = input.force_encoding(@encoding).freeze
|
85
|
+
@encoding
|
89
86
|
end
|
90
87
|
|
91
88
|
def load_start_line
|
92
|
-
source.start_line =
|
89
|
+
source.start_line = load_varsint
|
93
90
|
end
|
94
91
|
|
95
92
|
def load_comments
|
96
|
-
|
97
|
-
case
|
93
|
+
load_varuint.times.map do
|
94
|
+
case load_varuint
|
98
95
|
when 0 then InlineComment.new(load_location)
|
99
96
|
when 1 then EmbDocComment.new(load_location)
|
100
97
|
when 2 then DATAComment.new(load_location)
|
@@ -104,18 +101,19 @@ module Prism
|
|
104
101
|
|
105
102
|
def load_metadata
|
106
103
|
comments = load_comments
|
107
|
-
magic_comments =
|
108
|
-
|
109
|
-
|
110
|
-
|
104
|
+
magic_comments = load_varuint.times.map { MagicComment.new(load_location, load_location) }
|
105
|
+
data_loc = load_optional_location
|
106
|
+
errors = load_varuint.times.map { ParseError.new(load_embedded_string, load_location) }
|
107
|
+
warnings = load_varuint.times.map { ParseWarning.new(load_embedded_string, load_location) }
|
108
|
+
[comments, magic_comments, data_loc, errors, warnings]
|
111
109
|
end
|
112
110
|
|
113
111
|
def load_tokens
|
114
112
|
tokens = []
|
115
|
-
while type = TOKEN_TYPES.fetch(
|
116
|
-
start =
|
117
|
-
length =
|
118
|
-
lex_state =
|
113
|
+
while type = TOKEN_TYPES.fetch(load_varuint)
|
114
|
+
start = load_varuint
|
115
|
+
length = load_varuint
|
116
|
+
lex_state = load_varuint
|
119
117
|
location = Location.new(@source, start, length)
|
120
118
|
tokens << [Prism::Token.new(type, location.slice, location), lex_state]
|
121
119
|
end
|
@@ -127,39 +125,36 @@ module Prism
|
|
127
125
|
tokens = load_tokens
|
128
126
|
encoding = load_encoding
|
129
127
|
load_start_line
|
130
|
-
comments, magic_comments, errors, warnings = load_metadata
|
131
|
-
|
132
|
-
if encoding != @encoding
|
133
|
-
tokens.each { |token,| token.value.force_encoding(encoding) }
|
134
|
-
end
|
128
|
+
comments, magic_comments, data_loc, errors, warnings = load_metadata
|
129
|
+
tokens.each { |token,| token.value.force_encoding(encoding) }
|
135
130
|
|
136
131
|
raise "Expected to consume all bytes while deserializing" unless @io.eof?
|
137
|
-
Prism::ParseResult.new(tokens, comments, magic_comments, errors, warnings, @source)
|
132
|
+
Prism::ParseResult.new(tokens, comments, magic_comments, data_loc, errors, warnings, @source)
|
138
133
|
end
|
139
134
|
|
140
135
|
def load_nodes
|
141
136
|
load_header
|
142
|
-
|
137
|
+
load_encoding
|
143
138
|
load_start_line
|
144
139
|
|
145
|
-
comments, magic_comments, errors, warnings = load_metadata
|
140
|
+
comments, magic_comments, data_loc, errors, warnings = load_metadata
|
146
141
|
|
147
142
|
@constant_pool_offset = io.read(4).unpack1("L")
|
148
|
-
@constant_pool = Array.new(
|
143
|
+
@constant_pool = Array.new(load_varuint, nil)
|
149
144
|
|
150
|
-
[load_node, comments, magic_comments, errors, warnings]
|
145
|
+
[load_node, comments, magic_comments, data_loc, errors, warnings]
|
151
146
|
end
|
152
147
|
|
153
148
|
def load_result
|
154
|
-
node, comments, magic_comments, errors, warnings = load_nodes
|
155
|
-
Prism::ParseResult.new(node, comments, magic_comments, errors, warnings, @source)
|
149
|
+
node, comments, magic_comments, data_loc, errors, warnings = load_nodes
|
150
|
+
Prism::ParseResult.new(node, comments, magic_comments, data_loc, errors, warnings, @source)
|
156
151
|
end
|
157
152
|
|
158
153
|
private
|
159
154
|
|
160
155
|
# variable-length integer using https://en.wikipedia.org/wiki/LEB128
|
161
156
|
# This is also what protobuf uses: https://protobuf.dev/programming-guides/encoding/#varints
|
162
|
-
def
|
157
|
+
def load_varuint
|
163
158
|
n = io.getbyte
|
164
159
|
if n < 128
|
165
160
|
n
|
@@ -173,6 +168,11 @@ module Prism
|
|
173
168
|
end
|
174
169
|
end
|
175
170
|
|
171
|
+
def load_varsint
|
172
|
+
n = load_varuint
|
173
|
+
(n >> 1) ^ (-(n & 1))
|
174
|
+
end
|
175
|
+
|
176
176
|
def load_serialized_length
|
177
177
|
io.read(4).unpack1("L")
|
178
178
|
end
|
@@ -185,14 +185,14 @@ module Prism
|
|
185
185
|
end
|
186
186
|
|
187
187
|
def load_embedded_string
|
188
|
-
io.read(
|
188
|
+
io.read(load_varuint).force_encoding(encoding)
|
189
189
|
end
|
190
190
|
|
191
191
|
def load_string
|
192
192
|
type = io.getbyte
|
193
193
|
case type
|
194
194
|
when 1
|
195
|
-
input.byteslice(
|
195
|
+
input.byteslice(load_varuint, load_varuint).force_encoding(encoding)
|
196
196
|
when 2
|
197
197
|
load_embedded_string
|
198
198
|
else
|
@@ -201,7 +201,7 @@ module Prism
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def load_location
|
204
|
-
Location.new(source,
|
204
|
+
Location.new(source, load_varuint, load_varuint)
|
205
205
|
end
|
206
206
|
|
207
207
|
def load_optional_location
|
@@ -230,11 +230,11 @@ module Prism
|
|
230
230
|
end
|
231
231
|
|
232
232
|
def load_required_constant
|
233
|
-
load_constant(
|
233
|
+
load_constant(load_varuint - 1)
|
234
234
|
end
|
235
235
|
|
236
236
|
def load_optional_constant
|
237
|
-
index =
|
237
|
+
index = load_varuint
|
238
238
|
load_constant(index - 1) if index != 0
|
239
239
|
end
|
240
240
|
|
@@ -253,11 +253,11 @@ module Prism
|
|
253
253
|
when 4 then
|
254
254
|
AndNode.new(load_node, load_node, load_location, location)
|
255
255
|
when 5 then
|
256
|
-
ArgumentsNode.new(Array.new(
|
256
|
+
ArgumentsNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
|
257
257
|
when 6 then
|
258
|
-
ArrayNode.new(Array.new(
|
258
|
+
ArrayNode.new(load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
259
259
|
when 7 then
|
260
|
-
ArrayPatternNode.new(load_optional_node, Array.new(
|
260
|
+
ArrayPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
261
261
|
when 8 then
|
262
262
|
AssocNode.new(load_node, load_optional_node, load_optional_location, location)
|
263
263
|
when 9 then
|
@@ -271,267 +271,275 @@ module Prism
|
|
271
271
|
when 13 then
|
272
272
|
BlockLocalVariableNode.new(load_required_constant, location)
|
273
273
|
when 14 then
|
274
|
-
BlockNode.new(Array.new(
|
274
|
+
BlockNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_optional_node, load_optional_node, load_location, load_location, location)
|
275
275
|
when 15 then
|
276
276
|
BlockParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
|
277
277
|
when 16 then
|
278
|
-
BlockParametersNode.new(load_optional_node, Array.new(
|
278
|
+
BlockParametersNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
279
279
|
when 17 then
|
280
280
|
BreakNode.new(load_optional_node, load_location, location)
|
281
281
|
when 18 then
|
282
|
-
CallAndWriteNode.new(load_optional_node, load_optional_location, load_optional_location,
|
282
|
+
CallAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
|
283
283
|
when 19 then
|
284
|
-
CallNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node,
|
284
|
+
CallNode.new(load_varuint, load_optional_node, load_optional_location, load_required_constant, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
|
285
285
|
when 20 then
|
286
|
-
CallOperatorWriteNode.new(load_optional_node, load_optional_location, load_optional_location,
|
286
|
+
CallOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_required_constant, load_location, load_node, location)
|
287
287
|
when 21 then
|
288
|
-
CallOrWriteNode.new(load_optional_node, load_optional_location, load_optional_location,
|
288
|
+
CallOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
|
289
289
|
when 22 then
|
290
|
-
|
290
|
+
CallTargetNode.new(load_varuint, load_node, load_location, load_required_constant, load_location, location)
|
291
291
|
when 23 then
|
292
|
-
|
292
|
+
CapturePatternNode.new(load_node, load_node, load_location, location)
|
293
293
|
when 24 then
|
294
|
-
|
294
|
+
CaseMatchNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
|
295
295
|
when 25 then
|
296
|
-
|
296
|
+
CaseNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
|
297
297
|
when 26 then
|
298
|
-
|
298
|
+
ClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_location, load_required_constant, location)
|
299
299
|
when 27 then
|
300
|
-
|
300
|
+
ClassVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
301
301
|
when 28 then
|
302
|
-
|
302
|
+
ClassVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
|
303
303
|
when 29 then
|
304
|
-
|
304
|
+
ClassVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
305
305
|
when 30 then
|
306
|
-
|
306
|
+
ClassVariableReadNode.new(load_required_constant, location)
|
307
307
|
when 31 then
|
308
|
-
|
308
|
+
ClassVariableTargetNode.new(load_required_constant, location)
|
309
309
|
when 32 then
|
310
|
-
|
310
|
+
ClassVariableWriteNode.new(load_required_constant, load_location, load_node, load_optional_location, location)
|
311
311
|
when 33 then
|
312
|
-
|
312
|
+
ConstantAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
313
313
|
when 34 then
|
314
|
-
|
314
|
+
ConstantOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
|
315
315
|
when 35 then
|
316
|
-
|
316
|
+
ConstantOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
317
317
|
when 36 then
|
318
|
-
|
318
|
+
ConstantPathAndWriteNode.new(load_node, load_location, load_node, location)
|
319
319
|
when 37 then
|
320
|
-
|
320
|
+
ConstantPathNode.new(load_optional_node, load_node, load_location, location)
|
321
321
|
when 38 then
|
322
|
-
|
322
|
+
ConstantPathOperatorWriteNode.new(load_node, load_location, load_node, load_required_constant, location)
|
323
323
|
when 39 then
|
324
|
-
|
324
|
+
ConstantPathOrWriteNode.new(load_node, load_location, load_node, location)
|
325
325
|
when 40 then
|
326
|
-
|
326
|
+
ConstantPathTargetNode.new(load_optional_node, load_node, load_location, location)
|
327
327
|
when 41 then
|
328
|
-
|
328
|
+
ConstantPathWriteNode.new(load_node, load_location, load_node, location)
|
329
329
|
when 42 then
|
330
|
-
|
330
|
+
ConstantReadNode.new(load_required_constant, location)
|
331
331
|
when 43 then
|
332
|
-
|
333
|
-
DefNode.new(load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varint) { load_required_constant }, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
|
332
|
+
ConstantTargetNode.new(load_required_constant, location)
|
334
333
|
when 44 then
|
335
|
-
|
334
|
+
ConstantWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
|
336
335
|
when 45 then
|
337
|
-
|
336
|
+
load_serialized_length
|
337
|
+
DefNode.new(load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
|
338
338
|
when 46 then
|
339
|
-
|
339
|
+
DefinedNode.new(load_optional_location, load_node, load_optional_location, load_location, location)
|
340
340
|
when 47 then
|
341
|
-
|
341
|
+
ElseNode.new(load_location, load_optional_node, load_optional_location, location)
|
342
342
|
when 48 then
|
343
|
-
|
343
|
+
EmbeddedStatementsNode.new(load_location, load_optional_node, load_location, location)
|
344
344
|
when 49 then
|
345
|
-
|
345
|
+
EmbeddedVariableNode.new(load_location, load_node, location)
|
346
346
|
when 50 then
|
347
|
-
|
347
|
+
EnsureNode.new(load_location, load_optional_node, load_location, location)
|
348
348
|
when 51 then
|
349
|
-
|
349
|
+
FalseNode.new(location)
|
350
350
|
when 52 then
|
351
|
-
|
351
|
+
FindPatternNode.new(load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
|
352
352
|
when 53 then
|
353
|
-
|
353
|
+
FlipFlopNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
|
354
354
|
when 54 then
|
355
|
-
|
355
|
+
FloatNode.new(location)
|
356
356
|
when 55 then
|
357
|
-
|
357
|
+
ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
|
358
358
|
when 56 then
|
359
|
-
|
359
|
+
ForwardingArgumentsNode.new(location)
|
360
360
|
when 57 then
|
361
|
-
|
361
|
+
ForwardingParameterNode.new(location)
|
362
362
|
when 58 then
|
363
|
-
|
363
|
+
ForwardingSuperNode.new(load_optional_node, location)
|
364
364
|
when 59 then
|
365
|
-
|
365
|
+
GlobalVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
366
366
|
when 60 then
|
367
|
-
|
367
|
+
GlobalVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
|
368
368
|
when 61 then
|
369
|
-
|
369
|
+
GlobalVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
370
370
|
when 62 then
|
371
|
-
|
371
|
+
GlobalVariableReadNode.new(load_required_constant, location)
|
372
372
|
when 63 then
|
373
|
-
|
373
|
+
GlobalVariableTargetNode.new(load_required_constant, location)
|
374
374
|
when 64 then
|
375
|
-
|
375
|
+
GlobalVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
|
376
376
|
when 65 then
|
377
|
-
|
377
|
+
HashNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
378
378
|
when 66 then
|
379
|
-
|
379
|
+
HashPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
|
380
380
|
when 67 then
|
381
|
-
|
381
|
+
IfNode.new(load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
|
382
382
|
when 68 then
|
383
|
-
|
383
|
+
ImaginaryNode.new(load_node, location)
|
384
384
|
when 69 then
|
385
|
-
|
385
|
+
ImplicitNode.new(load_node, location)
|
386
386
|
when 70 then
|
387
|
-
|
387
|
+
ImplicitRestNode.new(location)
|
388
388
|
when 71 then
|
389
|
-
|
389
|
+
InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
|
390
390
|
when 72 then
|
391
|
-
|
391
|
+
IndexAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
|
392
392
|
when 73 then
|
393
|
-
|
393
|
+
IndexOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_required_constant, load_location, load_node, location)
|
394
394
|
when 74 then
|
395
|
-
|
395
|
+
IndexOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
|
396
396
|
when 75 then
|
397
|
-
|
397
|
+
IndexTargetNode.new(load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
|
398
398
|
when 76 then
|
399
|
-
|
399
|
+
InstanceVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
400
400
|
when 77 then
|
401
|
-
|
401
|
+
InstanceVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
|
402
402
|
when 78 then
|
403
|
-
|
403
|
+
InstanceVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
|
404
404
|
when 79 then
|
405
|
-
|
405
|
+
InstanceVariableReadNode.new(load_required_constant, location)
|
406
406
|
when 80 then
|
407
|
-
|
407
|
+
InstanceVariableTargetNode.new(load_required_constant, location)
|
408
408
|
when 81 then
|
409
|
-
|
409
|
+
InstanceVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
|
410
410
|
when 82 then
|
411
|
-
|
411
|
+
IntegerNode.new(load_varuint, location)
|
412
412
|
when 83 then
|
413
|
-
|
413
|
+
InterpolatedMatchLastLineNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
414
414
|
when 84 then
|
415
|
-
|
415
|
+
InterpolatedRegularExpressionNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
416
416
|
when 85 then
|
417
|
-
|
417
|
+
InterpolatedStringNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
|
418
418
|
when 86 then
|
419
|
-
|
419
|
+
InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
|
420
420
|
when 87 then
|
421
|
-
|
421
|
+
InterpolatedXStringNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
422
422
|
when 88 then
|
423
|
-
|
423
|
+
KeywordHashNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
|
424
424
|
when 89 then
|
425
|
-
|
425
|
+
KeywordRestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
|
426
426
|
when 90 then
|
427
|
-
|
427
|
+
LambdaNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
|
428
428
|
when 91 then
|
429
|
-
|
429
|
+
LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
|
430
430
|
when 92 then
|
431
|
-
|
431
|
+
LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
|
432
432
|
when 93 then
|
433
|
-
|
433
|
+
LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
|
434
434
|
when 94 then
|
435
|
-
|
435
|
+
LocalVariableReadNode.new(load_required_constant, load_varuint, location)
|
436
436
|
when 95 then
|
437
|
-
|
437
|
+
LocalVariableTargetNode.new(load_required_constant, load_varuint, location)
|
438
438
|
when 96 then
|
439
|
-
|
439
|
+
LocalVariableWriteNode.new(load_required_constant, load_varuint, load_location, load_node, load_location, location)
|
440
440
|
when 97 then
|
441
|
-
|
441
|
+
MatchLastLineNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
|
442
442
|
when 98 then
|
443
|
-
|
443
|
+
MatchPredicateNode.new(load_node, load_node, load_location, location)
|
444
444
|
when 99 then
|
445
|
-
|
445
|
+
MatchRequiredNode.new(load_node, load_node, load_location, location)
|
446
446
|
when 100 then
|
447
|
-
|
447
|
+
MatchWriteNode.new(load_node, Array.new(load_varuint) { load_node }, location)
|
448
448
|
when 101 then
|
449
|
-
|
449
|
+
MissingNode.new(location)
|
450
450
|
when 102 then
|
451
|
-
|
451
|
+
ModuleNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
|
452
452
|
when 103 then
|
453
|
-
|
453
|
+
MultiTargetNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
454
454
|
when 104 then
|
455
|
-
|
455
|
+
MultiWriteNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, load_location, load_node, location)
|
456
456
|
when 105 then
|
457
|
-
|
457
|
+
NextNode.new(load_optional_node, load_location, location)
|
458
458
|
when 106 then
|
459
|
-
|
459
|
+
NilNode.new(location)
|
460
460
|
when 107 then
|
461
|
-
|
461
|
+
NoKeywordsParameterNode.new(load_location, load_location, location)
|
462
462
|
when 108 then
|
463
|
-
|
463
|
+
NumberedParametersNode.new(io.getbyte, location)
|
464
464
|
when 109 then
|
465
|
-
|
465
|
+
NumberedReferenceReadNode.new(load_varuint, location)
|
466
466
|
when 110 then
|
467
|
-
|
467
|
+
OptionalKeywordParameterNode.new(load_required_constant, load_location, load_node, location)
|
468
468
|
when 111 then
|
469
|
-
|
469
|
+
OptionalParameterNode.new(load_required_constant, load_location, load_location, load_node, location)
|
470
470
|
when 112 then
|
471
|
-
|
471
|
+
OrNode.new(load_node, load_node, load_location, location)
|
472
472
|
when 113 then
|
473
|
-
|
473
|
+
ParametersNode.new(Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_node, location)
|
474
474
|
when 114 then
|
475
|
-
|
475
|
+
ParenthesesNode.new(load_optional_node, load_location, load_location, location)
|
476
476
|
when 115 then
|
477
|
-
|
477
|
+
PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
|
478
478
|
when 116 then
|
479
|
-
|
479
|
+
PinnedVariableNode.new(load_node, load_location, location)
|
480
480
|
when 117 then
|
481
|
-
|
481
|
+
PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
|
482
482
|
when 118 then
|
483
|
-
|
483
|
+
PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
|
484
484
|
when 119 then
|
485
|
-
|
485
|
+
ProgramNode.new(Array.new(load_varuint) { load_required_constant }, load_node, location)
|
486
486
|
when 120 then
|
487
|
-
|
487
|
+
RangeNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
|
488
488
|
when 121 then
|
489
|
-
|
489
|
+
RationalNode.new(load_node, location)
|
490
490
|
when 122 then
|
491
|
-
|
491
|
+
RedoNode.new(location)
|
492
492
|
when 123 then
|
493
|
-
|
493
|
+
RegularExpressionNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
|
494
494
|
when 124 then
|
495
|
-
|
495
|
+
RequiredKeywordParameterNode.new(load_required_constant, load_location, location)
|
496
496
|
when 125 then
|
497
|
-
|
497
|
+
RequiredParameterNode.new(load_required_constant, location)
|
498
498
|
when 126 then
|
499
|
-
|
499
|
+
RescueModifierNode.new(load_node, load_location, load_node, location)
|
500
500
|
when 127 then
|
501
|
-
|
501
|
+
RescueNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
|
502
502
|
when 128 then
|
503
|
-
|
503
|
+
RestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
|
504
504
|
when 129 then
|
505
|
-
|
505
|
+
RetryNode.new(location)
|
506
506
|
when 130 then
|
507
|
-
|
507
|
+
ReturnNode.new(load_location, load_optional_node, location)
|
508
508
|
when 131 then
|
509
|
-
|
509
|
+
SelfNode.new(location)
|
510
510
|
when 132 then
|
511
|
-
|
511
|
+
SingletonClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
|
512
512
|
when 133 then
|
513
|
-
|
513
|
+
SourceEncodingNode.new(location)
|
514
514
|
when 134 then
|
515
|
-
|
515
|
+
SourceFileNode.new(load_string, location)
|
516
516
|
when 135 then
|
517
|
-
|
517
|
+
SourceLineNode.new(location)
|
518
518
|
when 136 then
|
519
|
-
|
519
|
+
SplatNode.new(load_location, load_optional_node, location)
|
520
520
|
when 137 then
|
521
|
-
|
521
|
+
StatementsNode.new(Array.new(load_varuint) { load_node }, location)
|
522
522
|
when 138 then
|
523
|
-
|
523
|
+
StringNode.new(load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
|
524
524
|
when 139 then
|
525
|
-
|
525
|
+
SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
|
526
526
|
when 140 then
|
527
|
-
|
527
|
+
SymbolNode.new(load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
|
528
528
|
when 141 then
|
529
|
-
|
529
|
+
TrueNode.new(location)
|
530
530
|
when 142 then
|
531
|
-
|
531
|
+
UndefNode.new(Array.new(load_varuint) { load_node }, load_location, location)
|
532
532
|
when 143 then
|
533
|
-
|
533
|
+
UnlessNode.new(load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
|
534
534
|
when 144 then
|
535
|
+
UntilNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
|
536
|
+
when 145 then
|
537
|
+
WhenNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_node, location)
|
538
|
+
when 146 then
|
539
|
+
WhileNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
|
540
|
+
when 147 then
|
541
|
+
XStringNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
|
542
|
+
when 148 then
|
535
543
|
YieldNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, location)
|
536
544
|
end
|
537
545
|
end
|
@@ -562,15 +570,15 @@ module Prism
|
|
562
570
|
},
|
563
571
|
-> {
|
564
572
|
location = load_location
|
565
|
-
ArgumentsNode.new(Array.new(
|
573
|
+
ArgumentsNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
|
566
574
|
},
|
567
575
|
-> {
|
568
576
|
location = load_location
|
569
|
-
ArrayNode.new(Array.new(
|
577
|
+
ArrayNode.new(load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
570
578
|
},
|
571
579
|
-> {
|
572
580
|
location = load_location
|
573
|
-
ArrayPatternNode.new(load_optional_node, Array.new(
|
581
|
+
ArrayPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
574
582
|
},
|
575
583
|
-> {
|
576
584
|
location = load_location
|
@@ -598,7 +606,7 @@ module Prism
|
|
598
606
|
},
|
599
607
|
-> {
|
600
608
|
location = load_location
|
601
|
-
BlockNode.new(Array.new(
|
609
|
+
BlockNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_optional_node, load_optional_node, load_location, load_location, location)
|
602
610
|
},
|
603
611
|
-> {
|
604
612
|
location = load_location
|
@@ -606,7 +614,7 @@ module Prism
|
|
606
614
|
},
|
607
615
|
-> {
|
608
616
|
location = load_location
|
609
|
-
BlockParametersNode.new(load_optional_node, Array.new(
|
617
|
+
BlockParametersNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
610
618
|
},
|
611
619
|
-> {
|
612
620
|
location = load_location
|
@@ -614,19 +622,23 @@ module Prism
|
|
614
622
|
},
|
615
623
|
-> {
|
616
624
|
location = load_location
|
617
|
-
CallAndWriteNode.new(load_optional_node, load_optional_location, load_optional_location,
|
625
|
+
CallAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
|
618
626
|
},
|
619
627
|
-> {
|
620
628
|
location = load_location
|
621
|
-
CallNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node,
|
629
|
+
CallNode.new(load_varuint, load_optional_node, load_optional_location, load_required_constant, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
|
622
630
|
},
|
623
631
|
-> {
|
624
632
|
location = load_location
|
625
|
-
CallOperatorWriteNode.new(load_optional_node, load_optional_location, load_optional_location,
|
633
|
+
CallOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_required_constant, load_location, load_node, location)
|
626
634
|
},
|
627
635
|
-> {
|
628
636
|
location = load_location
|
629
|
-
CallOrWriteNode.new(load_optional_node, load_optional_location, load_optional_location,
|
637
|
+
CallOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
|
638
|
+
},
|
639
|
+
-> {
|
640
|
+
location = load_location
|
641
|
+
CallTargetNode.new(load_varuint, load_node, load_location, load_required_constant, load_location, location)
|
630
642
|
},
|
631
643
|
-> {
|
632
644
|
location = load_location
|
@@ -634,11 +646,15 @@ module Prism
|
|
634
646
|
},
|
635
647
|
-> {
|
636
648
|
location = load_location
|
637
|
-
|
649
|
+
CaseMatchNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
|
638
650
|
},
|
639
651
|
-> {
|
640
652
|
location = load_location
|
641
|
-
|
653
|
+
CaseNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
|
654
|
+
},
|
655
|
+
-> {
|
656
|
+
location = load_location
|
657
|
+
ClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_location, load_required_constant, location)
|
642
658
|
},
|
643
659
|
-> {
|
644
660
|
location = load_location
|
@@ -715,7 +731,7 @@ module Prism
|
|
715
731
|
-> {
|
716
732
|
location = load_location
|
717
733
|
load_serialized_length
|
718
|
-
DefNode.new(load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(
|
734
|
+
DefNode.new(load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
|
719
735
|
},
|
720
736
|
-> {
|
721
737
|
location = load_location
|
@@ -743,11 +759,11 @@ module Prism
|
|
743
759
|
},
|
744
760
|
-> {
|
745
761
|
location = load_location
|
746
|
-
FindPatternNode.new(load_optional_node, load_node, Array.new(
|
762
|
+
FindPatternNode.new(load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
|
747
763
|
},
|
748
764
|
-> {
|
749
765
|
location = load_location
|
750
|
-
FlipFlopNode.new(load_optional_node, load_optional_node, load_location,
|
766
|
+
FlipFlopNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
|
751
767
|
},
|
752
768
|
-> {
|
753
769
|
location = load_location
|
@@ -795,15 +811,15 @@ module Prism
|
|
795
811
|
},
|
796
812
|
-> {
|
797
813
|
location = load_location
|
798
|
-
HashNode.new(load_location, Array.new(
|
814
|
+
HashNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
799
815
|
},
|
800
816
|
-> {
|
801
817
|
location = load_location
|
802
|
-
HashPatternNode.new(load_optional_node, Array.new(
|
818
|
+
HashPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
|
803
819
|
},
|
804
820
|
-> {
|
805
821
|
location = load_location
|
806
|
-
IfNode.new(load_optional_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
|
822
|
+
IfNode.new(load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
|
807
823
|
},
|
808
824
|
-> {
|
809
825
|
location = load_location
|
@@ -813,21 +829,29 @@ module Prism
|
|
813
829
|
location = load_location
|
814
830
|
ImplicitNode.new(load_node, location)
|
815
831
|
},
|
832
|
+
-> {
|
833
|
+
location = load_location
|
834
|
+
ImplicitRestNode.new(location)
|
835
|
+
},
|
816
836
|
-> {
|
817
837
|
location = load_location
|
818
838
|
InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
|
819
839
|
},
|
820
840
|
-> {
|
821
841
|
location = load_location
|
822
|
-
IndexAndWriteNode.new(load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node,
|
842
|
+
IndexAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
|
843
|
+
},
|
844
|
+
-> {
|
845
|
+
location = load_location
|
846
|
+
IndexOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_required_constant, load_location, load_node, location)
|
823
847
|
},
|
824
848
|
-> {
|
825
849
|
location = load_location
|
826
|
-
|
850
|
+
IndexOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
|
827
851
|
},
|
828
852
|
-> {
|
829
853
|
location = load_location
|
830
|
-
|
854
|
+
IndexTargetNode.new(load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
|
831
855
|
},
|
832
856
|
-> {
|
833
857
|
location = load_location
|
@@ -855,31 +879,31 @@ module Prism
|
|
855
879
|
},
|
856
880
|
-> {
|
857
881
|
location = load_location
|
858
|
-
IntegerNode.new(
|
882
|
+
IntegerNode.new(load_varuint, location)
|
859
883
|
},
|
860
884
|
-> {
|
861
885
|
location = load_location
|
862
|
-
InterpolatedMatchLastLineNode.new(load_location, Array.new(
|
886
|
+
InterpolatedMatchLastLineNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
863
887
|
},
|
864
888
|
-> {
|
865
889
|
location = load_location
|
866
|
-
InterpolatedRegularExpressionNode.new(load_location, Array.new(
|
890
|
+
InterpolatedRegularExpressionNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
867
891
|
},
|
868
892
|
-> {
|
869
893
|
location = load_location
|
870
|
-
InterpolatedStringNode.new(load_optional_location, Array.new(
|
894
|
+
InterpolatedStringNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
|
871
895
|
},
|
872
896
|
-> {
|
873
897
|
location = load_location
|
874
|
-
InterpolatedSymbolNode.new(load_optional_location, Array.new(
|
898
|
+
InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
|
875
899
|
},
|
876
900
|
-> {
|
877
901
|
location = load_location
|
878
|
-
InterpolatedXStringNode.new(load_location, Array.new(
|
902
|
+
InterpolatedXStringNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
|
879
903
|
},
|
880
904
|
-> {
|
881
905
|
location = load_location
|
882
|
-
KeywordHashNode.new(Array.new(
|
906
|
+
KeywordHashNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
|
883
907
|
},
|
884
908
|
-> {
|
885
909
|
location = load_location
|
@@ -887,35 +911,35 @@ module Prism
|
|
887
911
|
},
|
888
912
|
-> {
|
889
913
|
location = load_location
|
890
|
-
LambdaNode.new(Array.new(
|
914
|
+
LambdaNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
|
891
915
|
},
|
892
916
|
-> {
|
893
917
|
location = load_location
|
894
|
-
LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_required_constant,
|
918
|
+
LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
|
895
919
|
},
|
896
920
|
-> {
|
897
921
|
location = load_location
|
898
|
-
LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_required_constant, load_required_constant,
|
922
|
+
LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
|
899
923
|
},
|
900
924
|
-> {
|
901
925
|
location = load_location
|
902
|
-
LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_required_constant,
|
926
|
+
LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
|
903
927
|
},
|
904
928
|
-> {
|
905
929
|
location = load_location
|
906
|
-
LocalVariableReadNode.new(load_required_constant,
|
930
|
+
LocalVariableReadNode.new(load_required_constant, load_varuint, location)
|
907
931
|
},
|
908
932
|
-> {
|
909
933
|
location = load_location
|
910
|
-
LocalVariableTargetNode.new(load_required_constant,
|
934
|
+
LocalVariableTargetNode.new(load_required_constant, load_varuint, location)
|
911
935
|
},
|
912
936
|
-> {
|
913
937
|
location = load_location
|
914
|
-
LocalVariableWriteNode.new(load_required_constant,
|
938
|
+
LocalVariableWriteNode.new(load_required_constant, load_varuint, load_location, load_node, load_location, location)
|
915
939
|
},
|
916
940
|
-> {
|
917
941
|
location = load_location
|
918
|
-
MatchLastLineNode.new(load_location, load_location, load_location, load_string,
|
942
|
+
MatchLastLineNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
|
919
943
|
},
|
920
944
|
-> {
|
921
945
|
location = load_location
|
@@ -927,7 +951,7 @@ module Prism
|
|
927
951
|
},
|
928
952
|
-> {
|
929
953
|
location = load_location
|
930
|
-
MatchWriteNode.new(load_node, Array.new(
|
954
|
+
MatchWriteNode.new(load_node, Array.new(load_varuint) { load_node }, location)
|
931
955
|
},
|
932
956
|
-> {
|
933
957
|
location = load_location
|
@@ -935,15 +959,15 @@ module Prism
|
|
935
959
|
},
|
936
960
|
-> {
|
937
961
|
location = load_location
|
938
|
-
ModuleNode.new(Array.new(
|
962
|
+
ModuleNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
|
939
963
|
},
|
940
964
|
-> {
|
941
965
|
location = load_location
|
942
|
-
MultiTargetNode.new(Array.new(
|
966
|
+
MultiTargetNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
|
943
967
|
},
|
944
968
|
-> {
|
945
969
|
location = load_location
|
946
|
-
MultiWriteNode.new(Array.new(
|
970
|
+
MultiWriteNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, load_location, load_node, location)
|
947
971
|
},
|
948
972
|
-> {
|
949
973
|
location = load_location
|
@@ -959,7 +983,11 @@ module Prism
|
|
959
983
|
},
|
960
984
|
-> {
|
961
985
|
location = load_location
|
962
|
-
|
986
|
+
NumberedParametersNode.new(io.getbyte, location)
|
987
|
+
},
|
988
|
+
-> {
|
989
|
+
location = load_location
|
990
|
+
NumberedReferenceReadNode.new(load_varuint, location)
|
963
991
|
},
|
964
992
|
-> {
|
965
993
|
location = load_location
|
@@ -975,7 +1003,7 @@ module Prism
|
|
975
1003
|
},
|
976
1004
|
-> {
|
977
1005
|
location = load_location
|
978
|
-
ParametersNode.new(Array.new(
|
1006
|
+
ParametersNode.new(Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_node, location)
|
979
1007
|
},
|
980
1008
|
-> {
|
981
1009
|
location = load_location
|
@@ -999,11 +1027,11 @@ module Prism
|
|
999
1027
|
},
|
1000
1028
|
-> {
|
1001
1029
|
location = load_location
|
1002
|
-
ProgramNode.new(Array.new(
|
1030
|
+
ProgramNode.new(Array.new(load_varuint) { load_required_constant }, load_node, location)
|
1003
1031
|
},
|
1004
1032
|
-> {
|
1005
1033
|
location = load_location
|
1006
|
-
RangeNode.new(load_optional_node, load_optional_node, load_location,
|
1034
|
+
RangeNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
|
1007
1035
|
},
|
1008
1036
|
-> {
|
1009
1037
|
location = load_location
|
@@ -1015,7 +1043,7 @@ module Prism
|
|
1015
1043
|
},
|
1016
1044
|
-> {
|
1017
1045
|
location = load_location
|
1018
|
-
RegularExpressionNode.new(load_location, load_location, load_location, load_string,
|
1046
|
+
RegularExpressionNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
|
1019
1047
|
},
|
1020
1048
|
-> {
|
1021
1049
|
location = load_location
|
@@ -1031,7 +1059,7 @@ module Prism
|
|
1031
1059
|
},
|
1032
1060
|
-> {
|
1033
1061
|
location = load_location
|
1034
|
-
RescueNode.new(load_location, Array.new(
|
1062
|
+
RescueNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
|
1035
1063
|
},
|
1036
1064
|
-> {
|
1037
1065
|
location = load_location
|
@@ -1051,7 +1079,7 @@ module Prism
|
|
1051
1079
|
},
|
1052
1080
|
-> {
|
1053
1081
|
location = load_location
|
1054
|
-
SingletonClassNode.new(Array.new(
|
1082
|
+
SingletonClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
|
1055
1083
|
},
|
1056
1084
|
-> {
|
1057
1085
|
location = load_location
|
@@ -1071,15 +1099,11 @@ module Prism
|
|
1071
1099
|
},
|
1072
1100
|
-> {
|
1073
1101
|
location = load_location
|
1074
|
-
StatementsNode.new(Array.new(
|
1075
|
-
},
|
1076
|
-
-> {
|
1077
|
-
location = load_location
|
1078
|
-
StringConcatNode.new(load_node, load_node, location)
|
1102
|
+
StatementsNode.new(Array.new(load_varuint) { load_node }, location)
|
1079
1103
|
},
|
1080
1104
|
-> {
|
1081
1105
|
location = load_location
|
1082
|
-
StringNode.new(
|
1106
|
+
StringNode.new(load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
|
1083
1107
|
},
|
1084
1108
|
-> {
|
1085
1109
|
location = load_location
|
@@ -1087,7 +1111,7 @@ module Prism
|
|
1087
1111
|
},
|
1088
1112
|
-> {
|
1089
1113
|
location = load_location
|
1090
|
-
SymbolNode.new(load_optional_location, load_optional_location, load_optional_location, load_string, location)
|
1114
|
+
SymbolNode.new(load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
|
1091
1115
|
},
|
1092
1116
|
-> {
|
1093
1117
|
location = load_location
|
@@ -1095,27 +1119,27 @@ module Prism
|
|
1095
1119
|
},
|
1096
1120
|
-> {
|
1097
1121
|
location = load_location
|
1098
|
-
UndefNode.new(Array.new(
|
1122
|
+
UndefNode.new(Array.new(load_varuint) { load_node }, load_location, location)
|
1099
1123
|
},
|
1100
1124
|
-> {
|
1101
1125
|
location = load_location
|
1102
|
-
UnlessNode.new(load_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
|
1126
|
+
UnlessNode.new(load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
|
1103
1127
|
},
|
1104
1128
|
-> {
|
1105
1129
|
location = load_location
|
1106
|
-
UntilNode.new(load_location, load_optional_location, load_node, load_optional_node,
|
1130
|
+
UntilNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
|
1107
1131
|
},
|
1108
1132
|
-> {
|
1109
1133
|
location = load_location
|
1110
|
-
WhenNode.new(load_location, Array.new(
|
1134
|
+
WhenNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_node, location)
|
1111
1135
|
},
|
1112
1136
|
-> {
|
1113
1137
|
location = load_location
|
1114
|
-
WhileNode.new(load_location, load_optional_location, load_node, load_optional_node,
|
1138
|
+
WhileNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
|
1115
1139
|
},
|
1116
1140
|
-> {
|
1117
1141
|
location = load_location
|
1118
|
-
XStringNode.new(load_location, load_location, load_location, load_string, location)
|
1142
|
+
XStringNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
|
1119
1143
|
},
|
1120
1144
|
-> {
|
1121
1145
|
location = load_location
|