prism 0.29.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +115 -1
  3. data/CONTRIBUTING.md +0 -4
  4. data/Makefile +1 -1
  5. data/README.md +4 -0
  6. data/config.yml +920 -148
  7. data/docs/build_system.md +8 -11
  8. data/docs/fuzzing.md +1 -1
  9. data/docs/parsing_rules.md +4 -1
  10. data/docs/relocation.md +34 -0
  11. data/docs/ripper_translation.md +22 -0
  12. data/docs/serialization.md +3 -0
  13. data/ext/prism/api_node.c +2863 -2079
  14. data/ext/prism/extconf.rb +14 -37
  15. data/ext/prism/extension.c +241 -391
  16. data/ext/prism/extension.h +2 -2
  17. data/include/prism/ast.h +2156 -453
  18. data/include/prism/defines.h +58 -7
  19. data/include/prism/diagnostic.h +24 -6
  20. data/include/prism/node.h +0 -21
  21. data/include/prism/options.h +94 -3
  22. data/include/prism/parser.h +82 -40
  23. data/include/prism/regexp.h +18 -8
  24. data/include/prism/static_literals.h +3 -2
  25. data/include/prism/util/pm_char.h +1 -2
  26. data/include/prism/util/pm_constant_pool.h +0 -8
  27. data/include/prism/util/pm_integer.h +22 -15
  28. data/include/prism/util/pm_newline_list.h +11 -0
  29. data/include/prism/util/pm_string.h +28 -12
  30. data/include/prism/version.h +3 -3
  31. data/include/prism.h +47 -11
  32. data/lib/prism/compiler.rb +3 -0
  33. data/lib/prism/desugar_compiler.rb +111 -74
  34. data/lib/prism/dispatcher.rb +16 -1
  35. data/lib/prism/dot_visitor.rb +55 -34
  36. data/lib/prism/dsl.rb +660 -468
  37. data/lib/prism/ffi.rb +113 -8
  38. data/lib/prism/inspect_visitor.rb +296 -64
  39. data/lib/prism/lex_compat.rb +1 -1
  40. data/lib/prism/mutation_compiler.rb +11 -6
  41. data/lib/prism/node.rb +4262 -5023
  42. data/lib/prism/node_ext.rb +91 -14
  43. data/lib/prism/parse_result/comments.rb +0 -7
  44. data/lib/prism/parse_result/errors.rb +65 -0
  45. data/lib/prism/parse_result/newlines.rb +101 -11
  46. data/lib/prism/parse_result.rb +183 -6
  47. data/lib/prism/reflection.rb +12 -10
  48. data/lib/prism/relocation.rb +504 -0
  49. data/lib/prism/serialize.rb +496 -609
  50. data/lib/prism/string_query.rb +30 -0
  51. data/lib/prism/translation/parser/compiler.rb +185 -155
  52. data/lib/prism/translation/parser/lexer.rb +26 -4
  53. data/lib/prism/translation/parser.rb +9 -4
  54. data/lib/prism/translation/ripper.rb +23 -25
  55. data/lib/prism/translation/ruby_parser.rb +86 -17
  56. data/lib/prism/visitor.rb +3 -0
  57. data/lib/prism.rb +6 -8
  58. data/prism.gemspec +9 -5
  59. data/rbi/prism/dsl.rbi +521 -0
  60. data/rbi/prism/node.rbi +1115 -1120
  61. data/rbi/prism/parse_result.rbi +29 -0
  62. data/rbi/prism/string_query.rbi +12 -0
  63. data/rbi/prism/visitor.rbi +3 -0
  64. data/rbi/prism.rbi +36 -30
  65. data/sig/prism/dsl.rbs +190 -303
  66. data/sig/prism/mutation_compiler.rbs +1 -0
  67. data/sig/prism/node.rbs +678 -632
  68. data/sig/prism/parse_result.rbs +22 -0
  69. data/sig/prism/relocation.rbs +185 -0
  70. data/sig/prism/string_query.rbs +11 -0
  71. data/sig/prism/visitor.rbs +1 -0
  72. data/sig/prism.rbs +103 -64
  73. data/src/diagnostic.c +64 -28
  74. data/src/node.c +502 -1739
  75. data/src/options.c +76 -27
  76. data/src/prettyprint.c +188 -112
  77. data/src/prism.c +3376 -2293
  78. data/src/regexp.c +208 -71
  79. data/src/serialize.c +182 -50
  80. data/src/static_literals.c +64 -85
  81. data/src/token_type.c +4 -4
  82. data/src/util/pm_char.c +1 -1
  83. data/src/util/pm_constant_pool.c +0 -8
  84. data/src/util/pm_integer.c +53 -25
  85. data/src/util/pm_newline_list.c +29 -0
  86. data/src/util/pm_string.c +131 -80
  87. data/src/util/pm_strpbrk.c +32 -6
  88. metadata +11 -7
  89. data/include/prism/util/pm_string_list.h +0 -44
  90. data/lib/prism/debug.rb +0 -249
  91. data/lib/prism/translation/parser/rubocop.rb +0 -73
  92. data/src/util/pm_string_list.c +0 -28
@@ -14,11 +14,11 @@ module Prism
14
14
  module Serialize
15
15
  # The major version of prism that we are expecting to find in the serialized
16
16
  # strings.
17
- MAJOR_VERSION = 0
17
+ MAJOR_VERSION = 1
18
18
 
19
19
  # The minor version of prism that we are expecting to find in the serialized
20
20
  # strings.
21
- MINOR_VERSION = 29
21
+ MINOR_VERSION = 3
22
22
 
23
23
  # The patch version of prism that we are expecting to find in the serialized
24
24
  # strings.
@@ -28,10 +28,21 @@ module Prism
28
28
  def self.load(input, serialized)
29
29
  input = input.dup
30
30
  source = Source.for(input)
31
+
31
32
  loader = Loader.new(source, serialized)
32
33
  result = loader.load_result
33
34
 
34
35
  input.force_encoding(loader.encoding)
36
+
37
+ # This is an extremely niche use-case where the file was marked as binary
38
+ # but it contained UTF-8-encoded characters. In that case we will actually
39
+ # put it back to UTF-8 to give the location APIs the best chance of being
40
+ # correct.
41
+ if !input.ascii_only? && input.encoding == Encoding::BINARY
42
+ input.force_encoding(Encoding::UTF_8)
43
+ input.force_encoding(Encoding::BINARY) unless input.valid_encoding?
44
+ end
45
+
35
46
  result
36
47
  end
37
48
 
@@ -141,7 +152,6 @@ module Prism
141
152
  :argument_formal_global,
142
153
  :argument_formal_ivar,
143
154
  :argument_forwarding_unbound,
144
- :argument_in,
145
155
  :argument_no_forwarding_ampersand,
146
156
  :argument_no_forwarding_ellipses,
147
157
  :argument_no_forwarding_star,
@@ -207,8 +217,10 @@ module Prism
207
217
  :escape_invalid_meta_repeat,
208
218
  :escape_invalid_unicode,
209
219
  :escape_invalid_unicode_cm_flags,
220
+ :escape_invalid_unicode_list,
210
221
  :escape_invalid_unicode_literal,
211
222
  :escape_invalid_unicode_long,
223
+ :escape_invalid_unicode_short,
212
224
  :escape_invalid_unicode_term,
213
225
  :expect_argument,
214
226
  :expect_eol_after_statement,
@@ -223,6 +235,7 @@ module Prism
223
235
  :expect_expression_after_splat,
224
236
  :expect_expression_after_splat_hash,
225
237
  :expect_expression_after_star,
238
+ :expect_for_delimiter,
226
239
  :expect_ident_req_parameter,
227
240
  :expect_in_delimiter,
228
241
  :expect_lparen_req_parameter,
@@ -231,6 +244,7 @@ module Prism
231
244
  :expect_rparen,
232
245
  :expect_rparen_after_multi,
233
246
  :expect_rparen_req_parameter,
247
+ :expect_singleton_class_delimiter,
234
248
  :expect_string_content,
235
249
  :expect_when_delimiter,
236
250
  :expression_bare_hash,
@@ -240,6 +254,7 @@ module Prism
240
254
  :expression_not_writable_file,
241
255
  :expression_not_writable_line,
242
256
  :expression_not_writable_nil,
257
+ :expression_not_writable_numbered,
243
258
  :expression_not_writable_self,
244
259
  :expression_not_writable_true,
245
260
  :float_parse,
@@ -263,6 +278,7 @@ module Prism
263
278
  :instance_variable_bare,
264
279
  :invalid_block_exit,
265
280
  :invalid_character,
281
+ :invalid_comma,
266
282
  :invalid_encoding_magic_comment,
267
283
  :invalid_escape_character,
268
284
  :invalid_float_exponent,
@@ -279,6 +295,7 @@ module Prism
279
295
  :invalid_number_underscore_inner,
280
296
  :invalid_number_underscore_trailing,
281
297
  :invalid_percent,
298
+ :invalid_percent_eof,
282
299
  :invalid_printable_character,
283
300
  :invalid_retry_after_else,
284
301
  :invalid_retry_after_ensure,
@@ -307,12 +324,15 @@ module Prism
307
324
  :module_term,
308
325
  :multi_assign_multi_splats,
309
326
  :multi_assign_unexpected_rest,
327
+ :nesting_too_deep,
310
328
  :no_local_variable,
329
+ :non_associative_operator,
311
330
  :not_expression,
312
331
  :number_literal_underscore,
332
+ :numbered_parameter_inner_block,
313
333
  :numbered_parameter_it,
314
334
  :numbered_parameter_ordinary,
315
- :numbered_parameter_outer_scope,
335
+ :numbered_parameter_outer_block,
316
336
  :operator_multi_assign,
317
337
  :operator_write_arguments,
318
338
  :operator_write_block,
@@ -329,8 +349,9 @@ module Prism
329
349
  :parameter_splat_multi,
330
350
  :parameter_star,
331
351
  :parameter_unexpected_fwd,
332
- :parameter_wild_loose_comma,
333
352
  :parameter_unexpected_no_kw,
353
+ :parameter_wild_loose_comma,
354
+ :pattern_array_multiple_rests,
334
355
  :pattern_capture_duplicate,
335
356
  :pattern_expression_after_bracket,
336
357
  :pattern_expression_after_comma,
@@ -342,6 +363,7 @@ module Prism
342
363
  :pattern_expression_after_pipe,
343
364
  :pattern_expression_after_range,
344
365
  :pattern_expression_after_rest,
366
+ :pattern_find_missing_inner,
345
367
  :pattern_hash_implicit,
346
368
  :pattern_hash_key,
347
369
  :pattern_hash_key_duplicate,
@@ -359,6 +381,7 @@ module Prism
359
381
  :regexp_incompat_char_encoding,
360
382
  :regexp_invalid_unicode_range,
361
383
  :regexp_non_escaped_mbc,
384
+ :regexp_parse_error,
362
385
  :regexp_term,
363
386
  :regexp_unknown_options,
364
387
  :regexp_utf8_char_non_utf8_regexp,
@@ -383,11 +406,15 @@ module Prism
383
406
  :ternary_colon,
384
407
  :ternary_expression_false,
385
408
  :ternary_expression_true,
409
+ :unary_disallowed,
386
410
  :unary_receiver,
387
411
  :undef_argument,
388
412
  :unexpected_block_argument,
389
413
  :unexpected_index_block,
390
414
  :unexpected_index_keywords,
415
+ :unexpected_label,
416
+ :unexpected_multi_write,
417
+ :unexpected_range_operator,
391
418
  :unexpected_safe_navigation,
392
419
  :unexpected_token_close_context,
393
420
  :unexpected_token_ignore,
@@ -398,6 +425,7 @@ module Prism
398
425
  :write_target_readonly,
399
426
  :write_target_unexpected,
400
427
  :xstring_term,
428
+ :ambiguous_binary_operator,
401
429
  :ambiguous_first_argument_minus,
402
430
  :ambiguous_first_argument_plus,
403
431
  :ambiguous_prefix_ampersand,
@@ -413,10 +441,11 @@ module Prism
413
441
  :duplicated_when_clause,
414
442
  :float_out_of_range,
415
443
  :ignored_frozen_string_literal,
444
+ :indentation_mismatch,
416
445
  :integer_in_flip_flop,
417
446
  :invalid_character,
447
+ :invalid_magic_comment_value,
418
448
  :invalid_numbered_reference,
419
- :invalid_shareable_constant_value,
420
449
  :keyword_eol,
421
450
  :literal_in_condition_default,
422
451
  :literal_in_condition_verbose,
@@ -434,8 +463,8 @@ module Prism
434
463
  comments = load_comments
435
464
  magic_comments = Array.new(load_varuint) { MagicComment.new(load_location_object, load_location_object) }
436
465
  data_loc = load_optional_location_object
437
- errors = Array.new(load_varuint) { ParseError.new(DIAGNOSTIC_TYPES[load_varuint], load_embedded_string, load_location_object, load_error_level) }
438
- warnings = Array.new(load_varuint) { ParseWarning.new(DIAGNOSTIC_TYPES[load_varuint], load_embedded_string, load_location_object, load_warning_level) }
466
+ errors = Array.new(load_varuint) { ParseError.new(DIAGNOSTIC_TYPES.fetch(load_varuint), load_embedded_string, load_location_object, load_error_level) }
467
+ warnings = Array.new(load_varuint) { ParseWarning.new(DIAGNOSTIC_TYPES.fetch(load_varuint), load_embedded_string, load_location_object, load_warning_level) }
439
468
  [comments, magic_comments, data_loc, errors, warnings]
440
469
  end
441
470
 
@@ -622,463 +651,316 @@ module Prism
622
651
  end
623
652
  end
624
653
 
625
- if RUBY_ENGINE == 'ruby'
654
+ if RUBY_ENGINE == "ruby"
626
655
  def load_node
627
656
  type = io.getbyte
657
+ node_id = load_varuint
628
658
  location = load_location
629
659
 
630
660
  case type
631
661
  when 1 then
632
- AliasGlobalVariableNode.new(
633
- source, load_node, load_node, load_location, location)
662
+ AliasGlobalVariableNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
634
663
  when 2 then
635
- AliasMethodNode.new(
636
- source, load_node, load_node, load_location, location)
664
+ AliasMethodNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
637
665
  when 3 then
638
- AlternationPatternNode.new(
639
- source, load_node, load_node, load_location, location)
666
+ AlternationPatternNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
640
667
  when 4 then
641
- AndNode.new(
642
- source, load_node, load_node, load_location, location)
668
+ AndNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
643
669
  when 5 then
644
- ArgumentsNode.new(
645
- source, load_varuint, Array.new(load_varuint) { load_node }, location)
670
+ ArgumentsNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node })
646
671
  when 6 then
647
- ArrayNode.new(
648
- source, load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
672
+ ArrayNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
649
673
  when 7 then
650
- ArrayPatternNode.new(
651
- source, 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)
674
+ ArrayPatternNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
652
675
  when 8 then
653
- AssocNode.new(
654
- source, load_node, load_node, load_optional_location, location)
676
+ AssocNode.new(source, node_id, location, load_varuint, load_node, load_node, load_optional_location)
655
677
  when 9 then
656
- AssocSplatNode.new(
657
- source, load_optional_node, load_location, location)
678
+ AssocSplatNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
658
679
  when 10 then
659
- BackReferenceReadNode.new(
660
- source, load_required_constant, location)
680
+ BackReferenceReadNode.new(source, node_id, location, load_varuint, load_required_constant)
661
681
  when 11 then
662
- BeginNode.new(
663
- source, load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location, location)
682
+ BeginNode.new(source, node_id, location, load_varuint, load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location)
664
683
  when 12 then
665
- BlockArgumentNode.new(
666
- source, load_optional_node, load_location, location)
684
+ BlockArgumentNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
667
685
  when 13 then
668
- BlockLocalVariableNode.new(
669
- source, load_varuint, load_required_constant, location)
686
+ BlockLocalVariableNode.new(source, node_id, location, load_varuint, load_required_constant)
670
687
  when 14 then
671
- BlockNode.new(
672
- source, Array.new(load_varuint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location, location)
688
+ BlockNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location)
673
689
  when 15 then
674
- BlockParameterNode.new(
675
- source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
690
+ BlockParameterNode.new(source, node_id, location, load_varuint, load_optional_constant, load_optional_location, load_location)
676
691
  when 16 then
677
- BlockParametersNode.new(
678
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
692
+ BlockParametersNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
679
693
  when 17 then
680
- BreakNode.new(
681
- source, load_optional_node, load_location, location)
694
+ BreakNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
682
695
  when 18 then
683
- CallAndWriteNode.new(
684
- source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
696
+ CallAndWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node)
685
697
  when 19 then
686
- CallNode.new(
687
- source, 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)
698
+ CallNode.new(source, node_id, location, 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)
688
699
  when 20 then
689
- CallOperatorWriteNode.new(
690
- source, 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)
700
+ CallOperatorWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_required_constant, load_location, load_node)
691
701
  when 21 then
692
- CallOrWriteNode.new(
693
- source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
702
+ CallOrWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node)
694
703
  when 22 then
695
- CallTargetNode.new(
696
- source, load_varuint, load_node, load_location, load_required_constant, load_location, location)
704
+ CallTargetNode.new(source, node_id, location, load_varuint, load_node, load_location, load_required_constant, load_location)
697
705
  when 23 then
698
- CapturePatternNode.new(
699
- source, load_node, load_node, load_location, location)
706
+ CapturePatternNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
700
707
  when 24 then
701
- CaseMatchNode.new(
702
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
708
+ CaseMatchNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location)
703
709
  when 25 then
704
- CaseNode.new(
705
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
710
+ CaseNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location)
706
711
  when 26 then
707
- ClassNode.new(
708
- source, 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)
712
+ ClassNode.new(source, node_id, location, load_varuint, 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)
709
713
  when 27 then
710
- ClassVariableAndWriteNode.new(
711
- source, load_required_constant, load_location, load_location, load_node, location)
714
+ ClassVariableAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
712
715
  when 28 then
713
- ClassVariableOperatorWriteNode.new(
714
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
716
+ ClassVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
715
717
  when 29 then
716
- ClassVariableOrWriteNode.new(
717
- source, load_required_constant, load_location, load_location, load_node, location)
718
+ ClassVariableOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
718
719
  when 30 then
719
- ClassVariableReadNode.new(
720
- source, load_required_constant, location)
720
+ ClassVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant)
721
721
  when 31 then
722
- ClassVariableTargetNode.new(
723
- source, load_required_constant, location)
722
+ ClassVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
724
723
  when 32 then
725
- ClassVariableWriteNode.new(
726
- source, load_required_constant, load_location, load_node, load_location, location)
724
+ ClassVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
727
725
  when 33 then
728
- ConstantAndWriteNode.new(
729
- source, load_required_constant, load_location, load_location, load_node, location)
726
+ ConstantAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
730
727
  when 34 then
731
- ConstantOperatorWriteNode.new(
732
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
728
+ ConstantOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
733
729
  when 35 then
734
- ConstantOrWriteNode.new(
735
- source, load_required_constant, load_location, load_location, load_node, location)
730
+ ConstantOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
736
731
  when 36 then
737
- ConstantPathAndWriteNode.new(
738
- source, load_node, load_location, load_node, location)
732
+ ConstantPathAndWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
739
733
  when 37 then
740
- ConstantPathNode.new(
741
- source, load_optional_node, load_optional_constant, load_location, load_location, location)
734
+ ConstantPathNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_constant, load_location, load_location)
742
735
  when 38 then
743
- ConstantPathOperatorWriteNode.new(
744
- source, load_node, load_location, load_node, load_required_constant, location)
736
+ ConstantPathOperatorWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node, load_required_constant)
745
737
  when 39 then
746
- ConstantPathOrWriteNode.new(
747
- source, load_node, load_location, load_node, location)
738
+ ConstantPathOrWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
748
739
  when 40 then
749
- ConstantPathTargetNode.new(
750
- source, load_optional_node, load_optional_constant, load_location, load_location, location)
740
+ ConstantPathTargetNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_constant, load_location, load_location)
751
741
  when 41 then
752
- ConstantPathWriteNode.new(
753
- source, load_node, load_location, load_node, location)
742
+ ConstantPathWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
754
743
  when 42 then
755
- ConstantReadNode.new(
756
- source, load_required_constant, location)
744
+ ConstantReadNode.new(source, node_id, location, load_varuint, load_required_constant)
757
745
  when 43 then
758
- ConstantTargetNode.new(
759
- source, load_required_constant, location)
746
+ ConstantTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
760
747
  when 44 then
761
- ConstantWriteNode.new(
762
- source, load_required_constant, load_location, load_node, load_location, location)
748
+ ConstantWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
763
749
  when 45 then
764
750
  load_uint32
765
- DefNode.new(
766
- source, load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
751
+ DefNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location)
767
752
  when 46 then
768
- DefinedNode.new(
769
- source, load_optional_location, load_node, load_optional_location, load_location, location)
753
+ DefinedNode.new(source, node_id, location, load_varuint, load_optional_location, load_node, load_optional_location, load_location)
770
754
  when 47 then
771
- ElseNode.new(
772
- source, load_location, load_optional_node, load_optional_location, location)
755
+ ElseNode.new(source, node_id, location, load_varuint, load_location, load_optional_node, load_optional_location)
773
756
  when 48 then
774
- EmbeddedStatementsNode.new(
775
- source, load_location, load_optional_node, load_location, location)
757
+ EmbeddedStatementsNode.new(source, node_id, location, load_varuint, load_location, load_optional_node, load_location)
776
758
  when 49 then
777
- EmbeddedVariableNode.new(
778
- source, load_location, load_node, location)
759
+ EmbeddedVariableNode.new(source, node_id, location, load_varuint, load_location, load_node)
779
760
  when 50 then
780
- EnsureNode.new(
781
- source, load_location, load_optional_node, load_location, location)
761
+ EnsureNode.new(source, node_id, location, load_varuint, load_location, load_optional_node, load_location)
782
762
  when 51 then
783
- FalseNode.new(
784
- source, location)
763
+ FalseNode.new(source, node_id, location, load_varuint)
785
764
  when 52 then
786
- FindPatternNode.new(
787
- source, load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
765
+ FindPatternNode.new(source, node_id, location, load_varuint, load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location)
788
766
  when 53 then
789
- FlipFlopNode.new(
790
- source, load_varuint, load_optional_node, load_optional_node, load_location, location)
767
+ FlipFlopNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_node, load_location)
791
768
  when 54 then
792
- FloatNode.new(
793
- source, load_double, location)
769
+ FloatNode.new(source, node_id, location, load_varuint, load_double)
794
770
  when 55 then
795
- ForNode.new(
796
- source, load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
771
+ ForNode.new(source, node_id, location, load_varuint, load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location)
797
772
  when 56 then
798
- ForwardingArgumentsNode.new(
799
- source, location)
773
+ ForwardingArgumentsNode.new(source, node_id, location, load_varuint)
800
774
  when 57 then
801
- ForwardingParameterNode.new(
802
- source, location)
775
+ ForwardingParameterNode.new(source, node_id, location, load_varuint)
803
776
  when 58 then
804
- ForwardingSuperNode.new(
805
- source, load_optional_node, location)
777
+ ForwardingSuperNode.new(source, node_id, location, load_varuint, load_optional_node)
806
778
  when 59 then
807
- GlobalVariableAndWriteNode.new(
808
- source, load_required_constant, load_location, load_location, load_node, location)
779
+ GlobalVariableAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
809
780
  when 60 then
810
- GlobalVariableOperatorWriteNode.new(
811
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
781
+ GlobalVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
812
782
  when 61 then
813
- GlobalVariableOrWriteNode.new(
814
- source, load_required_constant, load_location, load_location, load_node, location)
783
+ GlobalVariableOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
815
784
  when 62 then
816
- GlobalVariableReadNode.new(
817
- source, load_required_constant, location)
785
+ GlobalVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant)
818
786
  when 63 then
819
- GlobalVariableTargetNode.new(
820
- source, load_required_constant, location)
787
+ GlobalVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
821
788
  when 64 then
822
- GlobalVariableWriteNode.new(
823
- source, load_required_constant, load_location, load_node, load_location, location)
789
+ GlobalVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
824
790
  when 65 then
825
- HashNode.new(
826
- source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
791
+ HashNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
827
792
  when 66 then
828
- HashPatternNode.new(
829
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
793
+ HashPatternNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location)
830
794
  when 67 then
831
- IfNode.new(
832
- source, load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
795
+ IfNode.new(source, node_id, location, load_varuint, load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location)
833
796
  when 68 then
834
- ImaginaryNode.new(
835
- source, load_node, location)
797
+ ImaginaryNode.new(source, node_id, location, load_varuint, load_node)
836
798
  when 69 then
837
- ImplicitNode.new(
838
- source, load_node, location)
799
+ ImplicitNode.new(source, node_id, location, load_varuint, load_node)
839
800
  when 70 then
840
- ImplicitRestNode.new(
841
- source, location)
801
+ ImplicitRestNode.new(source, node_id, location, load_varuint)
842
802
  when 71 then
843
- InNode.new(
844
- source, load_node, load_optional_node, load_location, load_optional_location, location)
803
+ InNode.new(source, node_id, location, load_varuint, load_node, load_optional_node, load_location, load_optional_location)
845
804
  when 72 then
846
- IndexAndWriteNode.new(
847
- source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
805
+ IndexAndWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node)
848
806
  when 73 then
849
- IndexOperatorWriteNode.new(
850
- source, 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)
807
+ IndexOperatorWriteNode.new(source, node_id, location, 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)
851
808
  when 74 then
852
- IndexOrWriteNode.new(
853
- source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
809
+ IndexOrWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node)
854
810
  when 75 then
855
- IndexTargetNode.new(
856
- source, load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
811
+ IndexTargetNode.new(source, node_id, location, load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node)
857
812
  when 76 then
858
- InstanceVariableAndWriteNode.new(
859
- source, load_required_constant, load_location, load_location, load_node, location)
813
+ InstanceVariableAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
860
814
  when 77 then
861
- InstanceVariableOperatorWriteNode.new(
862
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
815
+ InstanceVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
863
816
  when 78 then
864
- InstanceVariableOrWriteNode.new(
865
- source, load_required_constant, load_location, load_location, load_node, location)
817
+ InstanceVariableOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
866
818
  when 79 then
867
- InstanceVariableReadNode.new(
868
- source, load_required_constant, location)
819
+ InstanceVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant)
869
820
  when 80 then
870
- InstanceVariableTargetNode.new(
871
- source, load_required_constant, location)
821
+ InstanceVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
872
822
  when 81 then
873
- InstanceVariableWriteNode.new(
874
- source, load_required_constant, load_location, load_node, load_location, location)
823
+ InstanceVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
875
824
  when 82 then
876
- IntegerNode.new(
877
- source, load_varuint, load_integer, location)
825
+ IntegerNode.new(source, node_id, location, load_varuint, load_integer)
878
826
  when 83 then
879
- InterpolatedMatchLastLineNode.new(
880
- source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
827
+ InterpolatedMatchLastLineNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
881
828
  when 84 then
882
- InterpolatedRegularExpressionNode.new(
883
- source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
829
+ InterpolatedRegularExpressionNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
884
830
  when 85 then
885
- InterpolatedStringNode.new(
886
- source, load_varuint, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
831
+ InterpolatedStringNode.new(source, node_id, location, load_varuint, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location)
887
832
  when 86 then
888
- InterpolatedSymbolNode.new(
889
- source, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
833
+ InterpolatedSymbolNode.new(source, node_id, location, load_varuint, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location)
890
834
  when 87 then
891
- InterpolatedXStringNode.new(
892
- source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
835
+ InterpolatedXStringNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
893
836
  when 88 then
894
- ItParametersNode.new(
895
- source, location)
837
+ ItLocalVariableReadNode.new(source, node_id, location, load_varuint)
896
838
  when 89 then
897
- KeywordHashNode.new(
898
- source, load_varuint, Array.new(load_varuint) { load_node }, location)
839
+ ItParametersNode.new(source, node_id, location, load_varuint)
899
840
  when 90 then
900
- KeywordRestParameterNode.new(
901
- source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
841
+ KeywordHashNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node })
902
842
  when 91 then
903
- LambdaNode.new(
904
- source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
843
+ KeywordRestParameterNode.new(source, node_id, location, load_varuint, load_optional_constant, load_optional_location, load_location)
905
844
  when 92 then
906
- LocalVariableAndWriteNode.new(
907
- source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
845
+ LambdaNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node)
908
846
  when 93 then
909
- LocalVariableOperatorWriteNode.new(
910
- source, load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
847
+ LocalVariableAndWriteNode.new(source, node_id, location, load_varuint, load_location, load_location, load_node, load_required_constant, load_varuint)
911
848
  when 94 then
912
- LocalVariableOrWriteNode.new(
913
- source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
849
+ LocalVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint)
914
850
  when 95 then
915
- LocalVariableReadNode.new(
916
- source, load_required_constant, load_varuint, location)
851
+ LocalVariableOrWriteNode.new(source, node_id, location, load_varuint, load_location, load_location, load_node, load_required_constant, load_varuint)
917
852
  when 96 then
918
- LocalVariableTargetNode.new(
919
- source, load_required_constant, load_varuint, location)
853
+ LocalVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant, load_varuint)
920
854
  when 97 then
921
- LocalVariableWriteNode.new(
922
- source, load_required_constant, load_varuint, load_location, load_node, load_location, location)
855
+ LocalVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant, load_varuint)
923
856
  when 98 then
924
- MatchLastLineNode.new(
925
- source, load_varuint, load_location, load_location, load_location, load_string, location)
857
+ LocalVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_varuint, load_location, load_node, load_location)
926
858
  when 99 then
927
- MatchPredicateNode.new(
928
- source, load_node, load_node, load_location, location)
859
+ MatchLastLineNode.new(source, node_id, location, load_varuint, load_location, load_location, load_location, load_string)
929
860
  when 100 then
930
- MatchRequiredNode.new(
931
- source, load_node, load_node, load_location, location)
861
+ MatchPredicateNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
932
862
  when 101 then
933
- MatchWriteNode.new(
934
- source, load_node, Array.new(load_varuint) { load_node }, location)
863
+ MatchRequiredNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
935
864
  when 102 then
936
- MissingNode.new(
937
- source, location)
865
+ MatchWriteNode.new(source, node_id, location, load_varuint, load_node, Array.new(load_varuint) { load_node })
938
866
  when 103 then
939
- ModuleNode.new(
940
- source, Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
867
+ MissingNode.new(source, node_id, location, load_varuint)
941
868
  when 104 then
942
- MultiTargetNode.new(
943
- source, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
869
+ ModuleNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant)
944
870
  when 105 then
945
- MultiWriteNode.new(
946
- source, 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)
871
+ MultiTargetNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
947
872
  when 106 then
948
- NextNode.new(
949
- source, load_optional_node, load_location, location)
873
+ MultiWriteNode.new(source, node_id, location, load_varuint, 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)
950
874
  when 107 then
951
- NilNode.new(
952
- source, location)
875
+ NextNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
953
876
  when 108 then
954
- NoKeywordsParameterNode.new(
955
- source, load_location, load_location, location)
877
+ NilNode.new(source, node_id, location, load_varuint)
956
878
  when 109 then
957
- NumberedParametersNode.new(
958
- source, io.getbyte, location)
879
+ NoKeywordsParameterNode.new(source, node_id, location, load_varuint, load_location, load_location)
959
880
  when 110 then
960
- NumberedReferenceReadNode.new(
961
- source, load_varuint, location)
881
+ NumberedParametersNode.new(source, node_id, location, load_varuint, io.getbyte)
962
882
  when 111 then
963
- OptionalKeywordParameterNode.new(
964
- source, load_varuint, load_required_constant, load_location, load_node, location)
883
+ NumberedReferenceReadNode.new(source, node_id, location, load_varuint, load_varuint)
965
884
  when 112 then
966
- OptionalParameterNode.new(
967
- source, load_varuint, load_required_constant, load_location, load_location, load_node, location)
885
+ OptionalKeywordParameterNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node)
968
886
  when 113 then
969
- OrNode.new(
970
- source, load_node, load_node, load_location, location)
887
+ OptionalParameterNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
971
888
  when 114 then
972
- ParametersNode.new(
973
- source, 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)
889
+ OrNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
974
890
  when 115 then
975
- ParenthesesNode.new(
976
- source, load_optional_node, load_location, load_location, location)
891
+ ParametersNode.new(source, node_id, location, load_varuint, 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)
977
892
  when 116 then
978
- PinnedExpressionNode.new(
979
- source, load_node, load_location, load_location, load_location, location)
893
+ ParenthesesNode.new(source, node_id, location, load_varuint, load_optional_node, load_location, load_location)
980
894
  when 117 then
981
- PinnedVariableNode.new(
982
- source, load_node, load_location, location)
895
+ PinnedExpressionNode.new(source, node_id, location, load_varuint, load_node, load_location, load_location, load_location)
983
896
  when 118 then
984
- PostExecutionNode.new(
985
- source, load_optional_node, load_location, load_location, load_location, location)
897
+ PinnedVariableNode.new(source, node_id, location, load_varuint, load_node, load_location)
986
898
  when 119 then
987
- PreExecutionNode.new(
988
- source, load_optional_node, load_location, load_location, load_location, location)
899
+ PostExecutionNode.new(source, node_id, location, load_varuint, load_optional_node, load_location, load_location, load_location)
989
900
  when 120 then
990
- ProgramNode.new(
991
- source, Array.new(load_varuint) { load_required_constant }, load_node, location)
901
+ PreExecutionNode.new(source, node_id, location, load_varuint, load_optional_node, load_location, load_location, load_location)
992
902
  when 121 then
993
- RangeNode.new(
994
- source, load_varuint, load_optional_node, load_optional_node, load_location, location)
903
+ ProgramNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_node)
995
904
  when 122 then
996
- RationalNode.new(
997
- source, load_node, location)
905
+ RangeNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_node, load_location)
998
906
  when 123 then
999
- RedoNode.new(
1000
- source, location)
907
+ RationalNode.new(source, node_id, location, load_varuint, load_integer, load_integer)
1001
908
  when 124 then
1002
- RegularExpressionNode.new(
1003
- source, load_varuint, load_location, load_location, load_location, load_string, location)
909
+ RedoNode.new(source, node_id, location, load_varuint)
1004
910
  when 125 then
1005
- RequiredKeywordParameterNode.new(
1006
- source, load_varuint, load_required_constant, load_location, location)
911
+ RegularExpressionNode.new(source, node_id, location, load_varuint, load_location, load_location, load_location, load_string)
1007
912
  when 126 then
1008
- RequiredParameterNode.new(
1009
- source, load_varuint, load_required_constant, location)
913
+ RequiredKeywordParameterNode.new(source, node_id, location, load_varuint, load_required_constant, load_location)
1010
914
  when 127 then
1011
- RescueModifierNode.new(
1012
- source, load_node, load_location, load_node, location)
915
+ RequiredParameterNode.new(source, node_id, location, load_varuint, load_required_constant)
1013
916
  when 128 then
1014
- RescueNode.new(
1015
- source, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
917
+ RescueModifierNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
1016
918
  when 129 then
1017
- RestParameterNode.new(
1018
- source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
919
+ RescueNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node)
1019
920
  when 130 then
1020
- RetryNode.new(
1021
- source, location)
921
+ RestParameterNode.new(source, node_id, location, load_varuint, load_optional_constant, load_optional_location, load_location)
1022
922
  when 131 then
1023
- ReturnNode.new(
1024
- source, load_varuint, load_location, load_optional_node, location)
923
+ RetryNode.new(source, node_id, location, load_varuint)
1025
924
  when 132 then
1026
- SelfNode.new(
1027
- source, location)
925
+ ReturnNode.new(source, node_id, location, load_varuint, load_location, load_optional_node)
1028
926
  when 133 then
1029
- ShareableConstantNode.new(
1030
- source, load_varuint, load_node, location)
927
+ SelfNode.new(source, node_id, location, load_varuint)
1031
928
  when 134 then
1032
- SingletonClassNode.new(
1033
- source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
929
+ ShareableConstantNode.new(source, node_id, location, load_varuint, load_node)
1034
930
  when 135 then
1035
- SourceEncodingNode.new(
1036
- source, location)
931
+ SingletonClassNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location)
1037
932
  when 136 then
1038
- SourceFileNode.new(
1039
- source, load_varuint, load_string, location)
933
+ SourceEncodingNode.new(source, node_id, location, load_varuint)
1040
934
  when 137 then
1041
- SourceLineNode.new(
1042
- source, location)
935
+ SourceFileNode.new(source, node_id, location, load_varuint, load_string)
1043
936
  when 138 then
1044
- SplatNode.new(
1045
- source, load_location, load_optional_node, location)
937
+ SourceLineNode.new(source, node_id, location, load_varuint)
1046
938
  when 139 then
1047
- StatementsNode.new(
1048
- source, Array.new(load_varuint) { load_node }, location)
939
+ SplatNode.new(source, node_id, location, load_varuint, load_location, load_optional_node)
1049
940
  when 140 then
1050
- StringNode.new(
1051
- source, load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
941
+ StatementsNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node })
1052
942
  when 141 then
1053
- SuperNode.new(
1054
- source, load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
943
+ StringNode.new(source, node_id, location, load_varuint, load_optional_location, load_location, load_optional_location, load_string)
1055
944
  when 142 then
1056
- SymbolNode.new(
1057
- source, load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
945
+ SuperNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node)
1058
946
  when 143 then
1059
- TrueNode.new(
1060
- source, location)
947
+ SymbolNode.new(source, node_id, location, load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string)
1061
948
  when 144 then
1062
- UndefNode.new(
1063
- source, Array.new(load_varuint) { load_node }, load_location, location)
949
+ TrueNode.new(source, node_id, location, load_varuint)
1064
950
  when 145 then
1065
- UnlessNode.new(
1066
- source, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
951
+ UndefNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node }, load_location)
1067
952
  when 146 then
1068
- UntilNode.new(
1069
- source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
953
+ UnlessNode.new(source, node_id, location, load_varuint, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location)
1070
954
  when 147 then
1071
- WhenNode.new(
1072
- source, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, location)
955
+ UntilNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_location, load_node, load_optional_node)
1073
956
  when 148 then
1074
- WhileNode.new(
1075
- source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
957
+ WhenNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node)
1076
958
  when 149 then
1077
- XStringNode.new(
1078
- source, load_varuint, load_location, load_location, load_location, load_string, location)
959
+ WhileNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_location, load_node, load_optional_node)
1079
960
  when 150 then
1080
- YieldNode.new(
1081
- source, load_location, load_optional_location, load_optional_node, load_optional_location, location)
961
+ XStringNode.new(source, node_id, location, load_varuint, load_location, load_location, load_location, load_string)
962
+ when 151 then
963
+ YieldNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_node, load_optional_location)
1082
964
  end
1083
965
  end
1084
966
  else
@@ -1091,755 +973,760 @@ module Prism
1091
973
  @load_node_lambdas = [
1092
974
  nil,
1093
975
  -> {
976
+ node_id = load_varuint
1094
977
  location = load_location
1095
- AliasGlobalVariableNode.new(
1096
- source, load_node, load_node, load_location, location)
978
+ AliasGlobalVariableNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1097
979
  },
1098
980
  -> {
981
+ node_id = load_varuint
1099
982
  location = load_location
1100
- AliasMethodNode.new(
1101
- source, load_node, load_node, load_location, location)
983
+ AliasMethodNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1102
984
  },
1103
985
  -> {
986
+ node_id = load_varuint
1104
987
  location = load_location
1105
- AlternationPatternNode.new(
1106
- source, load_node, load_node, load_location, location)
988
+ AlternationPatternNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1107
989
  },
1108
990
  -> {
991
+ node_id = load_varuint
1109
992
  location = load_location
1110
- AndNode.new(
1111
- source, load_node, load_node, load_location, location)
993
+ AndNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1112
994
  },
1113
995
  -> {
996
+ node_id = load_varuint
1114
997
  location = load_location
1115
- ArgumentsNode.new(
1116
- source, load_varuint, Array.new(load_varuint) { load_node }, location)
998
+ ArgumentsNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node })
1117
999
  },
1118
1000
  -> {
1001
+ node_id = load_varuint
1119
1002
  location = load_location
1120
- ArrayNode.new(
1121
- source, load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
1003
+ ArrayNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
1122
1004
  },
1123
1005
  -> {
1006
+ node_id = load_varuint
1124
1007
  location = load_location
1125
- ArrayPatternNode.new(
1126
- source, 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)
1008
+ ArrayPatternNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
1127
1009
  },
1128
1010
  -> {
1011
+ node_id = load_varuint
1129
1012
  location = load_location
1130
- AssocNode.new(
1131
- source, load_node, load_node, load_optional_location, location)
1013
+ AssocNode.new(source, node_id, location, load_varuint, load_node, load_node, load_optional_location)
1132
1014
  },
1133
1015
  -> {
1016
+ node_id = load_varuint
1134
1017
  location = load_location
1135
- AssocSplatNode.new(
1136
- source, load_optional_node, load_location, location)
1018
+ AssocSplatNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
1137
1019
  },
1138
1020
  -> {
1021
+ node_id = load_varuint
1139
1022
  location = load_location
1140
- BackReferenceReadNode.new(
1141
- source, load_required_constant, location)
1023
+ BackReferenceReadNode.new(source, node_id, location, load_varuint, load_required_constant)
1142
1024
  },
1143
1025
  -> {
1026
+ node_id = load_varuint
1144
1027
  location = load_location
1145
- BeginNode.new(
1146
- source, load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location, location)
1028
+ BeginNode.new(source, node_id, location, load_varuint, load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location)
1147
1029
  },
1148
1030
  -> {
1031
+ node_id = load_varuint
1149
1032
  location = load_location
1150
- BlockArgumentNode.new(
1151
- source, load_optional_node, load_location, location)
1033
+ BlockArgumentNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
1152
1034
  },
1153
1035
  -> {
1036
+ node_id = load_varuint
1154
1037
  location = load_location
1155
- BlockLocalVariableNode.new(
1156
- source, load_varuint, load_required_constant, location)
1038
+ BlockLocalVariableNode.new(source, node_id, location, load_varuint, load_required_constant)
1157
1039
  },
1158
1040
  -> {
1041
+ node_id = load_varuint
1159
1042
  location = load_location
1160
- BlockNode.new(
1161
- source, Array.new(load_varuint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location, location)
1043
+ BlockNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location)
1162
1044
  },
1163
1045
  -> {
1046
+ node_id = load_varuint
1164
1047
  location = load_location
1165
- BlockParameterNode.new(
1166
- source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
1048
+ BlockParameterNode.new(source, node_id, location, load_varuint, load_optional_constant, load_optional_location, load_location)
1167
1049
  },
1168
1050
  -> {
1051
+ node_id = load_varuint
1169
1052
  location = load_location
1170
- BlockParametersNode.new(
1171
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
1053
+ BlockParametersNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
1172
1054
  },
1173
1055
  -> {
1056
+ node_id = load_varuint
1174
1057
  location = load_location
1175
- BreakNode.new(
1176
- source, load_optional_node, load_location, location)
1058
+ BreakNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
1177
1059
  },
1178
1060
  -> {
1061
+ node_id = load_varuint
1179
1062
  location = load_location
1180
- CallAndWriteNode.new(
1181
- source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
1063
+ CallAndWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node)
1182
1064
  },
1183
1065
  -> {
1066
+ node_id = load_varuint
1184
1067
  location = load_location
1185
- CallNode.new(
1186
- source, 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)
1068
+ CallNode.new(source, node_id, location, 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)
1187
1069
  },
1188
1070
  -> {
1071
+ node_id = load_varuint
1189
1072
  location = load_location
1190
- CallOperatorWriteNode.new(
1191
- source, 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)
1073
+ CallOperatorWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_required_constant, load_location, load_node)
1192
1074
  },
1193
1075
  -> {
1076
+ node_id = load_varuint
1194
1077
  location = load_location
1195
- CallOrWriteNode.new(
1196
- source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
1078
+ CallOrWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node)
1197
1079
  },
1198
1080
  -> {
1081
+ node_id = load_varuint
1199
1082
  location = load_location
1200
- CallTargetNode.new(
1201
- source, load_varuint, load_node, load_location, load_required_constant, load_location, location)
1083
+ CallTargetNode.new(source, node_id, location, load_varuint, load_node, load_location, load_required_constant, load_location)
1202
1084
  },
1203
1085
  -> {
1086
+ node_id = load_varuint
1204
1087
  location = load_location
1205
- CapturePatternNode.new(
1206
- source, load_node, load_node, load_location, location)
1088
+ CapturePatternNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1207
1089
  },
1208
1090
  -> {
1091
+ node_id = load_varuint
1209
1092
  location = load_location
1210
- CaseMatchNode.new(
1211
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
1093
+ CaseMatchNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location)
1212
1094
  },
1213
1095
  -> {
1096
+ node_id = load_varuint
1214
1097
  location = load_location
1215
- CaseNode.new(
1216
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
1098
+ CaseNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location)
1217
1099
  },
1218
1100
  -> {
1101
+ node_id = load_varuint
1219
1102
  location = load_location
1220
- ClassNode.new(
1221
- source, 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)
1103
+ ClassNode.new(source, node_id, location, load_varuint, 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)
1222
1104
  },
1223
1105
  -> {
1106
+ node_id = load_varuint
1224
1107
  location = load_location
1225
- ClassVariableAndWriteNode.new(
1226
- source, load_required_constant, load_location, load_location, load_node, location)
1108
+ ClassVariableAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1227
1109
  },
1228
1110
  -> {
1111
+ node_id = load_varuint
1229
1112
  location = load_location
1230
- ClassVariableOperatorWriteNode.new(
1231
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
1113
+ ClassVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
1232
1114
  },
1233
1115
  -> {
1116
+ node_id = load_varuint
1234
1117
  location = load_location
1235
- ClassVariableOrWriteNode.new(
1236
- source, load_required_constant, load_location, load_location, load_node, location)
1118
+ ClassVariableOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1237
1119
  },
1238
1120
  -> {
1121
+ node_id = load_varuint
1239
1122
  location = load_location
1240
- ClassVariableReadNode.new(
1241
- source, load_required_constant, location)
1123
+ ClassVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant)
1242
1124
  },
1243
1125
  -> {
1126
+ node_id = load_varuint
1244
1127
  location = load_location
1245
- ClassVariableTargetNode.new(
1246
- source, load_required_constant, location)
1128
+ ClassVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
1247
1129
  },
1248
1130
  -> {
1131
+ node_id = load_varuint
1249
1132
  location = load_location
1250
- ClassVariableWriteNode.new(
1251
- source, load_required_constant, load_location, load_node, load_location, location)
1133
+ ClassVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
1252
1134
  },
1253
1135
  -> {
1136
+ node_id = load_varuint
1254
1137
  location = load_location
1255
- ConstantAndWriteNode.new(
1256
- source, load_required_constant, load_location, load_location, load_node, location)
1138
+ ConstantAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1257
1139
  },
1258
1140
  -> {
1141
+ node_id = load_varuint
1259
1142
  location = load_location
1260
- ConstantOperatorWriteNode.new(
1261
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
1143
+ ConstantOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
1262
1144
  },
1263
1145
  -> {
1146
+ node_id = load_varuint
1264
1147
  location = load_location
1265
- ConstantOrWriteNode.new(
1266
- source, load_required_constant, load_location, load_location, load_node, location)
1148
+ ConstantOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1267
1149
  },
1268
1150
  -> {
1151
+ node_id = load_varuint
1269
1152
  location = load_location
1270
- ConstantPathAndWriteNode.new(
1271
- source, load_node, load_location, load_node, location)
1153
+ ConstantPathAndWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
1272
1154
  },
1273
1155
  -> {
1156
+ node_id = load_varuint
1274
1157
  location = load_location
1275
- ConstantPathNode.new(
1276
- source, load_optional_node, load_optional_constant, load_location, load_location, location)
1158
+ ConstantPathNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_constant, load_location, load_location)
1277
1159
  },
1278
1160
  -> {
1161
+ node_id = load_varuint
1279
1162
  location = load_location
1280
- ConstantPathOperatorWriteNode.new(
1281
- source, load_node, load_location, load_node, load_required_constant, location)
1163
+ ConstantPathOperatorWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node, load_required_constant)
1282
1164
  },
1283
1165
  -> {
1166
+ node_id = load_varuint
1284
1167
  location = load_location
1285
- ConstantPathOrWriteNode.new(
1286
- source, load_node, load_location, load_node, location)
1168
+ ConstantPathOrWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
1287
1169
  },
1288
1170
  -> {
1171
+ node_id = load_varuint
1289
1172
  location = load_location
1290
- ConstantPathTargetNode.new(
1291
- source, load_optional_node, load_optional_constant, load_location, load_location, location)
1173
+ ConstantPathTargetNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_constant, load_location, load_location)
1292
1174
  },
1293
1175
  -> {
1176
+ node_id = load_varuint
1294
1177
  location = load_location
1295
- ConstantPathWriteNode.new(
1296
- source, load_node, load_location, load_node, location)
1178
+ ConstantPathWriteNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
1297
1179
  },
1298
1180
  -> {
1181
+ node_id = load_varuint
1299
1182
  location = load_location
1300
- ConstantReadNode.new(
1301
- source, load_required_constant, location)
1183
+ ConstantReadNode.new(source, node_id, location, load_varuint, load_required_constant)
1302
1184
  },
1303
1185
  -> {
1186
+ node_id = load_varuint
1304
1187
  location = load_location
1305
- ConstantTargetNode.new(
1306
- source, load_required_constant, location)
1188
+ ConstantTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
1307
1189
  },
1308
1190
  -> {
1191
+ node_id = load_varuint
1309
1192
  location = load_location
1310
- ConstantWriteNode.new(
1311
- source, load_required_constant, load_location, load_node, load_location, location)
1193
+ ConstantWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
1312
1194
  },
1313
1195
  -> {
1196
+ node_id = load_varuint
1314
1197
  location = load_location
1315
1198
  load_uint32
1316
- DefNode.new(
1317
- source, load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
1199
+ DefNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location)
1200
+ },
1201
+ -> {
1202
+ node_id = load_varuint
1203
+ location = load_location
1204
+ DefinedNode.new(source, node_id, location, load_varuint, load_optional_location, load_node, load_optional_location, load_location)
1318
1205
  },
1319
1206
  -> {
1207
+ node_id = load_varuint
1320
1208
  location = load_location
1321
- DefinedNode.new(
1322
- source, load_optional_location, load_node, load_optional_location, load_location, location)
1209
+ ElseNode.new(source, node_id, location, load_varuint, load_location, load_optional_node, load_optional_location)
1323
1210
  },
1324
1211
  -> {
1212
+ node_id = load_varuint
1325
1213
  location = load_location
1326
- ElseNode.new(
1327
- source, load_location, load_optional_node, load_optional_location, location)
1214
+ EmbeddedStatementsNode.new(source, node_id, location, load_varuint, load_location, load_optional_node, load_location)
1328
1215
  },
1329
1216
  -> {
1217
+ node_id = load_varuint
1330
1218
  location = load_location
1331
- EmbeddedStatementsNode.new(
1332
- source, load_location, load_optional_node, load_location, location)
1219
+ EmbeddedVariableNode.new(source, node_id, location, load_varuint, load_location, load_node)
1333
1220
  },
1334
1221
  -> {
1222
+ node_id = load_varuint
1335
1223
  location = load_location
1336
- EmbeddedVariableNode.new(
1337
- source, load_location, load_node, location)
1224
+ EnsureNode.new(source, node_id, location, load_varuint, load_location, load_optional_node, load_location)
1338
1225
  },
1339
1226
  -> {
1227
+ node_id = load_varuint
1340
1228
  location = load_location
1341
- EnsureNode.new(
1342
- source, load_location, load_optional_node, load_location, location)
1229
+ FalseNode.new(source, node_id, location, load_varuint)
1343
1230
  },
1344
1231
  -> {
1232
+ node_id = load_varuint
1345
1233
  location = load_location
1346
- FalseNode.new(
1347
- source, location)
1234
+ FindPatternNode.new(source, node_id, location, load_varuint, load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location)
1348
1235
  },
1349
1236
  -> {
1237
+ node_id = load_varuint
1350
1238
  location = load_location
1351
- FindPatternNode.new(
1352
- source, load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
1239
+ FlipFlopNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_node, load_location)
1353
1240
  },
1354
1241
  -> {
1242
+ node_id = load_varuint
1355
1243
  location = load_location
1356
- FlipFlopNode.new(
1357
- source, load_varuint, load_optional_node, load_optional_node, load_location, location)
1244
+ FloatNode.new(source, node_id, location, load_varuint, load_double)
1358
1245
  },
1359
1246
  -> {
1247
+ node_id = load_varuint
1360
1248
  location = load_location
1361
- FloatNode.new(
1362
- source, load_double, location)
1249
+ ForNode.new(source, node_id, location, load_varuint, load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location)
1363
1250
  },
1364
1251
  -> {
1252
+ node_id = load_varuint
1365
1253
  location = load_location
1366
- ForNode.new(
1367
- source, load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
1254
+ ForwardingArgumentsNode.new(source, node_id, location, load_varuint)
1368
1255
  },
1369
1256
  -> {
1257
+ node_id = load_varuint
1370
1258
  location = load_location
1371
- ForwardingArgumentsNode.new(
1372
- source, location)
1259
+ ForwardingParameterNode.new(source, node_id, location, load_varuint)
1373
1260
  },
1374
1261
  -> {
1262
+ node_id = load_varuint
1375
1263
  location = load_location
1376
- ForwardingParameterNode.new(
1377
- source, location)
1264
+ ForwardingSuperNode.new(source, node_id, location, load_varuint, load_optional_node)
1378
1265
  },
1379
1266
  -> {
1267
+ node_id = load_varuint
1380
1268
  location = load_location
1381
- ForwardingSuperNode.new(
1382
- source, load_optional_node, location)
1269
+ GlobalVariableAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1383
1270
  },
1384
1271
  -> {
1272
+ node_id = load_varuint
1385
1273
  location = load_location
1386
- GlobalVariableAndWriteNode.new(
1387
- source, load_required_constant, load_location, load_location, load_node, location)
1274
+ GlobalVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
1388
1275
  },
1389
1276
  -> {
1277
+ node_id = load_varuint
1390
1278
  location = load_location
1391
- GlobalVariableOperatorWriteNode.new(
1392
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
1279
+ GlobalVariableOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1393
1280
  },
1394
1281
  -> {
1282
+ node_id = load_varuint
1395
1283
  location = load_location
1396
- GlobalVariableOrWriteNode.new(
1397
- source, load_required_constant, load_location, load_location, load_node, location)
1284
+ GlobalVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant)
1398
1285
  },
1399
1286
  -> {
1287
+ node_id = load_varuint
1400
1288
  location = load_location
1401
- GlobalVariableReadNode.new(
1402
- source, load_required_constant, location)
1289
+ GlobalVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
1403
1290
  },
1404
1291
  -> {
1292
+ node_id = load_varuint
1405
1293
  location = load_location
1406
- GlobalVariableTargetNode.new(
1407
- source, load_required_constant, location)
1294
+ GlobalVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
1408
1295
  },
1409
1296
  -> {
1297
+ node_id = load_varuint
1410
1298
  location = load_location
1411
- GlobalVariableWriteNode.new(
1412
- source, load_required_constant, load_location, load_node, load_location, location)
1299
+ HashNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
1413
1300
  },
1414
1301
  -> {
1302
+ node_id = load_varuint
1415
1303
  location = load_location
1416
- HashNode.new(
1417
- source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
1304
+ HashPatternNode.new(source, node_id, location, load_varuint, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location)
1418
1305
  },
1419
1306
  -> {
1307
+ node_id = load_varuint
1420
1308
  location = load_location
1421
- HashPatternNode.new(
1422
- source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
1309
+ IfNode.new(source, node_id, location, load_varuint, load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location)
1423
1310
  },
1424
1311
  -> {
1312
+ node_id = load_varuint
1425
1313
  location = load_location
1426
- IfNode.new(
1427
- source, load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
1314
+ ImaginaryNode.new(source, node_id, location, load_varuint, load_node)
1428
1315
  },
1429
1316
  -> {
1317
+ node_id = load_varuint
1430
1318
  location = load_location
1431
- ImaginaryNode.new(
1432
- source, load_node, location)
1319
+ ImplicitNode.new(source, node_id, location, load_varuint, load_node)
1433
1320
  },
1434
1321
  -> {
1322
+ node_id = load_varuint
1435
1323
  location = load_location
1436
- ImplicitNode.new(
1437
- source, load_node, location)
1324
+ ImplicitRestNode.new(source, node_id, location, load_varuint)
1438
1325
  },
1439
1326
  -> {
1327
+ node_id = load_varuint
1440
1328
  location = load_location
1441
- ImplicitRestNode.new(
1442
- source, location)
1329
+ InNode.new(source, node_id, location, load_varuint, load_node, load_optional_node, load_location, load_optional_location)
1443
1330
  },
1444
1331
  -> {
1332
+ node_id = load_varuint
1445
1333
  location = load_location
1446
- InNode.new(
1447
- source, load_node, load_optional_node, load_location, load_optional_location, location)
1334
+ IndexAndWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node)
1448
1335
  },
1449
1336
  -> {
1337
+ node_id = load_varuint
1450
1338
  location = load_location
1451
- IndexAndWriteNode.new(
1452
- source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
1339
+ IndexOperatorWriteNode.new(source, node_id, location, 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)
1453
1340
  },
1454
1341
  -> {
1342
+ node_id = load_varuint
1455
1343
  location = load_location
1456
- IndexOperatorWriteNode.new(
1457
- source, 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)
1344
+ IndexOrWriteNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node)
1458
1345
  },
1459
1346
  -> {
1347
+ node_id = load_varuint
1460
1348
  location = load_location
1461
- IndexOrWriteNode.new(
1462
- source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
1349
+ IndexTargetNode.new(source, node_id, location, load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node)
1463
1350
  },
1464
1351
  -> {
1352
+ node_id = load_varuint
1465
1353
  location = load_location
1466
- IndexTargetNode.new(
1467
- source, load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
1354
+ InstanceVariableAndWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1468
1355
  },
1469
1356
  -> {
1357
+ node_id = load_varuint
1470
1358
  location = load_location
1471
- InstanceVariableAndWriteNode.new(
1472
- source, load_required_constant, load_location, load_location, load_node, location)
1359
+ InstanceVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node, load_required_constant)
1473
1360
  },
1474
1361
  -> {
1362
+ node_id = load_varuint
1475
1363
  location = load_location
1476
- InstanceVariableOperatorWriteNode.new(
1477
- source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
1364
+ InstanceVariableOrWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1478
1365
  },
1479
1366
  -> {
1367
+ node_id = load_varuint
1480
1368
  location = load_location
1481
- InstanceVariableOrWriteNode.new(
1482
- source, load_required_constant, load_location, load_location, load_node, location)
1369
+ InstanceVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant)
1483
1370
  },
1484
1371
  -> {
1372
+ node_id = load_varuint
1485
1373
  location = load_location
1486
- InstanceVariableReadNode.new(
1487
- source, load_required_constant, location)
1374
+ InstanceVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant)
1488
1375
  },
1489
1376
  -> {
1377
+ node_id = load_varuint
1490
1378
  location = load_location
1491
- InstanceVariableTargetNode.new(
1492
- source, load_required_constant, location)
1379
+ InstanceVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node, load_location)
1493
1380
  },
1494
1381
  -> {
1382
+ node_id = load_varuint
1495
1383
  location = load_location
1496
- InstanceVariableWriteNode.new(
1497
- source, load_required_constant, load_location, load_node, load_location, location)
1384
+ IntegerNode.new(source, node_id, location, load_varuint, load_integer)
1498
1385
  },
1499
1386
  -> {
1387
+ node_id = load_varuint
1500
1388
  location = load_location
1501
- IntegerNode.new(
1502
- source, load_varuint, load_integer, location)
1389
+ InterpolatedMatchLastLineNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
1503
1390
  },
1504
1391
  -> {
1392
+ node_id = load_varuint
1505
1393
  location = load_location
1506
- InterpolatedMatchLastLineNode.new(
1507
- source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
1394
+ InterpolatedRegularExpressionNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
1508
1395
  },
1509
1396
  -> {
1397
+ node_id = load_varuint
1510
1398
  location = load_location
1511
- InterpolatedRegularExpressionNode.new(
1512
- source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
1399
+ InterpolatedStringNode.new(source, node_id, location, load_varuint, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location)
1513
1400
  },
1514
1401
  -> {
1402
+ node_id = load_varuint
1515
1403
  location = load_location
1516
- InterpolatedStringNode.new(
1517
- source, load_varuint, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
1404
+ InterpolatedSymbolNode.new(source, node_id, location, load_varuint, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location)
1518
1405
  },
1519
1406
  -> {
1407
+ node_id = load_varuint
1520
1408
  location = load_location
1521
- InterpolatedSymbolNode.new(
1522
- source, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
1409
+ InterpolatedXStringNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location)
1523
1410
  },
1524
1411
  -> {
1412
+ node_id = load_varuint
1525
1413
  location = load_location
1526
- InterpolatedXStringNode.new(
1527
- source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
1414
+ ItLocalVariableReadNode.new(source, node_id, location, load_varuint)
1528
1415
  },
1529
1416
  -> {
1417
+ node_id = load_varuint
1530
1418
  location = load_location
1531
- ItParametersNode.new(
1532
- source, location)
1419
+ ItParametersNode.new(source, node_id, location, load_varuint)
1533
1420
  },
1534
1421
  -> {
1422
+ node_id = load_varuint
1535
1423
  location = load_location
1536
- KeywordHashNode.new(
1537
- source, load_varuint, Array.new(load_varuint) { load_node }, location)
1424
+ KeywordHashNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node })
1538
1425
  },
1539
1426
  -> {
1427
+ node_id = load_varuint
1540
1428
  location = load_location
1541
- KeywordRestParameterNode.new(
1542
- source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
1429
+ KeywordRestParameterNode.new(source, node_id, location, load_varuint, load_optional_constant, load_optional_location, load_location)
1543
1430
  },
1544
1431
  -> {
1432
+ node_id = load_varuint
1545
1433
  location = load_location
1546
- LambdaNode.new(
1547
- source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
1434
+ LambdaNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node)
1548
1435
  },
1549
1436
  -> {
1437
+ node_id = load_varuint
1550
1438
  location = load_location
1551
- LocalVariableAndWriteNode.new(
1552
- source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
1439
+ LocalVariableAndWriteNode.new(source, node_id, location, load_varuint, load_location, load_location, load_node, load_required_constant, load_varuint)
1553
1440
  },
1554
1441
  -> {
1442
+ node_id = load_varuint
1555
1443
  location = load_location
1556
- LocalVariableOperatorWriteNode.new(
1557
- source, load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
1444
+ LocalVariableOperatorWriteNode.new(source, node_id, location, load_varuint, load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint)
1558
1445
  },
1559
1446
  -> {
1447
+ node_id = load_varuint
1560
1448
  location = load_location
1561
- LocalVariableOrWriteNode.new(
1562
- source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
1449
+ LocalVariableOrWriteNode.new(source, node_id, location, load_varuint, load_location, load_location, load_node, load_required_constant, load_varuint)
1563
1450
  },
1564
1451
  -> {
1452
+ node_id = load_varuint
1565
1453
  location = load_location
1566
- LocalVariableReadNode.new(
1567
- source, load_required_constant, load_varuint, location)
1454
+ LocalVariableReadNode.new(source, node_id, location, load_varuint, load_required_constant, load_varuint)
1568
1455
  },
1569
1456
  -> {
1457
+ node_id = load_varuint
1570
1458
  location = load_location
1571
- LocalVariableTargetNode.new(
1572
- source, load_required_constant, load_varuint, location)
1459
+ LocalVariableTargetNode.new(source, node_id, location, load_varuint, load_required_constant, load_varuint)
1573
1460
  },
1574
1461
  -> {
1462
+ node_id = load_varuint
1575
1463
  location = load_location
1576
- LocalVariableWriteNode.new(
1577
- source, load_required_constant, load_varuint, load_location, load_node, load_location, location)
1464
+ LocalVariableWriteNode.new(source, node_id, location, load_varuint, load_required_constant, load_varuint, load_location, load_node, load_location)
1578
1465
  },
1579
1466
  -> {
1467
+ node_id = load_varuint
1580
1468
  location = load_location
1581
- MatchLastLineNode.new(
1582
- source, load_varuint, load_location, load_location, load_location, load_string, location)
1469
+ MatchLastLineNode.new(source, node_id, location, load_varuint, load_location, load_location, load_location, load_string)
1583
1470
  },
1584
1471
  -> {
1472
+ node_id = load_varuint
1585
1473
  location = load_location
1586
- MatchPredicateNode.new(
1587
- source, load_node, load_node, load_location, location)
1474
+ MatchPredicateNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1588
1475
  },
1589
1476
  -> {
1477
+ node_id = load_varuint
1590
1478
  location = load_location
1591
- MatchRequiredNode.new(
1592
- source, load_node, load_node, load_location, location)
1479
+ MatchRequiredNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1593
1480
  },
1594
1481
  -> {
1482
+ node_id = load_varuint
1595
1483
  location = load_location
1596
- MatchWriteNode.new(
1597
- source, load_node, Array.new(load_varuint) { load_node }, location)
1484
+ MatchWriteNode.new(source, node_id, location, load_varuint, load_node, Array.new(load_varuint) { load_node })
1598
1485
  },
1599
1486
  -> {
1487
+ node_id = load_varuint
1600
1488
  location = load_location
1601
- MissingNode.new(
1602
- source, location)
1489
+ MissingNode.new(source, node_id, location, load_varuint)
1603
1490
  },
1604
1491
  -> {
1492
+ node_id = load_varuint
1605
1493
  location = load_location
1606
- ModuleNode.new(
1607
- source, Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
1494
+ ModuleNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant)
1608
1495
  },
1609
1496
  -> {
1497
+ node_id = load_varuint
1610
1498
  location = load_location
1611
- MultiTargetNode.new(
1612
- source, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
1499
+ MultiTargetNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location)
1613
1500
  },
1614
1501
  -> {
1502
+ node_id = load_varuint
1615
1503
  location = load_location
1616
- MultiWriteNode.new(
1617
- source, 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)
1504
+ MultiWriteNode.new(source, node_id, location, load_varuint, 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)
1618
1505
  },
1619
1506
  -> {
1507
+ node_id = load_varuint
1620
1508
  location = load_location
1621
- NextNode.new(
1622
- source, load_optional_node, load_location, location)
1509
+ NextNode.new(source, node_id, location, load_varuint, load_optional_node, load_location)
1623
1510
  },
1624
1511
  -> {
1512
+ node_id = load_varuint
1625
1513
  location = load_location
1626
- NilNode.new(
1627
- source, location)
1514
+ NilNode.new(source, node_id, location, load_varuint)
1628
1515
  },
1629
1516
  -> {
1517
+ node_id = load_varuint
1630
1518
  location = load_location
1631
- NoKeywordsParameterNode.new(
1632
- source, load_location, load_location, location)
1519
+ NoKeywordsParameterNode.new(source, node_id, location, load_varuint, load_location, load_location)
1633
1520
  },
1634
1521
  -> {
1522
+ node_id = load_varuint
1635
1523
  location = load_location
1636
- NumberedParametersNode.new(
1637
- source, io.getbyte, location)
1524
+ NumberedParametersNode.new(source, node_id, location, load_varuint, io.getbyte)
1638
1525
  },
1639
1526
  -> {
1527
+ node_id = load_varuint
1640
1528
  location = load_location
1641
- NumberedReferenceReadNode.new(
1642
- source, load_varuint, location)
1529
+ NumberedReferenceReadNode.new(source, node_id, location, load_varuint, load_varuint)
1643
1530
  },
1644
1531
  -> {
1532
+ node_id = load_varuint
1645
1533
  location = load_location
1646
- OptionalKeywordParameterNode.new(
1647
- source, load_varuint, load_required_constant, load_location, load_node, location)
1534
+ OptionalKeywordParameterNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_node)
1648
1535
  },
1649
1536
  -> {
1537
+ node_id = load_varuint
1650
1538
  location = load_location
1651
- OptionalParameterNode.new(
1652
- source, load_varuint, load_required_constant, load_location, load_location, load_node, location)
1539
+ OptionalParameterNode.new(source, node_id, location, load_varuint, load_required_constant, load_location, load_location, load_node)
1653
1540
  },
1654
1541
  -> {
1542
+ node_id = load_varuint
1655
1543
  location = load_location
1656
- OrNode.new(
1657
- source, load_node, load_node, load_location, location)
1544
+ OrNode.new(source, node_id, location, load_varuint, load_node, load_node, load_location)
1658
1545
  },
1659
1546
  -> {
1547
+ node_id = load_varuint
1660
1548
  location = load_location
1661
- ParametersNode.new(
1662
- source, 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)
1549
+ ParametersNode.new(source, node_id, location, load_varuint, 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)
1663
1550
  },
1664
1551
  -> {
1552
+ node_id = load_varuint
1665
1553
  location = load_location
1666
- ParenthesesNode.new(
1667
- source, load_optional_node, load_location, load_location, location)
1554
+ ParenthesesNode.new(source, node_id, location, load_varuint, load_optional_node, load_location, load_location)
1668
1555
  },
1669
1556
  -> {
1557
+ node_id = load_varuint
1670
1558
  location = load_location
1671
- PinnedExpressionNode.new(
1672
- source, load_node, load_location, load_location, load_location, location)
1559
+ PinnedExpressionNode.new(source, node_id, location, load_varuint, load_node, load_location, load_location, load_location)
1673
1560
  },
1674
1561
  -> {
1562
+ node_id = load_varuint
1675
1563
  location = load_location
1676
- PinnedVariableNode.new(
1677
- source, load_node, load_location, location)
1564
+ PinnedVariableNode.new(source, node_id, location, load_varuint, load_node, load_location)
1678
1565
  },
1679
1566
  -> {
1567
+ node_id = load_varuint
1680
1568
  location = load_location
1681
- PostExecutionNode.new(
1682
- source, load_optional_node, load_location, load_location, load_location, location)
1569
+ PostExecutionNode.new(source, node_id, location, load_varuint, load_optional_node, load_location, load_location, load_location)
1683
1570
  },
1684
1571
  -> {
1572
+ node_id = load_varuint
1685
1573
  location = load_location
1686
- PreExecutionNode.new(
1687
- source, load_optional_node, load_location, load_location, load_location, location)
1574
+ PreExecutionNode.new(source, node_id, location, load_varuint, load_optional_node, load_location, load_location, load_location)
1688
1575
  },
1689
1576
  -> {
1577
+ node_id = load_varuint
1690
1578
  location = load_location
1691
- ProgramNode.new(
1692
- source, Array.new(load_varuint) { load_required_constant }, load_node, location)
1579
+ ProgramNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_node)
1693
1580
  },
1694
1581
  -> {
1582
+ node_id = load_varuint
1695
1583
  location = load_location
1696
- RangeNode.new(
1697
- source, load_varuint, load_optional_node, load_optional_node, load_location, location)
1584
+ RangeNode.new(source, node_id, location, load_varuint, load_optional_node, load_optional_node, load_location)
1698
1585
  },
1699
1586
  -> {
1587
+ node_id = load_varuint
1700
1588
  location = load_location
1701
- RationalNode.new(
1702
- source, load_node, location)
1589
+ RationalNode.new(source, node_id, location, load_varuint, load_integer, load_integer)
1703
1590
  },
1704
1591
  -> {
1592
+ node_id = load_varuint
1705
1593
  location = load_location
1706
- RedoNode.new(
1707
- source, location)
1594
+ RedoNode.new(source, node_id, location, load_varuint)
1708
1595
  },
1709
1596
  -> {
1597
+ node_id = load_varuint
1710
1598
  location = load_location
1711
- RegularExpressionNode.new(
1712
- source, load_varuint, load_location, load_location, load_location, load_string, location)
1599
+ RegularExpressionNode.new(source, node_id, location, load_varuint, load_location, load_location, load_location, load_string)
1713
1600
  },
1714
1601
  -> {
1602
+ node_id = load_varuint
1715
1603
  location = load_location
1716
- RequiredKeywordParameterNode.new(
1717
- source, load_varuint, load_required_constant, load_location, location)
1604
+ RequiredKeywordParameterNode.new(source, node_id, location, load_varuint, load_required_constant, load_location)
1718
1605
  },
1719
1606
  -> {
1607
+ node_id = load_varuint
1720
1608
  location = load_location
1721
- RequiredParameterNode.new(
1722
- source, load_varuint, load_required_constant, location)
1609
+ RequiredParameterNode.new(source, node_id, location, load_varuint, load_required_constant)
1723
1610
  },
1724
1611
  -> {
1612
+ node_id = load_varuint
1725
1613
  location = load_location
1726
- RescueModifierNode.new(
1727
- source, load_node, load_location, load_node, location)
1614
+ RescueModifierNode.new(source, node_id, location, load_varuint, load_node, load_location, load_node)
1728
1615
  },
1729
1616
  -> {
1617
+ node_id = load_varuint
1730
1618
  location = load_location
1731
- RescueNode.new(
1732
- source, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
1619
+ RescueNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node)
1733
1620
  },
1734
1621
  -> {
1622
+ node_id = load_varuint
1735
1623
  location = load_location
1736
- RestParameterNode.new(
1737
- source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
1624
+ RestParameterNode.new(source, node_id, location, load_varuint, load_optional_constant, load_optional_location, load_location)
1738
1625
  },
1739
1626
  -> {
1627
+ node_id = load_varuint
1740
1628
  location = load_location
1741
- RetryNode.new(
1742
- source, location)
1629
+ RetryNode.new(source, node_id, location, load_varuint)
1743
1630
  },
1744
1631
  -> {
1632
+ node_id = load_varuint
1745
1633
  location = load_location
1746
- ReturnNode.new(
1747
- source, load_varuint, load_location, load_optional_node, location)
1634
+ ReturnNode.new(source, node_id, location, load_varuint, load_location, load_optional_node)
1748
1635
  },
1749
1636
  -> {
1637
+ node_id = load_varuint
1750
1638
  location = load_location
1751
- SelfNode.new(
1752
- source, location)
1639
+ SelfNode.new(source, node_id, location, load_varuint)
1753
1640
  },
1754
1641
  -> {
1642
+ node_id = load_varuint
1755
1643
  location = load_location
1756
- ShareableConstantNode.new(
1757
- source, load_varuint, load_node, location)
1644
+ ShareableConstantNode.new(source, node_id, location, load_varuint, load_node)
1758
1645
  },
1759
1646
  -> {
1647
+ node_id = load_varuint
1760
1648
  location = load_location
1761
- SingletonClassNode.new(
1762
- source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
1649
+ SingletonClassNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location)
1763
1650
  },
1764
1651
  -> {
1652
+ node_id = load_varuint
1765
1653
  location = load_location
1766
- SourceEncodingNode.new(
1767
- source, location)
1654
+ SourceEncodingNode.new(source, node_id, location, load_varuint)
1768
1655
  },
1769
1656
  -> {
1657
+ node_id = load_varuint
1770
1658
  location = load_location
1771
- SourceFileNode.new(
1772
- source, load_varuint, load_string, location)
1659
+ SourceFileNode.new(source, node_id, location, load_varuint, load_string)
1773
1660
  },
1774
1661
  -> {
1662
+ node_id = load_varuint
1775
1663
  location = load_location
1776
- SourceLineNode.new(
1777
- source, location)
1664
+ SourceLineNode.new(source, node_id, location, load_varuint)
1778
1665
  },
1779
1666
  -> {
1667
+ node_id = load_varuint
1780
1668
  location = load_location
1781
- SplatNode.new(
1782
- source, load_location, load_optional_node, location)
1669
+ SplatNode.new(source, node_id, location, load_varuint, load_location, load_optional_node)
1783
1670
  },
1784
1671
  -> {
1672
+ node_id = load_varuint
1785
1673
  location = load_location
1786
- StatementsNode.new(
1787
- source, Array.new(load_varuint) { load_node }, location)
1674
+ StatementsNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node })
1788
1675
  },
1789
1676
  -> {
1677
+ node_id = load_varuint
1790
1678
  location = load_location
1791
- StringNode.new(
1792
- source, load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
1679
+ StringNode.new(source, node_id, location, load_varuint, load_optional_location, load_location, load_optional_location, load_string)
1793
1680
  },
1794
1681
  -> {
1682
+ node_id = load_varuint
1795
1683
  location = load_location
1796
- SuperNode.new(
1797
- source, load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
1684
+ SuperNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node)
1798
1685
  },
1799
1686
  -> {
1687
+ node_id = load_varuint
1800
1688
  location = load_location
1801
- SymbolNode.new(
1802
- source, load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
1689
+ SymbolNode.new(source, node_id, location, load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string)
1803
1690
  },
1804
1691
  -> {
1692
+ node_id = load_varuint
1805
1693
  location = load_location
1806
- TrueNode.new(
1807
- source, location)
1694
+ TrueNode.new(source, node_id, location, load_varuint)
1808
1695
  },
1809
1696
  -> {
1697
+ node_id = load_varuint
1810
1698
  location = load_location
1811
- UndefNode.new(
1812
- source, Array.new(load_varuint) { load_node }, load_location, location)
1699
+ UndefNode.new(source, node_id, location, load_varuint, Array.new(load_varuint) { load_node }, load_location)
1813
1700
  },
1814
1701
  -> {
1702
+ node_id = load_varuint
1815
1703
  location = load_location
1816
- UnlessNode.new(
1817
- source, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
1704
+ UnlessNode.new(source, node_id, location, load_varuint, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location)
1818
1705
  },
1819
1706
  -> {
1707
+ node_id = load_varuint
1820
1708
  location = load_location
1821
- UntilNode.new(
1822
- source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
1709
+ UntilNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_location, load_node, load_optional_node)
1823
1710
  },
1824
1711
  -> {
1712
+ node_id = load_varuint
1825
1713
  location = load_location
1826
- WhenNode.new(
1827
- source, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, location)
1714
+ WhenNode.new(source, node_id, location, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node)
1828
1715
  },
1829
1716
  -> {
1717
+ node_id = load_varuint
1830
1718
  location = load_location
1831
- WhileNode.new(
1832
- source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
1719
+ WhileNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_location, load_node, load_optional_node)
1833
1720
  },
1834
1721
  -> {
1722
+ node_id = load_varuint
1835
1723
  location = load_location
1836
- XStringNode.new(
1837
- source, load_varuint, load_location, load_location, load_location, load_string, location)
1724
+ XStringNode.new(source, node_id, location, load_varuint, load_location, load_location, load_location, load_string)
1838
1725
  },
1839
1726
  -> {
1727
+ node_id = load_varuint
1840
1728
  location = load_location
1841
- YieldNode.new(
1842
- source, load_location, load_optional_location, load_optional_node, load_optional_location, location)
1729
+ YieldNode.new(source, node_id, location, load_varuint, load_location, load_optional_location, load_optional_node, load_optional_location)
1843
1730
  },
1844
1731
  ]
1845
1732
  end