prism 0.29.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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