prism 0.19.0 → 0.24.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +102 -1
  3. data/Makefile +5 -0
  4. data/README.md +9 -6
  5. data/config.yml +236 -38
  6. data/docs/build_system.md +19 -2
  7. data/docs/cruby_compilation.md +27 -0
  8. data/docs/parser_translation.md +34 -0
  9. data/docs/parsing_rules.md +19 -0
  10. data/docs/releasing.md +84 -16
  11. data/docs/ruby_api.md +1 -1
  12. data/docs/ruby_parser_translation.md +19 -0
  13. data/docs/serialization.md +19 -5
  14. data/ext/prism/api_node.c +1989 -1525
  15. data/ext/prism/extension.c +130 -30
  16. data/ext/prism/extension.h +2 -2
  17. data/include/prism/ast.h +1700 -505
  18. data/include/prism/defines.h +8 -0
  19. data/include/prism/diagnostic.h +49 -7
  20. data/include/prism/encoding.h +17 -0
  21. data/include/prism/options.h +40 -14
  22. data/include/prism/parser.h +34 -18
  23. data/include/prism/util/pm_buffer.h +9 -0
  24. data/include/prism/util/pm_constant_pool.h +18 -0
  25. data/include/prism/util/pm_newline_list.h +4 -14
  26. data/include/prism/util/pm_strpbrk.h +4 -1
  27. data/include/prism/version.h +2 -2
  28. data/include/prism.h +19 -2
  29. data/lib/prism/debug.rb +11 -5
  30. data/lib/prism/desugar_compiler.rb +225 -80
  31. data/lib/prism/dot_visitor.rb +36 -14
  32. data/lib/prism/dsl.rb +302 -299
  33. data/lib/prism/ffi.rb +107 -76
  34. data/lib/prism/lex_compat.rb +17 -1
  35. data/lib/prism/node.rb +4580 -2607
  36. data/lib/prism/node_ext.rb +27 -4
  37. data/lib/prism/parse_result.rb +75 -29
  38. data/lib/prism/serialize.rb +633 -305
  39. data/lib/prism/translation/parser/compiler.rb +1838 -0
  40. data/lib/prism/translation/parser/lexer.rb +335 -0
  41. data/lib/prism/translation/parser/rubocop.rb +45 -0
  42. data/lib/prism/translation/parser.rb +190 -0
  43. data/lib/prism/translation/parser33.rb +12 -0
  44. data/lib/prism/translation/parser34.rb +12 -0
  45. data/lib/prism/translation/ripper.rb +696 -0
  46. data/lib/prism/translation/ruby_parser.rb +1521 -0
  47. data/lib/prism/translation.rb +11 -0
  48. data/lib/prism.rb +1 -1
  49. data/prism.gemspec +18 -7
  50. data/rbi/prism.rbi +150 -88
  51. data/rbi/prism_static.rbi +15 -3
  52. data/sig/prism.rbs +996 -961
  53. data/sig/prism_static.rbs +123 -46
  54. data/src/diagnostic.c +264 -219
  55. data/src/encoding.c +21 -26
  56. data/src/node.c +2 -6
  57. data/src/options.c +29 -5
  58. data/src/prettyprint.c +176 -44
  59. data/src/prism.c +1499 -564
  60. data/src/serialize.c +35 -21
  61. data/src/token_type.c +353 -4
  62. data/src/util/pm_buffer.c +11 -0
  63. data/src/util/pm_constant_pool.c +37 -11
  64. data/src/util/pm_newline_list.c +6 -15
  65. data/src/util/pm_string.c +0 -7
  66. data/src/util/pm_strpbrk.c +122 -14
  67. metadata +16 -5
  68. data/docs/building.md +0 -29
  69. data/lib/prism/ripper_compat.rb +0 -207
@@ -27,7 +27,7 @@ module Prism
27
27
 
28
28
  # The minor version of prism that we are expecting to find in the serialized
29
29
  # strings.
30
- MINOR_VERSION = 19
30
+ MINOR_VERSION = 24
31
31
 
32
32
  # The patch version of prism that we are expecting to find in the serialized
33
33
  # strings.
@@ -86,11 +86,15 @@ module Prism
86
86
  end
87
87
 
88
88
  def load_start_line
89
- source.start_line = load_varsint
89
+ source.instance_variable_set :@start_line, load_varsint
90
+ end
91
+
92
+ def load_line_offsets
93
+ source.instance_variable_set :@offsets, Array.new(load_varuint) { load_varuint }
90
94
  end
91
95
 
92
96
  def load_comments
93
- load_varuint.times.map do
97
+ Array.new(load_varuint) do
94
98
  case load_varuint
95
99
  when 0 then InlineComment.new(load_location)
96
100
  when 1 then EmbDocComment.new(load_location)
@@ -101,10 +105,10 @@ module Prism
101
105
 
102
106
  def load_metadata
103
107
  comments = load_comments
104
- magic_comments = load_varuint.times.map { MagicComment.new(load_location, load_location) }
108
+ magic_comments = Array.new(load_varuint) { MagicComment.new(load_location, load_location) }
105
109
  data_loc = load_optional_location
106
- errors = load_varuint.times.map { ParseError.new(load_embedded_string, load_location) }
107
- warnings = load_varuint.times.map { ParseWarning.new(load_embedded_string, load_location) }
110
+ errors = Array.new(load_varuint) { ParseError.new(load_embedded_string, load_location, load_error_level) }
111
+ warnings = Array.new(load_varuint) { ParseWarning.new(load_embedded_string, load_location, load_warning_level) }
108
112
  [comments, magic_comments, data_loc, errors, warnings]
109
113
  end
110
114
 
@@ -115,7 +119,7 @@ module Prism
115
119
  length = load_varuint
116
120
  lex_state = load_varuint
117
121
  location = Location.new(@source, start, length)
118
- tokens << [Prism::Token.new(type, location.slice, location), lex_state]
122
+ tokens << [Prism::Token.new(source, type, location.slice, location), lex_state]
119
123
  end
120
124
 
121
125
  tokens
@@ -125,6 +129,7 @@ module Prism
125
129
  tokens = load_tokens
126
130
  encoding = load_encoding
127
131
  load_start_line
132
+ load_line_offsets
128
133
  comments, magic_comments, data_loc, errors, warnings = load_metadata
129
134
  tokens.each { |token,| token.value.force_encoding(encoding) }
130
135
 
@@ -136,6 +141,7 @@ module Prism
136
141
  load_header
137
142
  load_encoding
138
143
  load_start_line
144
+ load_line_offsets
139
145
 
140
146
  comments, magic_comments, data_loc, errors, warnings = load_metadata
141
147
 
@@ -218,9 +224,9 @@ module Prism
218
224
 
219
225
  constant =
220
226
  if start.nobits?(1 << 31)
221
- input.byteslice(start, length).to_sym
227
+ input.byteslice(start, length).force_encoding(@encoding).to_sym
222
228
  else
223
- serialized.byteslice(start & ((1 << 31) - 1), length).to_sym
229
+ serialized.byteslice(start & ((1 << 31) - 1), length).force_encoding(@encoding).to_sym
224
230
  end
225
231
 
226
232
  constant_pool[index] = constant
@@ -238,6 +244,32 @@ module Prism
238
244
  load_constant(index - 1) if index != 0
239
245
  end
240
246
 
247
+ def load_error_level
248
+ level = io.getbyte
249
+
250
+ case level
251
+ when 0
252
+ :fatal
253
+ when 1
254
+ :argument
255
+ else
256
+ raise "Unknown level: #{level}"
257
+ end
258
+ end
259
+
260
+ def load_warning_level
261
+ level = io.getbyte
262
+
263
+ case level
264
+ when 0
265
+ :default
266
+ when 1
267
+ :verbose
268
+ else
269
+ raise "Unknown level: #{level}"
270
+ end
271
+ end
272
+
241
273
  if RUBY_ENGINE == 'ruby'
242
274
  def load_node
243
275
  type = io.getbyte
@@ -245,302 +277,450 @@ module Prism
245
277
 
246
278
  case type
247
279
  when 1 then
248
- AliasGlobalVariableNode.new(load_node, load_node, load_location, location)
280
+ AliasGlobalVariableNode.new(
281
+ source, load_node, load_node, load_location, location)
249
282
  when 2 then
250
- AliasMethodNode.new(load_node, load_node, load_location, location)
283
+ AliasMethodNode.new(
284
+ source, load_node, load_node, load_location, location)
251
285
  when 3 then
252
- AlternationPatternNode.new(load_node, load_node, load_location, location)
286
+ AlternationPatternNode.new(
287
+ source, load_node, load_node, load_location, location)
253
288
  when 4 then
254
- AndNode.new(load_node, load_node, load_location, location)
289
+ AndNode.new(
290
+ source, load_node, load_node, load_location, location)
255
291
  when 5 then
256
- ArgumentsNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
292
+ ArgumentsNode.new(
293
+ source, load_varuint, Array.new(load_varuint) { load_node }, location)
257
294
  when 6 then
258
- ArrayNode.new(load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
295
+ ArrayNode.new(
296
+ source, load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
259
297
  when 7 then
260
- ArrayPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
298
+ ArrayPatternNode.new(
299
+ 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)
261
300
  when 8 then
262
- AssocNode.new(load_node, load_optional_node, load_optional_location, location)
301
+ AssocNode.new(
302
+ source, load_node, load_node, load_optional_location, location)
263
303
  when 9 then
264
- AssocSplatNode.new(load_optional_node, load_location, location)
304
+ AssocSplatNode.new(
305
+ source, load_optional_node, load_location, location)
265
306
  when 10 then
266
- BackReferenceReadNode.new(load_required_constant, location)
307
+ BackReferenceReadNode.new(
308
+ source, load_required_constant, location)
267
309
  when 11 then
268
- BeginNode.new(load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location, location)
310
+ BeginNode.new(
311
+ source, load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location, location)
269
312
  when 12 then
270
- BlockArgumentNode.new(load_optional_node, load_location, location)
313
+ BlockArgumentNode.new(
314
+ source, load_optional_node, load_location, location)
271
315
  when 13 then
272
- BlockLocalVariableNode.new(load_required_constant, location)
316
+ BlockLocalVariableNode.new(
317
+ source, load_varuint, load_required_constant, location)
273
318
  when 14 then
274
- BlockNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_optional_node, load_optional_node, load_location, load_location, location)
319
+ BlockNode.new(
320
+ source, Array.new(load_varuint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location, location)
275
321
  when 15 then
276
- BlockParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
322
+ BlockParameterNode.new(
323
+ source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
277
324
  when 16 then
278
- BlockParametersNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
325
+ BlockParametersNode.new(
326
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
279
327
  when 17 then
280
- BreakNode.new(load_optional_node, load_location, location)
328
+ BreakNode.new(
329
+ source, load_optional_node, load_location, location)
281
330
  when 18 then
282
- CallAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
331
+ CallAndWriteNode.new(
332
+ source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
283
333
  when 19 then
284
- CallNode.new(load_varuint, load_optional_node, load_optional_location, load_required_constant, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
334
+ CallNode.new(
335
+ 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)
285
336
  when 20 then
286
- CallOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_required_constant, load_location, load_node, location)
337
+ CallOperatorWriteNode.new(
338
+ 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)
287
339
  when 21 then
288
- CallOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
340
+ CallOrWriteNode.new(
341
+ source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
289
342
  when 22 then
290
- CallTargetNode.new(load_varuint, load_node, load_location, load_required_constant, load_location, location)
343
+ CallTargetNode.new(
344
+ source, load_varuint, load_node, load_location, load_required_constant, load_location, location)
291
345
  when 23 then
292
- CapturePatternNode.new(load_node, load_node, load_location, location)
346
+ CapturePatternNode.new(
347
+ source, load_node, load_node, load_location, location)
293
348
  when 24 then
294
- CaseMatchNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
349
+ CaseMatchNode.new(
350
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
295
351
  when 25 then
296
- CaseNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
352
+ CaseNode.new(
353
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
297
354
  when 26 then
298
- ClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_location, load_required_constant, location)
355
+ ClassNode.new(
356
+ 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)
299
357
  when 27 then
300
- ClassVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
358
+ ClassVariableAndWriteNode.new(
359
+ source, load_required_constant, load_location, load_location, load_node, location)
301
360
  when 28 then
302
- ClassVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
361
+ ClassVariableOperatorWriteNode.new(
362
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
303
363
  when 29 then
304
- ClassVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
364
+ ClassVariableOrWriteNode.new(
365
+ source, load_required_constant, load_location, load_location, load_node, location)
305
366
  when 30 then
306
- ClassVariableReadNode.new(load_required_constant, location)
367
+ ClassVariableReadNode.new(
368
+ source, load_required_constant, location)
307
369
  when 31 then
308
- ClassVariableTargetNode.new(load_required_constant, location)
370
+ ClassVariableTargetNode.new(
371
+ source, load_required_constant, location)
309
372
  when 32 then
310
- ClassVariableWriteNode.new(load_required_constant, load_location, load_node, load_optional_location, location)
373
+ ClassVariableWriteNode.new(
374
+ source, load_required_constant, load_location, load_node, load_optional_location, location)
311
375
  when 33 then
312
- ConstantAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
376
+ ConstantAndWriteNode.new(
377
+ source, load_required_constant, load_location, load_location, load_node, location)
313
378
  when 34 then
314
- ConstantOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
379
+ ConstantOperatorWriteNode.new(
380
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
315
381
  when 35 then
316
- ConstantOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
382
+ ConstantOrWriteNode.new(
383
+ source, load_required_constant, load_location, load_location, load_node, location)
317
384
  when 36 then
318
- ConstantPathAndWriteNode.new(load_node, load_location, load_node, location)
385
+ ConstantPathAndWriteNode.new(
386
+ source, load_node, load_location, load_node, location)
319
387
  when 37 then
320
- ConstantPathNode.new(load_optional_node, load_node, load_location, location)
388
+ ConstantPathNode.new(
389
+ source, load_optional_node, load_node, load_location, location)
321
390
  when 38 then
322
- ConstantPathOperatorWriteNode.new(load_node, load_location, load_node, load_required_constant, location)
391
+ ConstantPathOperatorWriteNode.new(
392
+ source, load_node, load_location, load_node, load_required_constant, location)
323
393
  when 39 then
324
- ConstantPathOrWriteNode.new(load_node, load_location, load_node, location)
394
+ ConstantPathOrWriteNode.new(
395
+ source, load_node, load_location, load_node, location)
325
396
  when 40 then
326
- ConstantPathTargetNode.new(load_optional_node, load_node, load_location, location)
397
+ ConstantPathTargetNode.new(
398
+ source, load_optional_node, load_node, load_location, location)
327
399
  when 41 then
328
- ConstantPathWriteNode.new(load_node, load_location, load_node, location)
400
+ ConstantPathWriteNode.new(
401
+ source, load_node, load_location, load_node, location)
329
402
  when 42 then
330
- ConstantReadNode.new(load_required_constant, location)
403
+ ConstantReadNode.new(
404
+ source, load_required_constant, location)
331
405
  when 43 then
332
- ConstantTargetNode.new(load_required_constant, location)
406
+ ConstantTargetNode.new(
407
+ source, load_required_constant, location)
333
408
  when 44 then
334
- ConstantWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
409
+ ConstantWriteNode.new(
410
+ source, load_required_constant, load_location, load_node, load_location, location)
335
411
  when 45 then
336
412
  load_serialized_length
337
- DefNode.new(load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
413
+ DefNode.new(
414
+ 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)
338
415
  when 46 then
339
- DefinedNode.new(load_optional_location, load_node, load_optional_location, load_location, location)
416
+ DefinedNode.new(
417
+ source, load_optional_location, load_node, load_optional_location, load_location, location)
340
418
  when 47 then
341
- ElseNode.new(load_location, load_optional_node, load_optional_location, location)
419
+ ElseNode.new(
420
+ source, load_location, load_optional_node, load_optional_location, location)
342
421
  when 48 then
343
- EmbeddedStatementsNode.new(load_location, load_optional_node, load_location, location)
422
+ EmbeddedStatementsNode.new(
423
+ source, load_location, load_optional_node, load_location, location)
344
424
  when 49 then
345
- EmbeddedVariableNode.new(load_location, load_node, location)
425
+ EmbeddedVariableNode.new(
426
+ source, load_location, load_node, location)
346
427
  when 50 then
347
- EnsureNode.new(load_location, load_optional_node, load_location, location)
428
+ EnsureNode.new(
429
+ source, load_location, load_optional_node, load_location, location)
348
430
  when 51 then
349
- FalseNode.new(location)
431
+ FalseNode.new(
432
+ source, location)
350
433
  when 52 then
351
- FindPatternNode.new(load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
434
+ FindPatternNode.new(
435
+ source, load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
352
436
  when 53 then
353
- FlipFlopNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
437
+ FlipFlopNode.new(
438
+ source, load_varuint, load_optional_node, load_optional_node, load_location, location)
354
439
  when 54 then
355
- FloatNode.new(location)
440
+ FloatNode.new(
441
+ source, location)
356
442
  when 55 then
357
- ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
443
+ ForNode.new(
444
+ source, load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
358
445
  when 56 then
359
- ForwardingArgumentsNode.new(location)
446
+ ForwardingArgumentsNode.new(
447
+ source, location)
360
448
  when 57 then
361
- ForwardingParameterNode.new(location)
449
+ ForwardingParameterNode.new(
450
+ source, location)
362
451
  when 58 then
363
- ForwardingSuperNode.new(load_optional_node, location)
452
+ ForwardingSuperNode.new(
453
+ source, load_optional_node, location)
364
454
  when 59 then
365
- GlobalVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
455
+ GlobalVariableAndWriteNode.new(
456
+ source, load_required_constant, load_location, load_location, load_node, location)
366
457
  when 60 then
367
- GlobalVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
458
+ GlobalVariableOperatorWriteNode.new(
459
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
368
460
  when 61 then
369
- GlobalVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
461
+ GlobalVariableOrWriteNode.new(
462
+ source, load_required_constant, load_location, load_location, load_node, location)
370
463
  when 62 then
371
- GlobalVariableReadNode.new(load_required_constant, location)
464
+ GlobalVariableReadNode.new(
465
+ source, load_required_constant, location)
372
466
  when 63 then
373
- GlobalVariableTargetNode.new(load_required_constant, location)
467
+ GlobalVariableTargetNode.new(
468
+ source, load_required_constant, location)
374
469
  when 64 then
375
- GlobalVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
470
+ GlobalVariableWriteNode.new(
471
+ source, load_required_constant, load_location, load_node, load_location, location)
376
472
  when 65 then
377
- HashNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
473
+ HashNode.new(
474
+ source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
378
475
  when 66 then
379
- HashPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
476
+ HashPatternNode.new(
477
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
380
478
  when 67 then
381
- IfNode.new(load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
479
+ IfNode.new(
480
+ source, load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
382
481
  when 68 then
383
- ImaginaryNode.new(load_node, location)
482
+ ImaginaryNode.new(
483
+ source, load_node, location)
384
484
  when 69 then
385
- ImplicitNode.new(load_node, location)
485
+ ImplicitNode.new(
486
+ source, load_node, location)
386
487
  when 70 then
387
- ImplicitRestNode.new(location)
488
+ ImplicitRestNode.new(
489
+ source, location)
388
490
  when 71 then
389
- InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
491
+ InNode.new(
492
+ source, load_node, load_optional_node, load_location, load_optional_location, location)
390
493
  when 72 then
391
- IndexAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
494
+ IndexAndWriteNode.new(
495
+ source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
392
496
  when 73 then
393
- IndexOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_required_constant, load_location, load_node, location)
497
+ IndexOperatorWriteNode.new(
498
+ 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)
394
499
  when 74 then
395
- IndexOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
500
+ IndexOrWriteNode.new(
501
+ source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
396
502
  when 75 then
397
- IndexTargetNode.new(load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
503
+ IndexTargetNode.new(
504
+ source, load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
398
505
  when 76 then
399
- InstanceVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
506
+ InstanceVariableAndWriteNode.new(
507
+ source, load_required_constant, load_location, load_location, load_node, location)
400
508
  when 77 then
401
- InstanceVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
509
+ InstanceVariableOperatorWriteNode.new(
510
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
402
511
  when 78 then
403
- InstanceVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
512
+ InstanceVariableOrWriteNode.new(
513
+ source, load_required_constant, load_location, load_location, load_node, location)
404
514
  when 79 then
405
- InstanceVariableReadNode.new(load_required_constant, location)
515
+ InstanceVariableReadNode.new(
516
+ source, load_required_constant, location)
406
517
  when 80 then
407
- InstanceVariableTargetNode.new(load_required_constant, location)
518
+ InstanceVariableTargetNode.new(
519
+ source, load_required_constant, location)
408
520
  when 81 then
409
- InstanceVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
521
+ InstanceVariableWriteNode.new(
522
+ source, load_required_constant, load_location, load_node, load_location, location)
410
523
  when 82 then
411
- IntegerNode.new(load_varuint, location)
524
+ IntegerNode.new(
525
+ source, load_varuint, location)
412
526
  when 83 then
413
- InterpolatedMatchLastLineNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
527
+ InterpolatedMatchLastLineNode.new(
528
+ source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
414
529
  when 84 then
415
- InterpolatedRegularExpressionNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
530
+ InterpolatedRegularExpressionNode.new(
531
+ source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
416
532
  when 85 then
417
- InterpolatedStringNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
533
+ InterpolatedStringNode.new(
534
+ source, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
418
535
  when 86 then
419
- InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
536
+ InterpolatedSymbolNode.new(
537
+ source, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
420
538
  when 87 then
421
- InterpolatedXStringNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
539
+ InterpolatedXStringNode.new(
540
+ source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
422
541
  when 88 then
423
- KeywordHashNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
542
+ KeywordHashNode.new(
543
+ source, load_varuint, Array.new(load_varuint) { load_node }, location)
424
544
  when 89 then
425
- KeywordRestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
545
+ KeywordRestParameterNode.new(
546
+ source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
426
547
  when 90 then
427
- LambdaNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
548
+ LambdaNode.new(
549
+ source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
428
550
  when 91 then
429
- LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
551
+ LocalVariableAndWriteNode.new(
552
+ source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
430
553
  when 92 then
431
- LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
554
+ LocalVariableOperatorWriteNode.new(
555
+ source, load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
432
556
  when 93 then
433
- LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
557
+ LocalVariableOrWriteNode.new(
558
+ source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
434
559
  when 94 then
435
- LocalVariableReadNode.new(load_required_constant, load_varuint, location)
560
+ LocalVariableReadNode.new(
561
+ source, load_required_constant, load_varuint, location)
436
562
  when 95 then
437
- LocalVariableTargetNode.new(load_required_constant, load_varuint, location)
563
+ LocalVariableTargetNode.new(
564
+ source, load_required_constant, load_varuint, location)
438
565
  when 96 then
439
- LocalVariableWriteNode.new(load_required_constant, load_varuint, load_location, load_node, load_location, location)
566
+ LocalVariableWriteNode.new(
567
+ source, load_required_constant, load_varuint, load_location, load_node, load_location, location)
440
568
  when 97 then
441
- MatchLastLineNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
569
+ MatchLastLineNode.new(
570
+ source, load_varuint, load_location, load_location, load_location, load_string, location)
442
571
  when 98 then
443
- MatchPredicateNode.new(load_node, load_node, load_location, location)
572
+ MatchPredicateNode.new(
573
+ source, load_node, load_node, load_location, location)
444
574
  when 99 then
445
- MatchRequiredNode.new(load_node, load_node, load_location, location)
575
+ MatchRequiredNode.new(
576
+ source, load_node, load_node, load_location, location)
446
577
  when 100 then
447
- MatchWriteNode.new(load_node, Array.new(load_varuint) { load_node }, location)
578
+ MatchWriteNode.new(
579
+ source, load_node, Array.new(load_varuint) { load_node }, location)
448
580
  when 101 then
449
- MissingNode.new(location)
581
+ MissingNode.new(
582
+ source, location)
450
583
  when 102 then
451
- ModuleNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
584
+ ModuleNode.new(
585
+ source, Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
452
586
  when 103 then
453
- MultiTargetNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
587
+ MultiTargetNode.new(
588
+ source, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
454
589
  when 104 then
455
- MultiWriteNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, load_location, load_node, location)
590
+ MultiWriteNode.new(
591
+ 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)
456
592
  when 105 then
457
- NextNode.new(load_optional_node, load_location, location)
593
+ NextNode.new(
594
+ source, load_optional_node, load_location, location)
458
595
  when 106 then
459
- NilNode.new(location)
596
+ NilNode.new(
597
+ source, location)
460
598
  when 107 then
461
- NoKeywordsParameterNode.new(load_location, load_location, location)
599
+ NoKeywordsParameterNode.new(
600
+ source, load_location, load_location, location)
462
601
  when 108 then
463
- NumberedParametersNode.new(io.getbyte, location)
602
+ NumberedParametersNode.new(
603
+ source, io.getbyte, location)
464
604
  when 109 then
465
- NumberedReferenceReadNode.new(load_varuint, location)
605
+ NumberedReferenceReadNode.new(
606
+ source, load_varuint, location)
466
607
  when 110 then
467
- OptionalKeywordParameterNode.new(load_required_constant, load_location, load_node, location)
608
+ OptionalKeywordParameterNode.new(
609
+ source, load_varuint, load_required_constant, load_location, load_node, location)
468
610
  when 111 then
469
- OptionalParameterNode.new(load_required_constant, load_location, load_location, load_node, location)
611
+ OptionalParameterNode.new(
612
+ source, load_varuint, load_required_constant, load_location, load_location, load_node, location)
470
613
  when 112 then
471
- OrNode.new(load_node, load_node, load_location, location)
614
+ OrNode.new(
615
+ source, load_node, load_node, load_location, location)
472
616
  when 113 then
473
- ParametersNode.new(Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_node, location)
617
+ ParametersNode.new(
618
+ 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)
474
619
  when 114 then
475
- ParenthesesNode.new(load_optional_node, load_location, load_location, location)
620
+ ParenthesesNode.new(
621
+ source, load_optional_node, load_location, load_location, location)
476
622
  when 115 then
477
- PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
623
+ PinnedExpressionNode.new(
624
+ source, load_node, load_location, load_location, load_location, location)
478
625
  when 116 then
479
- PinnedVariableNode.new(load_node, load_location, location)
626
+ PinnedVariableNode.new(
627
+ source, load_node, load_location, location)
480
628
  when 117 then
481
- PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
629
+ PostExecutionNode.new(
630
+ source, load_optional_node, load_location, load_location, load_location, location)
482
631
  when 118 then
483
- PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
632
+ PreExecutionNode.new(
633
+ source, load_optional_node, load_location, load_location, load_location, location)
484
634
  when 119 then
485
- ProgramNode.new(Array.new(load_varuint) { load_required_constant }, load_node, location)
635
+ ProgramNode.new(
636
+ source, Array.new(load_varuint) { load_required_constant }, load_node, location)
486
637
  when 120 then
487
- RangeNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
638
+ RangeNode.new(
639
+ source, load_varuint, load_optional_node, load_optional_node, load_location, location)
488
640
  when 121 then
489
- RationalNode.new(load_node, location)
641
+ RationalNode.new(
642
+ source, load_node, location)
490
643
  when 122 then
491
- RedoNode.new(location)
644
+ RedoNode.new(
645
+ source, location)
492
646
  when 123 then
493
- RegularExpressionNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
647
+ RegularExpressionNode.new(
648
+ source, load_varuint, load_location, load_location, load_location, load_string, location)
494
649
  when 124 then
495
- RequiredKeywordParameterNode.new(load_required_constant, load_location, location)
650
+ RequiredKeywordParameterNode.new(
651
+ source, load_varuint, load_required_constant, load_location, location)
496
652
  when 125 then
497
- RequiredParameterNode.new(load_required_constant, location)
653
+ RequiredParameterNode.new(
654
+ source, load_varuint, load_required_constant, location)
498
655
  when 126 then
499
- RescueModifierNode.new(load_node, load_location, load_node, location)
656
+ RescueModifierNode.new(
657
+ source, load_node, load_location, load_node, location)
500
658
  when 127 then
501
- RescueNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
659
+ RescueNode.new(
660
+ source, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
502
661
  when 128 then
503
- RestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
662
+ RestParameterNode.new(
663
+ source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
504
664
  when 129 then
505
- RetryNode.new(location)
665
+ RetryNode.new(
666
+ source, location)
506
667
  when 130 then
507
- ReturnNode.new(load_location, load_optional_node, location)
668
+ ReturnNode.new(
669
+ source, load_location, load_optional_node, location)
508
670
  when 131 then
509
- SelfNode.new(location)
671
+ SelfNode.new(
672
+ source, location)
510
673
  when 132 then
511
- SingletonClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
674
+ SingletonClassNode.new(
675
+ source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
512
676
  when 133 then
513
- SourceEncodingNode.new(location)
677
+ SourceEncodingNode.new(
678
+ source, location)
514
679
  when 134 then
515
- SourceFileNode.new(load_string, location)
680
+ SourceFileNode.new(
681
+ source, load_string, location)
516
682
  when 135 then
517
- SourceLineNode.new(location)
683
+ SourceLineNode.new(
684
+ source, location)
518
685
  when 136 then
519
- SplatNode.new(load_location, load_optional_node, location)
686
+ SplatNode.new(
687
+ source, load_location, load_optional_node, location)
520
688
  when 137 then
521
- StatementsNode.new(Array.new(load_varuint) { load_node }, location)
689
+ StatementsNode.new(
690
+ source, Array.new(load_varuint) { load_node }, location)
522
691
  when 138 then
523
- StringNode.new(load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
692
+ StringNode.new(
693
+ source, load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
524
694
  when 139 then
525
- SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
695
+ SuperNode.new(
696
+ source, load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
526
697
  when 140 then
527
- SymbolNode.new(load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
698
+ SymbolNode.new(
699
+ source, load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
528
700
  when 141 then
529
- TrueNode.new(location)
701
+ TrueNode.new(
702
+ source, location)
530
703
  when 142 then
531
- UndefNode.new(Array.new(load_varuint) { load_node }, load_location, location)
704
+ UndefNode.new(
705
+ source, Array.new(load_varuint) { load_node }, load_location, location)
532
706
  when 143 then
533
- UnlessNode.new(load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
707
+ UnlessNode.new(
708
+ source, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
534
709
  when 144 then
535
- UntilNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
710
+ UntilNode.new(
711
+ source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
536
712
  when 145 then
537
- WhenNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_node, location)
713
+ WhenNode.new(
714
+ source, load_location, Array.new(load_varuint) { load_node }, load_optional_node, location)
538
715
  when 146 then
539
- WhileNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
716
+ WhileNode.new(
717
+ source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
540
718
  when 147 then
541
- XStringNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
719
+ XStringNode.new(
720
+ source, load_varuint, load_location, load_location, load_location, load_string, location)
542
721
  when 148 then
543
- YieldNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, location)
722
+ YieldNode.new(
723
+ source, load_location, load_optional_location, load_optional_node, load_optional_location, location)
544
724
  end
545
725
  end
546
726
  else
@@ -554,596 +734,744 @@ module Prism
554
734
  nil,
555
735
  -> {
556
736
  location = load_location
557
- AliasGlobalVariableNode.new(load_node, load_node, load_location, location)
737
+ AliasGlobalVariableNode.new(
738
+ source, load_node, load_node, load_location, location)
558
739
  },
559
740
  -> {
560
741
  location = load_location
561
- AliasMethodNode.new(load_node, load_node, load_location, location)
742
+ AliasMethodNode.new(
743
+ source, load_node, load_node, load_location, location)
562
744
  },
563
745
  -> {
564
746
  location = load_location
565
- AlternationPatternNode.new(load_node, load_node, load_location, location)
747
+ AlternationPatternNode.new(
748
+ source, load_node, load_node, load_location, location)
566
749
  },
567
750
  -> {
568
751
  location = load_location
569
- AndNode.new(load_node, load_node, load_location, location)
752
+ AndNode.new(
753
+ source, load_node, load_node, load_location, location)
570
754
  },
571
755
  -> {
572
756
  location = load_location
573
- ArgumentsNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
757
+ ArgumentsNode.new(
758
+ source, load_varuint, Array.new(load_varuint) { load_node }, location)
574
759
  },
575
760
  -> {
576
761
  location = load_location
577
- ArrayNode.new(load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
762
+ ArrayNode.new(
763
+ source, load_varuint, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
578
764
  },
579
765
  -> {
580
766
  location = load_location
581
- ArrayPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
767
+ ArrayPatternNode.new(
768
+ 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)
582
769
  },
583
770
  -> {
584
771
  location = load_location
585
- AssocNode.new(load_node, load_optional_node, load_optional_location, location)
772
+ AssocNode.new(
773
+ source, load_node, load_node, load_optional_location, location)
586
774
  },
587
775
  -> {
588
776
  location = load_location
589
- AssocSplatNode.new(load_optional_node, load_location, location)
777
+ AssocSplatNode.new(
778
+ source, load_optional_node, load_location, location)
590
779
  },
591
780
  -> {
592
781
  location = load_location
593
- BackReferenceReadNode.new(load_required_constant, location)
782
+ BackReferenceReadNode.new(
783
+ source, load_required_constant, location)
594
784
  },
595
785
  -> {
596
786
  location = load_location
597
- BeginNode.new(load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location, location)
787
+ BeginNode.new(
788
+ source, load_optional_location, load_optional_node, load_optional_node, load_optional_node, load_optional_node, load_optional_location, location)
598
789
  },
599
790
  -> {
600
791
  location = load_location
601
- BlockArgumentNode.new(load_optional_node, load_location, location)
792
+ BlockArgumentNode.new(
793
+ source, load_optional_node, load_location, location)
602
794
  },
603
795
  -> {
604
796
  location = load_location
605
- BlockLocalVariableNode.new(load_required_constant, location)
797
+ BlockLocalVariableNode.new(
798
+ source, load_varuint, load_required_constant, location)
606
799
  },
607
800
  -> {
608
801
  location = load_location
609
- BlockNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_optional_node, load_optional_node, load_location, load_location, location)
802
+ BlockNode.new(
803
+ source, Array.new(load_varuint) { load_required_constant }, load_optional_node, load_optional_node, load_location, load_location, location)
610
804
  },
611
805
  -> {
612
806
  location = load_location
613
- BlockParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
807
+ BlockParameterNode.new(
808
+ source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
614
809
  },
615
810
  -> {
616
811
  location = load_location
617
- BlockParametersNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
812
+ BlockParametersNode.new(
813
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
618
814
  },
619
815
  -> {
620
816
  location = load_location
621
- BreakNode.new(load_optional_node, load_location, location)
817
+ BreakNode.new(
818
+ source, load_optional_node, load_location, location)
622
819
  },
623
820
  -> {
624
821
  location = load_location
625
- CallAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
822
+ CallAndWriteNode.new(
823
+ source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
626
824
  },
627
825
  -> {
628
826
  location = load_location
629
- CallNode.new(load_varuint, load_optional_node, load_optional_location, load_required_constant, load_optional_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
827
+ CallNode.new(
828
+ 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)
630
829
  },
631
830
  -> {
632
831
  location = load_location
633
- CallOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_required_constant, load_location, load_node, location)
832
+ CallOperatorWriteNode.new(
833
+ 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)
634
834
  },
635
835
  -> {
636
836
  location = load_location
637
- CallOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
837
+ CallOrWriteNode.new(
838
+ source, load_varuint, load_optional_node, load_optional_location, load_optional_location, load_required_constant, load_required_constant, load_location, load_node, location)
638
839
  },
639
840
  -> {
640
841
  location = load_location
641
- CallTargetNode.new(load_varuint, load_node, load_location, load_required_constant, load_location, location)
842
+ CallTargetNode.new(
843
+ source, load_varuint, load_node, load_location, load_required_constant, load_location, location)
642
844
  },
643
845
  -> {
644
846
  location = load_location
645
- CapturePatternNode.new(load_node, load_node, load_location, location)
847
+ CapturePatternNode.new(
848
+ source, load_node, load_node, load_location, location)
646
849
  },
647
850
  -> {
648
851
  location = load_location
649
- CaseMatchNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
852
+ CaseMatchNode.new(
853
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
650
854
  },
651
855
  -> {
652
856
  location = load_location
653
- CaseNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
857
+ CaseNode.new(
858
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_location, load_location, location)
654
859
  },
655
860
  -> {
656
861
  location = load_location
657
- ClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_location, load_required_constant, location)
862
+ ClassNode.new(
863
+ 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)
658
864
  },
659
865
  -> {
660
866
  location = load_location
661
- ClassVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
867
+ ClassVariableAndWriteNode.new(
868
+ source, load_required_constant, load_location, load_location, load_node, location)
662
869
  },
663
870
  -> {
664
871
  location = load_location
665
- ClassVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
872
+ ClassVariableOperatorWriteNode.new(
873
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
666
874
  },
667
875
  -> {
668
876
  location = load_location
669
- ClassVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
877
+ ClassVariableOrWriteNode.new(
878
+ source, load_required_constant, load_location, load_location, load_node, location)
670
879
  },
671
880
  -> {
672
881
  location = load_location
673
- ClassVariableReadNode.new(load_required_constant, location)
882
+ ClassVariableReadNode.new(
883
+ source, load_required_constant, location)
674
884
  },
675
885
  -> {
676
886
  location = load_location
677
- ClassVariableTargetNode.new(load_required_constant, location)
887
+ ClassVariableTargetNode.new(
888
+ source, load_required_constant, location)
678
889
  },
679
890
  -> {
680
891
  location = load_location
681
- ClassVariableWriteNode.new(load_required_constant, load_location, load_node, load_optional_location, location)
892
+ ClassVariableWriteNode.new(
893
+ source, load_required_constant, load_location, load_node, load_optional_location, location)
682
894
  },
683
895
  -> {
684
896
  location = load_location
685
- ConstantAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
897
+ ConstantAndWriteNode.new(
898
+ source, load_required_constant, load_location, load_location, load_node, location)
686
899
  },
687
900
  -> {
688
901
  location = load_location
689
- ConstantOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
902
+ ConstantOperatorWriteNode.new(
903
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
690
904
  },
691
905
  -> {
692
906
  location = load_location
693
- ConstantOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
907
+ ConstantOrWriteNode.new(
908
+ source, load_required_constant, load_location, load_location, load_node, location)
694
909
  },
695
910
  -> {
696
911
  location = load_location
697
- ConstantPathAndWriteNode.new(load_node, load_location, load_node, location)
912
+ ConstantPathAndWriteNode.new(
913
+ source, load_node, load_location, load_node, location)
698
914
  },
699
915
  -> {
700
916
  location = load_location
701
- ConstantPathNode.new(load_optional_node, load_node, load_location, location)
917
+ ConstantPathNode.new(
918
+ source, load_optional_node, load_node, load_location, location)
702
919
  },
703
920
  -> {
704
921
  location = load_location
705
- ConstantPathOperatorWriteNode.new(load_node, load_location, load_node, load_required_constant, location)
922
+ ConstantPathOperatorWriteNode.new(
923
+ source, load_node, load_location, load_node, load_required_constant, location)
706
924
  },
707
925
  -> {
708
926
  location = load_location
709
- ConstantPathOrWriteNode.new(load_node, load_location, load_node, location)
927
+ ConstantPathOrWriteNode.new(
928
+ source, load_node, load_location, load_node, location)
710
929
  },
711
930
  -> {
712
931
  location = load_location
713
- ConstantPathTargetNode.new(load_optional_node, load_node, load_location, location)
932
+ ConstantPathTargetNode.new(
933
+ source, load_optional_node, load_node, load_location, location)
714
934
  },
715
935
  -> {
716
936
  location = load_location
717
- ConstantPathWriteNode.new(load_node, load_location, load_node, location)
937
+ ConstantPathWriteNode.new(
938
+ source, load_node, load_location, load_node, location)
718
939
  },
719
940
  -> {
720
941
  location = load_location
721
- ConstantReadNode.new(load_required_constant, location)
942
+ ConstantReadNode.new(
943
+ source, load_required_constant, location)
722
944
  },
723
945
  -> {
724
946
  location = load_location
725
- ConstantTargetNode.new(load_required_constant, location)
947
+ ConstantTargetNode.new(
948
+ source, load_required_constant, location)
726
949
  },
727
950
  -> {
728
951
  location = load_location
729
- ConstantWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
952
+ ConstantWriteNode.new(
953
+ source, load_required_constant, load_location, load_node, load_location, location)
730
954
  },
731
955
  -> {
732
956
  location = load_location
733
957
  load_serialized_length
734
- DefNode.new(load_required_constant, load_location, load_optional_node, load_optional_node, load_optional_node, Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, load_optional_location, location)
958
+ DefNode.new(
959
+ 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)
735
960
  },
736
961
  -> {
737
962
  location = load_location
738
- DefinedNode.new(load_optional_location, load_node, load_optional_location, load_location, location)
963
+ DefinedNode.new(
964
+ source, load_optional_location, load_node, load_optional_location, load_location, location)
739
965
  },
740
966
  -> {
741
967
  location = load_location
742
- ElseNode.new(load_location, load_optional_node, load_optional_location, location)
968
+ ElseNode.new(
969
+ source, load_location, load_optional_node, load_optional_location, location)
743
970
  },
744
971
  -> {
745
972
  location = load_location
746
- EmbeddedStatementsNode.new(load_location, load_optional_node, load_location, location)
973
+ EmbeddedStatementsNode.new(
974
+ source, load_location, load_optional_node, load_location, location)
747
975
  },
748
976
  -> {
749
977
  location = load_location
750
- EmbeddedVariableNode.new(load_location, load_node, location)
978
+ EmbeddedVariableNode.new(
979
+ source, load_location, load_node, location)
751
980
  },
752
981
  -> {
753
982
  location = load_location
754
- EnsureNode.new(load_location, load_optional_node, load_location, location)
983
+ EnsureNode.new(
984
+ source, load_location, load_optional_node, load_location, location)
755
985
  },
756
986
  -> {
757
987
  location = load_location
758
- FalseNode.new(location)
988
+ FalseNode.new(
989
+ source, location)
759
990
  },
760
991
  -> {
761
992
  location = load_location
762
- FindPatternNode.new(load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
993
+ FindPatternNode.new(
994
+ source, load_optional_node, load_node, Array.new(load_varuint) { load_node }, load_node, load_optional_location, load_optional_location, location)
763
995
  },
764
996
  -> {
765
997
  location = load_location
766
- FlipFlopNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
998
+ FlipFlopNode.new(
999
+ source, load_varuint, load_optional_node, load_optional_node, load_location, location)
767
1000
  },
768
1001
  -> {
769
1002
  location = load_location
770
- FloatNode.new(location)
1003
+ FloatNode.new(
1004
+ source, location)
771
1005
  },
772
1006
  -> {
773
1007
  location = load_location
774
- ForNode.new(load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
1008
+ ForNode.new(
1009
+ source, load_node, load_node, load_optional_node, load_location, load_location, load_optional_location, load_location, location)
775
1010
  },
776
1011
  -> {
777
1012
  location = load_location
778
- ForwardingArgumentsNode.new(location)
1013
+ ForwardingArgumentsNode.new(
1014
+ source, location)
779
1015
  },
780
1016
  -> {
781
1017
  location = load_location
782
- ForwardingParameterNode.new(location)
1018
+ ForwardingParameterNode.new(
1019
+ source, location)
783
1020
  },
784
1021
  -> {
785
1022
  location = load_location
786
- ForwardingSuperNode.new(load_optional_node, location)
1023
+ ForwardingSuperNode.new(
1024
+ source, load_optional_node, location)
787
1025
  },
788
1026
  -> {
789
1027
  location = load_location
790
- GlobalVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
1028
+ GlobalVariableAndWriteNode.new(
1029
+ source, load_required_constant, load_location, load_location, load_node, location)
791
1030
  },
792
1031
  -> {
793
1032
  location = load_location
794
- GlobalVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
1033
+ GlobalVariableOperatorWriteNode.new(
1034
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
795
1035
  },
796
1036
  -> {
797
1037
  location = load_location
798
- GlobalVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
1038
+ GlobalVariableOrWriteNode.new(
1039
+ source, load_required_constant, load_location, load_location, load_node, location)
799
1040
  },
800
1041
  -> {
801
1042
  location = load_location
802
- GlobalVariableReadNode.new(load_required_constant, location)
1043
+ GlobalVariableReadNode.new(
1044
+ source, load_required_constant, location)
803
1045
  },
804
1046
  -> {
805
1047
  location = load_location
806
- GlobalVariableTargetNode.new(load_required_constant, location)
1048
+ GlobalVariableTargetNode.new(
1049
+ source, load_required_constant, location)
807
1050
  },
808
1051
  -> {
809
1052
  location = load_location
810
- GlobalVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
1053
+ GlobalVariableWriteNode.new(
1054
+ source, load_required_constant, load_location, load_node, load_location, location)
811
1055
  },
812
1056
  -> {
813
1057
  location = load_location
814
- HashNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
1058
+ HashNode.new(
1059
+ source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
815
1060
  },
816
1061
  -> {
817
1062
  location = load_location
818
- HashPatternNode.new(load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
1063
+ HashPatternNode.new(
1064
+ source, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_location, load_optional_location, location)
819
1065
  },
820
1066
  -> {
821
1067
  location = load_location
822
- IfNode.new(load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
1068
+ IfNode.new(
1069
+ source, load_optional_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
823
1070
  },
824
1071
  -> {
825
1072
  location = load_location
826
- ImaginaryNode.new(load_node, location)
1073
+ ImaginaryNode.new(
1074
+ source, load_node, location)
827
1075
  },
828
1076
  -> {
829
1077
  location = load_location
830
- ImplicitNode.new(load_node, location)
1078
+ ImplicitNode.new(
1079
+ source, load_node, location)
831
1080
  },
832
1081
  -> {
833
1082
  location = load_location
834
- ImplicitRestNode.new(location)
1083
+ ImplicitRestNode.new(
1084
+ source, location)
835
1085
  },
836
1086
  -> {
837
1087
  location = load_location
838
- InNode.new(load_node, load_optional_node, load_location, load_optional_location, location)
1088
+ InNode.new(
1089
+ source, load_node, load_optional_node, load_location, load_optional_location, location)
839
1090
  },
840
1091
  -> {
841
1092
  location = load_location
842
- IndexAndWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
1093
+ IndexAndWriteNode.new(
1094
+ source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
843
1095
  },
844
1096
  -> {
845
1097
  location = load_location
846
- IndexOperatorWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_required_constant, load_location, load_node, location)
1098
+ IndexOperatorWriteNode.new(
1099
+ 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)
847
1100
  },
848
1101
  -> {
849
1102
  location = load_location
850
- IndexOrWriteNode.new(load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
1103
+ IndexOrWriteNode.new(
1104
+ source, load_varuint, load_optional_node, load_optional_location, load_location, load_optional_node, load_location, load_optional_node, load_location, load_node, location)
851
1105
  },
852
1106
  -> {
853
1107
  location = load_location
854
- IndexTargetNode.new(load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
1108
+ IndexTargetNode.new(
1109
+ source, load_varuint, load_node, load_location, load_optional_node, load_location, load_optional_node, location)
855
1110
  },
856
1111
  -> {
857
1112
  location = load_location
858
- InstanceVariableAndWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
1113
+ InstanceVariableAndWriteNode.new(
1114
+ source, load_required_constant, load_location, load_location, load_node, location)
859
1115
  },
860
1116
  -> {
861
1117
  location = load_location
862
- InstanceVariableOperatorWriteNode.new(load_required_constant, load_location, load_location, load_node, load_required_constant, location)
1118
+ InstanceVariableOperatorWriteNode.new(
1119
+ source, load_required_constant, load_location, load_location, load_node, load_required_constant, location)
863
1120
  },
864
1121
  -> {
865
1122
  location = load_location
866
- InstanceVariableOrWriteNode.new(load_required_constant, load_location, load_location, load_node, location)
1123
+ InstanceVariableOrWriteNode.new(
1124
+ source, load_required_constant, load_location, load_location, load_node, location)
867
1125
  },
868
1126
  -> {
869
1127
  location = load_location
870
- InstanceVariableReadNode.new(load_required_constant, location)
1128
+ InstanceVariableReadNode.new(
1129
+ source, load_required_constant, location)
871
1130
  },
872
1131
  -> {
873
1132
  location = load_location
874
- InstanceVariableTargetNode.new(load_required_constant, location)
1133
+ InstanceVariableTargetNode.new(
1134
+ source, load_required_constant, location)
875
1135
  },
876
1136
  -> {
877
1137
  location = load_location
878
- InstanceVariableWriteNode.new(load_required_constant, load_location, load_node, load_location, location)
1138
+ InstanceVariableWriteNode.new(
1139
+ source, load_required_constant, load_location, load_node, load_location, location)
879
1140
  },
880
1141
  -> {
881
1142
  location = load_location
882
- IntegerNode.new(load_varuint, location)
1143
+ IntegerNode.new(
1144
+ source, load_varuint, location)
883
1145
  },
884
1146
  -> {
885
1147
  location = load_location
886
- InterpolatedMatchLastLineNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
1148
+ InterpolatedMatchLastLineNode.new(
1149
+ source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
887
1150
  },
888
1151
  -> {
889
1152
  location = load_location
890
- InterpolatedRegularExpressionNode.new(load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
1153
+ InterpolatedRegularExpressionNode.new(
1154
+ source, load_varuint, load_location, Array.new(load_varuint) { load_node }, load_location, location)
891
1155
  },
892
1156
  -> {
893
1157
  location = load_location
894
- InterpolatedStringNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
1158
+ InterpolatedStringNode.new(
1159
+ source, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
895
1160
  },
896
1161
  -> {
897
1162
  location = load_location
898
- InterpolatedSymbolNode.new(load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
1163
+ InterpolatedSymbolNode.new(
1164
+ source, load_optional_location, Array.new(load_varuint) { load_node }, load_optional_location, location)
899
1165
  },
900
1166
  -> {
901
1167
  location = load_location
902
- InterpolatedXStringNode.new(load_location, Array.new(load_varuint) { load_node }, load_location, location)
1168
+ InterpolatedXStringNode.new(
1169
+ source, load_location, Array.new(load_varuint) { load_node }, load_location, location)
903
1170
  },
904
1171
  -> {
905
1172
  location = load_location
906
- KeywordHashNode.new(load_varuint, Array.new(load_varuint) { load_node }, location)
1173
+ KeywordHashNode.new(
1174
+ source, load_varuint, Array.new(load_varuint) { load_node }, location)
907
1175
  },
908
1176
  -> {
909
1177
  location = load_location
910
- KeywordRestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
1178
+ KeywordRestParameterNode.new(
1179
+ source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
911
1180
  },
912
1181
  -> {
913
1182
  location = load_location
914
- LambdaNode.new(Array.new(load_varuint) { load_required_constant }, load_varuint, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
1183
+ LambdaNode.new(
1184
+ source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_location, load_optional_node, load_optional_node, location)
915
1185
  },
916
1186
  -> {
917
1187
  location = load_location
918
- LocalVariableAndWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
1188
+ LocalVariableAndWriteNode.new(
1189
+ source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
919
1190
  },
920
1191
  -> {
921
1192
  location = load_location
922
- LocalVariableOperatorWriteNode.new(load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
1193
+ LocalVariableOperatorWriteNode.new(
1194
+ source, load_location, load_location, load_node, load_required_constant, load_required_constant, load_varuint, location)
923
1195
  },
924
1196
  -> {
925
1197
  location = load_location
926
- LocalVariableOrWriteNode.new(load_location, load_location, load_node, load_required_constant, load_varuint, location)
1198
+ LocalVariableOrWriteNode.new(
1199
+ source, load_location, load_location, load_node, load_required_constant, load_varuint, location)
927
1200
  },
928
1201
  -> {
929
1202
  location = load_location
930
- LocalVariableReadNode.new(load_required_constant, load_varuint, location)
1203
+ LocalVariableReadNode.new(
1204
+ source, load_required_constant, load_varuint, location)
931
1205
  },
932
1206
  -> {
933
1207
  location = load_location
934
- LocalVariableTargetNode.new(load_required_constant, load_varuint, location)
1208
+ LocalVariableTargetNode.new(
1209
+ source, load_required_constant, load_varuint, location)
935
1210
  },
936
1211
  -> {
937
1212
  location = load_location
938
- LocalVariableWriteNode.new(load_required_constant, load_varuint, load_location, load_node, load_location, location)
1213
+ LocalVariableWriteNode.new(
1214
+ source, load_required_constant, load_varuint, load_location, load_node, load_location, location)
939
1215
  },
940
1216
  -> {
941
1217
  location = load_location
942
- MatchLastLineNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
1218
+ MatchLastLineNode.new(
1219
+ source, load_varuint, load_location, load_location, load_location, load_string, location)
943
1220
  },
944
1221
  -> {
945
1222
  location = load_location
946
- MatchPredicateNode.new(load_node, load_node, load_location, location)
1223
+ MatchPredicateNode.new(
1224
+ source, load_node, load_node, load_location, location)
947
1225
  },
948
1226
  -> {
949
1227
  location = load_location
950
- MatchRequiredNode.new(load_node, load_node, load_location, location)
1228
+ MatchRequiredNode.new(
1229
+ source, load_node, load_node, load_location, location)
951
1230
  },
952
1231
  -> {
953
1232
  location = load_location
954
- MatchWriteNode.new(load_node, Array.new(load_varuint) { load_node }, location)
1233
+ MatchWriteNode.new(
1234
+ source, load_node, Array.new(load_varuint) { load_node }, location)
955
1235
  },
956
1236
  -> {
957
1237
  location = load_location
958
- MissingNode.new(location)
1238
+ MissingNode.new(
1239
+ source, location)
959
1240
  },
960
1241
  -> {
961
1242
  location = load_location
962
- ModuleNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
1243
+ ModuleNode.new(
1244
+ source, Array.new(load_varuint) { load_required_constant }, load_location, load_node, load_optional_node, load_location, load_required_constant, location)
963
1245
  },
964
1246
  -> {
965
1247
  location = load_location
966
- MultiTargetNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
1248
+ MultiTargetNode.new(
1249
+ source, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, location)
967
1250
  },
968
1251
  -> {
969
1252
  location = load_location
970
- MultiWriteNode.new(Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_location, load_location, load_node, location)
1253
+ MultiWriteNode.new(
1254
+ 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)
971
1255
  },
972
1256
  -> {
973
1257
  location = load_location
974
- NextNode.new(load_optional_node, load_location, location)
1258
+ NextNode.new(
1259
+ source, load_optional_node, load_location, location)
975
1260
  },
976
1261
  -> {
977
1262
  location = load_location
978
- NilNode.new(location)
1263
+ NilNode.new(
1264
+ source, location)
979
1265
  },
980
1266
  -> {
981
1267
  location = load_location
982
- NoKeywordsParameterNode.new(load_location, load_location, location)
1268
+ NoKeywordsParameterNode.new(
1269
+ source, load_location, load_location, location)
983
1270
  },
984
1271
  -> {
985
1272
  location = load_location
986
- NumberedParametersNode.new(io.getbyte, location)
1273
+ NumberedParametersNode.new(
1274
+ source, io.getbyte, location)
987
1275
  },
988
1276
  -> {
989
1277
  location = load_location
990
- NumberedReferenceReadNode.new(load_varuint, location)
1278
+ NumberedReferenceReadNode.new(
1279
+ source, load_varuint, location)
991
1280
  },
992
1281
  -> {
993
1282
  location = load_location
994
- OptionalKeywordParameterNode.new(load_required_constant, load_location, load_node, location)
1283
+ OptionalKeywordParameterNode.new(
1284
+ source, load_varuint, load_required_constant, load_location, load_node, location)
995
1285
  },
996
1286
  -> {
997
1287
  location = load_location
998
- OptionalParameterNode.new(load_required_constant, load_location, load_location, load_node, location)
1288
+ OptionalParameterNode.new(
1289
+ source, load_varuint, load_required_constant, load_location, load_location, load_node, location)
999
1290
  },
1000
1291
  -> {
1001
1292
  location = load_location
1002
- OrNode.new(load_node, load_node, load_location, location)
1293
+ OrNode.new(
1294
+ source, load_node, load_node, load_location, location)
1003
1295
  },
1004
1296
  -> {
1005
1297
  location = load_location
1006
- ParametersNode.new(Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, Array.new(load_varuint) { load_node }, Array.new(load_varuint) { load_node }, load_optional_node, load_optional_node, location)
1298
+ ParametersNode.new(
1299
+ 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)
1007
1300
  },
1008
1301
  -> {
1009
1302
  location = load_location
1010
- ParenthesesNode.new(load_optional_node, load_location, load_location, location)
1303
+ ParenthesesNode.new(
1304
+ source, load_optional_node, load_location, load_location, location)
1011
1305
  },
1012
1306
  -> {
1013
1307
  location = load_location
1014
- PinnedExpressionNode.new(load_node, load_location, load_location, load_location, location)
1308
+ PinnedExpressionNode.new(
1309
+ source, load_node, load_location, load_location, load_location, location)
1015
1310
  },
1016
1311
  -> {
1017
1312
  location = load_location
1018
- PinnedVariableNode.new(load_node, load_location, location)
1313
+ PinnedVariableNode.new(
1314
+ source, load_node, load_location, location)
1019
1315
  },
1020
1316
  -> {
1021
1317
  location = load_location
1022
- PostExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
1318
+ PostExecutionNode.new(
1319
+ source, load_optional_node, load_location, load_location, load_location, location)
1023
1320
  },
1024
1321
  -> {
1025
1322
  location = load_location
1026
- PreExecutionNode.new(load_optional_node, load_location, load_location, load_location, location)
1323
+ PreExecutionNode.new(
1324
+ source, load_optional_node, load_location, load_location, load_location, location)
1027
1325
  },
1028
1326
  -> {
1029
1327
  location = load_location
1030
- ProgramNode.new(Array.new(load_varuint) { load_required_constant }, load_node, location)
1328
+ ProgramNode.new(
1329
+ source, Array.new(load_varuint) { load_required_constant }, load_node, location)
1031
1330
  },
1032
1331
  -> {
1033
1332
  location = load_location
1034
- RangeNode.new(load_varuint, load_optional_node, load_optional_node, load_location, location)
1333
+ RangeNode.new(
1334
+ source, load_varuint, load_optional_node, load_optional_node, load_location, location)
1035
1335
  },
1036
1336
  -> {
1037
1337
  location = load_location
1038
- RationalNode.new(load_node, location)
1338
+ RationalNode.new(
1339
+ source, load_node, location)
1039
1340
  },
1040
1341
  -> {
1041
1342
  location = load_location
1042
- RedoNode.new(location)
1343
+ RedoNode.new(
1344
+ source, location)
1043
1345
  },
1044
1346
  -> {
1045
1347
  location = load_location
1046
- RegularExpressionNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
1348
+ RegularExpressionNode.new(
1349
+ source, load_varuint, load_location, load_location, load_location, load_string, location)
1047
1350
  },
1048
1351
  -> {
1049
1352
  location = load_location
1050
- RequiredKeywordParameterNode.new(load_required_constant, load_location, location)
1353
+ RequiredKeywordParameterNode.new(
1354
+ source, load_varuint, load_required_constant, load_location, location)
1051
1355
  },
1052
1356
  -> {
1053
1357
  location = load_location
1054
- RequiredParameterNode.new(load_required_constant, location)
1358
+ RequiredParameterNode.new(
1359
+ source, load_varuint, load_required_constant, location)
1055
1360
  },
1056
1361
  -> {
1057
1362
  location = load_location
1058
- RescueModifierNode.new(load_node, load_location, load_node, location)
1363
+ RescueModifierNode.new(
1364
+ source, load_node, load_location, load_node, location)
1059
1365
  },
1060
1366
  -> {
1061
1367
  location = load_location
1062
- RescueNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
1368
+ RescueNode.new(
1369
+ source, load_location, Array.new(load_varuint) { load_node }, load_optional_location, load_optional_node, load_optional_node, load_optional_node, location)
1063
1370
  },
1064
1371
  -> {
1065
1372
  location = load_location
1066
- RestParameterNode.new(load_optional_constant, load_optional_location, load_location, location)
1373
+ RestParameterNode.new(
1374
+ source, load_varuint, load_optional_constant, load_optional_location, load_location, location)
1067
1375
  },
1068
1376
  -> {
1069
1377
  location = load_location
1070
- RetryNode.new(location)
1378
+ RetryNode.new(
1379
+ source, location)
1071
1380
  },
1072
1381
  -> {
1073
1382
  location = load_location
1074
- ReturnNode.new(load_location, load_optional_node, location)
1383
+ ReturnNode.new(
1384
+ source, load_location, load_optional_node, location)
1075
1385
  },
1076
1386
  -> {
1077
1387
  location = load_location
1078
- SelfNode.new(location)
1388
+ SelfNode.new(
1389
+ source, location)
1079
1390
  },
1080
1391
  -> {
1081
1392
  location = load_location
1082
- SingletonClassNode.new(Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
1393
+ SingletonClassNode.new(
1394
+ source, Array.new(load_varuint) { load_required_constant }, load_location, load_location, load_node, load_optional_node, load_location, location)
1083
1395
  },
1084
1396
  -> {
1085
1397
  location = load_location
1086
- SourceEncodingNode.new(location)
1398
+ SourceEncodingNode.new(
1399
+ source, location)
1087
1400
  },
1088
1401
  -> {
1089
1402
  location = load_location
1090
- SourceFileNode.new(load_string, location)
1403
+ SourceFileNode.new(
1404
+ source, load_string, location)
1091
1405
  },
1092
1406
  -> {
1093
1407
  location = load_location
1094
- SourceLineNode.new(location)
1408
+ SourceLineNode.new(
1409
+ source, location)
1095
1410
  },
1096
1411
  -> {
1097
1412
  location = load_location
1098
- SplatNode.new(load_location, load_optional_node, location)
1413
+ SplatNode.new(
1414
+ source, load_location, load_optional_node, location)
1099
1415
  },
1100
1416
  -> {
1101
1417
  location = load_location
1102
- StatementsNode.new(Array.new(load_varuint) { load_node }, location)
1418
+ StatementsNode.new(
1419
+ source, Array.new(load_varuint) { load_node }, location)
1103
1420
  },
1104
1421
  -> {
1105
1422
  location = load_location
1106
- StringNode.new(load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
1423
+ StringNode.new(
1424
+ source, load_varuint, load_optional_location, load_location, load_optional_location, load_string, location)
1107
1425
  },
1108
1426
  -> {
1109
1427
  location = load_location
1110
- SuperNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
1428
+ SuperNode.new(
1429
+ source, load_location, load_optional_location, load_optional_node, load_optional_location, load_optional_node, location)
1111
1430
  },
1112
1431
  -> {
1113
1432
  location = load_location
1114
- SymbolNode.new(load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
1433
+ SymbolNode.new(
1434
+ source, load_varuint, load_optional_location, load_optional_location, load_optional_location, load_string, location)
1115
1435
  },
1116
1436
  -> {
1117
1437
  location = load_location
1118
- TrueNode.new(location)
1438
+ TrueNode.new(
1439
+ source, location)
1119
1440
  },
1120
1441
  -> {
1121
1442
  location = load_location
1122
- UndefNode.new(Array.new(load_varuint) { load_node }, load_location, location)
1443
+ UndefNode.new(
1444
+ source, Array.new(load_varuint) { load_node }, load_location, location)
1123
1445
  },
1124
1446
  -> {
1125
1447
  location = load_location
1126
- UnlessNode.new(load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
1448
+ UnlessNode.new(
1449
+ source, load_location, load_node, load_optional_location, load_optional_node, load_optional_node, load_optional_location, location)
1127
1450
  },
1128
1451
  -> {
1129
1452
  location = load_location
1130
- UntilNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
1453
+ UntilNode.new(
1454
+ source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
1131
1455
  },
1132
1456
  -> {
1133
1457
  location = load_location
1134
- WhenNode.new(load_location, Array.new(load_varuint) { load_node }, load_optional_node, location)
1458
+ WhenNode.new(
1459
+ source, load_location, Array.new(load_varuint) { load_node }, load_optional_node, location)
1135
1460
  },
1136
1461
  -> {
1137
1462
  location = load_location
1138
- WhileNode.new(load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
1463
+ WhileNode.new(
1464
+ source, load_varuint, load_location, load_optional_location, load_node, load_optional_node, location)
1139
1465
  },
1140
1466
  -> {
1141
1467
  location = load_location
1142
- XStringNode.new(load_varuint, load_location, load_location, load_location, load_string, location)
1468
+ XStringNode.new(
1469
+ source, load_varuint, load_location, load_location, load_location, load_string, location)
1143
1470
  },
1144
1471
  -> {
1145
1472
  location = load_location
1146
- YieldNode.new(load_location, load_optional_location, load_optional_node, load_optional_location, location)
1473
+ YieldNode.new(
1474
+ source, load_location, load_optional_location, load_optional_node, load_optional_location, location)
1147
1475
  },
1148
1476
  ]
1149
1477
  end