yarp 0.7.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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);