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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +54 -2
- data/Makefile +2 -0
- data/README.md +9 -5
- data/config.yml +160 -93
- data/docs/configuration.md +1 -0
- data/docs/ruby_api.md +2 -0
- data/docs/serialization.md +1 -1
- data/docs/testing.md +2 -2
- data/ext/yarp/api_node.c +361 -238
- data/ext/yarp/extension.c +75 -26
- data/ext/yarp/extension.h +2 -2
- data/include/yarp/ast.h +226 -175
- data/include/yarp/defines.h +5 -0
- data/include/yarp/node.h +10 -0
- data/include/yarp/unescape.h +4 -2
- data/include/yarp/util/yp_buffer.h +9 -1
- data/include/yarp/util/yp_constant_pool.h +3 -0
- data/include/yarp/util/yp_list.h +7 -7
- data/include/yarp/util/yp_newline_list.h +7 -0
- data/include/yarp/util/yp_state_stack.h +1 -1
- data/include/yarp/version.h +2 -2
- data/include/yarp.h +10 -0
- data/lib/yarp/desugar_visitor.rb +267 -0
- data/lib/yarp/ffi.rb +89 -48
- data/lib/yarp/lex_compat.rb +93 -25
- data/lib/yarp/mutation_visitor.rb +683 -0
- data/lib/yarp/node.rb +2061 -422
- data/lib/yarp/serialize.rb +162 -120
- data/lib/yarp.rb +54 -8
- data/src/node.c +360 -304
- data/src/prettyprint.c +190 -152
- data/src/serialize.c +382 -340
- data/src/token_type.c +2 -2
- data/src/unescape.c +89 -77
- data/src/util/yp_buffer.c +18 -0
- data/src/util/yp_list.c +7 -16
- data/src/util/yp_newline_list.c +10 -0
- data/src/util/yp_state_stack.c +0 -6
- data/src/yarp.c +941 -596
- data/yarp.gemspec +3 -1
- metadata +4 -2
data/src/prettyprint.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/******************************************************************************/
|
2
|
-
/* This file is generated by the
|
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)->
|
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)->
|
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)->
|
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)->
|
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
|
406
|
-
yp_buffer_append_str(buffer, "
|
407
|
-
prettyprint_location(buffer, parser, &((
|
408
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((
|
409
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((
|
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
|
454
|
-
yp_buffer_append_str(buffer, "
|
455
|
-
prettyprint_location(buffer, parser, &((
|
456
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((
|
457
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((
|
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
|
520
|
-
yp_buffer_append_str(buffer, "
|
521
|
-
prettyprint_node(buffer, parser, (yp_node_t *)((
|
522
|
-
yp_buffer_append_str(buffer, ", ", 2);
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
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 *)((
|
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);
|
544
|
-
|
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)->
|
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)->
|
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
|
773
|
-
yp_buffer_append_str(buffer, "
|
774
|
-
prettyprint_location(buffer, parser, &((
|
775
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((
|
776
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((
|
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);
|
808
|
-
|
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
|
914
|
-
yp_buffer_append_str(buffer, "
|
915
|
-
prettyprint_location(buffer, parser, &((
|
916
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((
|
917
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((
|
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);
|
949
|
-
|
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)->
|
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)->
|
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
|
1095
|
-
yp_buffer_append_str(buffer, "
|
1096
|
-
prettyprint_location(buffer, parser, &((
|
1097
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((
|
1098
|
-
yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((
|
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", ((
|
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);
|
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);
|
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)->
|
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)->
|
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)->
|
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)->
|
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)->
|
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)->
|
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);
|
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);
|