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/prettyprint.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/prettyprint.c.erb */
5
5
  /* if you are looking to modify the */
6
6
  /* template */
@@ -23,6 +23,10 @@ prettyprint_location(yp_buffer_t *buffer, yp_parser_t *parser, yp_location_t *lo
23
23
  static void
24
24
  prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
25
25
  switch (YP_NODE_TYPE(node)) {
26
+ // We do not need to print a ScopeNode as it's not part
27
+ // of the AST
28
+ case YP_NODE_SCOPE_NODE:
29
+ return;
26
30
  case YP_NODE_ALIAS_NODE: {
27
31
  yp_buffer_append_str(buffer, "AliasNode(", 10);
28
32
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_node_t *)node)->new_name);
@@ -209,10 +213,10 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
209
213
  } else {
210
214
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_block_node_t *)node)->parameters);
211
215
  }
212
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_block_node_t *)node)->statements == NULL) {
216
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_block_node_t *)node)->body == NULL) {
213
217
  yp_buffer_append_str(buffer, "nil", 3);
214
218
  } else {
215
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_block_node_t *)node)->statements);
219
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_block_node_t *)node)->body);
216
220
  }
217
221
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_block_node_t *)node)->opening_loc);
218
222
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_block_node_t *)node)->closing_loc);
@@ -393,28 +397,23 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
393
397
  } else {
394
398
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_node_t *)node)->superclass);
395
399
  }
396
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_class_node_t *)node)->statements == NULL) {
400
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_class_node_t *)node)->body == NULL) {
397
401
  yp_buffer_append_str(buffer, "nil", 3);
398
402
  } else {
399
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_node_t *)node)->statements);
403
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_node_t *)node)->body);
400
404
  }
401
405
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_node_t *)node)->end_keyword_loc);
406
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
407
+ yp_buffer_append_str(buffer, yp_string_source(&((yp_class_node_t *)node)->name), yp_string_length(&((yp_class_node_t *)node)->name));
408
+ yp_buffer_append_str(buffer, "\"", 1);
402
409
  yp_buffer_append_str(buffer, ")", 1);
403
410
  break;
404
411
  }
405
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE: {
406
- yp_buffer_append_str(buffer, "ClassVariableOperatorAndWriteNode(", 34);
407
- prettyprint_location(buffer, parser, &((yp_class_variable_operator_and_write_node_t *)node)->name_loc);
408
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_variable_operator_and_write_node_t *)node)->operator_loc);
409
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_operator_and_write_node_t *)node)->value);
410
- yp_buffer_append_str(buffer, ")", 1);
411
- break;
412
- }
413
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE: {
414
- yp_buffer_append_str(buffer, "ClassVariableOperatorOrWriteNode(", 33);
415
- prettyprint_location(buffer, parser, &((yp_class_variable_operator_or_write_node_t *)node)->name_loc);
416
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_variable_operator_or_write_node_t *)node)->operator_loc);
417
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_operator_or_write_node_t *)node)->value);
412
+ case YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE: {
413
+ yp_buffer_append_str(buffer, "ClassVariableAndWriteNode(", 26);
414
+ prettyprint_location(buffer, parser, &((yp_class_variable_and_write_node_t *)node)->name_loc);
415
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_variable_and_write_node_t *)node)->operator_loc);
416
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_and_write_node_t *)node)->value);
418
417
  yp_buffer_append_str(buffer, ")", 1);
419
418
  break;
420
419
  }
@@ -429,11 +428,24 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
429
428
  yp_buffer_append_str(buffer, ")", 1);
430
429
  break;
431
430
  }
431
+ case YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE: {
432
+ yp_buffer_append_str(buffer, "ClassVariableOrWriteNode(", 25);
433
+ prettyprint_location(buffer, parser, &((yp_class_variable_or_write_node_t *)node)->name_loc);
434
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_variable_or_write_node_t *)node)->operator_loc);
435
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_or_write_node_t *)node)->value);
436
+ yp_buffer_append_str(buffer, ")", 1);
437
+ break;
438
+ }
432
439
  case YP_NODE_CLASS_VARIABLE_READ_NODE: {
433
440
  yp_buffer_append_str(buffer, "ClassVariableReadNode(", 22);
434
441
  yp_buffer_append_str(buffer, ")", 1);
435
442
  break;
436
443
  }
444
+ case YP_NODE_CLASS_VARIABLE_TARGET_NODE: {
445
+ yp_buffer_append_str(buffer, "ClassVariableTargetNode(", 24);
446
+ yp_buffer_append_str(buffer, ")", 1);
447
+ break;
448
+ }
437
449
  case YP_NODE_CLASS_VARIABLE_WRITE_NODE: {
438
450
  yp_buffer_append_str(buffer, "ClassVariableWriteNode(", 23);
439
451
  prettyprint_location(buffer, parser, &((yp_class_variable_write_node_t *)node)->name_loc);
@@ -450,19 +462,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
450
462
  yp_buffer_append_str(buffer, ")", 1);
451
463
  break;
452
464
  }
453
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE: {
454
- yp_buffer_append_str(buffer, "ConstantOperatorAndWriteNode(", 29);
455
- prettyprint_location(buffer, parser, &((yp_constant_operator_and_write_node_t *)node)->name_loc);
456
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_operator_and_write_node_t *)node)->operator_loc);
457
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_operator_and_write_node_t *)node)->value);
458
- yp_buffer_append_str(buffer, ")", 1);
459
- break;
460
- }
461
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE: {
462
- yp_buffer_append_str(buffer, "ConstantOperatorOrWriteNode(", 28);
463
- prettyprint_location(buffer, parser, &((yp_constant_operator_or_write_node_t *)node)->name_loc);
464
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_operator_or_write_node_t *)node)->operator_loc);
465
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_operator_or_write_node_t *)node)->value);
465
+ case YP_NODE_CONSTANT_AND_WRITE_NODE: {
466
+ yp_buffer_append_str(buffer, "ConstantAndWriteNode(", 21);
467
+ prettyprint_location(buffer, parser, &((yp_constant_and_write_node_t *)node)->name_loc);
468
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_and_write_node_t *)node)->operator_loc);
469
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_and_write_node_t *)node)->value);
466
470
  yp_buffer_append_str(buffer, ")", 1);
467
471
  break;
468
472
  }
@@ -477,6 +481,22 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
477
481
  yp_buffer_append_str(buffer, ")", 1);
478
482
  break;
479
483
  }
484
+ case YP_NODE_CONSTANT_OR_WRITE_NODE: {
485
+ yp_buffer_append_str(buffer, "ConstantOrWriteNode(", 20);
486
+ prettyprint_location(buffer, parser, &((yp_constant_or_write_node_t *)node)->name_loc);
487
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_or_write_node_t *)node)->operator_loc);
488
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_or_write_node_t *)node)->value);
489
+ yp_buffer_append_str(buffer, ")", 1);
490
+ break;
491
+ }
492
+ case YP_NODE_CONSTANT_PATH_AND_WRITE_NODE: {
493
+ yp_buffer_append_str(buffer, "ConstantPathAndWriteNode(", 25);
494
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_and_write_node_t *)node)->target);
495
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_and_write_node_t *)node)->operator_loc);
496
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_and_write_node_t *)node)->value);
497
+ yp_buffer_append_str(buffer, ")", 1);
498
+ break;
499
+ }
480
500
  case YP_NODE_CONSTANT_PATH_NODE: {
481
501
  yp_buffer_append_str(buffer, "ConstantPathNode(", 17);
482
502
  if (((yp_constant_path_node_t *)node)->parent == NULL) {
@@ -489,22 +509,6 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
489
509
  yp_buffer_append_str(buffer, ")", 1);
490
510
  break;
491
511
  }
492
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE: {
493
- yp_buffer_append_str(buffer, "ConstantPathOperatorAndWriteNode(", 33);
494
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->target);
495
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_operator_and_write_node_t *)node)->operator_loc);
496
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->value);
497
- yp_buffer_append_str(buffer, ")", 1);
498
- break;
499
- }
500
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE: {
501
- yp_buffer_append_str(buffer, "ConstantPathOperatorOrWriteNode(", 32);
502
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->target);
503
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_operator_or_write_node_t *)node)->operator_loc);
504
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->value);
505
- yp_buffer_append_str(buffer, ")", 1);
506
- break;
507
- }
508
512
  case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
509
513
  yp_buffer_append_str(buffer, "ConstantPathOperatorWriteNode(", 30);
510
514
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target);
@@ -516,19 +520,31 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
516
520
  yp_buffer_append_str(buffer, ")", 1);
517
521
  break;
518
522
  }
519
- case YP_NODE_CONSTANT_PATH_WRITE_NODE: {
520
- yp_buffer_append_str(buffer, "ConstantPathWriteNode(", 22);
521
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->target);
522
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_path_write_node_t *)node)->operator_loc.start == NULL) {
523
- yp_buffer_append_str(buffer, "nil", 3);
524
- } else {
525
- prettyprint_location(buffer, parser, &((yp_constant_path_write_node_t *)node)->operator_loc);
526
- }
527
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_path_write_node_t *)node)->value == NULL) {
523
+ case YP_NODE_CONSTANT_PATH_OR_WRITE_NODE: {
524
+ yp_buffer_append_str(buffer, "ConstantPathOrWriteNode(", 24);
525
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_or_write_node_t *)node)->target);
526
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_or_write_node_t *)node)->operator_loc);
527
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_or_write_node_t *)node)->value);
528
+ yp_buffer_append_str(buffer, ")", 1);
529
+ break;
530
+ }
531
+ case YP_NODE_CONSTANT_PATH_TARGET_NODE: {
532
+ yp_buffer_append_str(buffer, "ConstantPathTargetNode(", 23);
533
+ if (((yp_constant_path_target_node_t *)node)->parent == NULL) {
528
534
  yp_buffer_append_str(buffer, "nil", 3);
529
535
  } else {
530
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->value);
536
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_target_node_t *)node)->parent);
531
537
  }
538
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_target_node_t *)node)->child);
539
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_target_node_t *)node)->delimiter_loc);
540
+ yp_buffer_append_str(buffer, ")", 1);
541
+ break;
542
+ }
543
+ case YP_NODE_CONSTANT_PATH_WRITE_NODE: {
544
+ yp_buffer_append_str(buffer, "ConstantPathWriteNode(", 22);
545
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->target);
546
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_write_node_t *)node)->operator_loc);
547
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->value);
532
548
  yp_buffer_append_str(buffer, ")", 1);
533
549
  break;
534
550
  }
@@ -537,19 +553,16 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
537
553
  yp_buffer_append_str(buffer, ")", 1);
538
554
  break;
539
555
  }
556
+ case YP_NODE_CONSTANT_TARGET_NODE: {
557
+ yp_buffer_append_str(buffer, "ConstantTargetNode(", 19);
558
+ yp_buffer_append_str(buffer, ")", 1);
559
+ break;
560
+ }
540
561
  case YP_NODE_CONSTANT_WRITE_NODE: {
541
562
  yp_buffer_append_str(buffer, "ConstantWriteNode(", 18);
542
563
  prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->name_loc);
543
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_write_node_t *)node)->value == NULL) {
544
- yp_buffer_append_str(buffer, "nil", 3);
545
- } else {
546
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
547
- }
548
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_write_node_t *)node)->operator_loc.start == NULL) {
549
- yp_buffer_append_str(buffer, "nil", 3);
550
- } else {
551
- prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->operator_loc);
552
- }
564
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
565
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->operator_loc);
553
566
  yp_buffer_append_str(buffer, ")", 1);
554
567
  break;
555
568
  }
@@ -566,10 +579,10 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
566
579
  } else {
567
580
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_def_node_t *)node)->parameters);
568
581
  }
569
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_def_node_t *)node)->statements == NULL) {
582
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_def_node_t *)node)->body == NULL) {
570
583
  yp_buffer_append_str(buffer, "nil", 3);
571
584
  } else {
572
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_def_node_t *)node)->statements);
585
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_def_node_t *)node)->body);
573
586
  }
574
587
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
575
588
  for (uint32_t index = 0; index < ((yp_def_node_t *)node)->locals.size; index++) {
@@ -769,19 +782,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
769
782
  yp_buffer_append_str(buffer, ")", 1);
770
783
  break;
771
784
  }
772
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE: {
773
- yp_buffer_append_str(buffer, "GlobalVariableOperatorAndWriteNode(", 35);
774
- prettyprint_location(buffer, parser, &((yp_global_variable_operator_and_write_node_t *)node)->name_loc);
775
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_operator_and_write_node_t *)node)->operator_loc);
776
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_operator_and_write_node_t *)node)->value);
777
- yp_buffer_append_str(buffer, ")", 1);
778
- break;
779
- }
780
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE: {
781
- yp_buffer_append_str(buffer, "GlobalVariableOperatorOrWriteNode(", 34);
782
- prettyprint_location(buffer, parser, &((yp_global_variable_operator_or_write_node_t *)node)->name_loc);
783
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_operator_or_write_node_t *)node)->operator_loc);
784
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_operator_or_write_node_t *)node)->value);
785
+ case YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE: {
786
+ yp_buffer_append_str(buffer, "GlobalVariableAndWriteNode(", 27);
787
+ prettyprint_location(buffer, parser, &((yp_global_variable_and_write_node_t *)node)->name_loc);
788
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_and_write_node_t *)node)->operator_loc);
789
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_and_write_node_t *)node)->value);
785
790
  yp_buffer_append_str(buffer, ")", 1);
786
791
  break;
787
792
  }
@@ -796,24 +801,29 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
796
801
  yp_buffer_append_str(buffer, ")", 1);
797
802
  break;
798
803
  }
804
+ case YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE: {
805
+ yp_buffer_append_str(buffer, "GlobalVariableOrWriteNode(", 26);
806
+ prettyprint_location(buffer, parser, &((yp_global_variable_or_write_node_t *)node)->name_loc);
807
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_or_write_node_t *)node)->operator_loc);
808
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_or_write_node_t *)node)->value);
809
+ yp_buffer_append_str(buffer, ")", 1);
810
+ break;
811
+ }
799
812
  case YP_NODE_GLOBAL_VARIABLE_READ_NODE: {
800
813
  yp_buffer_append_str(buffer, "GlobalVariableReadNode(", 23);
801
814
  yp_buffer_append_str(buffer, ")", 1);
802
815
  break;
803
816
  }
817
+ case YP_NODE_GLOBAL_VARIABLE_TARGET_NODE: {
818
+ yp_buffer_append_str(buffer, "GlobalVariableTargetNode(", 25);
819
+ yp_buffer_append_str(buffer, ")", 1);
820
+ break;
821
+ }
804
822
  case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE: {
805
823
  yp_buffer_append_str(buffer, "GlobalVariableWriteNode(", 24);
806
824
  prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->name_loc);
807
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_global_variable_write_node_t *)node)->operator_loc.start == NULL) {
808
- yp_buffer_append_str(buffer, "nil", 3);
809
- } else {
810
- prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->operator_loc);
811
- }
812
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_global_variable_write_node_t *)node)->value == NULL) {
813
- yp_buffer_append_str(buffer, "nil", 3);
814
- } else {
815
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
816
- }
825
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->operator_loc);
826
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
817
827
  yp_buffer_append_str(buffer, ")", 1);
818
828
  break;
819
829
  }
@@ -910,19 +920,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
910
920
  yp_buffer_append_str(buffer, ")", 1);
911
921
  break;
912
922
  }
913
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE: {
914
- yp_buffer_append_str(buffer, "InstanceVariableOperatorAndWriteNode(", 37);
915
- prettyprint_location(buffer, parser, &((yp_instance_variable_operator_and_write_node_t *)node)->name_loc);
916
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_instance_variable_operator_and_write_node_t *)node)->operator_loc);
917
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_operator_and_write_node_t *)node)->value);
918
- yp_buffer_append_str(buffer, ")", 1);
919
- break;
920
- }
921
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE: {
922
- yp_buffer_append_str(buffer, "InstanceVariableOperatorOrWriteNode(", 36);
923
- prettyprint_location(buffer, parser, &((yp_instance_variable_operator_or_write_node_t *)node)->name_loc);
924
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_instance_variable_operator_or_write_node_t *)node)->operator_loc);
925
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_operator_or_write_node_t *)node)->value);
923
+ case YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE: {
924
+ yp_buffer_append_str(buffer, "InstanceVariableAndWriteNode(", 29);
925
+ prettyprint_location(buffer, parser, &((yp_instance_variable_and_write_node_t *)node)->name_loc);
926
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_instance_variable_and_write_node_t *)node)->operator_loc);
927
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_and_write_node_t *)node)->value);
926
928
  yp_buffer_append_str(buffer, ")", 1);
927
929
  break;
928
930
  }
@@ -937,24 +939,29 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
937
939
  yp_buffer_append_str(buffer, ")", 1);
938
940
  break;
939
941
  }
942
+ case YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE: {
943
+ yp_buffer_append_str(buffer, "InstanceVariableOrWriteNode(", 28);
944
+ prettyprint_location(buffer, parser, &((yp_instance_variable_or_write_node_t *)node)->name_loc);
945
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_instance_variable_or_write_node_t *)node)->operator_loc);
946
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_or_write_node_t *)node)->value);
947
+ yp_buffer_append_str(buffer, ")", 1);
948
+ break;
949
+ }
940
950
  case YP_NODE_INSTANCE_VARIABLE_READ_NODE: {
941
951
  yp_buffer_append_str(buffer, "InstanceVariableReadNode(", 25);
942
952
  yp_buffer_append_str(buffer, ")", 1);
943
953
  break;
944
954
  }
955
+ case YP_NODE_INSTANCE_VARIABLE_TARGET_NODE: {
956
+ yp_buffer_append_str(buffer, "InstanceVariableTargetNode(", 27);
957
+ yp_buffer_append_str(buffer, ")", 1);
958
+ break;
959
+ }
945
960
  case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE: {
946
961
  yp_buffer_append_str(buffer, "InstanceVariableWriteNode(", 26);
947
962
  prettyprint_location(buffer, parser, &((yp_instance_variable_write_node_t *)node)->name_loc);
948
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_instance_variable_write_node_t *)node)->value == NULL) {
949
- yp_buffer_append_str(buffer, "nil", 3);
950
- } else {
951
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_write_node_t *)node)->value);
952
- }
953
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_instance_variable_write_node_t *)node)->operator_loc.start == NULL) {
954
- yp_buffer_append_str(buffer, "nil", 3);
955
- } else {
956
- prettyprint_location(buffer, parser, &((yp_instance_variable_write_node_t *)node)->operator_loc);
957
- }
963
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_write_node_t *)node)->value);
964
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_instance_variable_write_node_t *)node)->operator_loc);
958
965
  yp_buffer_append_str(buffer, ")", 1);
959
966
  break;
960
967
  }
@@ -1077,39 +1084,33 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1077
1084
  yp_buffer_append_str(buffer, locals_buffer, strlen(locals_buffer));
1078
1085
  }
1079
1086
  yp_buffer_append_str(buffer, "]", 1);
1087
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_lambda_node_t *)node)->operator_loc);
1080
1088
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_lambda_node_t *)node)->opening_loc);
1089
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_lambda_node_t *)node)->closing_loc);
1081
1090
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_lambda_node_t *)node)->parameters == NULL) {
1082
1091
  yp_buffer_append_str(buffer, "nil", 3);
1083
1092
  } else {
1084
1093
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_lambda_node_t *)node)->parameters);
1085
1094
  }
1086
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_lambda_node_t *)node)->statements == NULL) {
1095
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_lambda_node_t *)node)->body == NULL) {
1087
1096
  yp_buffer_append_str(buffer, "nil", 3);
1088
1097
  } else {
1089
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_lambda_node_t *)node)->statements);
1098
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_lambda_node_t *)node)->body);
1090
1099
  }
1091
1100
  yp_buffer_append_str(buffer, ")", 1);
1092
1101
  break;
1093
1102
  }
1094
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE: {
1095
- yp_buffer_append_str(buffer, "LocalVariableOperatorAndWriteNode(", 34);
1096
- prettyprint_location(buffer, parser, &((yp_local_variable_operator_and_write_node_t *)node)->name_loc);
1097
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_operator_and_write_node_t *)node)->operator_loc);
1098
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_operator_and_write_node_t *)node)->value);
1103
+ case YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE: {
1104
+ yp_buffer_append_str(buffer, "LocalVariableAndWriteNode(", 26);
1105
+ prettyprint_location(buffer, parser, &((yp_local_variable_and_write_node_t *)node)->name_loc);
1106
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_and_write_node_t *)node)->operator_loc);
1107
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_and_write_node_t *)node)->value);
1099
1108
  yp_buffer_append_str(buffer, ", ", 2); char constant_id_buffer[12];
1100
- snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_operator_and_write_node_t *)node)->constant_id);
1101
- yp_buffer_append_str(buffer, constant_id_buffer, strlen(constant_id_buffer));
1102
- yp_buffer_append_str(buffer, ")", 1);
1103
- break;
1104
- }
1105
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE: {
1106
- yp_buffer_append_str(buffer, "LocalVariableOperatorOrWriteNode(", 33);
1107
- prettyprint_location(buffer, parser, &((yp_local_variable_operator_or_write_node_t *)node)->name_loc);
1108
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_operator_or_write_node_t *)node)->operator_loc);
1109
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_operator_or_write_node_t *)node)->value);
1110
- yp_buffer_append_str(buffer, ", ", 2); char constant_id_buffer[12];
1111
- snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_operator_or_write_node_t *)node)->constant_id);
1109
+ snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_and_write_node_t *)node)->constant_id);
1112
1110
  yp_buffer_append_str(buffer, constant_id_buffer, strlen(constant_id_buffer));
1111
+ yp_buffer_append_str(buffer, ", ", 2); char depth_buffer[12];
1112
+ snprintf(depth_buffer, sizeof(depth_buffer), "+%d", ((yp_local_variable_and_write_node_t *)node)->depth);
1113
+ yp_buffer_append_str(buffer, depth_buffer, strlen(depth_buffer));
1113
1114
  yp_buffer_append_str(buffer, ")", 1);
1114
1115
  break;
1115
1116
  }
@@ -1124,6 +1125,23 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1124
1125
  yp_buffer_append_str(buffer, ", ", 2); char operator_id_buffer[12];
1125
1126
  snprintf(operator_id_buffer, sizeof(operator_id_buffer), "%u", ((yp_local_variable_operator_write_node_t *)node)->operator_id);
1126
1127
  yp_buffer_append_str(buffer, operator_id_buffer, strlen(operator_id_buffer));
1128
+ yp_buffer_append_str(buffer, ", ", 2); char depth_buffer[12];
1129
+ snprintf(depth_buffer, sizeof(depth_buffer), "+%d", ((yp_local_variable_operator_write_node_t *)node)->depth);
1130
+ yp_buffer_append_str(buffer, depth_buffer, strlen(depth_buffer));
1131
+ yp_buffer_append_str(buffer, ")", 1);
1132
+ break;
1133
+ }
1134
+ case YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE: {
1135
+ yp_buffer_append_str(buffer, "LocalVariableOrWriteNode(", 25);
1136
+ prettyprint_location(buffer, parser, &((yp_local_variable_or_write_node_t *)node)->name_loc);
1137
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_or_write_node_t *)node)->operator_loc);
1138
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_or_write_node_t *)node)->value);
1139
+ yp_buffer_append_str(buffer, ", ", 2); char constant_id_buffer[12];
1140
+ snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_or_write_node_t *)node)->constant_id);
1141
+ yp_buffer_append_str(buffer, constant_id_buffer, strlen(constant_id_buffer));
1142
+ yp_buffer_append_str(buffer, ", ", 2); char depth_buffer[12];
1143
+ snprintf(depth_buffer, sizeof(depth_buffer), "+%d", ((yp_local_variable_or_write_node_t *)node)->depth);
1144
+ yp_buffer_append_str(buffer, depth_buffer, strlen(depth_buffer));
1127
1145
  yp_buffer_append_str(buffer, ")", 1);
1128
1146
  break;
1129
1147
  }
@@ -1138,6 +1156,17 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1138
1156
  yp_buffer_append_str(buffer, ")", 1);
1139
1157
  break;
1140
1158
  }
1159
+ case YP_NODE_LOCAL_VARIABLE_TARGET_NODE: {
1160
+ yp_buffer_append_str(buffer, "LocalVariableTargetNode(", 24);
1161
+ char constant_id_buffer[12];
1162
+ snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_target_node_t *)node)->constant_id);
1163
+ yp_buffer_append_str(buffer, constant_id_buffer, strlen(constant_id_buffer));
1164
+ yp_buffer_append_str(buffer, ", ", 2); char depth_buffer[12];
1165
+ snprintf(depth_buffer, sizeof(depth_buffer), "+%d", ((yp_local_variable_target_node_t *)node)->depth);
1166
+ yp_buffer_append_str(buffer, depth_buffer, strlen(depth_buffer));
1167
+ yp_buffer_append_str(buffer, ")", 1);
1168
+ break;
1169
+ }
1141
1170
  case YP_NODE_LOCAL_VARIABLE_WRITE_NODE: {
1142
1171
  yp_buffer_append_str(buffer, "LocalVariableWriteNode(", 23);
1143
1172
  char constant_id_buffer[12];
@@ -1146,17 +1175,9 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1146
1175
  yp_buffer_append_str(buffer, ", ", 2); char depth_buffer[12];
1147
1176
  snprintf(depth_buffer, sizeof(depth_buffer), "+%d", ((yp_local_variable_write_node_t *)node)->depth);
1148
1177
  yp_buffer_append_str(buffer, depth_buffer, strlen(depth_buffer));
1149
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_local_variable_write_node_t *)node)->value == NULL) {
1150
- yp_buffer_append_str(buffer, "nil", 3);
1151
- } else {
1152
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
1153
- }
1178
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
1154
1179
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_write_node_t *)node)->name_loc);
1155
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_local_variable_write_node_t *)node)->operator_loc.start == NULL) {
1156
- yp_buffer_append_str(buffer, "nil", 3);
1157
- } else {
1158
- prettyprint_location(buffer, parser, &((yp_local_variable_write_node_t *)node)->operator_loc);
1159
- }
1180
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_write_node_t *)node)->operator_loc);
1160
1181
  yp_buffer_append_str(buffer, ")", 1);
1161
1182
  break;
1162
1183
  }
@@ -1193,12 +1214,15 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1193
1214
  yp_buffer_append_str(buffer, "]", 1);
1194
1215
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_module_node_t *)node)->module_keyword_loc);
1195
1216
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_module_node_t *)node)->constant_path);
1196
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_module_node_t *)node)->statements == NULL) {
1217
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_module_node_t *)node)->body == NULL) {
1197
1218
  yp_buffer_append_str(buffer, "nil", 3);
1198
1219
  } else {
1199
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_module_node_t *)node)->statements);
1220
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_module_node_t *)node)->body);
1200
1221
  }
1201
1222
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_module_node_t *)node)->end_keyword_loc);
1223
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
1224
+ yp_buffer_append_str(buffer, yp_string_source(&((yp_module_node_t *)node)->name), yp_string_length(&((yp_module_node_t *)node)->name));
1225
+ yp_buffer_append_str(buffer, "\"", 1);
1202
1226
  yp_buffer_append_str(buffer, ")", 1);
1203
1227
  break;
1204
1228
  }
@@ -1326,10 +1350,10 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1326
1350
  }
1327
1351
  case YP_NODE_PARENTHESES_NODE: {
1328
1352
  yp_buffer_append_str(buffer, "ParenthesesNode(", 16);
1329
- if (((yp_parentheses_node_t *)node)->statements == NULL) {
1353
+ if (((yp_parentheses_node_t *)node)->body == NULL) {
1330
1354
  yp_buffer_append_str(buffer, "nil", 3);
1331
1355
  } else {
1332
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_parentheses_node_t *)node)->statements);
1356
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_parentheses_node_t *)node)->body);
1333
1357
  }
1334
1358
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_parentheses_node_t *)node)->opening_loc);
1335
1359
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_parentheses_node_t *)node)->closing_loc);
@@ -1542,10 +1566,10 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1542
1566
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_singleton_class_node_t *)node)->class_keyword_loc);
1543
1567
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_singleton_class_node_t *)node)->operator_loc);
1544
1568
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->expression);
1545
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_singleton_class_node_t *)node)->statements == NULL) {
1569
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_singleton_class_node_t *)node)->body == NULL) {
1546
1570
  yp_buffer_append_str(buffer, "nil", 3);
1547
1571
  } else {
1548
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->statements);
1572
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->body);
1549
1573
  }
1550
1574
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_singleton_class_node_t *)node)->end_keyword_loc);
1551
1575
  yp_buffer_append_str(buffer, ")", 1);
@@ -1650,7 +1674,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1650
1674
  } else {
1651
1675
  prettyprint_location(buffer, parser, &((yp_symbol_node_t *)node)->opening_loc);
1652
1676
  }
1653
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_symbol_node_t *)node)->value_loc);
1677
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_symbol_node_t *)node)->value_loc.start == NULL) {
1678
+ yp_buffer_append_str(buffer, "nil", 3);
1679
+ } else {
1680
+ prettyprint_location(buffer, parser, &((yp_symbol_node_t *)node)->value_loc);
1681
+ }
1654
1682
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_symbol_node_t *)node)->closing_loc.start == NULL) {
1655
1683
  yp_buffer_append_str(buffer, "nil", 3);
1656
1684
  } else {
@@ -1704,6 +1732,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1704
1732
  case YP_NODE_UNTIL_NODE: {
1705
1733
  yp_buffer_append_str(buffer, "UntilNode(", 10);
1706
1734
  prettyprint_location(buffer, parser, &((yp_until_node_t *)node)->keyword_loc);
1735
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_until_node_t *)node)->closing_loc.start == NULL) {
1736
+ yp_buffer_append_str(buffer, "nil", 3);
1737
+ } else {
1738
+ prettyprint_location(buffer, parser, &((yp_until_node_t *)node)->closing_loc);
1739
+ }
1707
1740
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_until_node_t *)node)->predicate);
1708
1741
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_until_node_t *)node)->statements == NULL) {
1709
1742
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1736,6 +1769,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1736
1769
  case YP_NODE_WHILE_NODE: {
1737
1770
  yp_buffer_append_str(buffer, "WhileNode(", 10);
1738
1771
  prettyprint_location(buffer, parser, &((yp_while_node_t *)node)->keyword_loc);
1772
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_while_node_t *)node)->closing_loc.start == NULL) {
1773
+ yp_buffer_append_str(buffer, "nil", 3);
1774
+ } else {
1775
+ prettyprint_location(buffer, parser, &((yp_while_node_t *)node)->closing_loc);
1776
+ }
1739
1777
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_while_node_t *)node)->predicate);
1740
1778
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_while_node_t *)node)->statements == NULL) {
1741
1779
  yp_buffer_append_str(buffer, "nil", 3);