yarp 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,11 +21,17 @@ end
21
21
  module YARP
22
22
  module Serialize
23
23
  MAJOR_VERSION = 0
24
- MINOR_VERSION = 10
24
+ MINOR_VERSION = 11
25
25
  PATCH_VERSION = 0
26
26
 
27
27
  def self.load(input, serialized)
28
- Loader.new(Source.new(input), serialized).load_result
28
+ input = input.dup
29
+ source = Source.new(input)
30
+ loader = Loader.new(source, serialized)
31
+ result = loader.load_result
32
+
33
+ input.force_encoding(loader.encoding)
34
+ result
29
35
  end
30
36
 
31
37
  def self.load_tokens(source, serialized)
@@ -159,23 +165,36 @@ module YARP
159
165
  load_location if io.getbyte != 0
160
166
  end
161
167
 
162
- def load_constant
163
- index = load_varint - 1
168
+ def load_constant(index)
164
169
  constant = constant_pool[index]
165
170
 
166
171
  unless constant
167
172
  offset = constant_pool_offset + index * 8
168
-
169
173
  start = serialized.unpack1("L", offset: offset)
170
174
  length = serialized.unpack1("L", offset: offset + 4)
171
175
 
172
- constant = input.byteslice(start, length).to_sym
176
+ constant =
177
+ if start.nobits?(1 << 31)
178
+ input.byteslice(start, length).to_sym
179
+ else
180
+ serialized.byteslice(start & ((1 << 31) - 1), length).to_sym
181
+ end
182
+
173
183
  constant_pool[index] = constant
174
184
  end
175
185
 
176
186
  constant
177
187
  end
178
188
 
189
+ def load_required_constant
190
+ load_constant(load_varint - 1)
191
+ end
192
+
193
+ def load_optional_constant
194
+ index = load_varint
195
+ load_constant(index - 1) if index != 0
196
+ end
197
+
179
198
  def load_node
180
199
  type = io.getbyte
181
200
  location = load_location
@@ -204,251 +223,255 @@ module YARP
204
223
  when 11 then
205
224
  BlockArgumentNode.new(load_optional_node, load_location, location)
206
225
  when 12 then
207
- BlockNode.new(Array.new(load_varint) { load_constant }, load_optional_node, load_optional_node, load_location, load_location, location)
226
+ BlockLocalVariableNode.new(load_required_constant, location)
208
227
  when 13 then
209
- BlockParameterNode.new(load_optional_location, load_location, location)
228
+ BlockNode.new(Array.new(load_varint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location, location)
210
229
  when 14 then
211
- BlockParametersNode.new(load_optional_node, Array.new(load_varint) { load_location }, load_optional_location, load_optional_location, location)
230
+ BlockParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
212
231
  when 15 then
213
- BreakNode.new(load_optional_node, load_location, location)
232
+ BlockParametersNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_location, load_optional_location, location)
214
233
  when 16 then
215
- CallNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, load_varint, load_string, location)
234
+ BreakNode.new(load_optional_node, load_location, location)
216
235
  when 17 then
217
- CallOperatorAndWriteNode.new(load_node, load_location, load_node, location)
236
+ CallAndWriteNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_varint, load_string, load_string, load_location, load_node, location)
218
237
  when 18 then
219
- CallOperatorOrWriteNode.new(load_node, load_node, load_location, location)
238
+ CallNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, load_varint, load_string, location)
220
239
  when 19 then
221
- CallOperatorWriteNode.new(load_node, load_location, load_node, load_constant, location)
240
+ CallOperatorWriteNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_varint, load_string, load_string, load_required_constant, load_location, load_node, location)
222
241
  when 20 then
223
- CapturePatternNode.new(load_node, load_node, load_location, location)
242
+ CallOrWriteNode.new(load_optional_node, load_optional_location, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_varint, load_string, load_string, load_location, load_node, location)
224
243
  when 21 then
225
- CaseNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_location, load_location, location)
244
+ CapturePatternNode.new(load_node, load_node, load_location, location)
226
245
  when 22 then
227
- ClassNode.new(Array.new(load_varint) { load_constant }, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_location, load_string, location)
246
+ CaseNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_location, load_location, location)
228
247
  when 23 then
229
- ClassVariableAndWriteNode.new(load_constant, load_location, load_location, load_node, location)
248
+ ClassNode.new(Array.new(load_varint) { load_required_constant }, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_location, load_required_constant, location)
230
249
  when 24 then
231
- ClassVariableOperatorWriteNode.new(load_constant, load_location, load_location, load_node, load_constant, location)
250
+ ClassVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
232
251
  when 25 then
233
- ClassVariableOrWriteNode.new(load_constant, load_location, load_location, load_node, location)
252
+ ClassVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
234
253
  when 26 then
235
- ClassVariableReadNode.new(load_constant, location)
254
+ ClassVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
236
255
  when 27 then
237
- ClassVariableTargetNode.new(load_constant, location)
256
+ ClassVariableReadNode.new(load_required_constant, location)
238
257
  when 28 then
239
- ClassVariableWriteNode.new(load_constant, load_location, load_optional_node, load_optional_location, location)
258
+ ClassVariableTargetNode.new(load_required_constant, location)
240
259
  when 29 then
241
- ConstantAndWriteNode.new(load_location, load_location, load_node, location)
260
+ ClassVariableWriteNode.new(load_required_constant, load_location, load_node, load_optional_location, location)
242
261
  when 30 then
243
- ConstantOperatorWriteNode.new(load_location, load_location, load_node, load_constant, location)
262
+ ConstantAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
244
263
  when 31 then
245
- ConstantOrWriteNode.new(load_location, load_location, load_node, location)
264
+ ConstantOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
246
265
  when 32 then
247
- ConstantPathAndWriteNode.new(load_node, load_location, load_node, location)
266
+ ConstantOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
248
267
  when 33 then
249
- ConstantPathNode.new(load_optional_node, load_node, load_location, location)
268
+ ConstantPathAndWriteNode.new(load_node, load_location, load_node, location)
250
269
  when 34 then
251
- ConstantPathOperatorWriteNode.new(load_node, load_location, load_node, load_constant, location)
270
+ ConstantPathNode.new(load_optional_node, load_node, load_location, location)
252
271
  when 35 then
253
- ConstantPathOrWriteNode.new(load_node, load_location, load_node, location)
272
+ ConstantPathOperatorWriteNode.new(load_node, load_location, load_node, load_required_constant, location)
254
273
  when 36 then
255
- ConstantPathTargetNode.new(load_optional_node, load_node, load_location, location)
274
+ ConstantPathOrWriteNode.new(load_node, load_location, load_node, location)
256
275
  when 37 then
257
- ConstantPathWriteNode.new(load_node, load_location, load_node, location)
276
+ ConstantPathTargetNode.new(load_optional_node, load_node, load_location, location)
258
277
  when 38 then
259
- ConstantReadNode.new(location)
278
+ ConstantPathWriteNode.new(load_node, load_location, load_node, location)
260
279
  when 39 then
261
- ConstantTargetNode.new(location)
280
+ ConstantReadNode.new(load_required_constant, location)
262
281
  when 40 then
263
- ConstantWriteNode.new(load_location, load_node, load_location, location)
282
+ ConstantTargetNode.new(load_required_constant, location)
264
283
  when 41 then
265
- load_serialized_length
266
- DefNode.new(load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varint) { load_constant }, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
284
+ ConstantWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
267
285
  when 42 then
268
- DefinedNode.new(load_optional_location, load_node, load_optional_location, load_location, location)
286
+ load_serialized_length
287
+ 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)
269
288
  when 43 then
270
- ElseNode.new(load_location, load_optional_node, load_optional_location, location)
289
+ DefinedNode.new(load_optional_location, load_node, load_optional_location, load_location, location)
271
290
  when 44 then
272
- EmbeddedStatementsNode.new(load_location, load_optional_node, load_location, location)
291
+ ElseNode.new(load_location, load_optional_node, load_optional_location, location)
273
292
  when 45 then
274
- EmbeddedVariableNode.new(load_location, load_node, location)
293
+ EmbeddedStatementsNode.new(load_location, load_optional_node, load_location, location)
275
294
  when 46 then
276
- EnsureNode.new(load_location, load_optional_node, load_location, location)
295
+ EmbeddedVariableNode.new(load_location, load_node, location)
277
296
  when 47 then
278
- FalseNode.new(location)
297
+ EnsureNode.new(load_location, load_optional_node, load_location, location)
279
298
  when 48 then
280
- FindPatternNode.new(load_optional_node, load_node, Array.new(load_varint) { load_node }, load_node, load_optional_location, load_optional_location, location)
299
+ FalseNode.new(location)
281
300
  when 49 then
282
- FlipFlopNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
301
+ FindPatternNode.new(load_optional_node, load_node, Array.new(load_varint) { load_node }, load_node, load_optional_location, load_optional_location, location)
283
302
  when 50 then
284
- FloatNode.new(location)
303
+ FlipFlopNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
285
304
  when 51 then
286
- ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
305
+ FloatNode.new(location)
287
306
  when 52 then
288
- ForwardingArgumentsNode.new(location)
307
+ ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
289
308
  when 53 then
290
- ForwardingParameterNode.new(location)
309
+ ForwardingArgumentsNode.new(location)
291
310
  when 54 then
292
- ForwardingSuperNode.new(load_optional_node, location)
311
+ ForwardingParameterNode.new(location)
293
312
  when 55 then
294
- GlobalVariableAndWriteNode.new(load_location, load_location, load_node, location)
313
+ ForwardingSuperNode.new(load_optional_node, location)
295
314
  when 56 then
296
- GlobalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, location)
315
+ GlobalVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
297
316
  when 57 then
298
- GlobalVariableOrWriteNode.new(load_location, load_location, load_node, location)
317
+ GlobalVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
299
318
  when 58 then
300
- GlobalVariableReadNode.new(location)
319
+ GlobalVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
301
320
  when 59 then
302
- GlobalVariableTargetNode.new(location)
321
+ GlobalVariableReadNode.new(load_required_constant, location)
303
322
  when 60 then
304
- GlobalVariableWriteNode.new(load_location, load_node, load_location, location)
323
+ GlobalVariableTargetNode.new(load_required_constant, location)
305
324
  when 61 then
306
- HashNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
325
+ GlobalVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
307
326
  when 62 then
308
- HashPatternNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
327
+ HashNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
309
328
  when 63 then
310
- IfNode.new(load_optional_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
329
+ HashPatternNode.new(load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
311
330
  when 64 then
312
- ImaginaryNode.new(load_node, location)
331
+ IfNode.new(load_optional_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
313
332
  when 65 then
314
- InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
333
+ ImaginaryNode.new(load_node, location)
315
334
  when 66 then
316
- InstanceVariableAndWriteNode.new(load_constant, load_location, load_location, load_node, location)
335
+ InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
317
336
  when 67 then
318
- InstanceVariableOperatorWriteNode.new(load_constant, load_location, load_location, load_node, load_constant, location)
337
+ InstanceVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
319
338
  when 68 then
320
- InstanceVariableOrWriteNode.new(load_constant, load_location, load_location, load_node, location)
339
+ InstanceVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
321
340
  when 69 then
322
- InstanceVariableReadNode.new(load_constant, location)
341
+ InstanceVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
323
342
  when 70 then
324
- InstanceVariableTargetNode.new(load_constant, location)
343
+ InstanceVariableReadNode.new(load_required_constant, location)
325
344
  when 71 then
326
- InstanceVariableWriteNode.new(load_constant, load_location, load_node, load_location, location)
345
+ InstanceVariableTargetNode.new(load_required_constant, location)
327
346
  when 72 then
328
- IntegerNode.new(location)
347
+ InstanceVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
329
348
  when 73 then
330
- InterpolatedRegularExpressionNode.new(load_location, Array.new(load_varint) { load_node }, load_location, load_varint, location)
349
+ IntegerNode.new(location)
331
350
  when 74 then
332
- InterpolatedStringNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
351
+ InterpolatedRegularExpressionNode.new(load_location, Array.new(load_varint) { load_node }, load_location, load_varint, location)
333
352
  when 75 then
334
- InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
353
+ InterpolatedStringNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
335
354
  when 76 then
336
- InterpolatedXStringNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
355
+ InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varint) { load_node }, load_optional_location, location)
337
356
  when 77 then
338
- KeywordHashNode.new(Array.new(load_varint) { load_node }, location)
357
+ InterpolatedXStringNode.new(load_location, Array.new(load_varint) { load_node }, load_location, location)
339
358
  when 78 then
340
- KeywordParameterNode.new(load_location, load_optional_node, location)
359
+ KeywordHashNode.new(Array.new(load_varint) { load_node }, location)
341
360
  when 79 then
342
- KeywordRestParameterNode.new(load_location, load_optional_location, location)
361
+ KeywordParameterNode.new(load_required_constant, load_location, load_optional_node, location)
343
362
  when 80 then
344
- LambdaNode.new(Array.new(load_varint) { load_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
363
+ KeywordRestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
345
364
  when 81 then
346
- LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_constant, load_varint, location)
365
+ LambdaNode.new(Array.new(load_varint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
347
366
  when 82 then
348
- LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_constant, load_constant, load_varint, location)
367
+ LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varint, location)
349
368
  when 83 then
350
- LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_constant, load_varint, location)
369
+ LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_required_constant, load_required_constant, load_varint, location)
351
370
  when 84 then
352
- LocalVariableReadNode.new(load_constant, load_varint, location)
371
+ LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varint, location)
353
372
  when 85 then
354
- LocalVariableTargetNode.new(load_constant, load_varint, location)
373
+ LocalVariableReadNode.new(load_required_constant, load_varint, location)
355
374
  when 86 then
356
- LocalVariableWriteNode.new(load_constant, load_varint, load_location, load_node, load_location, location)
375
+ LocalVariableTargetNode.new(load_required_constant, load_varint, location)
357
376
  when 87 then
358
- MatchPredicateNode.new(load_node, load_node, load_location, location)
377
+ LocalVariableWriteNode.new(load_required_constant, load_varint, load_location, load_node, load_location, location)
359
378
  when 88 then
360
- MatchRequiredNode.new(load_node, load_node, load_location, location)
379
+ MatchPredicateNode.new(load_node, load_node, load_location, location)
361
380
  when 89 then
362
- MissingNode.new(location)
381
+ MatchRequiredNode.new(load_node, load_node, load_location, location)
363
382
  when 90 then
364
- ModuleNode.new(Array.new(load_varint) { load_constant }, load_location, load_node, load_optional_node, load_location, load_string, location)
383
+ MissingNode.new(location)
365
384
  when 91 then
366
- MultiWriteNode.new(Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_location, load_optional_location, location)
385
+ ModuleNode.new(Array.new(load_varint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
367
386
  when 92 then
368
- NextNode.new(load_optional_node, load_location, location)
387
+ MultiTargetNode.new(Array.new(load_varint) { load_node }, load_optional_location, load_optional_location, location)
369
388
  when 93 then
370
- NilNode.new(location)
389
+ MultiWriteNode.new(Array.new(load_varint) { load_node }, load_optional_location, load_optional_location, load_location, load_node, location)
371
390
  when 94 then
372
- NoKeywordsParameterNode.new(load_location, load_location, location)
391
+ NextNode.new(load_optional_node, load_location, location)
373
392
  when 95 then
374
- NumberedReferenceReadNode.new(load_varint, location)
393
+ NilNode.new(location)
375
394
  when 96 then
376
- OptionalParameterNode.new(load_constant, load_location, load_location, load_node, location)
395
+ NoKeywordsParameterNode.new(load_location, load_location, location)
377
396
  when 97 then
378
- OrNode.new(load_node, load_node, load_location, location)
397
+ NumberedReferenceReadNode.new(load_varint, location)
379
398
  when 98 then
380
- ParametersNode.new(Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_node, location)
399
+ OptionalParameterNode.new(load_required_constant, load_location, load_location, load_node, location)
381
400
  when 99 then
382
- ParenthesesNode.new(load_optional_node, load_location, load_location, location)
401
+ OrNode.new(load_node, load_node, load_location, location)
383
402
  when 100 then
384
- PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
403
+ ParametersNode.new(Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, Array.new(load_varint) { load_node }, load_optional_node, Array.new(load_varint) { load_node }, load_optional_node, load_optional_node, location)
385
404
  when 101 then
386
- PinnedVariableNode.new(load_node, load_location, location)
405
+ ParenthesesNode.new(load_optional_node, load_location, load_location, location)
387
406
  when 102 then
388
- PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
407
+ PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
389
408
  when 103 then
390
- PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
409
+ PinnedVariableNode.new(load_node, load_location, location)
391
410
  when 104 then
392
- ProgramNode.new(Array.new(load_varint) { load_constant }, load_node, location)
411
+ PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
393
412
  when 105 then
394
- RangeNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
413
+ PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
395
414
  when 106 then
396
- RationalNode.new(load_node, location)
415
+ ProgramNode.new(Array.new(load_varint) { load_required_constant }, load_node, location)
397
416
  when 107 then
398
- RedoNode.new(location)
417
+ RangeNode.new(load_optional_node, load_optional_node, load_location, load_varint, location)
399
418
  when 108 then
400
- RegularExpressionNode.new(load_location, load_location, load_location, load_string, load_varint, location)
419
+ RationalNode.new(load_node, location)
401
420
  when 109 then
402
- RequiredDestructuredParameterNode.new(Array.new(load_varint) { load_node }, load_location, load_location, location)
421
+ RedoNode.new(location)
403
422
  when 110 then
404
- RequiredParameterNode.new(load_constant, location)
423
+ RegularExpressionNode.new(load_location, load_location, load_location, load_string, load_varint, location)
405
424
  when 111 then
406
- RescueModifierNode.new(load_node, load_location, load_node, location)
425
+ RequiredDestructuredParameterNode.new(Array.new(load_varint) { load_node }, load_location, load_location, location)
407
426
  when 112 then
408
- RescueNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
427
+ RequiredParameterNode.new(load_required_constant, location)
409
428
  when 113 then
410
- RestParameterNode.new(load_location, load_optional_location, location)
429
+ RescueModifierNode.new(load_node, load_location, load_node, location)
411
430
  when 114 then
412
- RetryNode.new(location)
431
+ RescueNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
413
432
  when 115 then
414
- ReturnNode.new(load_location, load_optional_node, location)
433
+ RestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
415
434
  when 116 then
416
- SelfNode.new(location)
435
+ RetryNode.new(location)
417
436
  when 117 then
418
- SingletonClassNode.new(Array.new(load_varint) { load_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
437
+ ReturnNode.new(load_location, load_optional_node, location)
419
438
  when 118 then
420
- SourceEncodingNode.new(location)
439
+ SelfNode.new(location)
421
440
  when 119 then
422
- SourceFileNode.new(load_string, location)
441
+ SingletonClassNode.new(Array.new(load_varint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
423
442
  when 120 then
424
- SourceLineNode.new(location)
443
+ SourceEncodingNode.new(location)
425
444
  when 121 then
426
- SplatNode.new(load_location, load_optional_node, location)
445
+ SourceFileNode.new(load_string, location)
427
446
  when 122 then
428
- StatementsNode.new(Array.new(load_varint) { load_node }, location)
447
+ SourceLineNode.new(location)
429
448
  when 123 then
430
- StringConcatNode.new(load_node, load_node, location)
449
+ SplatNode.new(load_location, load_optional_node, location)
431
450
  when 124 then
432
- StringNode.new(load_optional_location, load_location, load_optional_location, load_string, location)
451
+ StatementsNode.new(Array.new(load_varint) { load_node }, location)
433
452
  when 125 then
434
- SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
453
+ StringConcatNode.new(load_node, load_node, location)
435
454
  when 126 then
436
- SymbolNode.new(load_optional_location, load_optional_location, load_optional_location, load_string, location)
455
+ StringNode.new(load_optional_location, load_location, load_optional_location, load_string, location)
437
456
  when 127 then
438
- TrueNode.new(location)
457
+ SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
439
458
  when 128 then
440
- UndefNode.new(Array.new(load_varint) { load_node }, load_location, location)
459
+ SymbolNode.new(load_optional_location, load_optional_location, load_optional_location, load_string, location)
441
460
  when 129 then
442
- UnlessNode.new(load_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
461
+ TrueNode.new(location)
443
462
  when 130 then
444
- UntilNode.new(load_location, load_optional_location, load_node, load_optional_node, load_varint, location)
463
+ UndefNode.new(Array.new(load_varint) { load_node }, load_location, location)
445
464
  when 131 then
446
- WhenNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_node, location)
465
+ UnlessNode.new(load_location, load_node, load_optional_node, load_optional_node, load_optional_location, location)
447
466
  when 132 then
448
- WhileNode.new(load_location, load_optional_location, load_node, load_optional_node, load_varint, location)
467
+ UntilNode.new(load_location, load_optional_location, load_node, load_optional_node, load_varint, location)
449
468
  when 133 then
450
- XStringNode.new(load_location, load_location, load_location, load_string, location)
469
+ WhenNode.new(load_location, Array.new(load_varint) { load_node }, load_optional_node, location)
451
470
  when 134 then
471
+ WhileNode.new(load_location, load_optional_location, load_node, load_optional_node, load_varint, location)
472
+ when 135 then
473
+ XStringNode.new(load_location, load_location, load_location, load_string, location)
474
+ when 136 then
452
475
  YieldNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, location)
453
476
  end
454
477
  end