yarp 0.7.0 → 0.9.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.
data/src/node.c CHANGED
@@ -1,6 +1,6 @@
1
1
  /******************************************************************************/
2
- /* This file is generated by the bin/template script and should not be */
3
- /* modified manually. See */
2
+ /* This file is generated by the templates/template.rb script and should not */
3
+ /* be modified manually. See */
4
4
  /* templates/src/node.c.erb */
5
5
  /* if you are looking to modify the */
6
6
  /* template */
@@ -160,8 +160,8 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
160
160
  if (((yp_block_node_t *)node)->parameters != NULL) {
161
161
  yp_node_destroy(parser, (yp_node_t *)((yp_block_node_t *)node)->parameters);
162
162
  }
163
- if (((yp_block_node_t *)node)->statements != NULL) {
164
- yp_node_destroy(parser, (yp_node_t *)((yp_block_node_t *)node)->statements);
163
+ if (((yp_block_node_t *)node)->body != NULL) {
164
+ yp_node_destroy(parser, (yp_node_t *)((yp_block_node_t *)node)->body);
165
165
  }
166
166
  break;
167
167
  #line 81 "node.c.erb"
@@ -230,25 +230,29 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
230
230
  if (((yp_class_node_t *)node)->superclass != NULL) {
231
231
  yp_node_destroy(parser, (yp_node_t *)((yp_class_node_t *)node)->superclass);
232
232
  }
233
- if (((yp_class_node_t *)node)->statements != NULL) {
234
- yp_node_destroy(parser, (yp_node_t *)((yp_class_node_t *)node)->statements);
233
+ if (((yp_class_node_t *)node)->body != NULL) {
234
+ yp_node_destroy(parser, (yp_node_t *)((yp_class_node_t *)node)->body);
235
235
  }
236
+ yp_string_free(&((yp_class_node_t *)node)->name);
236
237
  break;
237
238
  #line 81 "node.c.erb"
238
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE:
239
- yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_operator_and_write_node_t *)node)->value);
240
- break;
241
- #line 81 "node.c.erb"
242
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE:
243
- yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_operator_or_write_node_t *)node)->value);
239
+ case YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE:
240
+ yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_and_write_node_t *)node)->value);
244
241
  break;
245
242
  #line 81 "node.c.erb"
246
243
  case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE:
247
244
  yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_operator_write_node_t *)node)->value);
248
245
  break;
246
+ #line 81 "node.c.erb"
247
+ case YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE:
248
+ yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_or_write_node_t *)node)->value);
249
+ break;
249
250
  #line 81 "node.c.erb"
250
251
  case YP_NODE_CLASS_VARIABLE_READ_NODE:
251
252
  break;
253
+ #line 81 "node.c.erb"
254
+ case YP_NODE_CLASS_VARIABLE_TARGET_NODE:
255
+ break;
252
256
  #line 81 "node.c.erb"
253
257
  case YP_NODE_CLASS_VARIABLE_WRITE_NODE:
254
258
  if (((yp_class_variable_write_node_t *)node)->value != NULL) {
@@ -256,17 +260,22 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
256
260
  }
257
261
  break;
258
262
  #line 81 "node.c.erb"
259
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE:
260
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_operator_and_write_node_t *)node)->value);
261
- break;
262
- #line 81 "node.c.erb"
263
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE:
264
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_operator_or_write_node_t *)node)->value);
263
+ case YP_NODE_CONSTANT_AND_WRITE_NODE:
264
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_and_write_node_t *)node)->value);
265
265
  break;
266
266
  #line 81 "node.c.erb"
267
267
  case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE:
268
268
  yp_node_destroy(parser, (yp_node_t *)((yp_constant_operator_write_node_t *)node)->value);
269
269
  break;
270
+ #line 81 "node.c.erb"
271
+ case YP_NODE_CONSTANT_OR_WRITE_NODE:
272
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_or_write_node_t *)node)->value);
273
+ break;
274
+ #line 81 "node.c.erb"
275
+ case YP_NODE_CONSTANT_PATH_AND_WRITE_NODE:
276
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_and_write_node_t *)node)->target);
277
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_and_write_node_t *)node)->value);
278
+ break;
270
279
  #line 81 "node.c.erb"
271
280
  case YP_NODE_CONSTANT_PATH_NODE:
272
281
  if (((yp_constant_path_node_t *)node)->parent != NULL) {
@@ -275,35 +284,36 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
275
284
  yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_node_t *)node)->child);
276
285
  break;
277
286
  #line 81 "node.c.erb"
278
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE:
279
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->target);
280
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->value);
287
+ case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE:
288
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target);
289
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->value);
281
290
  break;
282
291
  #line 81 "node.c.erb"
283
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE:
284
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->target);
285
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->value);
292
+ case YP_NODE_CONSTANT_PATH_OR_WRITE_NODE:
293
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_or_write_node_t *)node)->target);
294
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_or_write_node_t *)node)->value);
286
295
  break;
287
296
  #line 81 "node.c.erb"
288
- case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE:
289
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target);
290
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->value);
297
+ case YP_NODE_CONSTANT_PATH_TARGET_NODE:
298
+ if (((yp_constant_path_target_node_t *)node)->parent != NULL) {
299
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_target_node_t *)node)->parent);
300
+ }
301
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_target_node_t *)node)->child);
291
302
  break;
292
303
  #line 81 "node.c.erb"
293
304
  case YP_NODE_CONSTANT_PATH_WRITE_NODE:
294
305
  yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->target);
295
- if (((yp_constant_path_write_node_t *)node)->value != NULL) {
296
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->value);
297
- }
306
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->value);
298
307
  break;
299
308
  #line 81 "node.c.erb"
300
309
  case YP_NODE_CONSTANT_READ_NODE:
301
310
  break;
311
+ #line 81 "node.c.erb"
312
+ case YP_NODE_CONSTANT_TARGET_NODE:
313
+ break;
302
314
  #line 81 "node.c.erb"
303
315
  case YP_NODE_CONSTANT_WRITE_NODE:
304
- if (((yp_constant_write_node_t *)node)->value != NULL) {
305
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
306
- }
316
+ yp_node_destroy(parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
307
317
  break;
308
318
  #line 81 "node.c.erb"
309
319
  case YP_NODE_DEF_NODE:
@@ -313,8 +323,8 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
313
323
  if (((yp_def_node_t *)node)->parameters != NULL) {
314
324
  yp_node_destroy(parser, (yp_node_t *)((yp_def_node_t *)node)->parameters);
315
325
  }
316
- if (((yp_def_node_t *)node)->statements != NULL) {
317
- yp_node_destroy(parser, (yp_node_t *)((yp_def_node_t *)node)->statements);
326
+ if (((yp_def_node_t *)node)->body != NULL) {
327
+ yp_node_destroy(parser, (yp_node_t *)((yp_def_node_t *)node)->body);
318
328
  }
319
329
  yp_constant_id_list_free(&((yp_def_node_t *)node)->locals);
320
330
  break;
@@ -389,25 +399,26 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
389
399
  }
390
400
  break;
391
401
  #line 81 "node.c.erb"
392
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
393
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_operator_and_write_node_t *)node)->value);
394
- break;
395
- #line 81 "node.c.erb"
396
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
397
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_operator_or_write_node_t *)node)->value);
402
+ case YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE:
403
+ yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_and_write_node_t *)node)->value);
398
404
  break;
399
405
  #line 81 "node.c.erb"
400
406
  case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE:
401
407
  yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_operator_write_node_t *)node)->value);
402
408
  break;
409
+ #line 81 "node.c.erb"
410
+ case YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE:
411
+ yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_or_write_node_t *)node)->value);
412
+ break;
403
413
  #line 81 "node.c.erb"
404
414
  case YP_NODE_GLOBAL_VARIABLE_READ_NODE:
405
415
  break;
416
+ #line 81 "node.c.erb"
417
+ case YP_NODE_GLOBAL_VARIABLE_TARGET_NODE:
418
+ break;
406
419
  #line 81 "node.c.erb"
407
420
  case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE:
408
- if (((yp_global_variable_write_node_t *)node)->value != NULL) {
409
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
410
- }
421
+ yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
411
422
  break;
412
423
  #line 81 "node.c.erb"
413
424
  case YP_NODE_HASH_NODE:
@@ -445,25 +456,26 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
445
456
  }
446
457
  break;
447
458
  #line 81 "node.c.erb"
448
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE:
449
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_operator_and_write_node_t *)node)->value);
450
- break;
451
- #line 81 "node.c.erb"
452
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE:
453
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_operator_or_write_node_t *)node)->value);
459
+ case YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE:
460
+ yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_and_write_node_t *)node)->value);
454
461
  break;
455
462
  #line 81 "node.c.erb"
456
463
  case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE:
457
464
  yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_operator_write_node_t *)node)->value);
458
465
  break;
466
+ #line 81 "node.c.erb"
467
+ case YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE:
468
+ yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_or_write_node_t *)node)->value);
469
+ break;
459
470
  #line 81 "node.c.erb"
460
471
  case YP_NODE_INSTANCE_VARIABLE_READ_NODE:
461
472
  break;
473
+ #line 81 "node.c.erb"
474
+ case YP_NODE_INSTANCE_VARIABLE_TARGET_NODE:
475
+ break;
462
476
  #line 81 "node.c.erb"
463
477
  case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE:
464
- if (((yp_instance_variable_write_node_t *)node)->value != NULL) {
465
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_write_node_t *)node)->value);
466
- }
478
+ yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_write_node_t *)node)->value);
467
479
  break;
468
480
  #line 81 "node.c.erb"
469
481
  case YP_NODE_INTEGER_NODE:
@@ -503,30 +515,31 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
503
515
  if (((yp_lambda_node_t *)node)->parameters != NULL) {
504
516
  yp_node_destroy(parser, (yp_node_t *)((yp_lambda_node_t *)node)->parameters);
505
517
  }
506
- if (((yp_lambda_node_t *)node)->statements != NULL) {
507
- yp_node_destroy(parser, (yp_node_t *)((yp_lambda_node_t *)node)->statements);
518
+ if (((yp_lambda_node_t *)node)->body != NULL) {
519
+ yp_node_destroy(parser, (yp_node_t *)((yp_lambda_node_t *)node)->body);
508
520
  }
509
521
  break;
510
522
  #line 81 "node.c.erb"
511
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
512
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_operator_and_write_node_t *)node)->value);
513
- break;
514
- #line 81 "node.c.erb"
515
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
516
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_operator_or_write_node_t *)node)->value);
523
+ case YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE:
524
+ yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_and_write_node_t *)node)->value);
517
525
  break;
518
526
  #line 81 "node.c.erb"
519
527
  case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE:
520
528
  yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_operator_write_node_t *)node)->value);
521
529
  break;
530
+ #line 81 "node.c.erb"
531
+ case YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE:
532
+ yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_or_write_node_t *)node)->value);
533
+ break;
522
534
  #line 81 "node.c.erb"
523
535
  case YP_NODE_LOCAL_VARIABLE_READ_NODE:
524
536
  break;
537
+ #line 81 "node.c.erb"
538
+ case YP_NODE_LOCAL_VARIABLE_TARGET_NODE:
539
+ break;
525
540
  #line 81 "node.c.erb"
526
541
  case YP_NODE_LOCAL_VARIABLE_WRITE_NODE:
527
- if (((yp_local_variable_write_node_t *)node)->value != NULL) {
528
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
529
- }
542
+ yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
530
543
  break;
531
544
  #line 81 "node.c.erb"
532
545
  case YP_NODE_MATCH_PREDICATE_NODE:
@@ -545,9 +558,10 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
545
558
  case YP_NODE_MODULE_NODE:
546
559
  yp_constant_id_list_free(&((yp_module_node_t *)node)->locals);
547
560
  yp_node_destroy(parser, (yp_node_t *)((yp_module_node_t *)node)->constant_path);
548
- if (((yp_module_node_t *)node)->statements != NULL) {
549
- yp_node_destroy(parser, (yp_node_t *)((yp_module_node_t *)node)->statements);
561
+ if (((yp_module_node_t *)node)->body != NULL) {
562
+ yp_node_destroy(parser, (yp_node_t *)((yp_module_node_t *)node)->body);
550
563
  }
564
+ yp_string_free(&((yp_module_node_t *)node)->name);
551
565
  break;
552
566
  #line 81 "node.c.erb"
553
567
  case YP_NODE_MULTI_WRITE_NODE:
@@ -598,8 +612,8 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
598
612
  break;
599
613
  #line 81 "node.c.erb"
600
614
  case YP_NODE_PARENTHESES_NODE:
601
- if (((yp_parentheses_node_t *)node)->statements != NULL) {
602
- yp_node_destroy(parser, (yp_node_t *)((yp_parentheses_node_t *)node)->statements);
615
+ if (((yp_parentheses_node_t *)node)->body != NULL) {
616
+ yp_node_destroy(parser, (yp_node_t *)((yp_parentheses_node_t *)node)->body);
603
617
  }
604
618
  break;
605
619
  #line 81 "node.c.erb"
@@ -691,8 +705,8 @@ yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
691
705
  case YP_NODE_SINGLETON_CLASS_NODE:
692
706
  yp_constant_id_list_free(&((yp_singleton_class_node_t *)node)->locals);
693
707
  yp_node_destroy(parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->expression);
694
- if (((yp_singleton_class_node_t *)node)->statements != NULL) {
695
- yp_node_destroy(parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->statements);
708
+ if (((yp_singleton_class_node_t *)node)->body != NULL) {
709
+ yp_node_destroy(parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->body);
696
710
  }
697
711
  break;
698
712
  #line 81 "node.c.erb"
@@ -798,40 +812,44 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
798
812
  memsize->node_count++;
799
813
 
800
814
  switch (YP_NODE_TYPE(node)) {
801
- #line 120 "node.c.erb"
815
+ // We do not calculate memsize of a ScopeNode
816
+ // as it should never be generated
817
+ case YP_NODE_SCOPE_NODE:
818
+ return;
819
+ #line 124 "node.c.erb"
802
820
  case YP_NODE_ALIAS_NODE: {
803
821
  memsize->memsize += sizeof(yp_alias_node_t);
804
822
  yp_node_memsize_node((yp_node_t *)((yp_alias_node_t *)node)->new_name, memsize);
805
823
  yp_node_memsize_node((yp_node_t *)((yp_alias_node_t *)node)->old_name, memsize);
806
824
  break;
807
825
  }
808
- #line 120 "node.c.erb"
826
+ #line 124 "node.c.erb"
809
827
  case YP_NODE_ALTERNATION_PATTERN_NODE: {
810
828
  memsize->memsize += sizeof(yp_alternation_pattern_node_t);
811
829
  yp_node_memsize_node((yp_node_t *)((yp_alternation_pattern_node_t *)node)->left, memsize);
812
830
  yp_node_memsize_node((yp_node_t *)((yp_alternation_pattern_node_t *)node)->right, memsize);
813
831
  break;
814
832
  }
815
- #line 120 "node.c.erb"
833
+ #line 124 "node.c.erb"
816
834
  case YP_NODE_AND_NODE: {
817
835
  memsize->memsize += sizeof(yp_and_node_t);
818
836
  yp_node_memsize_node((yp_node_t *)((yp_and_node_t *)node)->left, memsize);
819
837
  yp_node_memsize_node((yp_node_t *)((yp_and_node_t *)node)->right, memsize);
820
838
  break;
821
839
  }
822
- #line 120 "node.c.erb"
840
+ #line 124 "node.c.erb"
823
841
  case YP_NODE_ARGUMENTS_NODE: {
824
842
  memsize->memsize += sizeof(yp_arguments_node_t);
825
843
  yp_node_list_memsize(&((yp_arguments_node_t *)node)->arguments, memsize);
826
844
  break;
827
845
  }
828
- #line 120 "node.c.erb"
846
+ #line 124 "node.c.erb"
829
847
  case YP_NODE_ARRAY_NODE: {
830
848
  memsize->memsize += sizeof(yp_array_node_t);
831
849
  yp_node_list_memsize(&((yp_array_node_t *)node)->elements, memsize);
832
850
  break;
833
851
  }
834
- #line 120 "node.c.erb"
852
+ #line 124 "node.c.erb"
835
853
  case YP_NODE_ARRAY_PATTERN_NODE: {
836
854
  memsize->memsize += sizeof(yp_array_pattern_node_t);
837
855
  if (((yp_array_pattern_node_t *)node)->constant != NULL) {
@@ -844,7 +862,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
844
862
  yp_node_list_memsize(&((yp_array_pattern_node_t *)node)->posts, memsize);
845
863
  break;
846
864
  }
847
- #line 120 "node.c.erb"
865
+ #line 124 "node.c.erb"
848
866
  case YP_NODE_ASSOC_NODE: {
849
867
  memsize->memsize += sizeof(yp_assoc_node_t);
850
868
  yp_node_memsize_node((yp_node_t *)((yp_assoc_node_t *)node)->key, memsize);
@@ -853,7 +871,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
853
871
  }
854
872
  break;
855
873
  }
856
- #line 120 "node.c.erb"
874
+ #line 124 "node.c.erb"
857
875
  case YP_NODE_ASSOC_SPLAT_NODE: {
858
876
  memsize->memsize += sizeof(yp_assoc_splat_node_t);
859
877
  if (((yp_assoc_splat_node_t *)node)->value != NULL) {
@@ -861,12 +879,12 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
861
879
  }
862
880
  break;
863
881
  }
864
- #line 120 "node.c.erb"
882
+ #line 124 "node.c.erb"
865
883
  case YP_NODE_BACK_REFERENCE_READ_NODE: {
866
884
  memsize->memsize += sizeof(yp_back_reference_read_node_t);
867
885
  break;
868
886
  }
869
- #line 120 "node.c.erb"
887
+ #line 124 "node.c.erb"
870
888
  case YP_NODE_BEGIN_NODE: {
871
889
  memsize->memsize += sizeof(yp_begin_node_t);
872
890
  if (((yp_begin_node_t *)node)->statements != NULL) {
@@ -883,7 +901,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
883
901
  }
884
902
  break;
885
903
  }
886
- #line 120 "node.c.erb"
904
+ #line 124 "node.c.erb"
887
905
  case YP_NODE_BLOCK_ARGUMENT_NODE: {
888
906
  memsize->memsize += sizeof(yp_block_argument_node_t);
889
907
  if (((yp_block_argument_node_t *)node)->expression != NULL) {
@@ -891,24 +909,24 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
891
909
  }
892
910
  break;
893
911
  }
894
- #line 120 "node.c.erb"
912
+ #line 124 "node.c.erb"
895
913
  case YP_NODE_BLOCK_NODE: {
896
914
  memsize->memsize += sizeof(yp_block_node_t);
897
915
  memsize->memsize += yp_constant_id_list_memsize(&((yp_block_node_t *)node)->locals);
898
916
  if (((yp_block_node_t *)node)->parameters != NULL) {
899
917
  yp_node_memsize_node((yp_node_t *)((yp_block_node_t *)node)->parameters, memsize);
900
918
  }
901
- if (((yp_block_node_t *)node)->statements != NULL) {
902
- yp_node_memsize_node((yp_node_t *)((yp_block_node_t *)node)->statements, memsize);
919
+ if (((yp_block_node_t *)node)->body != NULL) {
920
+ yp_node_memsize_node((yp_node_t *)((yp_block_node_t *)node)->body, memsize);
903
921
  }
904
922
  break;
905
923
  }
906
- #line 120 "node.c.erb"
924
+ #line 124 "node.c.erb"
907
925
  case YP_NODE_BLOCK_PARAMETER_NODE: {
908
926
  memsize->memsize += sizeof(yp_block_parameter_node_t);
909
927
  break;
910
928
  }
911
- #line 120 "node.c.erb"
929
+ #line 124 "node.c.erb"
912
930
  case YP_NODE_BLOCK_PARAMETERS_NODE: {
913
931
  memsize->memsize += sizeof(yp_block_parameters_node_t);
914
932
  if (((yp_block_parameters_node_t *)node)->parameters != NULL) {
@@ -917,7 +935,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
917
935
  memsize->memsize += yp_location_list_memsize(&((yp_block_parameters_node_t *)node)->locals);
918
936
  break;
919
937
  }
920
- #line 120 "node.c.erb"
938
+ #line 124 "node.c.erb"
921
939
  case YP_NODE_BREAK_NODE: {
922
940
  memsize->memsize += sizeof(yp_break_node_t);
923
941
  if (((yp_break_node_t *)node)->arguments != NULL) {
@@ -925,7 +943,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
925
943
  }
926
944
  break;
927
945
  }
928
- #line 120 "node.c.erb"
946
+ #line 124 "node.c.erb"
929
947
  case YP_NODE_CALL_NODE: {
930
948
  memsize->memsize += sizeof(yp_call_node_t);
931
949
  if (((yp_call_node_t *)node)->receiver != NULL) {
@@ -940,35 +958,35 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
940
958
  memsize->memsize += yp_string_memsize(&((yp_call_node_t *)node)->name);
941
959
  break;
942
960
  }
943
- #line 120 "node.c.erb"
961
+ #line 124 "node.c.erb"
944
962
  case YP_NODE_CALL_OPERATOR_AND_WRITE_NODE: {
945
963
  memsize->memsize += sizeof(yp_call_operator_and_write_node_t);
946
964
  yp_node_memsize_node((yp_node_t *)((yp_call_operator_and_write_node_t *)node)->target, memsize);
947
965
  yp_node_memsize_node((yp_node_t *)((yp_call_operator_and_write_node_t *)node)->value, memsize);
948
966
  break;
949
967
  }
950
- #line 120 "node.c.erb"
968
+ #line 124 "node.c.erb"
951
969
  case YP_NODE_CALL_OPERATOR_OR_WRITE_NODE: {
952
970
  memsize->memsize += sizeof(yp_call_operator_or_write_node_t);
953
971
  yp_node_memsize_node((yp_node_t *)((yp_call_operator_or_write_node_t *)node)->target, memsize);
954
972
  yp_node_memsize_node((yp_node_t *)((yp_call_operator_or_write_node_t *)node)->value, memsize);
955
973
  break;
956
974
  }
957
- #line 120 "node.c.erb"
975
+ #line 124 "node.c.erb"
958
976
  case YP_NODE_CALL_OPERATOR_WRITE_NODE: {
959
977
  memsize->memsize += sizeof(yp_call_operator_write_node_t);
960
978
  yp_node_memsize_node((yp_node_t *)((yp_call_operator_write_node_t *)node)->target, memsize);
961
979
  yp_node_memsize_node((yp_node_t *)((yp_call_operator_write_node_t *)node)->value, memsize);
962
980
  break;
963
981
  }
964
- #line 120 "node.c.erb"
982
+ #line 124 "node.c.erb"
965
983
  case YP_NODE_CAPTURE_PATTERN_NODE: {
966
984
  memsize->memsize += sizeof(yp_capture_pattern_node_t);
967
985
  yp_node_memsize_node((yp_node_t *)((yp_capture_pattern_node_t *)node)->value, memsize);
968
986
  yp_node_memsize_node((yp_node_t *)((yp_capture_pattern_node_t *)node)->target, memsize);
969
987
  break;
970
988
  }
971
- #line 120 "node.c.erb"
989
+ #line 124 "node.c.erb"
972
990
  case YP_NODE_CASE_NODE: {
973
991
  memsize->memsize += sizeof(yp_case_node_t);
974
992
  if (((yp_case_node_t *)node)->predicate != NULL) {
@@ -980,7 +998,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
980
998
  }
981
999
  break;
982
1000
  }
983
- #line 120 "node.c.erb"
1001
+ #line 124 "node.c.erb"
984
1002
  case YP_NODE_CLASS_NODE: {
985
1003
  memsize->memsize += sizeof(yp_class_node_t);
986
1004
  memsize->memsize += yp_constant_id_list_memsize(&((yp_class_node_t *)node)->locals);
@@ -988,35 +1006,41 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
988
1006
  if (((yp_class_node_t *)node)->superclass != NULL) {
989
1007
  yp_node_memsize_node((yp_node_t *)((yp_class_node_t *)node)->superclass, memsize);
990
1008
  }
991
- if (((yp_class_node_t *)node)->statements != NULL) {
992
- yp_node_memsize_node((yp_node_t *)((yp_class_node_t *)node)->statements, memsize);
1009
+ if (((yp_class_node_t *)node)->body != NULL) {
1010
+ yp_node_memsize_node((yp_node_t *)((yp_class_node_t *)node)->body, memsize);
993
1011
  }
1012
+ memsize->memsize += yp_string_memsize(&((yp_class_node_t *)node)->name);
994
1013
  break;
995
1014
  }
996
- #line 120 "node.c.erb"
997
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE: {
998
- memsize->memsize += sizeof(yp_class_variable_operator_and_write_node_t);
999
- yp_node_memsize_node((yp_node_t *)((yp_class_variable_operator_and_write_node_t *)node)->value, memsize);
1000
- break;
1001
- }
1002
- #line 120 "node.c.erb"
1003
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE: {
1004
- memsize->memsize += sizeof(yp_class_variable_operator_or_write_node_t);
1005
- yp_node_memsize_node((yp_node_t *)((yp_class_variable_operator_or_write_node_t *)node)->value, memsize);
1015
+ #line 124 "node.c.erb"
1016
+ case YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE: {
1017
+ memsize->memsize += sizeof(yp_class_variable_and_write_node_t);
1018
+ yp_node_memsize_node((yp_node_t *)((yp_class_variable_and_write_node_t *)node)->value, memsize);
1006
1019
  break;
1007
1020
  }
1008
- #line 120 "node.c.erb"
1021
+ #line 124 "node.c.erb"
1009
1022
  case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
1010
1023
  memsize->memsize += sizeof(yp_class_variable_operator_write_node_t);
1011
1024
  yp_node_memsize_node((yp_node_t *)((yp_class_variable_operator_write_node_t *)node)->value, memsize);
1012
1025
  break;
1013
1026
  }
1014
- #line 120 "node.c.erb"
1027
+ #line 124 "node.c.erb"
1028
+ case YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE: {
1029
+ memsize->memsize += sizeof(yp_class_variable_or_write_node_t);
1030
+ yp_node_memsize_node((yp_node_t *)((yp_class_variable_or_write_node_t *)node)->value, memsize);
1031
+ break;
1032
+ }
1033
+ #line 124 "node.c.erb"
1015
1034
  case YP_NODE_CLASS_VARIABLE_READ_NODE: {
1016
1035
  memsize->memsize += sizeof(yp_class_variable_read_node_t);
1017
1036
  break;
1018
1037
  }
1019
- #line 120 "node.c.erb"
1038
+ #line 124 "node.c.erb"
1039
+ case YP_NODE_CLASS_VARIABLE_TARGET_NODE: {
1040
+ memsize->memsize += sizeof(yp_class_variable_target_node_t);
1041
+ break;
1042
+ }
1043
+ #line 124 "node.c.erb"
1020
1044
  case YP_NODE_CLASS_VARIABLE_WRITE_NODE: {
1021
1045
  memsize->memsize += sizeof(yp_class_variable_write_node_t);
1022
1046
  if (((yp_class_variable_write_node_t *)node)->value != NULL) {
@@ -1024,25 +1048,32 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1024
1048
  }
1025
1049
  break;
1026
1050
  }
1027
- #line 120 "node.c.erb"
1028
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE: {
1029
- memsize->memsize += sizeof(yp_constant_operator_and_write_node_t);
1030
- yp_node_memsize_node((yp_node_t *)((yp_constant_operator_and_write_node_t *)node)->value, memsize);
1031
- break;
1032
- }
1033
- #line 120 "node.c.erb"
1034
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE: {
1035
- memsize->memsize += sizeof(yp_constant_operator_or_write_node_t);
1036
- yp_node_memsize_node((yp_node_t *)((yp_constant_operator_or_write_node_t *)node)->value, memsize);
1051
+ #line 124 "node.c.erb"
1052
+ case YP_NODE_CONSTANT_AND_WRITE_NODE: {
1053
+ memsize->memsize += sizeof(yp_constant_and_write_node_t);
1054
+ yp_node_memsize_node((yp_node_t *)((yp_constant_and_write_node_t *)node)->value, memsize);
1037
1055
  break;
1038
1056
  }
1039
- #line 120 "node.c.erb"
1057
+ #line 124 "node.c.erb"
1040
1058
  case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE: {
1041
1059
  memsize->memsize += sizeof(yp_constant_operator_write_node_t);
1042
1060
  yp_node_memsize_node((yp_node_t *)((yp_constant_operator_write_node_t *)node)->value, memsize);
1043
1061
  break;
1044
1062
  }
1045
- #line 120 "node.c.erb"
1063
+ #line 124 "node.c.erb"
1064
+ case YP_NODE_CONSTANT_OR_WRITE_NODE: {
1065
+ memsize->memsize += sizeof(yp_constant_or_write_node_t);
1066
+ yp_node_memsize_node((yp_node_t *)((yp_constant_or_write_node_t *)node)->value, memsize);
1067
+ break;
1068
+ }
1069
+ #line 124 "node.c.erb"
1070
+ case YP_NODE_CONSTANT_PATH_AND_WRITE_NODE: {
1071
+ memsize->memsize += sizeof(yp_constant_path_and_write_node_t);
1072
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_and_write_node_t *)node)->target, memsize);
1073
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_and_write_node_t *)node)->value, memsize);
1074
+ break;
1075
+ }
1076
+ #line 124 "node.c.erb"
1046
1077
  case YP_NODE_CONSTANT_PATH_NODE: {
1047
1078
  memsize->memsize += sizeof(yp_constant_path_node_t);
1048
1079
  if (((yp_constant_path_node_t *)node)->parent != NULL) {
@@ -1051,50 +1082,53 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1051
1082
  yp_node_memsize_node((yp_node_t *)((yp_constant_path_node_t *)node)->child, memsize);
1052
1083
  break;
1053
1084
  }
1054
- #line 120 "node.c.erb"
1055
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE: {
1056
- memsize->memsize += sizeof(yp_constant_path_operator_and_write_node_t);
1057
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->target, memsize);
1058
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->value, memsize);
1059
- break;
1060
- }
1061
- #line 120 "node.c.erb"
1062
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE: {
1063
- memsize->memsize += sizeof(yp_constant_path_operator_or_write_node_t);
1064
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->target, memsize);
1065
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->value, memsize);
1066
- break;
1067
- }
1068
- #line 120 "node.c.erb"
1085
+ #line 124 "node.c.erb"
1069
1086
  case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
1070
1087
  memsize->memsize += sizeof(yp_constant_path_operator_write_node_t);
1071
1088
  yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target, memsize);
1072
1089
  yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->value, memsize);
1073
1090
  break;
1074
1091
  }
1075
- #line 120 "node.c.erb"
1092
+ #line 124 "node.c.erb"
1093
+ case YP_NODE_CONSTANT_PATH_OR_WRITE_NODE: {
1094
+ memsize->memsize += sizeof(yp_constant_path_or_write_node_t);
1095
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_or_write_node_t *)node)->target, memsize);
1096
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_or_write_node_t *)node)->value, memsize);
1097
+ break;
1098
+ }
1099
+ #line 124 "node.c.erb"
1100
+ case YP_NODE_CONSTANT_PATH_TARGET_NODE: {
1101
+ memsize->memsize += sizeof(yp_constant_path_target_node_t);
1102
+ if (((yp_constant_path_target_node_t *)node)->parent != NULL) {
1103
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_target_node_t *)node)->parent, memsize);
1104
+ }
1105
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_target_node_t *)node)->child, memsize);
1106
+ break;
1107
+ }
1108
+ #line 124 "node.c.erb"
1076
1109
  case YP_NODE_CONSTANT_PATH_WRITE_NODE: {
1077
1110
  memsize->memsize += sizeof(yp_constant_path_write_node_t);
1078
1111
  yp_node_memsize_node((yp_node_t *)((yp_constant_path_write_node_t *)node)->target, memsize);
1079
- if (((yp_constant_path_write_node_t *)node)->value != NULL) {
1080
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_write_node_t *)node)->value, memsize);
1081
- }
1112
+ yp_node_memsize_node((yp_node_t *)((yp_constant_path_write_node_t *)node)->value, memsize);
1082
1113
  break;
1083
1114
  }
1084
- #line 120 "node.c.erb"
1115
+ #line 124 "node.c.erb"
1085
1116
  case YP_NODE_CONSTANT_READ_NODE: {
1086
1117
  memsize->memsize += sizeof(yp_constant_read_node_t);
1087
1118
  break;
1088
1119
  }
1089
- #line 120 "node.c.erb"
1120
+ #line 124 "node.c.erb"
1121
+ case YP_NODE_CONSTANT_TARGET_NODE: {
1122
+ memsize->memsize += sizeof(yp_constant_target_node_t);
1123
+ break;
1124
+ }
1125
+ #line 124 "node.c.erb"
1090
1126
  case YP_NODE_CONSTANT_WRITE_NODE: {
1091
1127
  memsize->memsize += sizeof(yp_constant_write_node_t);
1092
- if (((yp_constant_write_node_t *)node)->value != NULL) {
1093
- yp_node_memsize_node((yp_node_t *)((yp_constant_write_node_t *)node)->value, memsize);
1094
- }
1128
+ yp_node_memsize_node((yp_node_t *)((yp_constant_write_node_t *)node)->value, memsize);
1095
1129
  break;
1096
1130
  }
1097
- #line 120 "node.c.erb"
1131
+ #line 124 "node.c.erb"
1098
1132
  case YP_NODE_DEF_NODE: {
1099
1133
  memsize->memsize += sizeof(yp_def_node_t);
1100
1134
  if (((yp_def_node_t *)node)->receiver != NULL) {
@@ -1103,19 +1137,19 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1103
1137
  if (((yp_def_node_t *)node)->parameters != NULL) {
1104
1138
  yp_node_memsize_node((yp_node_t *)((yp_def_node_t *)node)->parameters, memsize);
1105
1139
  }
1106
- if (((yp_def_node_t *)node)->statements != NULL) {
1107
- yp_node_memsize_node((yp_node_t *)((yp_def_node_t *)node)->statements, memsize);
1140
+ if (((yp_def_node_t *)node)->body != NULL) {
1141
+ yp_node_memsize_node((yp_node_t *)((yp_def_node_t *)node)->body, memsize);
1108
1142
  }
1109
1143
  memsize->memsize += yp_constant_id_list_memsize(&((yp_def_node_t *)node)->locals);
1110
1144
  break;
1111
1145
  }
1112
- #line 120 "node.c.erb"
1146
+ #line 124 "node.c.erb"
1113
1147
  case YP_NODE_DEFINED_NODE: {
1114
1148
  memsize->memsize += sizeof(yp_defined_node_t);
1115
1149
  yp_node_memsize_node((yp_node_t *)((yp_defined_node_t *)node)->value, memsize);
1116
1150
  break;
1117
1151
  }
1118
- #line 120 "node.c.erb"
1152
+ #line 124 "node.c.erb"
1119
1153
  case YP_NODE_ELSE_NODE: {
1120
1154
  memsize->memsize += sizeof(yp_else_node_t);
1121
1155
  if (((yp_else_node_t *)node)->statements != NULL) {
@@ -1123,7 +1157,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1123
1157
  }
1124
1158
  break;
1125
1159
  }
1126
- #line 120 "node.c.erb"
1160
+ #line 124 "node.c.erb"
1127
1161
  case YP_NODE_EMBEDDED_STATEMENTS_NODE: {
1128
1162
  memsize->memsize += sizeof(yp_embedded_statements_node_t);
1129
1163
  if (((yp_embedded_statements_node_t *)node)->statements != NULL) {
@@ -1131,13 +1165,13 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1131
1165
  }
1132
1166
  break;
1133
1167
  }
1134
- #line 120 "node.c.erb"
1168
+ #line 124 "node.c.erb"
1135
1169
  case YP_NODE_EMBEDDED_VARIABLE_NODE: {
1136
1170
  memsize->memsize += sizeof(yp_embedded_variable_node_t);
1137
1171
  yp_node_memsize_node((yp_node_t *)((yp_embedded_variable_node_t *)node)->variable, memsize);
1138
1172
  break;
1139
1173
  }
1140
- #line 120 "node.c.erb"
1174
+ #line 124 "node.c.erb"
1141
1175
  case YP_NODE_ENSURE_NODE: {
1142
1176
  memsize->memsize += sizeof(yp_ensure_node_t);
1143
1177
  if (((yp_ensure_node_t *)node)->statements != NULL) {
@@ -1145,12 +1179,12 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1145
1179
  }
1146
1180
  break;
1147
1181
  }
1148
- #line 120 "node.c.erb"
1182
+ #line 124 "node.c.erb"
1149
1183
  case YP_NODE_FALSE_NODE: {
1150
1184
  memsize->memsize += sizeof(yp_false_node_t);
1151
1185
  break;
1152
1186
  }
1153
- #line 120 "node.c.erb"
1187
+ #line 124 "node.c.erb"
1154
1188
  case YP_NODE_FIND_PATTERN_NODE: {
1155
1189
  memsize->memsize += sizeof(yp_find_pattern_node_t);
1156
1190
  if (((yp_find_pattern_node_t *)node)->constant != NULL) {
@@ -1161,7 +1195,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1161
1195
  yp_node_memsize_node((yp_node_t *)((yp_find_pattern_node_t *)node)->right, memsize);
1162
1196
  break;
1163
1197
  }
1164
- #line 120 "node.c.erb"
1198
+ #line 124 "node.c.erb"
1165
1199
  case YP_NODE_FLIP_FLOP_NODE: {
1166
1200
  memsize->memsize += sizeof(yp_flip_flop_node_t);
1167
1201
  if (((yp_flip_flop_node_t *)node)->left != NULL) {
@@ -1172,12 +1206,12 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1172
1206
  }
1173
1207
  break;
1174
1208
  }
1175
- #line 120 "node.c.erb"
1209
+ #line 124 "node.c.erb"
1176
1210
  case YP_NODE_FLOAT_NODE: {
1177
1211
  memsize->memsize += sizeof(yp_float_node_t);
1178
1212
  break;
1179
1213
  }
1180
- #line 120 "node.c.erb"
1214
+ #line 124 "node.c.erb"
1181
1215
  case YP_NODE_FOR_NODE: {
1182
1216
  memsize->memsize += sizeof(yp_for_node_t);
1183
1217
  yp_node_memsize_node((yp_node_t *)((yp_for_node_t *)node)->index, memsize);
@@ -1187,17 +1221,17 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1187
1221
  }
1188
1222
  break;
1189
1223
  }
1190
- #line 120 "node.c.erb"
1224
+ #line 124 "node.c.erb"
1191
1225
  case YP_NODE_FORWARDING_ARGUMENTS_NODE: {
1192
1226
  memsize->memsize += sizeof(yp_forwarding_arguments_node_t);
1193
1227
  break;
1194
1228
  }
1195
- #line 120 "node.c.erb"
1229
+ #line 124 "node.c.erb"
1196
1230
  case YP_NODE_FORWARDING_PARAMETER_NODE: {
1197
1231
  memsize->memsize += sizeof(yp_forwarding_parameter_node_t);
1198
1232
  break;
1199
1233
  }
1200
- #line 120 "node.c.erb"
1234
+ #line 124 "node.c.erb"
1201
1235
  case YP_NODE_FORWARDING_SUPER_NODE: {
1202
1236
  memsize->memsize += sizeof(yp_forwarding_super_node_t);
1203
1237
  if (((yp_forwarding_super_node_t *)node)->block != NULL) {
@@ -1205,44 +1239,47 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1205
1239
  }
1206
1240
  break;
1207
1241
  }
1208
- #line 120 "node.c.erb"
1209
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE: {
1210
- memsize->memsize += sizeof(yp_global_variable_operator_and_write_node_t);
1211
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_operator_and_write_node_t *)node)->value, memsize);
1212
- break;
1213
- }
1214
- #line 120 "node.c.erb"
1215
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE: {
1216
- memsize->memsize += sizeof(yp_global_variable_operator_or_write_node_t);
1217
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_operator_or_write_node_t *)node)->value, memsize);
1242
+ #line 124 "node.c.erb"
1243
+ case YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE: {
1244
+ memsize->memsize += sizeof(yp_global_variable_and_write_node_t);
1245
+ yp_node_memsize_node((yp_node_t *)((yp_global_variable_and_write_node_t *)node)->value, memsize);
1218
1246
  break;
1219
1247
  }
1220
- #line 120 "node.c.erb"
1248
+ #line 124 "node.c.erb"
1221
1249
  case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
1222
1250
  memsize->memsize += sizeof(yp_global_variable_operator_write_node_t);
1223
1251
  yp_node_memsize_node((yp_node_t *)((yp_global_variable_operator_write_node_t *)node)->value, memsize);
1224
1252
  break;
1225
1253
  }
1226
- #line 120 "node.c.erb"
1254
+ #line 124 "node.c.erb"
1255
+ case YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE: {
1256
+ memsize->memsize += sizeof(yp_global_variable_or_write_node_t);
1257
+ yp_node_memsize_node((yp_node_t *)((yp_global_variable_or_write_node_t *)node)->value, memsize);
1258
+ break;
1259
+ }
1260
+ #line 124 "node.c.erb"
1227
1261
  case YP_NODE_GLOBAL_VARIABLE_READ_NODE: {
1228
1262
  memsize->memsize += sizeof(yp_global_variable_read_node_t);
1229
1263
  break;
1230
1264
  }
1231
- #line 120 "node.c.erb"
1265
+ #line 124 "node.c.erb"
1266
+ case YP_NODE_GLOBAL_VARIABLE_TARGET_NODE: {
1267
+ memsize->memsize += sizeof(yp_global_variable_target_node_t);
1268
+ break;
1269
+ }
1270
+ #line 124 "node.c.erb"
1232
1271
  case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE: {
1233
1272
  memsize->memsize += sizeof(yp_global_variable_write_node_t);
1234
- if (((yp_global_variable_write_node_t *)node)->value != NULL) {
1235
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_write_node_t *)node)->value, memsize);
1236
- }
1273
+ yp_node_memsize_node((yp_node_t *)((yp_global_variable_write_node_t *)node)->value, memsize);
1237
1274
  break;
1238
1275
  }
1239
- #line 120 "node.c.erb"
1276
+ #line 124 "node.c.erb"
1240
1277
  case YP_NODE_HASH_NODE: {
1241
1278
  memsize->memsize += sizeof(yp_hash_node_t);
1242
1279
  yp_node_list_memsize(&((yp_hash_node_t *)node)->elements, memsize);
1243
1280
  break;
1244
1281
  }
1245
- #line 120 "node.c.erb"
1282
+ #line 124 "node.c.erb"
1246
1283
  case YP_NODE_HASH_PATTERN_NODE: {
1247
1284
  memsize->memsize += sizeof(yp_hash_pattern_node_t);
1248
1285
  if (((yp_hash_pattern_node_t *)node)->constant != NULL) {
@@ -1254,7 +1291,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1254
1291
  }
1255
1292
  break;
1256
1293
  }
1257
- #line 120 "node.c.erb"
1294
+ #line 124 "node.c.erb"
1258
1295
  case YP_NODE_IF_NODE: {
1259
1296
  memsize->memsize += sizeof(yp_if_node_t);
1260
1297
  yp_node_memsize_node((yp_node_t *)((yp_if_node_t *)node)->predicate, memsize);
@@ -1266,13 +1303,13 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1266
1303
  }
1267
1304
  break;
1268
1305
  }
1269
- #line 120 "node.c.erb"
1306
+ #line 124 "node.c.erb"
1270
1307
  case YP_NODE_IMAGINARY_NODE: {
1271
1308
  memsize->memsize += sizeof(yp_imaginary_node_t);
1272
1309
  yp_node_memsize_node((yp_node_t *)((yp_imaginary_node_t *)node)->numeric, memsize);
1273
1310
  break;
1274
1311
  }
1275
- #line 120 "node.c.erb"
1312
+ #line 124 "node.c.erb"
1276
1313
  case YP_NODE_IN_NODE: {
1277
1314
  memsize->memsize += sizeof(yp_in_node_t);
1278
1315
  yp_node_memsize_node((yp_node_t *)((yp_in_node_t *)node)->pattern, memsize);
@@ -1281,73 +1318,76 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1281
1318
  }
1282
1319
  break;
1283
1320
  }
1284
- #line 120 "node.c.erb"
1285
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE: {
1286
- memsize->memsize += sizeof(yp_instance_variable_operator_and_write_node_t);
1287
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_operator_and_write_node_t *)node)->value, memsize);
1321
+ #line 124 "node.c.erb"
1322
+ case YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE: {
1323
+ memsize->memsize += sizeof(yp_instance_variable_and_write_node_t);
1324
+ yp_node_memsize_node((yp_node_t *)((yp_instance_variable_and_write_node_t *)node)->value, memsize);
1288
1325
  break;
1289
1326
  }
1290
- #line 120 "node.c.erb"
1291
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE: {
1292
- memsize->memsize += sizeof(yp_instance_variable_operator_or_write_node_t);
1293
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_operator_or_write_node_t *)node)->value, memsize);
1294
- break;
1295
- }
1296
- #line 120 "node.c.erb"
1327
+ #line 124 "node.c.erb"
1297
1328
  case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
1298
1329
  memsize->memsize += sizeof(yp_instance_variable_operator_write_node_t);
1299
1330
  yp_node_memsize_node((yp_node_t *)((yp_instance_variable_operator_write_node_t *)node)->value, memsize);
1300
1331
  break;
1301
1332
  }
1302
- #line 120 "node.c.erb"
1333
+ #line 124 "node.c.erb"
1334
+ case YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE: {
1335
+ memsize->memsize += sizeof(yp_instance_variable_or_write_node_t);
1336
+ yp_node_memsize_node((yp_node_t *)((yp_instance_variable_or_write_node_t *)node)->value, memsize);
1337
+ break;
1338
+ }
1339
+ #line 124 "node.c.erb"
1303
1340
  case YP_NODE_INSTANCE_VARIABLE_READ_NODE: {
1304
1341
  memsize->memsize += sizeof(yp_instance_variable_read_node_t);
1305
1342
  break;
1306
1343
  }
1307
- #line 120 "node.c.erb"
1344
+ #line 124 "node.c.erb"
1345
+ case YP_NODE_INSTANCE_VARIABLE_TARGET_NODE: {
1346
+ memsize->memsize += sizeof(yp_instance_variable_target_node_t);
1347
+ break;
1348
+ }
1349
+ #line 124 "node.c.erb"
1308
1350
  case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE: {
1309
1351
  memsize->memsize += sizeof(yp_instance_variable_write_node_t);
1310
- if (((yp_instance_variable_write_node_t *)node)->value != NULL) {
1311
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_write_node_t *)node)->value, memsize);
1312
- }
1352
+ yp_node_memsize_node((yp_node_t *)((yp_instance_variable_write_node_t *)node)->value, memsize);
1313
1353
  break;
1314
1354
  }
1315
- #line 120 "node.c.erb"
1355
+ #line 124 "node.c.erb"
1316
1356
  case YP_NODE_INTEGER_NODE: {
1317
1357
  memsize->memsize += sizeof(yp_integer_node_t);
1318
1358
  break;
1319
1359
  }
1320
- #line 120 "node.c.erb"
1360
+ #line 124 "node.c.erb"
1321
1361
  case YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
1322
1362
  memsize->memsize += sizeof(yp_interpolated_regular_expression_node_t);
1323
1363
  yp_node_list_memsize(&((yp_interpolated_regular_expression_node_t *)node)->parts, memsize);
1324
1364
  break;
1325
1365
  }
1326
- #line 120 "node.c.erb"
1366
+ #line 124 "node.c.erb"
1327
1367
  case YP_NODE_INTERPOLATED_STRING_NODE: {
1328
1368
  memsize->memsize += sizeof(yp_interpolated_string_node_t);
1329
1369
  yp_node_list_memsize(&((yp_interpolated_string_node_t *)node)->parts, memsize);
1330
1370
  break;
1331
1371
  }
1332
- #line 120 "node.c.erb"
1372
+ #line 124 "node.c.erb"
1333
1373
  case YP_NODE_INTERPOLATED_SYMBOL_NODE: {
1334
1374
  memsize->memsize += sizeof(yp_interpolated_symbol_node_t);
1335
1375
  yp_node_list_memsize(&((yp_interpolated_symbol_node_t *)node)->parts, memsize);
1336
1376
  break;
1337
1377
  }
1338
- #line 120 "node.c.erb"
1378
+ #line 124 "node.c.erb"
1339
1379
  case YP_NODE_INTERPOLATED_X_STRING_NODE: {
1340
1380
  memsize->memsize += sizeof(yp_interpolated_x_string_node_t);
1341
1381
  yp_node_list_memsize(&((yp_interpolated_x_string_node_t *)node)->parts, memsize);
1342
1382
  break;
1343
1383
  }
1344
- #line 120 "node.c.erb"
1384
+ #line 124 "node.c.erb"
1345
1385
  case YP_NODE_KEYWORD_HASH_NODE: {
1346
1386
  memsize->memsize += sizeof(yp_keyword_hash_node_t);
1347
1387
  yp_node_list_memsize(&((yp_keyword_hash_node_t *)node)->elements, memsize);
1348
1388
  break;
1349
1389
  }
1350
- #line 120 "node.c.erb"
1390
+ #line 124 "node.c.erb"
1351
1391
  case YP_NODE_KEYWORD_PARAMETER_NODE: {
1352
1392
  memsize->memsize += sizeof(yp_keyword_parameter_node_t);
1353
1393
  if (((yp_keyword_parameter_node_t *)node)->value != NULL) {
@@ -1355,84 +1395,88 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1355
1395
  }
1356
1396
  break;
1357
1397
  }
1358
- #line 120 "node.c.erb"
1398
+ #line 124 "node.c.erb"
1359
1399
  case YP_NODE_KEYWORD_REST_PARAMETER_NODE: {
1360
1400
  memsize->memsize += sizeof(yp_keyword_rest_parameter_node_t);
1361
1401
  break;
1362
1402
  }
1363
- #line 120 "node.c.erb"
1403
+ #line 124 "node.c.erb"
1364
1404
  case YP_NODE_LAMBDA_NODE: {
1365
1405
  memsize->memsize += sizeof(yp_lambda_node_t);
1366
1406
  memsize->memsize += yp_constant_id_list_memsize(&((yp_lambda_node_t *)node)->locals);
1367
1407
  if (((yp_lambda_node_t *)node)->parameters != NULL) {
1368
1408
  yp_node_memsize_node((yp_node_t *)((yp_lambda_node_t *)node)->parameters, memsize);
1369
1409
  }
1370
- if (((yp_lambda_node_t *)node)->statements != NULL) {
1371
- yp_node_memsize_node((yp_node_t *)((yp_lambda_node_t *)node)->statements, memsize);
1410
+ if (((yp_lambda_node_t *)node)->body != NULL) {
1411
+ yp_node_memsize_node((yp_node_t *)((yp_lambda_node_t *)node)->body, memsize);
1372
1412
  }
1373
1413
  break;
1374
1414
  }
1375
- #line 120 "node.c.erb"
1376
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE: {
1377
- memsize->memsize += sizeof(yp_local_variable_operator_and_write_node_t);
1378
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_operator_and_write_node_t *)node)->value, memsize);
1379
- break;
1380
- }
1381
- #line 120 "node.c.erb"
1382
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE: {
1383
- memsize->memsize += sizeof(yp_local_variable_operator_or_write_node_t);
1384
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_operator_or_write_node_t *)node)->value, memsize);
1415
+ #line 124 "node.c.erb"
1416
+ case YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE: {
1417
+ memsize->memsize += sizeof(yp_local_variable_and_write_node_t);
1418
+ yp_node_memsize_node((yp_node_t *)((yp_local_variable_and_write_node_t *)node)->value, memsize);
1385
1419
  break;
1386
1420
  }
1387
- #line 120 "node.c.erb"
1421
+ #line 124 "node.c.erb"
1388
1422
  case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
1389
1423
  memsize->memsize += sizeof(yp_local_variable_operator_write_node_t);
1390
1424
  yp_node_memsize_node((yp_node_t *)((yp_local_variable_operator_write_node_t *)node)->value, memsize);
1391
1425
  break;
1392
1426
  }
1393
- #line 120 "node.c.erb"
1427
+ #line 124 "node.c.erb"
1428
+ case YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE: {
1429
+ memsize->memsize += sizeof(yp_local_variable_or_write_node_t);
1430
+ yp_node_memsize_node((yp_node_t *)((yp_local_variable_or_write_node_t *)node)->value, memsize);
1431
+ break;
1432
+ }
1433
+ #line 124 "node.c.erb"
1394
1434
  case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
1395
1435
  memsize->memsize += sizeof(yp_local_variable_read_node_t);
1396
1436
  break;
1397
1437
  }
1398
- #line 120 "node.c.erb"
1438
+ #line 124 "node.c.erb"
1439
+ case YP_NODE_LOCAL_VARIABLE_TARGET_NODE: {
1440
+ memsize->memsize += sizeof(yp_local_variable_target_node_t);
1441
+ break;
1442
+ }
1443
+ #line 124 "node.c.erb"
1399
1444
  case YP_NODE_LOCAL_VARIABLE_WRITE_NODE: {
1400
1445
  memsize->memsize += sizeof(yp_local_variable_write_node_t);
1401
- if (((yp_local_variable_write_node_t *)node)->value != NULL) {
1402
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_write_node_t *)node)->value, memsize);
1403
- }
1446
+ yp_node_memsize_node((yp_node_t *)((yp_local_variable_write_node_t *)node)->value, memsize);
1404
1447
  break;
1405
1448
  }
1406
- #line 120 "node.c.erb"
1449
+ #line 124 "node.c.erb"
1407
1450
  case YP_NODE_MATCH_PREDICATE_NODE: {
1408
1451
  memsize->memsize += sizeof(yp_match_predicate_node_t);
1409
1452
  yp_node_memsize_node((yp_node_t *)((yp_match_predicate_node_t *)node)->value, memsize);
1410
1453
  yp_node_memsize_node((yp_node_t *)((yp_match_predicate_node_t *)node)->pattern, memsize);
1411
1454
  break;
1412
1455
  }
1413
- #line 120 "node.c.erb"
1456
+ #line 124 "node.c.erb"
1414
1457
  case YP_NODE_MATCH_REQUIRED_NODE: {
1415
1458
  memsize->memsize += sizeof(yp_match_required_node_t);
1416
1459
  yp_node_memsize_node((yp_node_t *)((yp_match_required_node_t *)node)->value, memsize);
1417
1460
  yp_node_memsize_node((yp_node_t *)((yp_match_required_node_t *)node)->pattern, memsize);
1418
1461
  break;
1419
1462
  }
1420
- #line 120 "node.c.erb"
1463
+ #line 124 "node.c.erb"
1421
1464
  case YP_NODE_MISSING_NODE: {
1422
1465
  memsize->memsize += sizeof(yp_missing_node_t);
1423
1466
  break;
1424
1467
  }
1425
- #line 120 "node.c.erb"
1468
+ #line 124 "node.c.erb"
1426
1469
  case YP_NODE_MODULE_NODE: {
1427
1470
  memsize->memsize += sizeof(yp_module_node_t);
1428
1471
  memsize->memsize += yp_constant_id_list_memsize(&((yp_module_node_t *)node)->locals);
1429
1472
  yp_node_memsize_node((yp_node_t *)((yp_module_node_t *)node)->constant_path, memsize);
1430
- if (((yp_module_node_t *)node)->statements != NULL) {
1431
- yp_node_memsize_node((yp_node_t *)((yp_module_node_t *)node)->statements, memsize);
1473
+ if (((yp_module_node_t *)node)->body != NULL) {
1474
+ yp_node_memsize_node((yp_node_t *)((yp_module_node_t *)node)->body, memsize);
1432
1475
  }
1476
+ memsize->memsize += yp_string_memsize(&((yp_module_node_t *)node)->name);
1433
1477
  break;
1434
1478
  }
1435
- #line 120 "node.c.erb"
1479
+ #line 124 "node.c.erb"
1436
1480
  case YP_NODE_MULTI_WRITE_NODE: {
1437
1481
  memsize->memsize += sizeof(yp_multi_write_node_t);
1438
1482
  yp_node_list_memsize(&((yp_multi_write_node_t *)node)->targets, memsize);
@@ -1441,7 +1485,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1441
1485
  }
1442
1486
  break;
1443
1487
  }
1444
- #line 120 "node.c.erb"
1488
+ #line 124 "node.c.erb"
1445
1489
  case YP_NODE_NEXT_NODE: {
1446
1490
  memsize->memsize += sizeof(yp_next_node_t);
1447
1491
  if (((yp_next_node_t *)node)->arguments != NULL) {
@@ -1449,35 +1493,35 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1449
1493
  }
1450
1494
  break;
1451
1495
  }
1452
- #line 120 "node.c.erb"
1496
+ #line 124 "node.c.erb"
1453
1497
  case YP_NODE_NIL_NODE: {
1454
1498
  memsize->memsize += sizeof(yp_nil_node_t);
1455
1499
  break;
1456
1500
  }
1457
- #line 120 "node.c.erb"
1501
+ #line 124 "node.c.erb"
1458
1502
  case YP_NODE_NO_KEYWORDS_PARAMETER_NODE: {
1459
1503
  memsize->memsize += sizeof(yp_no_keywords_parameter_node_t);
1460
1504
  break;
1461
1505
  }
1462
- #line 120 "node.c.erb"
1506
+ #line 124 "node.c.erb"
1463
1507
  case YP_NODE_NUMBERED_REFERENCE_READ_NODE: {
1464
1508
  memsize->memsize += sizeof(yp_numbered_reference_read_node_t);
1465
1509
  break;
1466
1510
  }
1467
- #line 120 "node.c.erb"
1511
+ #line 124 "node.c.erb"
1468
1512
  case YP_NODE_OPTIONAL_PARAMETER_NODE: {
1469
1513
  memsize->memsize += sizeof(yp_optional_parameter_node_t);
1470
1514
  yp_node_memsize_node((yp_node_t *)((yp_optional_parameter_node_t *)node)->value, memsize);
1471
1515
  break;
1472
1516
  }
1473
- #line 120 "node.c.erb"
1517
+ #line 124 "node.c.erb"
1474
1518
  case YP_NODE_OR_NODE: {
1475
1519
  memsize->memsize += sizeof(yp_or_node_t);
1476
1520
  yp_node_memsize_node((yp_node_t *)((yp_or_node_t *)node)->left, memsize);
1477
1521
  yp_node_memsize_node((yp_node_t *)((yp_or_node_t *)node)->right, memsize);
1478
1522
  break;
1479
1523
  }
1480
- #line 120 "node.c.erb"
1524
+ #line 124 "node.c.erb"
1481
1525
  case YP_NODE_PARAMETERS_NODE: {
1482
1526
  memsize->memsize += sizeof(yp_parameters_node_t);
1483
1527
  yp_node_list_memsize(&((yp_parameters_node_t *)node)->requireds, memsize);
@@ -1495,27 +1539,27 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1495
1539
  }
1496
1540
  break;
1497
1541
  }
1498
- #line 120 "node.c.erb"
1542
+ #line 124 "node.c.erb"
1499
1543
  case YP_NODE_PARENTHESES_NODE: {
1500
1544
  memsize->memsize += sizeof(yp_parentheses_node_t);
1501
- if (((yp_parentheses_node_t *)node)->statements != NULL) {
1502
- yp_node_memsize_node((yp_node_t *)((yp_parentheses_node_t *)node)->statements, memsize);
1545
+ if (((yp_parentheses_node_t *)node)->body != NULL) {
1546
+ yp_node_memsize_node((yp_node_t *)((yp_parentheses_node_t *)node)->body, memsize);
1503
1547
  }
1504
1548
  break;
1505
1549
  }
1506
- #line 120 "node.c.erb"
1550
+ #line 124 "node.c.erb"
1507
1551
  case YP_NODE_PINNED_EXPRESSION_NODE: {
1508
1552
  memsize->memsize += sizeof(yp_pinned_expression_node_t);
1509
1553
  yp_node_memsize_node((yp_node_t *)((yp_pinned_expression_node_t *)node)->expression, memsize);
1510
1554
  break;
1511
1555
  }
1512
- #line 120 "node.c.erb"
1556
+ #line 124 "node.c.erb"
1513
1557
  case YP_NODE_PINNED_VARIABLE_NODE: {
1514
1558
  memsize->memsize += sizeof(yp_pinned_variable_node_t);
1515
1559
  yp_node_memsize_node((yp_node_t *)((yp_pinned_variable_node_t *)node)->variable, memsize);
1516
1560
  break;
1517
1561
  }
1518
- #line 120 "node.c.erb"
1562
+ #line 124 "node.c.erb"
1519
1563
  case YP_NODE_POST_EXECUTION_NODE: {
1520
1564
  memsize->memsize += sizeof(yp_post_execution_node_t);
1521
1565
  if (((yp_post_execution_node_t *)node)->statements != NULL) {
@@ -1523,7 +1567,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1523
1567
  }
1524
1568
  break;
1525
1569
  }
1526
- #line 120 "node.c.erb"
1570
+ #line 124 "node.c.erb"
1527
1571
  case YP_NODE_PRE_EXECUTION_NODE: {
1528
1572
  memsize->memsize += sizeof(yp_pre_execution_node_t);
1529
1573
  if (((yp_pre_execution_node_t *)node)->statements != NULL) {
@@ -1531,14 +1575,14 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1531
1575
  }
1532
1576
  break;
1533
1577
  }
1534
- #line 120 "node.c.erb"
1578
+ #line 124 "node.c.erb"
1535
1579
  case YP_NODE_PROGRAM_NODE: {
1536
1580
  memsize->memsize += sizeof(yp_program_node_t);
1537
1581
  memsize->memsize += yp_constant_id_list_memsize(&((yp_program_node_t *)node)->locals);
1538
1582
  yp_node_memsize_node((yp_node_t *)((yp_program_node_t *)node)->statements, memsize);
1539
1583
  break;
1540
1584
  }
1541
- #line 120 "node.c.erb"
1585
+ #line 124 "node.c.erb"
1542
1586
  case YP_NODE_RANGE_NODE: {
1543
1587
  memsize->memsize += sizeof(yp_range_node_t);
1544
1588
  if (((yp_range_node_t *)node)->left != NULL) {
@@ -1549,42 +1593,42 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1549
1593
  }
1550
1594
  break;
1551
1595
  }
1552
- #line 120 "node.c.erb"
1596
+ #line 124 "node.c.erb"
1553
1597
  case YP_NODE_RATIONAL_NODE: {
1554
1598
  memsize->memsize += sizeof(yp_rational_node_t);
1555
1599
  yp_node_memsize_node((yp_node_t *)((yp_rational_node_t *)node)->numeric, memsize);
1556
1600
  break;
1557
1601
  }
1558
- #line 120 "node.c.erb"
1602
+ #line 124 "node.c.erb"
1559
1603
  case YP_NODE_REDO_NODE: {
1560
1604
  memsize->memsize += sizeof(yp_redo_node_t);
1561
1605
  break;
1562
1606
  }
1563
- #line 120 "node.c.erb"
1607
+ #line 124 "node.c.erb"
1564
1608
  case YP_NODE_REGULAR_EXPRESSION_NODE: {
1565
1609
  memsize->memsize += sizeof(yp_regular_expression_node_t);
1566
1610
  memsize->memsize += yp_string_memsize(&((yp_regular_expression_node_t *)node)->unescaped);
1567
1611
  break;
1568
1612
  }
1569
- #line 120 "node.c.erb"
1613
+ #line 124 "node.c.erb"
1570
1614
  case YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE: {
1571
1615
  memsize->memsize += sizeof(yp_required_destructured_parameter_node_t);
1572
1616
  yp_node_list_memsize(&((yp_required_destructured_parameter_node_t *)node)->parameters, memsize);
1573
1617
  break;
1574
1618
  }
1575
- #line 120 "node.c.erb"
1619
+ #line 124 "node.c.erb"
1576
1620
  case YP_NODE_REQUIRED_PARAMETER_NODE: {
1577
1621
  memsize->memsize += sizeof(yp_required_parameter_node_t);
1578
1622
  break;
1579
1623
  }
1580
- #line 120 "node.c.erb"
1624
+ #line 124 "node.c.erb"
1581
1625
  case YP_NODE_RESCUE_MODIFIER_NODE: {
1582
1626
  memsize->memsize += sizeof(yp_rescue_modifier_node_t);
1583
1627
  yp_node_memsize_node((yp_node_t *)((yp_rescue_modifier_node_t *)node)->expression, memsize);
1584
1628
  yp_node_memsize_node((yp_node_t *)((yp_rescue_modifier_node_t *)node)->rescue_expression, memsize);
1585
1629
  break;
1586
1630
  }
1587
- #line 120 "node.c.erb"
1631
+ #line 124 "node.c.erb"
1588
1632
  case YP_NODE_RESCUE_NODE: {
1589
1633
  memsize->memsize += sizeof(yp_rescue_node_t);
1590
1634
  yp_node_list_memsize(&((yp_rescue_node_t *)node)->exceptions, memsize);
@@ -1599,17 +1643,17 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1599
1643
  }
1600
1644
  break;
1601
1645
  }
1602
- #line 120 "node.c.erb"
1646
+ #line 124 "node.c.erb"
1603
1647
  case YP_NODE_REST_PARAMETER_NODE: {
1604
1648
  memsize->memsize += sizeof(yp_rest_parameter_node_t);
1605
1649
  break;
1606
1650
  }
1607
- #line 120 "node.c.erb"
1651
+ #line 124 "node.c.erb"
1608
1652
  case YP_NODE_RETRY_NODE: {
1609
1653
  memsize->memsize += sizeof(yp_retry_node_t);
1610
1654
  break;
1611
1655
  }
1612
- #line 120 "node.c.erb"
1656
+ #line 124 "node.c.erb"
1613
1657
  case YP_NODE_RETURN_NODE: {
1614
1658
  memsize->memsize += sizeof(yp_return_node_t);
1615
1659
  if (((yp_return_node_t *)node)->arguments != NULL) {
@@ -1617,38 +1661,38 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1617
1661
  }
1618
1662
  break;
1619
1663
  }
1620
- #line 120 "node.c.erb"
1664
+ #line 124 "node.c.erb"
1621
1665
  case YP_NODE_SELF_NODE: {
1622
1666
  memsize->memsize += sizeof(yp_self_node_t);
1623
1667
  break;
1624
1668
  }
1625
- #line 120 "node.c.erb"
1669
+ #line 124 "node.c.erb"
1626
1670
  case YP_NODE_SINGLETON_CLASS_NODE: {
1627
1671
  memsize->memsize += sizeof(yp_singleton_class_node_t);
1628
1672
  memsize->memsize += yp_constant_id_list_memsize(&((yp_singleton_class_node_t *)node)->locals);
1629
1673
  yp_node_memsize_node((yp_node_t *)((yp_singleton_class_node_t *)node)->expression, memsize);
1630
- if (((yp_singleton_class_node_t *)node)->statements != NULL) {
1631
- yp_node_memsize_node((yp_node_t *)((yp_singleton_class_node_t *)node)->statements, memsize);
1674
+ if (((yp_singleton_class_node_t *)node)->body != NULL) {
1675
+ yp_node_memsize_node((yp_node_t *)((yp_singleton_class_node_t *)node)->body, memsize);
1632
1676
  }
1633
1677
  break;
1634
1678
  }
1635
- #line 120 "node.c.erb"
1679
+ #line 124 "node.c.erb"
1636
1680
  case YP_NODE_SOURCE_ENCODING_NODE: {
1637
1681
  memsize->memsize += sizeof(yp_source_encoding_node_t);
1638
1682
  break;
1639
1683
  }
1640
- #line 120 "node.c.erb"
1684
+ #line 124 "node.c.erb"
1641
1685
  case YP_NODE_SOURCE_FILE_NODE: {
1642
1686
  memsize->memsize += sizeof(yp_source_file_node_t);
1643
1687
  memsize->memsize += yp_string_memsize(&((yp_source_file_node_t *)node)->filepath);
1644
1688
  break;
1645
1689
  }
1646
- #line 120 "node.c.erb"
1690
+ #line 124 "node.c.erb"
1647
1691
  case YP_NODE_SOURCE_LINE_NODE: {
1648
1692
  memsize->memsize += sizeof(yp_source_line_node_t);
1649
1693
  break;
1650
1694
  }
1651
- #line 120 "node.c.erb"
1695
+ #line 124 "node.c.erb"
1652
1696
  case YP_NODE_SPLAT_NODE: {
1653
1697
  memsize->memsize += sizeof(yp_splat_node_t);
1654
1698
  if (((yp_splat_node_t *)node)->expression != NULL) {
@@ -1656,26 +1700,26 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1656
1700
  }
1657
1701
  break;
1658
1702
  }
1659
- #line 120 "node.c.erb"
1703
+ #line 124 "node.c.erb"
1660
1704
  case YP_NODE_STATEMENTS_NODE: {
1661
1705
  memsize->memsize += sizeof(yp_statements_node_t);
1662
1706
  yp_node_list_memsize(&((yp_statements_node_t *)node)->body, memsize);
1663
1707
  break;
1664
1708
  }
1665
- #line 120 "node.c.erb"
1709
+ #line 124 "node.c.erb"
1666
1710
  case YP_NODE_STRING_CONCAT_NODE: {
1667
1711
  memsize->memsize += sizeof(yp_string_concat_node_t);
1668
1712
  yp_node_memsize_node((yp_node_t *)((yp_string_concat_node_t *)node)->left, memsize);
1669
1713
  yp_node_memsize_node((yp_node_t *)((yp_string_concat_node_t *)node)->right, memsize);
1670
1714
  break;
1671
1715
  }
1672
- #line 120 "node.c.erb"
1716
+ #line 124 "node.c.erb"
1673
1717
  case YP_NODE_STRING_NODE: {
1674
1718
  memsize->memsize += sizeof(yp_string_node_t);
1675
1719
  memsize->memsize += yp_string_memsize(&((yp_string_node_t *)node)->unescaped);
1676
1720
  break;
1677
1721
  }
1678
- #line 120 "node.c.erb"
1722
+ #line 124 "node.c.erb"
1679
1723
  case YP_NODE_SUPER_NODE: {
1680
1724
  memsize->memsize += sizeof(yp_super_node_t);
1681
1725
  if (((yp_super_node_t *)node)->arguments != NULL) {
@@ -1686,24 +1730,24 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1686
1730
  }
1687
1731
  break;
1688
1732
  }
1689
- #line 120 "node.c.erb"
1733
+ #line 124 "node.c.erb"
1690
1734
  case YP_NODE_SYMBOL_NODE: {
1691
1735
  memsize->memsize += sizeof(yp_symbol_node_t);
1692
1736
  memsize->memsize += yp_string_memsize(&((yp_symbol_node_t *)node)->unescaped);
1693
1737
  break;
1694
1738
  }
1695
- #line 120 "node.c.erb"
1739
+ #line 124 "node.c.erb"
1696
1740
  case YP_NODE_TRUE_NODE: {
1697
1741
  memsize->memsize += sizeof(yp_true_node_t);
1698
1742
  break;
1699
1743
  }
1700
- #line 120 "node.c.erb"
1744
+ #line 124 "node.c.erb"
1701
1745
  case YP_NODE_UNDEF_NODE: {
1702
1746
  memsize->memsize += sizeof(yp_undef_node_t);
1703
1747
  yp_node_list_memsize(&((yp_undef_node_t *)node)->names, memsize);
1704
1748
  break;
1705
1749
  }
1706
- #line 120 "node.c.erb"
1750
+ #line 124 "node.c.erb"
1707
1751
  case YP_NODE_UNLESS_NODE: {
1708
1752
  memsize->memsize += sizeof(yp_unless_node_t);
1709
1753
  yp_node_memsize_node((yp_node_t *)((yp_unless_node_t *)node)->predicate, memsize);
@@ -1715,7 +1759,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1715
1759
  }
1716
1760
  break;
1717
1761
  }
1718
- #line 120 "node.c.erb"
1762
+ #line 124 "node.c.erb"
1719
1763
  case YP_NODE_UNTIL_NODE: {
1720
1764
  memsize->memsize += sizeof(yp_until_node_t);
1721
1765
  yp_node_memsize_node((yp_node_t *)((yp_until_node_t *)node)->predicate, memsize);
@@ -1724,7 +1768,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1724
1768
  }
1725
1769
  break;
1726
1770
  }
1727
- #line 120 "node.c.erb"
1771
+ #line 124 "node.c.erb"
1728
1772
  case YP_NODE_WHEN_NODE: {
1729
1773
  memsize->memsize += sizeof(yp_when_node_t);
1730
1774
  yp_node_list_memsize(&((yp_when_node_t *)node)->conditions, memsize);
@@ -1733,7 +1777,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1733
1777
  }
1734
1778
  break;
1735
1779
  }
1736
- #line 120 "node.c.erb"
1780
+ #line 124 "node.c.erb"
1737
1781
  case YP_NODE_WHILE_NODE: {
1738
1782
  memsize->memsize += sizeof(yp_while_node_t);
1739
1783
  yp_node_memsize_node((yp_node_t *)((yp_while_node_t *)node)->predicate, memsize);
@@ -1742,13 +1786,13 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1742
1786
  }
1743
1787
  break;
1744
1788
  }
1745
- #line 120 "node.c.erb"
1789
+ #line 124 "node.c.erb"
1746
1790
  case YP_NODE_X_STRING_NODE: {
1747
1791
  memsize->memsize += sizeof(yp_x_string_node_t);
1748
1792
  memsize->memsize += yp_string_memsize(&((yp_x_string_node_t *)node)->unescaped);
1749
1793
  break;
1750
1794
  }
1751
- #line 120 "node.c.erb"
1795
+ #line 124 "node.c.erb"
1752
1796
  case YP_NODE_YIELD_NODE: {
1753
1797
  memsize->memsize += sizeof(yp_yield_node_t);
1754
1798
  if (((yp_yield_node_t *)node)->arguments != NULL) {
@@ -1756,7 +1800,7 @@ yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
1756
1800
  }
1757
1801
  break;
1758
1802
  }
1759
- #line 147 "node.c.erb"
1803
+ #line 151 "node.c.erb"
1760
1804
  }
1761
1805
  }
1762
1806
 
@@ -1816,34 +1860,40 @@ yp_node_type_to_str(yp_node_type_t node_type)
1816
1860
  return "YP_NODE_CASE_NODE";
1817
1861
  case YP_NODE_CLASS_NODE:
1818
1862
  return "YP_NODE_CLASS_NODE";
1819
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE:
1820
- return "YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE";
1821
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE:
1822
- return "YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE";
1863
+ case YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE:
1864
+ return "YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE";
1823
1865
  case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE:
1824
1866
  return "YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE";
1867
+ case YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE:
1868
+ return "YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE";
1825
1869
  case YP_NODE_CLASS_VARIABLE_READ_NODE:
1826
1870
  return "YP_NODE_CLASS_VARIABLE_READ_NODE";
1871
+ case YP_NODE_CLASS_VARIABLE_TARGET_NODE:
1872
+ return "YP_NODE_CLASS_VARIABLE_TARGET_NODE";
1827
1873
  case YP_NODE_CLASS_VARIABLE_WRITE_NODE:
1828
1874
  return "YP_NODE_CLASS_VARIABLE_WRITE_NODE";
1829
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE:
1830
- return "YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE";
1831
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE:
1832
- return "YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE";
1875
+ case YP_NODE_CONSTANT_AND_WRITE_NODE:
1876
+ return "YP_NODE_CONSTANT_AND_WRITE_NODE";
1833
1877
  case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE:
1834
1878
  return "YP_NODE_CONSTANT_OPERATOR_WRITE_NODE";
1879
+ case YP_NODE_CONSTANT_OR_WRITE_NODE:
1880
+ return "YP_NODE_CONSTANT_OR_WRITE_NODE";
1881
+ case YP_NODE_CONSTANT_PATH_AND_WRITE_NODE:
1882
+ return "YP_NODE_CONSTANT_PATH_AND_WRITE_NODE";
1835
1883
  case YP_NODE_CONSTANT_PATH_NODE:
1836
1884
  return "YP_NODE_CONSTANT_PATH_NODE";
1837
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE:
1838
- return "YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE";
1839
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE:
1840
- return "YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE";
1841
1885
  case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE:
1842
1886
  return "YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE";
1887
+ case YP_NODE_CONSTANT_PATH_OR_WRITE_NODE:
1888
+ return "YP_NODE_CONSTANT_PATH_OR_WRITE_NODE";
1889
+ case YP_NODE_CONSTANT_PATH_TARGET_NODE:
1890
+ return "YP_NODE_CONSTANT_PATH_TARGET_NODE";
1843
1891
  case YP_NODE_CONSTANT_PATH_WRITE_NODE:
1844
1892
  return "YP_NODE_CONSTANT_PATH_WRITE_NODE";
1845
1893
  case YP_NODE_CONSTANT_READ_NODE:
1846
1894
  return "YP_NODE_CONSTANT_READ_NODE";
1895
+ case YP_NODE_CONSTANT_TARGET_NODE:
1896
+ return "YP_NODE_CONSTANT_TARGET_NODE";
1847
1897
  case YP_NODE_CONSTANT_WRITE_NODE:
1848
1898
  return "YP_NODE_CONSTANT_WRITE_NODE";
1849
1899
  case YP_NODE_DEF_NODE:
@@ -1874,14 +1924,16 @@ yp_node_type_to_str(yp_node_type_t node_type)
1874
1924
  return "YP_NODE_FORWARDING_PARAMETER_NODE";
1875
1925
  case YP_NODE_FORWARDING_SUPER_NODE:
1876
1926
  return "YP_NODE_FORWARDING_SUPER_NODE";
1877
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
1878
- return "YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE";
1879
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
1880
- return "YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE";
1927
+ case YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE:
1928
+ return "YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE";
1881
1929
  case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE:
1882
1930
  return "YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE";
1931
+ case YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE:
1932
+ return "YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE";
1883
1933
  case YP_NODE_GLOBAL_VARIABLE_READ_NODE:
1884
1934
  return "YP_NODE_GLOBAL_VARIABLE_READ_NODE";
1935
+ case YP_NODE_GLOBAL_VARIABLE_TARGET_NODE:
1936
+ return "YP_NODE_GLOBAL_VARIABLE_TARGET_NODE";
1885
1937
  case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE:
1886
1938
  return "YP_NODE_GLOBAL_VARIABLE_WRITE_NODE";
1887
1939
  case YP_NODE_HASH_NODE:
@@ -1894,14 +1946,16 @@ yp_node_type_to_str(yp_node_type_t node_type)
1894
1946
  return "YP_NODE_IMAGINARY_NODE";
1895
1947
  case YP_NODE_IN_NODE:
1896
1948
  return "YP_NODE_IN_NODE";
1897
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE:
1898
- return "YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE";
1899
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE:
1900
- return "YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE";
1949
+ case YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE:
1950
+ return "YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE";
1901
1951
  case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE:
1902
1952
  return "YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE";
1953
+ case YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE:
1954
+ return "YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE";
1903
1955
  case YP_NODE_INSTANCE_VARIABLE_READ_NODE:
1904
1956
  return "YP_NODE_INSTANCE_VARIABLE_READ_NODE";
1957
+ case YP_NODE_INSTANCE_VARIABLE_TARGET_NODE:
1958
+ return "YP_NODE_INSTANCE_VARIABLE_TARGET_NODE";
1905
1959
  case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE:
1906
1960
  return "YP_NODE_INSTANCE_VARIABLE_WRITE_NODE";
1907
1961
  case YP_NODE_INTEGER_NODE:
@@ -1922,14 +1976,16 @@ yp_node_type_to_str(yp_node_type_t node_type)
1922
1976
  return "YP_NODE_KEYWORD_REST_PARAMETER_NODE";
1923
1977
  case YP_NODE_LAMBDA_NODE:
1924
1978
  return "YP_NODE_LAMBDA_NODE";
1925
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
1926
- return "YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE";
1927
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
1928
- return "YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE";
1979
+ case YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE:
1980
+ return "YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE";
1929
1981
  case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE:
1930
1982
  return "YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE";
1983
+ case YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE:
1984
+ return "YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE";
1931
1985
  case YP_NODE_LOCAL_VARIABLE_READ_NODE:
1932
1986
  return "YP_NODE_LOCAL_VARIABLE_READ_NODE";
1987
+ case YP_NODE_LOCAL_VARIABLE_TARGET_NODE:
1988
+ return "YP_NODE_LOCAL_VARIABLE_TARGET_NODE";
1933
1989
  case YP_NODE_LOCAL_VARIABLE_WRITE_NODE:
1934
1990
  return "YP_NODE_LOCAL_VARIABLE_WRITE_NODE";
1935
1991
  case YP_NODE_MATCH_PREDICATE_NODE: