yarp 0.8.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);
@@ -47,14 +51,6 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
47
51
  yp_buffer_append_str(buffer, ")", 1);
48
52
  break;
49
53
  }
50
- case YP_NODE_AND_WRITE_NODE: {
51
- yp_buffer_append_str(buffer, "AndWriteNode(", 13);
52
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_and_write_node_t *)node)->target);
53
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_and_write_node_t *)node)->value);
54
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_and_write_node_t *)node)->operator_loc);
55
- yp_buffer_append_str(buffer, ")", 1);
56
- break;
57
- }
58
54
  case YP_NODE_ARGUMENTS_NODE: {
59
55
  yp_buffer_append_str(buffer, "ArgumentsNode(", 14);
60
56
  yp_buffer_append_str(buffer, "[", 1);
@@ -407,6 +403,36 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
407
403
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_node_t *)node)->body);
408
404
  }
409
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);
409
+ yp_buffer_append_str(buffer, ")", 1);
410
+ break;
411
+ }
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);
417
+ yp_buffer_append_str(buffer, ")", 1);
418
+ break;
419
+ }
420
+ case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
421
+ yp_buffer_append_str(buffer, "ClassVariableOperatorWriteNode(", 31);
422
+ prettyprint_location(buffer, parser, &((yp_class_variable_operator_write_node_t *)node)->name_loc);
423
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_variable_operator_write_node_t *)node)->operator_loc);
424
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_operator_write_node_t *)node)->value);
425
+ yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
426
+ snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_class_variable_operator_write_node_t *)node)->operator);
427
+ yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
428
+ yp_buffer_append_str(buffer, ")", 1);
429
+ break;
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);
410
436
  yp_buffer_append_str(buffer, ")", 1);
411
437
  break;
412
438
  }
@@ -415,6 +441,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
415
441
  yp_buffer_append_str(buffer, ")", 1);
416
442
  break;
417
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
+ }
418
449
  case YP_NODE_CLASS_VARIABLE_WRITE_NODE: {
419
450
  yp_buffer_append_str(buffer, "ClassVariableWriteNode(", 23);
420
451
  prettyprint_location(buffer, parser, &((yp_class_variable_write_node_t *)node)->name_loc);
@@ -431,6 +462,41 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
431
462
  yp_buffer_append_str(buffer, ")", 1);
432
463
  break;
433
464
  }
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);
470
+ yp_buffer_append_str(buffer, ")", 1);
471
+ break;
472
+ }
473
+ case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE: {
474
+ yp_buffer_append_str(buffer, "ConstantOperatorWriteNode(", 26);
475
+ prettyprint_location(buffer, parser, &((yp_constant_operator_write_node_t *)node)->name_loc);
476
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_operator_write_node_t *)node)->operator_loc);
477
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_operator_write_node_t *)node)->value);
478
+ yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
479
+ snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_constant_operator_write_node_t *)node)->operator);
480
+ yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
481
+ yp_buffer_append_str(buffer, ")", 1);
482
+ break;
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
+ }
434
500
  case YP_NODE_CONSTANT_PATH_NODE: {
435
501
  yp_buffer_append_str(buffer, "ConstantPathNode(", 17);
436
502
  if (((yp_constant_path_node_t *)node)->parent == NULL) {
@@ -443,19 +509,42 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
443
509
  yp_buffer_append_str(buffer, ")", 1);
444
510
  break;
445
511
  }
446
- case YP_NODE_CONSTANT_PATH_WRITE_NODE: {
447
- yp_buffer_append_str(buffer, "ConstantPathWriteNode(", 22);
448
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->target);
449
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_path_write_node_t *)node)->operator_loc.start == NULL) {
450
- yp_buffer_append_str(buffer, "nil", 3);
451
- } else {
452
- prettyprint_location(buffer, parser, &((yp_constant_path_write_node_t *)node)->operator_loc);
453
- }
454
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_path_write_node_t *)node)->value == NULL) {
512
+ case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
513
+ yp_buffer_append_str(buffer, "ConstantPathOperatorWriteNode(", 30);
514
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target);
515
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_operator_write_node_t *)node)->operator_loc);
516
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->value);
517
+ yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
518
+ snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_constant_path_operator_write_node_t *)node)->operator);
519
+ yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
520
+ yp_buffer_append_str(buffer, ")", 1);
521
+ break;
522
+ }
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) {
455
534
  yp_buffer_append_str(buffer, "nil", 3);
456
535
  } else {
457
- 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);
458
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);
459
548
  yp_buffer_append_str(buffer, ")", 1);
460
549
  break;
461
550
  }
@@ -464,19 +553,16 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
464
553
  yp_buffer_append_str(buffer, ")", 1);
465
554
  break;
466
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
+ }
467
561
  case YP_NODE_CONSTANT_WRITE_NODE: {
468
562
  yp_buffer_append_str(buffer, "ConstantWriteNode(", 18);
469
563
  prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->name_loc);
470
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_write_node_t *)node)->value == NULL) {
471
- yp_buffer_append_str(buffer, "nil", 3);
472
- } else {
473
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
474
- }
475
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_constant_write_node_t *)node)->operator_loc.start == NULL) {
476
- yp_buffer_append_str(buffer, "nil", 3);
477
- } else {
478
- prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->operator_loc);
479
- }
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);
480
566
  yp_buffer_append_str(buffer, ")", 1);
481
567
  break;
482
568
  }
@@ -696,24 +782,48 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
696
782
  yp_buffer_append_str(buffer, ")", 1);
697
783
  break;
698
784
  }
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);
790
+ yp_buffer_append_str(buffer, ")", 1);
791
+ break;
792
+ }
793
+ case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
794
+ yp_buffer_append_str(buffer, "GlobalVariableOperatorWriteNode(", 32);
795
+ prettyprint_location(buffer, parser, &((yp_global_variable_operator_write_node_t *)node)->name_loc);
796
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_operator_write_node_t *)node)->operator_loc);
797
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_operator_write_node_t *)node)->value);
798
+ yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
799
+ snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_global_variable_operator_write_node_t *)node)->operator);
800
+ yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
801
+ yp_buffer_append_str(buffer, ")", 1);
802
+ break;
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
+ }
699
812
  case YP_NODE_GLOBAL_VARIABLE_READ_NODE: {
700
813
  yp_buffer_append_str(buffer, "GlobalVariableReadNode(", 23);
701
814
  yp_buffer_append_str(buffer, ")", 1);
702
815
  break;
703
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
+ }
704
822
  case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE: {
705
823
  yp_buffer_append_str(buffer, "GlobalVariableWriteNode(", 24);
706
824
  prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->name_loc);
707
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_global_variable_write_node_t *)node)->operator_loc.start == NULL) {
708
- yp_buffer_append_str(buffer, "nil", 3);
709
- } else {
710
- prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->operator_loc);
711
- }
712
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_global_variable_write_node_t *)node)->value == NULL) {
713
- yp_buffer_append_str(buffer, "nil", 3);
714
- } else {
715
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
716
- }
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);
717
827
  yp_buffer_append_str(buffer, ")", 1);
718
828
  break;
719
829
  }
@@ -810,24 +920,48 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
810
920
  yp_buffer_append_str(buffer, ")", 1);
811
921
  break;
812
922
  }
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);
928
+ yp_buffer_append_str(buffer, ")", 1);
929
+ break;
930
+ }
931
+ case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
932
+ yp_buffer_append_str(buffer, "InstanceVariableOperatorWriteNode(", 34);
933
+ prettyprint_location(buffer, parser, &((yp_instance_variable_operator_write_node_t *)node)->name_loc);
934
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_instance_variable_operator_write_node_t *)node)->operator_loc);
935
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_operator_write_node_t *)node)->value);
936
+ yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
937
+ snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_instance_variable_operator_write_node_t *)node)->operator);
938
+ yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
939
+ yp_buffer_append_str(buffer, ")", 1);
940
+ break;
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
+ }
813
950
  case YP_NODE_INSTANCE_VARIABLE_READ_NODE: {
814
951
  yp_buffer_append_str(buffer, "InstanceVariableReadNode(", 25);
815
952
  yp_buffer_append_str(buffer, ")", 1);
816
953
  break;
817
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
+ }
818
960
  case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE: {
819
961
  yp_buffer_append_str(buffer, "InstanceVariableWriteNode(", 26);
820
962
  prettyprint_location(buffer, parser, &((yp_instance_variable_write_node_t *)node)->name_loc);
821
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_instance_variable_write_node_t *)node)->value == NULL) {
822
- yp_buffer_append_str(buffer, "nil", 3);
823
- } else {
824
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_instance_variable_write_node_t *)node)->value);
825
- }
826
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_instance_variable_write_node_t *)node)->operator_loc.start == NULL) {
827
- yp_buffer_append_str(buffer, "nil", 3);
828
- } else {
829
- prettyprint_location(buffer, parser, &((yp_instance_variable_write_node_t *)node)->operator_loc);
830
- }
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);
831
965
  yp_buffer_append_str(buffer, ")", 1);
832
966
  break;
833
967
  }
@@ -950,7 +1084,9 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
950
1084
  yp_buffer_append_str(buffer, locals_buffer, strlen(locals_buffer));
951
1085
  }
952
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);
953
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);
954
1090
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_lambda_node_t *)node)->parameters == NULL) {
955
1091
  yp_buffer_append_str(buffer, "nil", 3);
956
1092
  } else {
@@ -964,6 +1100,51 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
964
1100
  yp_buffer_append_str(buffer, ")", 1);
965
1101
  break;
966
1102
  }
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);
1108
+ yp_buffer_append_str(buffer, ", ", 2); char constant_id_buffer[12];
1109
+ snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_and_write_node_t *)node)->constant_id);
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));
1114
+ yp_buffer_append_str(buffer, ")", 1);
1115
+ break;
1116
+ }
1117
+ case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
1118
+ yp_buffer_append_str(buffer, "LocalVariableOperatorWriteNode(", 31);
1119
+ prettyprint_location(buffer, parser, &((yp_local_variable_operator_write_node_t *)node)->name_loc);
1120
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_operator_write_node_t *)node)->operator_loc);
1121
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_operator_write_node_t *)node)->value);
1122
+ yp_buffer_append_str(buffer, ", ", 2); char constant_id_buffer[12];
1123
+ snprintf(constant_id_buffer, sizeof(constant_id_buffer), "%u", ((yp_local_variable_operator_write_node_t *)node)->constant_id);
1124
+ yp_buffer_append_str(buffer, constant_id_buffer, strlen(constant_id_buffer));
1125
+ yp_buffer_append_str(buffer, ", ", 2); char operator_id_buffer[12];
1126
+ snprintf(operator_id_buffer, sizeof(operator_id_buffer), "%u", ((yp_local_variable_operator_write_node_t *)node)->operator_id);
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));
1145
+ yp_buffer_append_str(buffer, ")", 1);
1146
+ break;
1147
+ }
967
1148
  case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
968
1149
  yp_buffer_append_str(buffer, "LocalVariableReadNode(", 22);
969
1150
  char constant_id_buffer[12];
@@ -975,6 +1156,17 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
975
1156
  yp_buffer_append_str(buffer, ")", 1);
976
1157
  break;
977
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
+ }
978
1170
  case YP_NODE_LOCAL_VARIABLE_WRITE_NODE: {
979
1171
  yp_buffer_append_str(buffer, "LocalVariableWriteNode(", 23);
980
1172
  char constant_id_buffer[12];
@@ -983,17 +1175,9 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
983
1175
  yp_buffer_append_str(buffer, ", ", 2); char depth_buffer[12];
984
1176
  snprintf(depth_buffer, sizeof(depth_buffer), "+%d", ((yp_local_variable_write_node_t *)node)->depth);
985
1177
  yp_buffer_append_str(buffer, depth_buffer, strlen(depth_buffer));
986
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_local_variable_write_node_t *)node)->value == NULL) {
987
- yp_buffer_append_str(buffer, "nil", 3);
988
- } else {
989
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
990
- }
1178
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
991
1179
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_write_node_t *)node)->name_loc);
992
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_local_variable_write_node_t *)node)->operator_loc.start == NULL) {
993
- yp_buffer_append_str(buffer, "nil", 3);
994
- } else {
995
- prettyprint_location(buffer, parser, &((yp_local_variable_write_node_t *)node)->operator_loc);
996
- }
1180
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_write_node_t *)node)->operator_loc);
997
1181
  yp_buffer_append_str(buffer, ")", 1);
998
1182
  break;
999
1183
  }
@@ -1036,6 +1220,9 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1036
1220
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_module_node_t *)node)->body);
1037
1221
  }
1038
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);
1039
1226
  yp_buffer_append_str(buffer, ")", 1);
1040
1227
  break;
1041
1228
  }
@@ -1098,17 +1285,6 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1098
1285
  yp_buffer_append_str(buffer, ")", 1);
1099
1286
  break;
1100
1287
  }
1101
- case YP_NODE_OPERATOR_WRITE_NODE: {
1102
- yp_buffer_append_str(buffer, "OperatorWriteNode(", 18);
1103
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_operator_write_node_t *)node)->target);
1104
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_operator_write_node_t *)node)->operator_loc);
1105
- yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
1106
- snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_operator_write_node_t *)node)->operator);
1107
- yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
1108
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_operator_write_node_t *)node)->value);
1109
- yp_buffer_append_str(buffer, ")", 1);
1110
- break;
1111
- }
1112
1288
  case YP_NODE_OPTIONAL_PARAMETER_NODE: {
1113
1289
  yp_buffer_append_str(buffer, "OptionalParameterNode(", 22);
1114
1290
  char constant_id_buffer[12];
@@ -1128,14 +1304,6 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1128
1304
  yp_buffer_append_str(buffer, ")", 1);
1129
1305
  break;
1130
1306
  }
1131
- case YP_NODE_OR_WRITE_NODE: {
1132
- yp_buffer_append_str(buffer, "OrWriteNode(", 12);
1133
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_or_write_node_t *)node)->target);
1134
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_or_write_node_t *)node)->value);
1135
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_or_write_node_t *)node)->operator_loc);
1136
- yp_buffer_append_str(buffer, ")", 1);
1137
- break;
1138
- }
1139
1307
  case YP_NODE_PARAMETERS_NODE: {
1140
1308
  yp_buffer_append_str(buffer, "ParametersNode(", 15);
1141
1309
  yp_buffer_append_str(buffer, "[", 1);
@@ -1506,7 +1674,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1506
1674
  } else {
1507
1675
  prettyprint_location(buffer, parser, &((yp_symbol_node_t *)node)->opening_loc);
1508
1676
  }
1509
- 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
+ }
1510
1682
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_symbol_node_t *)node)->closing_loc.start == NULL) {
1511
1683
  yp_buffer_append_str(buffer, "nil", 3);
1512
1684
  } else {
@@ -1560,6 +1732,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1560
1732
  case YP_NODE_UNTIL_NODE: {
1561
1733
  yp_buffer_append_str(buffer, "UntilNode(", 10);
1562
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
+ }
1563
1740
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_until_node_t *)node)->predicate);
1564
1741
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_until_node_t *)node)->statements == NULL) {
1565
1742
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1592,6 +1769,11 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1592
1769
  case YP_NODE_WHILE_NODE: {
1593
1770
  yp_buffer_append_str(buffer, "WhileNode(", 10);
1594
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
+ }
1595
1777
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_while_node_t *)node)->predicate);
1596
1778
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_while_node_t *)node)->statements == NULL) {
1597
1779
  yp_buffer_append_str(buffer, "nil", 3);