Ruby: prism/ast.h Source File

Ruby 3.4.5p51 (2025-07-16 revision 20cda200d3ce092571d0b5d342dadca69636cb0f)

ast.h
Go to the documentation of this file.
1/*----------------------------------------------------------------------------*/
2/* This file is generated by the templates/template.rb script and should not */
3/* be modified manually. See */
4/* templates/include/prism/ast.h.erb */
5/* if you are looking to modify the */
6/* template */
7/*----------------------------------------------------------------------------*/
8
14#ifndef PRISM_AST_H
15#define PRISM_AST_H
16
17#include "prism/defines.h"
18#include "prism/util/pm_constant_pool.h"
19#include "prism/util/pm_integer.h"
20#include "prism/util/pm_string.h"
21
22#include <assert.h>
23#include <stddef.h>
24#include <stdint.h>
25
29 typedef enum pm_token_type {
31 PM_TOKEN_EOF = 1,
32
34 PM_TOKEN_MISSING,
35
37 PM_TOKEN_NOT_PROVIDED,
38
40 PM_TOKEN_AMPERSAND,
41
43 PM_TOKEN_AMPERSAND_AMPERSAND,
44
46 PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL,
47
49 PM_TOKEN_AMPERSAND_DOT,
50
52 PM_TOKEN_AMPERSAND_EQUAL,
53
55 PM_TOKEN_BACKTICK,
56
58 PM_TOKEN_BACK_REFERENCE,
59
61 PM_TOKEN_BANG,
62
64 PM_TOKEN_BANG_EQUAL,
65
67 PM_TOKEN_BANG_TILDE,
68
70 PM_TOKEN_BRACE_LEFT,
71
73 PM_TOKEN_BRACE_RIGHT,
74
76 PM_TOKEN_BRACKET_LEFT,
77
79 PM_TOKEN_BRACKET_LEFT_ARRAY,
80
82 PM_TOKEN_BRACKET_LEFT_RIGHT,
83
85 PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL,
86
88 PM_TOKEN_BRACKET_RIGHT,
89
91 PM_TOKEN_CARET,
92
94 PM_TOKEN_CARET_EQUAL,
95
97 PM_TOKEN_CHARACTER_LITERAL,
98
100 PM_TOKEN_CLASS_VARIABLE,
101
103 PM_TOKEN_COLON,
104
106 PM_TOKEN_COLON_COLON,
107
109 PM_TOKEN_COMMA,
110
112 PM_TOKEN_COMMENT,
113
115 PM_TOKEN_CONSTANT,
116
118 PM_TOKEN_DOT,
119
121 PM_TOKEN_DOT_DOT,
122
124 PM_TOKEN_DOT_DOT_DOT,
125
127 PM_TOKEN_EMBDOC_BEGIN,
128
130 PM_TOKEN_EMBDOC_END,
131
133 PM_TOKEN_EMBDOC_LINE,
134
136 PM_TOKEN_EMBEXPR_BEGIN,
137
139 PM_TOKEN_EMBEXPR_END,
140
142 PM_TOKEN_EMBVAR,
143
145 PM_TOKEN_EQUAL,
146
148 PM_TOKEN_EQUAL_EQUAL,
149
151 PM_TOKEN_EQUAL_EQUAL_EQUAL,
152
154 PM_TOKEN_EQUAL_GREATER,
155
157 PM_TOKEN_EQUAL_TILDE,
158
160 PM_TOKEN_FLOAT,
161
163 PM_TOKEN_FLOAT_IMAGINARY,
164
166 PM_TOKEN_FLOAT_RATIONAL,
167
169 PM_TOKEN_FLOAT_RATIONAL_IMAGINARY,
170
172 PM_TOKEN_GLOBAL_VARIABLE,
173
175 PM_TOKEN_GREATER,
176
178 PM_TOKEN_GREATER_EQUAL,
179
181 PM_TOKEN_GREATER_GREATER,
182
184 PM_TOKEN_GREATER_GREATER_EQUAL,
185
187 PM_TOKEN_HEREDOC_END,
188
190 PM_TOKEN_HEREDOC_START,
191
193 PM_TOKEN_IDENTIFIER,
194
196 PM_TOKEN_IGNORED_NEWLINE,
197
199 PM_TOKEN_INSTANCE_VARIABLE,
200
202 PM_TOKEN_INTEGER,
203
205 PM_TOKEN_INTEGER_IMAGINARY,
206
208 PM_TOKEN_INTEGER_RATIONAL,
209
211 PM_TOKEN_INTEGER_RATIONAL_IMAGINARY,
212
214 PM_TOKEN_KEYWORD_ALIAS,
215
217 PM_TOKEN_KEYWORD_AND,
218
220 PM_TOKEN_KEYWORD_BEGIN,
221
223 PM_TOKEN_KEYWORD_BEGIN_UPCASE,
224
226 PM_TOKEN_KEYWORD_BREAK,
227
229 PM_TOKEN_KEYWORD_CASE,
230
232 PM_TOKEN_KEYWORD_CLASS,
233
235 PM_TOKEN_KEYWORD_DEF,
236
238 PM_TOKEN_KEYWORD_DEFINED,
239
241 PM_TOKEN_KEYWORD_DO,
242
244 PM_TOKEN_KEYWORD_DO_LOOP,
245
247 PM_TOKEN_KEYWORD_ELSE,
248
250 PM_TOKEN_KEYWORD_ELSIF,
251
253 PM_TOKEN_KEYWORD_END,
254
256 PM_TOKEN_KEYWORD_END_UPCASE,
257
259 PM_TOKEN_KEYWORD_ENSURE,
260
262 PM_TOKEN_KEYWORD_FALSE,
263
265 PM_TOKEN_KEYWORD_FOR,
266
268 PM_TOKEN_KEYWORD_IF,
269
271 PM_TOKEN_KEYWORD_IF_MODIFIER,
272
274 PM_TOKEN_KEYWORD_IN,
275
277 PM_TOKEN_KEYWORD_MODULE,
278
280 PM_TOKEN_KEYWORD_NEXT,
281
283 PM_TOKEN_KEYWORD_NIL,
284
286 PM_TOKEN_KEYWORD_NOT,
287
289 PM_TOKEN_KEYWORD_OR,
290
292 PM_TOKEN_KEYWORD_REDO,
293
295 PM_TOKEN_KEYWORD_RESCUE,
296
298 PM_TOKEN_KEYWORD_RESCUE_MODIFIER,
299
301 PM_TOKEN_KEYWORD_RETRY,
302
304 PM_TOKEN_KEYWORD_RETURN,
305
307 PM_TOKEN_KEYWORD_SELF,
308
310 PM_TOKEN_KEYWORD_SUPER,
311
313 PM_TOKEN_KEYWORD_THEN,
314
316 PM_TOKEN_KEYWORD_TRUE,
317
319 PM_TOKEN_KEYWORD_UNDEF,
320
322 PM_TOKEN_KEYWORD_UNLESS,
323
325 PM_TOKEN_KEYWORD_UNLESS_MODIFIER,
326
328 PM_TOKEN_KEYWORD_UNTIL,
329
331 PM_TOKEN_KEYWORD_UNTIL_MODIFIER,
332
334 PM_TOKEN_KEYWORD_WHEN,
335
337 PM_TOKEN_KEYWORD_WHILE,
338
340 PM_TOKEN_KEYWORD_WHILE_MODIFIER,
341
343 PM_TOKEN_KEYWORD_YIELD,
344
346 PM_TOKEN_KEYWORD___ENCODING__,
347
349 PM_TOKEN_KEYWORD___FILE__,
350
352 PM_TOKEN_KEYWORD___LINE__,
353
355 PM_TOKEN_LABEL,
356
358 PM_TOKEN_LABEL_END,
359
361 PM_TOKEN_LAMBDA_BEGIN,
362
364 PM_TOKEN_LESS,
365
367 PM_TOKEN_LESS_EQUAL,
368
370 PM_TOKEN_LESS_EQUAL_GREATER,
371
373 PM_TOKEN_LESS_LESS,
374
376 PM_TOKEN_LESS_LESS_EQUAL,
377
379 PM_TOKEN_METHOD_NAME,
380
382 PM_TOKEN_MINUS,
383
385 PM_TOKEN_MINUS_EQUAL,
386
388 PM_TOKEN_MINUS_GREATER,
389
391 PM_TOKEN_NEWLINE,
392
394 PM_TOKEN_NUMBERED_REFERENCE,
395
397 PM_TOKEN_PARENTHESIS_LEFT,
398
400 PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES,
401
403 PM_TOKEN_PARENTHESIS_RIGHT,
404
406 PM_TOKEN_PERCENT,
407
409 PM_TOKEN_PERCENT_EQUAL,
410
412 PM_TOKEN_PERCENT_LOWER_I,
413
415 PM_TOKEN_PERCENT_LOWER_W,
416
418 PM_TOKEN_PERCENT_LOWER_X,
419
421 PM_TOKEN_PERCENT_UPPER_I,
422
424 PM_TOKEN_PERCENT_UPPER_W,
425
427 PM_TOKEN_PIPE,
428
430 PM_TOKEN_PIPE_EQUAL,
431
433 PM_TOKEN_PIPE_PIPE,
434
436 PM_TOKEN_PIPE_PIPE_EQUAL,
437
439 PM_TOKEN_PLUS,
440
442 PM_TOKEN_PLUS_EQUAL,
443
445 PM_TOKEN_QUESTION_MARK,
446
448 PM_TOKEN_REGEXP_BEGIN,
449
451 PM_TOKEN_REGEXP_END,
452
454 PM_TOKEN_SEMICOLON,
455
457 PM_TOKEN_SLASH,
458
460 PM_TOKEN_SLASH_EQUAL,
461
463 PM_TOKEN_STAR,
464
466 PM_TOKEN_STAR_EQUAL,
467
469 PM_TOKEN_STAR_STAR,
470
472 PM_TOKEN_STAR_STAR_EQUAL,
473
475 PM_TOKEN_STRING_BEGIN,
476
478 PM_TOKEN_STRING_CONTENT,
479
481 PM_TOKEN_STRING_END,
482
484 PM_TOKEN_SYMBOL_BEGIN,
485
487 PM_TOKEN_TILDE,
488
490 PM_TOKEN_UAMPERSAND,
491
493 PM_TOKEN_UCOLON_COLON,
494
496 PM_TOKEN_UDOT_DOT,
497
499 PM_TOKEN_UDOT_DOT_DOT,
500
502 PM_TOKEN_UMINUS,
503
505 PM_TOKEN_UMINUS_NUM,
506
508 PM_TOKEN_UPLUS,
509
511 PM_TOKEN_USTAR,
512
514 PM_TOKEN_USTAR_STAR,
515
517 PM_TOKEN_WORDS_SEP,
518
520 PM_TOKEN___END__,
521
523 PM_TOKEN_MAXIMUM,
524} pm_token_type_t;
525
530 typedef struct {
532 pm_token_type_t type;
533
535 const uint8_t *start;
536
538 const uint8_t *end;
539} pm_token_t;
540
545 typedef struct {
547 const uint8_t *start;
548
550 const uint8_t *end;
551} pm_location_t;
552
553struct pm_node;
554
558 typedef struct pm_node_list {
560 size_t size;
561
563 size_t capacity;
564
566 struct pm_node **nodes;
567} pm_node_list_t;
568
572 enum pm_node_type {
574 PM_ALIAS_GLOBAL_VARIABLE_NODE = 1,
575
577 PM_ALIAS_METHOD_NODE = 2,
578
580 PM_ALTERNATION_PATTERN_NODE = 3,
581
583 PM_AND_NODE = 4,
584
586 PM_ARGUMENTS_NODE = 5,
587
589 PM_ARRAY_NODE = 6,
590
592 PM_ARRAY_PATTERN_NODE = 7,
593
595 PM_ASSOC_NODE = 8,
596
598 PM_ASSOC_SPLAT_NODE = 9,
599
601 PM_BACK_REFERENCE_READ_NODE = 10,
602
604 PM_BEGIN_NODE = 11,
605
607 PM_BLOCK_ARGUMENT_NODE = 12,
608
610 PM_BLOCK_LOCAL_VARIABLE_NODE = 13,
611
613 PM_BLOCK_NODE = 14,
614
616 PM_BLOCK_PARAMETER_NODE = 15,
617
619 PM_BLOCK_PARAMETERS_NODE = 16,
620
622 PM_BREAK_NODE = 17,
623
625 PM_CALL_AND_WRITE_NODE = 18,
626
628 PM_CALL_NODE = 19,
629
631 PM_CALL_OPERATOR_WRITE_NODE = 20,
632
634 PM_CALL_OR_WRITE_NODE = 21,
635
637 PM_CALL_TARGET_NODE = 22,
638
640 PM_CAPTURE_PATTERN_NODE = 23,
641
643 PM_CASE_MATCH_NODE = 24,
644
646 PM_CASE_NODE = 25,
647
649 PM_CLASS_NODE = 26,
650
652 PM_CLASS_VARIABLE_AND_WRITE_NODE = 27,
653
655 PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE = 28,
656
658 PM_CLASS_VARIABLE_OR_WRITE_NODE = 29,
659
661 PM_CLASS_VARIABLE_READ_NODE = 30,
662
664 PM_CLASS_VARIABLE_TARGET_NODE = 31,
665
667 PM_CLASS_VARIABLE_WRITE_NODE = 32,
668
670 PM_CONSTANT_AND_WRITE_NODE = 33,
671
673 PM_CONSTANT_OPERATOR_WRITE_NODE = 34,
674
676 PM_CONSTANT_OR_WRITE_NODE = 35,
677
679 PM_CONSTANT_PATH_AND_WRITE_NODE = 36,
680
682 PM_CONSTANT_PATH_NODE = 37,
683
685 PM_CONSTANT_PATH_OPERATOR_WRITE_NODE = 38,
686
688 PM_CONSTANT_PATH_OR_WRITE_NODE = 39,
689
691 PM_CONSTANT_PATH_TARGET_NODE = 40,
692
694 PM_CONSTANT_PATH_WRITE_NODE = 41,
695
697 PM_CONSTANT_READ_NODE = 42,
698
700 PM_CONSTANT_TARGET_NODE = 43,
701
703 PM_CONSTANT_WRITE_NODE = 44,
704
706 PM_DEF_NODE = 45,
707
709 PM_DEFINED_NODE = 46,
710
712 PM_ELSE_NODE = 47,
713
715 PM_EMBEDDED_STATEMENTS_NODE = 48,
716
718 PM_EMBEDDED_VARIABLE_NODE = 49,
719
721 PM_ENSURE_NODE = 50,
722
724 PM_FALSE_NODE = 51,
725
727 PM_FIND_PATTERN_NODE = 52,
728
730 PM_FLIP_FLOP_NODE = 53,
731
733 PM_FLOAT_NODE = 54,
734
736 PM_FOR_NODE = 55,
737
739 PM_FORWARDING_ARGUMENTS_NODE = 56,
740
742 PM_FORWARDING_PARAMETER_NODE = 57,
743
745 PM_FORWARDING_SUPER_NODE = 58,
746
748 PM_GLOBAL_VARIABLE_AND_WRITE_NODE = 59,
749
751 PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE = 60,
752
754 PM_GLOBAL_VARIABLE_OR_WRITE_NODE = 61,
755
757 PM_GLOBAL_VARIABLE_READ_NODE = 62,
758
760 PM_GLOBAL_VARIABLE_TARGET_NODE = 63,
761
763 PM_GLOBAL_VARIABLE_WRITE_NODE = 64,
764
766 PM_HASH_NODE = 65,
767
769 PM_HASH_PATTERN_NODE = 66,
770
772 PM_IF_NODE = 67,
773
775 PM_IMAGINARY_NODE = 68,
776
778 PM_IMPLICIT_NODE = 69,
779
781 PM_IMPLICIT_REST_NODE = 70,
782
784 PM_IN_NODE = 71,
785
787 PM_INDEX_AND_WRITE_NODE = 72,
788
790 PM_INDEX_OPERATOR_WRITE_NODE = 73,
791
793 PM_INDEX_OR_WRITE_NODE = 74,
794
796 PM_INDEX_TARGET_NODE = 75,
797
799 PM_INSTANCE_VARIABLE_AND_WRITE_NODE = 76,
800
802 PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE = 77,
803
805 PM_INSTANCE_VARIABLE_OR_WRITE_NODE = 78,
806
808 PM_INSTANCE_VARIABLE_READ_NODE = 79,
809
811 PM_INSTANCE_VARIABLE_TARGET_NODE = 80,
812
814 PM_INSTANCE_VARIABLE_WRITE_NODE = 81,
815
817 PM_INTEGER_NODE = 82,
818
820 PM_INTERPOLATED_MATCH_LAST_LINE_NODE = 83,
821
823 PM_INTERPOLATED_REGULAR_EXPRESSION_NODE = 84,
824
826 PM_INTERPOLATED_STRING_NODE = 85,
827
829 PM_INTERPOLATED_SYMBOL_NODE = 86,
830
832 PM_INTERPOLATED_X_STRING_NODE = 87,
833
835 PM_IT_LOCAL_VARIABLE_READ_NODE = 88,
836
838 PM_IT_PARAMETERS_NODE = 89,
839
841 PM_KEYWORD_HASH_NODE = 90,
842
844 PM_KEYWORD_REST_PARAMETER_NODE = 91,
845
847 PM_LAMBDA_NODE = 92,
848
850 PM_LOCAL_VARIABLE_AND_WRITE_NODE = 93,
851
853 PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE = 94,
854
856 PM_LOCAL_VARIABLE_OR_WRITE_NODE = 95,
857
859 PM_LOCAL_VARIABLE_READ_NODE = 96,
860
862 PM_LOCAL_VARIABLE_TARGET_NODE = 97,
863
865 PM_LOCAL_VARIABLE_WRITE_NODE = 98,
866
868 PM_MATCH_LAST_LINE_NODE = 99,
869
871 PM_MATCH_PREDICATE_NODE = 100,
872
874 PM_MATCH_REQUIRED_NODE = 101,
875
877 PM_MATCH_WRITE_NODE = 102,
878
880 PM_MISSING_NODE = 103,
881
883 PM_MODULE_NODE = 104,
884
886 PM_MULTI_TARGET_NODE = 105,
887
889 PM_MULTI_WRITE_NODE = 106,
890
892 PM_NEXT_NODE = 107,
893
895 PM_NIL_NODE = 108,
896
898 PM_NO_KEYWORDS_PARAMETER_NODE = 109,
899
901 PM_NUMBERED_PARAMETERS_NODE = 110,
902
904 PM_NUMBERED_REFERENCE_READ_NODE = 111,
905
907 PM_OPTIONAL_KEYWORD_PARAMETER_NODE = 112,
908
910 PM_OPTIONAL_PARAMETER_NODE = 113,
911
913 PM_OR_NODE = 114,
914
916 PM_PARAMETERS_NODE = 115,
917
919 PM_PARENTHESES_NODE = 116,
920
922 PM_PINNED_EXPRESSION_NODE = 117,
923
925 PM_PINNED_VARIABLE_NODE = 118,
926
928 PM_POST_EXECUTION_NODE = 119,
929
931 PM_PRE_EXECUTION_NODE = 120,
932
934 PM_PROGRAM_NODE = 121,
935
937 PM_RANGE_NODE = 122,
938
940 PM_RATIONAL_NODE = 123,
941
943 PM_REDO_NODE = 124,
944
946 PM_REGULAR_EXPRESSION_NODE = 125,
947
949 PM_REQUIRED_KEYWORD_PARAMETER_NODE = 126,
950
952 PM_REQUIRED_PARAMETER_NODE = 127,
953
955 PM_RESCUE_MODIFIER_NODE = 128,
956
958 PM_RESCUE_NODE = 129,
959
961 PM_REST_PARAMETER_NODE = 130,
962
964 PM_RETRY_NODE = 131,
965
967 PM_RETURN_NODE = 132,
968
970 PM_SELF_NODE = 133,
971
973 PM_SHAREABLE_CONSTANT_NODE = 134,
974
976 PM_SINGLETON_CLASS_NODE = 135,
977
979 PM_SOURCE_ENCODING_NODE = 136,
980
982 PM_SOURCE_FILE_NODE = 137,
983
985 PM_SOURCE_LINE_NODE = 138,
986
988 PM_SPLAT_NODE = 139,
989
991 PM_STATEMENTS_NODE = 140,
992
994 PM_STRING_NODE = 141,
995
997 PM_SUPER_NODE = 142,
998
1000 PM_SYMBOL_NODE = 143,
1001
1003 PM_TRUE_NODE = 144,
1004
1006 PM_UNDEF_NODE = 145,
1007
1009 PM_UNLESS_NODE = 146,
1010
1012 PM_UNTIL_NODE = 147,
1013
1015 PM_WHEN_NODE = 148,
1016
1018 PM_WHILE_NODE = 149,
1019
1021 PM_X_STRING_NODE = 150,
1022
1024 PM_YIELD_NODE = 151,
1025
1027 PM_SCOPE_NODE
1028};
1029
1034 typedef uint16_t pm_node_type_t;
1035
1040 typedef uint16_t pm_node_flags_t;
1041
1046 static const pm_node_flags_t PM_NODE_FLAG_NEWLINE = 0x1;
1047static const pm_node_flags_t PM_NODE_FLAG_STATIC_LITERAL = 0x2;
1048
1053#define PM_NODE_TYPE(node) ((enum pm_node_type) (node)->type)
1054
1058#define PM_NODE_TYPE_P(node, type) (PM_NODE_TYPE(node) == (type))
1059
1063#define PM_NODE_FLAG_P(node, flag) ((((pm_node_t *)(node))->flags & (flag)) != 0)
1064
1069 typedef struct pm_node {
1074 pm_node_type_t type;
1075
1080 pm_node_flags_t flags;
1081
1086 uint32_t node_id;
1087
1092 pm_location_t location;
1093} pm_node_t;
1094
1107 typedef struct pm_alias_global_variable_node {
1109 pm_node_t base;
1110
1111
1120 struct pm_node *new_name;
1121
1130 struct pm_node *old_name;
1131
1140 pm_location_t keyword_loc;
1141} pm_alias_global_variable_node_t;
1142
1155 typedef struct pm_alias_method_node {
1157 pm_node_t base;
1158
1159
1174 struct pm_node *new_name;
1175
1190 struct pm_node *old_name;
1191
1200 pm_location_t keyword_loc;
1201} pm_alias_method_node_t;
1202
1215 typedef struct pm_alternation_pattern_node {
1217 pm_node_t base;
1218
1219
1228 struct pm_node *left;
1229
1238 struct pm_node *right;
1239
1248 pm_location_t operator_loc;
1249} pm_alternation_pattern_node_t;
1250
1263 typedef struct pm_and_node {
1265 pm_node_t base;
1266
1267
1279 struct pm_node *left;
1280
1292 struct pm_node *right;
1293
1302 pm_location_t operator_loc;
1303} pm_and_node_t;
1304
1324 typedef struct pm_arguments_node {
1326 pm_node_t base;
1327
1328
1337 struct pm_node_list arguments;
1338} pm_arguments_node_t;
1339
1355 typedef struct pm_array_node {
1357 pm_node_t base;
1358
1359
1365 struct pm_node_list elements;
1366
1377 pm_location_t opening_loc;
1378
1389 pm_location_t closing_loc;
1390} pm_array_node_t;
1391
1416 typedef struct pm_array_pattern_node {
1418 pm_node_t base;
1419
1420
1424 struct pm_node *constant;
1425
1434 struct pm_node_list requireds;
1435
1444 struct pm_node *rest;
1445
1454 struct pm_node_list posts;
1455
1464 pm_location_t opening_loc;
1465
1474 pm_location_t closing_loc;
1475} pm_array_pattern_node_t;
1476
1489 typedef struct pm_assoc_node {
1491 pm_node_t base;
1492
1493
1508 struct pm_node *key;
1509
1521 struct pm_node *value;
1522
1531 pm_location_t operator_loc;
1532} pm_assoc_node_t;
1533
1546 typedef struct pm_assoc_splat_node {
1548 pm_node_t base;
1549
1550
1559 struct pm_node *value;
1560
1569 pm_location_t operator_loc;
1570} pm_assoc_splat_node_t;
1571
1584 typedef struct pm_back_reference_read_node {
1586 pm_node_t base;
1587
1588
1598 pm_constant_id_t name;
1599} pm_back_reference_read_node_t;
1600
1615 typedef struct pm_begin_node {
1617 pm_node_t base;
1618
1619
1628 pm_location_t begin_keyword_loc;
1629
1638 struct pm_statements_node *statements;
1639
1648 struct pm_rescue_node *rescue_clause;
1649
1658 struct pm_else_node *else_clause;
1659
1668 struct pm_ensure_node *ensure_clause;
1669
1678 pm_location_t end_keyword_loc;
1679} pm_begin_node_t;
1680
1693 typedef struct pm_block_argument_node {
1695 pm_node_t base;
1696
1697
1706 struct pm_node *expression;
1707
1716 pm_location_t operator_loc;
1717} pm_block_argument_node_t;
1718
1734 typedef struct pm_block_local_variable_node {
1736 pm_node_t base;
1737
1738
1747 pm_constant_id_t name;
1748} pm_block_local_variable_node_t;
1749
1762 typedef struct pm_block_node {
1764 pm_node_t base;
1765
1766
1775 pm_constant_id_list_t locals;
1776
1789 struct pm_node *parameters;
1790
1799 struct pm_node *body;
1800
1809 pm_location_t opening_loc;
1810
1819 pm_location_t closing_loc;
1820} pm_block_node_t;
1821
1838 typedef struct pm_block_parameter_node {
1840 pm_node_t base;
1841
1842
1852 pm_constant_id_t name;
1853
1862 pm_location_t name_loc;
1863
1873 pm_location_t operator_loc;
1874} pm_block_parameter_node_t;
1875
1892 typedef struct pm_block_parameters_node {
1894 pm_node_t base;
1895
1896
1909 struct pm_parameters_node *parameters;
1910
1923 struct pm_node_list locals;
1924
1937 pm_location_t opening_loc;
1938
1951 pm_location_t closing_loc;
1952} pm_block_parameters_node_t;
1953
1966 typedef struct pm_break_node {
1968 pm_node_t base;
1969
1970
1979 struct pm_arguments_node *arguments;
1980
1989 pm_location_t keyword_loc;
1990} pm_break_node_t;
1991
2010 typedef struct pm_call_and_write_node {
2012 pm_node_t base;
2013
2014
2023 struct pm_node *receiver;
2024
2033 pm_location_t call_operator_loc;
2034
2043 pm_location_t message_loc;
2044
2053 pm_constant_id_t read_name;
2054
2063 pm_constant_id_t write_name;
2064
2073 pm_location_t operator_loc;
2074
2083 struct pm_node *value;
2084} pm_call_and_write_node_t;
2085
2119 typedef struct pm_call_node {
2121 pm_node_t base;
2122
2123
2138 struct pm_node *receiver;
2139
2151 pm_location_t call_operator_loc;
2152
2161 pm_constant_id_t name;
2162
2171 pm_location_t message_loc;
2172
2180 pm_location_t opening_loc;
2181
2190 struct pm_arguments_node *arguments;
2191
2200 pm_location_t closing_loc;
2201
2210 struct pm_node *block;
2211} pm_call_node_t;
2212
2231 typedef struct pm_call_operator_write_node {
2233 pm_node_t base;
2234
2235
2244 struct pm_node *receiver;
2245
2254 pm_location_t call_operator_loc;
2255
2264 pm_location_t message_loc;
2265
2274 pm_constant_id_t read_name;
2275
2284 pm_constant_id_t write_name;
2285
2294 pm_constant_id_t binary_operator;
2295
2304 pm_location_t binary_operator_loc;
2305
2314 struct pm_node *value;
2315} pm_call_operator_write_node_t;
2316
2335 typedef struct pm_call_or_write_node {
2337 pm_node_t base;
2338
2339
2348 struct pm_node *receiver;
2349
2358 pm_location_t call_operator_loc;
2359
2368 pm_location_t message_loc;
2369
2378 pm_constant_id_t read_name;
2379
2388 pm_constant_id_t write_name;
2389
2398 pm_location_t operator_loc;
2399
2408 struct pm_node *value;
2409} pm_call_or_write_node_t;
2410
2437 typedef struct pm_call_target_node {
2439 pm_node_t base;
2440
2441
2450 struct pm_node *receiver;
2451
2460 pm_location_t call_operator_loc;
2461
2470 pm_constant_id_t name;
2471
2480 pm_location_t message_loc;
2481} pm_call_target_node_t;
2482
2495 typedef struct pm_capture_pattern_node {
2497 pm_node_t base;
2498
2499
2508 struct pm_node *value;
2509
2518 struct pm_local_variable_target_node *target;
2519
2528 pm_location_t operator_loc;
2529} pm_capture_pattern_node_t;
2530
2545 typedef struct pm_case_match_node {
2547 pm_node_t base;
2548
2549
2558 struct pm_node *predicate;
2559
2568 struct pm_node_list conditions;
2569
2578 struct pm_else_node *else_clause;
2579
2588 pm_location_t case_keyword_loc;
2589
2598 pm_location_t end_keyword_loc;
2599} pm_case_match_node_t;
2600
2615 typedef struct pm_case_node {
2617 pm_node_t base;
2618
2619
2628 struct pm_node *predicate;
2629
2638 struct pm_node_list conditions;
2639
2648 struct pm_else_node *else_clause;
2649
2658 pm_location_t case_keyword_loc;
2659
2668 pm_location_t end_keyword_loc;
2669} pm_case_node_t;
2670
2683 typedef struct pm_class_node {
2685 pm_node_t base;
2686
2687
2691 pm_constant_id_list_t locals;
2692
2696 pm_location_t class_keyword_loc;
2697
2701 struct pm_node *constant_path;
2702
2706 pm_location_t inheritance_operator_loc;
2707
2711 struct pm_node *superclass;
2712
2716 struct pm_node *body;
2717
2721 pm_location_t end_keyword_loc;
2722
2726 pm_constant_id_t name;
2727} pm_class_node_t;
2728
2741 typedef struct pm_class_variable_and_write_node {
2743 pm_node_t base;
2744
2745
2754 pm_constant_id_t name;
2755
2764 pm_location_t name_loc;
2765
2774 pm_location_t operator_loc;
2775
2784 struct pm_node *value;
2785} pm_class_variable_and_write_node_t;
2786
2799 typedef struct pm_class_variable_operator_write_node {
2801 pm_node_t base;
2802
2803
2807 pm_constant_id_t name;
2808
2812 pm_location_t name_loc;
2813
2817 pm_location_t binary_operator_loc;
2818
2822 struct pm_node *value;
2823
2827 pm_constant_id_t binary_operator;
2828} pm_class_variable_operator_write_node_t;
2829
2842 typedef struct pm_class_variable_or_write_node {
2844 pm_node_t base;
2845
2846
2850 pm_constant_id_t name;
2851
2855 pm_location_t name_loc;
2856
2860 pm_location_t operator_loc;
2861
2865 struct pm_node *value;
2866} pm_class_variable_or_write_node_t;
2867
2880 typedef struct pm_class_variable_read_node {
2882 pm_node_t base;
2883
2884
2894 pm_constant_id_t name;
2895} pm_class_variable_read_node_t;
2896
2909 typedef struct pm_class_variable_target_node {
2911 pm_node_t base;
2912
2913
2917 pm_constant_id_t name;
2918} pm_class_variable_target_node_t;
2919
2932 typedef struct pm_class_variable_write_node {
2934 pm_node_t base;
2935
2936
2946 pm_constant_id_t name;
2947
2956 pm_location_t name_loc;
2957
2969 struct pm_node *value;
2970
2979 pm_location_t operator_loc;
2980} pm_class_variable_write_node_t;
2981
2994 typedef struct pm_constant_and_write_node {
2996 pm_node_t base;
2997
2998
3002 pm_constant_id_t name;
3003
3007 pm_location_t name_loc;
3008
3012 pm_location_t operator_loc;
3013
3017 struct pm_node *value;
3018} pm_constant_and_write_node_t;
3019
3032 typedef struct pm_constant_operator_write_node {
3034 pm_node_t base;
3035
3036
3040 pm_constant_id_t name;
3041
3045 pm_location_t name_loc;
3046
3050 pm_location_t binary_operator_loc;
3051
3055 struct pm_node *value;
3056
3060 pm_constant_id_t binary_operator;
3061} pm_constant_operator_write_node_t;
3062
3075 typedef struct pm_constant_or_write_node {
3077 pm_node_t base;
3078
3079
3083 pm_constant_id_t name;
3084
3088 pm_location_t name_loc;
3089
3093 pm_location_t operator_loc;
3094
3098 struct pm_node *value;
3099} pm_constant_or_write_node_t;
3100
3113 typedef struct pm_constant_path_and_write_node {
3115 pm_node_t base;
3116
3117
3121 struct pm_constant_path_node *target;
3122
3126 pm_location_t operator_loc;
3127
3131 struct pm_node *value;
3132} pm_constant_path_and_write_node_t;
3133
3146 typedef struct pm_constant_path_node {
3148 pm_node_t base;
3149
3150
3165 struct pm_node *parent;
3166
3172 pm_constant_id_t name;
3173
3185 pm_location_t delimiter_loc;
3186
3198 pm_location_t name_loc;
3199} pm_constant_path_node_t;
3200
3213 typedef struct pm_constant_path_operator_write_node {
3215 pm_node_t base;
3216
3217
3221 struct pm_constant_path_node *target;
3222
3226 pm_location_t binary_operator_loc;
3227
3231 struct pm_node *value;
3232
3236 pm_constant_id_t binary_operator;
3237} pm_constant_path_operator_write_node_t;
3238
3251 typedef struct pm_constant_path_or_write_node {
3253 pm_node_t base;
3254
3255
3259 struct pm_constant_path_node *target;
3260
3264 pm_location_t operator_loc;
3265
3269 struct pm_node *value;
3270} pm_constant_path_or_write_node_t;
3271
3284 typedef struct pm_constant_path_target_node {
3286 pm_node_t base;
3287
3288
3292 struct pm_node *parent;
3293
3297 pm_constant_id_t name;
3298
3302 pm_location_t delimiter_loc;
3303
3307 pm_location_t name_loc;
3308} pm_constant_path_target_node_t;
3309
3328 typedef struct pm_constant_path_write_node {
3330 pm_node_t base;
3331
3332
3344 struct pm_constant_path_node *target;
3345
3354 pm_location_t operator_loc;
3355
3364 struct pm_node *value;
3365} pm_constant_path_write_node_t;
3366
3379 typedef struct pm_constant_read_node {
3381 pm_node_t base;
3382
3383
3393 pm_constant_id_t name;
3394} pm_constant_read_node_t;
3395
3408 typedef struct pm_constant_target_node {
3410 pm_node_t base;
3411
3412
3416 pm_constant_id_t name;
3417} pm_constant_target_node_t;
3418
3431 typedef struct pm_constant_write_node {
3433 pm_node_t base;
3434
3435
3445 pm_constant_id_t name;
3446
3455 pm_location_t name_loc;
3456
3468 struct pm_node *value;
3469
3478 pm_location_t operator_loc;
3479} pm_constant_write_node_t;
3480
3494 typedef struct pm_def_node {
3496 pm_node_t base;
3497
3498
3502 pm_constant_id_t name;
3503
3507 pm_location_t name_loc;
3508
3512 struct pm_node *receiver;
3513
3517 struct pm_parameters_node *parameters;
3518
3522 struct pm_node *body;
3523
3527 pm_constant_id_list_t locals;
3528
3532 pm_location_t def_keyword_loc;
3533
3537 pm_location_t operator_loc;
3538
3542 pm_location_t lparen_loc;
3543
3547 pm_location_t rparen_loc;
3548
3552 pm_location_t equal_loc;
3553
3557 pm_location_t end_keyword_loc;
3558} pm_def_node_t;
3559
3572 typedef struct pm_defined_node {
3574 pm_node_t base;
3575
3576
3580 pm_location_t lparen_loc;
3581
3585 struct pm_node *value;
3586
3590 pm_location_t rparen_loc;
3591
3595 pm_location_t keyword_loc;
3596} pm_defined_node_t;
3597
3610 typedef struct pm_else_node {
3612 pm_node_t base;
3613
3614
3618 pm_location_t else_keyword_loc;
3619
3623 struct pm_statements_node *statements;
3624
3628 pm_location_t end_keyword_loc;
3629} pm_else_node_t;
3630
3643 typedef struct pm_embedded_statements_node {
3645 pm_node_t base;
3646
3647
3651 pm_location_t opening_loc;
3652
3656 struct pm_statements_node *statements;
3657
3661 pm_location_t closing_loc;
3662} pm_embedded_statements_node_t;
3663
3676 typedef struct pm_embedded_variable_node {
3678 pm_node_t base;
3679
3680
3684 pm_location_t operator_loc;
3685
3689 struct pm_node *variable;
3690} pm_embedded_variable_node_t;
3691
3708 typedef struct pm_ensure_node {
3710 pm_node_t base;
3711
3712
3716 pm_location_t ensure_keyword_loc;
3717
3721 struct pm_statements_node *statements;
3722
3726 pm_location_t end_keyword_loc;
3727} pm_ensure_node_t;
3728
3741 typedef struct pm_false_node {
3743 pm_node_t base;
3744
3745} pm_false_node_t;
3746
3765 typedef struct pm_find_pattern_node {
3767 pm_node_t base;
3768
3769
3773 struct pm_node *constant;
3774
3778 struct pm_splat_node *left;
3779
3783 struct pm_node_list requireds;
3784
3788 struct pm_node *right;
3789
3793 pm_location_t opening_loc;
3794
3798 pm_location_t closing_loc;
3799} pm_find_pattern_node_t;
3800
3816 typedef struct pm_flip_flop_node {
3818 pm_node_t base;
3819
3820
3824 struct pm_node *left;
3825
3829 struct pm_node *right;
3830
3834 pm_location_t operator_loc;
3835} pm_flip_flop_node_t;
3836
3849 typedef struct pm_float_node {
3851 pm_node_t base;
3852
3853
3859 double value;
3860} pm_float_node_t;
3861
3874 typedef struct pm_for_node {
3876 pm_node_t base;
3877
3878
3887 struct pm_node *index;
3888
3897 struct pm_node *collection;
3898
3909 struct pm_statements_node *statements;
3910
3919 pm_location_t for_keyword_loc;
3920
3929 pm_location_t in_keyword_loc;
3930
3939 pm_location_t do_keyword_loc;
3940
3949 pm_location_t end_keyword_loc;
3950} pm_for_node_t;
3951
3966 typedef struct pm_forwarding_arguments_node {
3968 pm_node_t base;
3969
3970} pm_forwarding_arguments_node_t;
3971
3985 typedef struct pm_forwarding_parameter_node {
3987 pm_node_t base;
3988
3989} pm_forwarding_parameter_node_t;
3990
4003 typedef struct pm_forwarding_super_node {
4005 pm_node_t base;
4006
4007
4011 struct pm_block_node *block;
4012} pm_forwarding_super_node_t;
4013
4026 typedef struct pm_global_variable_and_write_node {
4028 pm_node_t base;
4029
4030
4034 pm_constant_id_t name;
4035
4039 pm_location_t name_loc;
4040
4044 pm_location_t operator_loc;
4045
4049 struct pm_node *value;
4050} pm_global_variable_and_write_node_t;
4051
4064 typedef struct pm_global_variable_operator_write_node {
4066 pm_node_t base;
4067
4068
4072 pm_constant_id_t name;
4073
4077 pm_location_t name_loc;
4078
4082 pm_location_t binary_operator_loc;
4083
4087 struct pm_node *value;
4088
4092 pm_constant_id_t binary_operator;
4093} pm_global_variable_operator_write_node_t;
4094
4107 typedef struct pm_global_variable_or_write_node {
4109 pm_node_t base;
4110
4111
4115 pm_constant_id_t name;
4116
4120 pm_location_t name_loc;
4121
4125 pm_location_t operator_loc;
4126
4130 struct pm_node *value;
4131} pm_global_variable_or_write_node_t;
4132
4145 typedef struct pm_global_variable_read_node {
4147 pm_node_t base;
4148
4149
4159 pm_constant_id_t name;
4160} pm_global_variable_read_node_t;
4161
4174 typedef struct pm_global_variable_target_node {
4176 pm_node_t base;
4177
4178
4182 pm_constant_id_t name;
4183} pm_global_variable_target_node_t;
4184
4197 typedef struct pm_global_variable_write_node {
4199 pm_node_t base;
4200
4201
4211 pm_constant_id_t name;
4212
4221 pm_location_t name_loc;
4222
4234 struct pm_node *value;
4235
4244 pm_location_t operator_loc;
4245} pm_global_variable_write_node_t;
4246
4259 typedef struct pm_hash_node {
4261 pm_node_t base;
4262
4263
4272 pm_location_t opening_loc;
4273
4285 struct pm_node_list elements;
4286
4295 pm_location_t closing_loc;
4296} pm_hash_node_t;
4297
4313 typedef struct pm_hash_pattern_node {
4315 pm_node_t base;
4316
4317
4321 struct pm_node *constant;
4322
4326 struct pm_node_list elements;
4327
4331 struct pm_node *rest;
4332
4336 pm_location_t opening_loc;
4337
4341 pm_location_t closing_loc;
4342} pm_hash_pattern_node_t;
4343
4362 typedef struct pm_if_node {
4364 pm_node_t base;
4365
4366
4377 pm_location_t if_keyword_loc;
4378
4395 struct pm_node *predicate;
4396
4408 pm_location_t then_keyword_loc;
4409
4422 struct pm_statements_node *statements;
4423
4441 struct pm_node *subsequent;
4442
4453 pm_location_t end_keyword_loc;
4454} pm_if_node_t;
4455
4468 typedef struct pm_imaginary_node {
4470 pm_node_t base;
4471
4472
4476 struct pm_node *numeric;
4477} pm_imaginary_node_t;
4478
4497 typedef struct pm_implicit_node {
4499 pm_node_t base;
4500
4501
4505 struct pm_node *value;
4506} pm_implicit_node_t;
4507
4529 typedef struct pm_implicit_rest_node {
4531 pm_node_t base;
4532
4533} pm_implicit_rest_node_t;
4534
4547 typedef struct pm_in_node {
4549 pm_node_t base;
4550
4551
4555 struct pm_node *pattern;
4556
4560 struct pm_statements_node *statements;
4561
4565 pm_location_t in_loc;
4566
4570 pm_location_t then_loc;
4571} pm_in_node_t;
4572
4591 typedef struct pm_index_and_write_node {
4593 pm_node_t base;
4594
4595
4599 struct pm_node *receiver;
4600
4604 pm_location_t call_operator_loc;
4605
4609 pm_location_t opening_loc;
4610
4614 struct pm_arguments_node *arguments;
4615
4619 pm_location_t closing_loc;
4620
4624 struct pm_block_argument_node *block;
4625
4629 pm_location_t operator_loc;
4630
4634 struct pm_node *value;
4635} pm_index_and_write_node_t;
4636
4655 typedef struct pm_index_operator_write_node {
4657 pm_node_t base;
4658
4659
4663 struct pm_node *receiver;
4664
4668 pm_location_t call_operator_loc;
4669
4673 pm_location_t opening_loc;
4674
4678 struct pm_arguments_node *arguments;
4679
4683 pm_location_t closing_loc;
4684
4688 struct pm_block_argument_node *block;
4689
4693 pm_constant_id_t binary_operator;
4694
4698 pm_location_t binary_operator_loc;
4699
4703 struct pm_node *value;
4704} pm_index_operator_write_node_t;
4705
4724 typedef struct pm_index_or_write_node {
4726 pm_node_t base;
4727
4728
4732 struct pm_node *receiver;
4733
4737 pm_location_t call_operator_loc;
4738
4742 pm_location_t opening_loc;
4743
4747 struct pm_arguments_node *arguments;
4748
4752 pm_location_t closing_loc;
4753
4757 struct pm_block_argument_node *block;
4758
4762 pm_location_t operator_loc;
4763
4767 struct pm_node *value;
4768} pm_index_or_write_node_t;
4769
4796 typedef struct pm_index_target_node {
4798 pm_node_t base;
4799
4800
4804 struct pm_node *receiver;
4805
4809 pm_location_t opening_loc;
4810
4814 struct pm_arguments_node *arguments;
4815
4819 pm_location_t closing_loc;
4820
4824 struct pm_block_argument_node *block;
4825} pm_index_target_node_t;
4826
4839 typedef struct pm_instance_variable_and_write_node {
4841 pm_node_t base;
4842
4843
4847 pm_constant_id_t name;
4848
4852 pm_location_t name_loc;
4853
4857 pm_location_t operator_loc;
4858
4862 struct pm_node *value;
4863} pm_instance_variable_and_write_node_t;
4864
4877 typedef struct pm_instance_variable_operator_write_node {
4879 pm_node_t base;
4880
4881
4885 pm_constant_id_t name;
4886
4890 pm_location_t name_loc;
4891
4895 pm_location_t binary_operator_loc;
4896
4900 struct pm_node *value;
4901
4905 pm_constant_id_t binary_operator;
4906} pm_instance_variable_operator_write_node_t;
4907
4920 typedef struct pm_instance_variable_or_write_node {
4922 pm_node_t base;
4923
4924
4928 pm_constant_id_t name;
4929
4933 pm_location_t name_loc;
4934
4938 pm_location_t operator_loc;
4939
4943 struct pm_node *value;
4944} pm_instance_variable_or_write_node_t;
4945
4958 typedef struct pm_instance_variable_read_node {
4960 pm_node_t base;
4961
4962
4972 pm_constant_id_t name;
4973} pm_instance_variable_read_node_t;
4974
4987 typedef struct pm_instance_variable_target_node {
4989 pm_node_t base;
4990
4991
4995 pm_constant_id_t name;
4996} pm_instance_variable_target_node_t;
4997
5010 typedef struct pm_instance_variable_write_node {
5012 pm_node_t base;
5013
5014
5024 pm_constant_id_t name;
5025
5034 pm_location_t name_loc;
5035
5047 struct pm_node *value;
5048
5057 pm_location_t operator_loc;
5058} pm_instance_variable_write_node_t;
5059
5078 typedef struct pm_integer_node {
5080 pm_node_t base;
5081
5082
5088 pm_integer_t value;
5089} pm_integer_node_t;
5090
5116 typedef struct pm_interpolated_match_last_line_node {
5118 pm_node_t base;
5119
5120
5124 pm_location_t opening_loc;
5125
5129 struct pm_node_list parts;
5130
5134 pm_location_t closing_loc;
5135} pm_interpolated_match_last_line_node_t;
5136
5162 typedef struct pm_interpolated_regular_expression_node {
5164 pm_node_t base;
5165
5166
5170 pm_location_t opening_loc;
5171
5175 struct pm_node_list parts;
5176
5180 pm_location_t closing_loc;
5181} pm_interpolated_regular_expression_node_t;
5182
5199 typedef struct pm_interpolated_string_node {
5201 pm_node_t base;
5202
5203
5207 pm_location_t opening_loc;
5208
5212 struct pm_node_list parts;
5213
5217 pm_location_t closing_loc;
5218} pm_interpolated_string_node_t;
5219
5232 typedef struct pm_interpolated_symbol_node {
5234 pm_node_t base;
5235
5236
5240 pm_location_t opening_loc;
5241
5245 struct pm_node_list parts;
5246
5250 pm_location_t closing_loc;
5251} pm_interpolated_symbol_node_t;
5252
5265 typedef struct pm_interpolated_x_string_node {
5267 pm_node_t base;
5268
5269
5273 pm_location_t opening_loc;
5274
5278 struct pm_node_list parts;
5279
5283 pm_location_t closing_loc;
5284} pm_interpolated_x_string_node_t;
5285
5298 typedef struct pm_it_local_variable_read_node {
5300 pm_node_t base;
5301
5302} pm_it_local_variable_read_node_t;
5303
5316 typedef struct pm_it_parameters_node {
5318 pm_node_t base;
5319
5320} pm_it_parameters_node_t;
5321
5337 typedef struct pm_keyword_hash_node {
5339 pm_node_t base;
5340
5341
5345 struct pm_node_list elements;
5346} pm_keyword_hash_node_t;
5347
5364 typedef struct pm_keyword_rest_parameter_node {
5366 pm_node_t base;
5367
5368
5372 pm_constant_id_t name;
5373
5377 pm_location_t name_loc;
5378
5382 pm_location_t operator_loc;
5383} pm_keyword_rest_parameter_node_t;
5384
5397 typedef struct pm_lambda_node {
5399 pm_node_t base;
5400
5401
5405 pm_constant_id_list_t locals;
5406
5410 pm_location_t operator_loc;
5411
5415 pm_location_t opening_loc;
5416
5420 pm_location_t closing_loc;
5421
5425 struct pm_node *parameters;
5426
5430 struct pm_node *body;
5431} pm_lambda_node_t;
5432
5445 typedef struct pm_local_variable_and_write_node {
5447 pm_node_t base;
5448
5449
5453 pm_location_t name_loc;
5454
5458 pm_location_t operator_loc;
5459
5463 struct pm_node *value;
5464
5468 pm_constant_id_t name;
5469
5473 uint32_t depth;
5474} pm_local_variable_and_write_node_t;
5475
5488 typedef struct pm_local_variable_operator_write_node {
5490 pm_node_t base;
5491
5492
5496 pm_location_t name_loc;
5497
5501 pm_location_t binary_operator_loc;
5502
5506 struct pm_node *value;
5507
5511 pm_constant_id_t name;
5512
5516 pm_constant_id_t binary_operator;
5517
5521 uint32_t depth;
5522} pm_local_variable_operator_write_node_t;
5523
5536 typedef struct pm_local_variable_or_write_node {
5538 pm_node_t base;
5539
5540
5544 pm_location_t name_loc;
5545
5549 pm_location_t operator_loc;
5550
5554 struct pm_node *value;
5555
5559 pm_constant_id_t name;
5560
5564 uint32_t depth;
5565} pm_local_variable_or_write_node_t;
5566
5579 typedef struct pm_local_variable_read_node {
5581 pm_node_t base;
5582
5583
5597 pm_constant_id_t name;
5598
5610 uint32_t depth;
5611} pm_local_variable_read_node_t;
5612
5625 typedef struct pm_local_variable_target_node {
5627 pm_node_t base;
5628
5629
5633 pm_constant_id_t name;
5634
5638 uint32_t depth;
5639} pm_local_variable_target_node_t;
5640
5653 typedef struct pm_local_variable_write_node {
5655 pm_node_t base;
5656
5657
5667 pm_constant_id_t name;
5668
5680 uint32_t depth;
5681
5690 pm_location_t name_loc;
5691
5707 struct pm_node *value;
5708
5717 pm_location_t operator_loc;
5718} pm_local_variable_write_node_t;
5719
5745 typedef struct pm_match_last_line_node {
5747 pm_node_t base;
5748
5749
5753 pm_location_t opening_loc;
5754
5758 pm_location_t content_loc;
5759
5763 pm_location_t closing_loc;
5764
5768 pm_string_t unescaped;
5769} pm_match_last_line_node_t;
5770
5783 typedef struct pm_match_predicate_node {
5785 pm_node_t base;
5786
5787
5791 struct pm_node *value;
5792
5796 struct pm_node *pattern;
5797
5801 pm_location_t operator_loc;
5802} pm_match_predicate_node_t;
5803
5816 typedef struct pm_match_required_node {
5818 pm_node_t base;
5819
5820
5824 struct pm_node *value;
5825
5829 struct pm_node *pattern;
5830
5834 pm_location_t operator_loc;
5835} pm_match_required_node_t;
5836
5849 typedef struct pm_match_write_node {
5851 pm_node_t base;
5852
5853
5857 struct pm_call_node *call;
5858
5862 struct pm_node_list targets;
5863} pm_match_write_node_t;
5864
5874 typedef struct pm_missing_node {
5876 pm_node_t base;
5877
5878} pm_missing_node_t;
5879
5892 typedef struct pm_module_node {
5894 pm_node_t base;
5895
5896
5900 pm_constant_id_list_t locals;
5901
5905 pm_location_t module_keyword_loc;
5906
5910 struct pm_node *constant_path;
5911
5915 struct pm_node *body;
5916
5920 pm_location_t end_keyword_loc;
5921
5925 pm_constant_id_t name;
5926} pm_module_node_t;
5927
5945 typedef struct pm_multi_target_node {
5947 pm_node_t base;
5948
5949
5963 struct pm_node_list lefts;
5964
5983 struct pm_node *rest;
5984
5993 struct pm_node_list rights;
5994
6003 pm_location_t lparen_loc;
6004
6013 pm_location_t rparen_loc;
6014} pm_multi_target_node_t;
6015
6028 typedef struct pm_multi_write_node {
6030 pm_node_t base;
6031
6032
6046 struct pm_node_list lefts;
6047
6066 struct pm_node *rest;
6067
6076 struct pm_node_list rights;
6077
6086 pm_location_t lparen_loc;
6087
6096 pm_location_t rparen_loc;
6097
6106 pm_location_t operator_loc;
6107
6116 struct pm_node *value;
6117} pm_multi_write_node_t;
6118
6131 typedef struct pm_next_node {
6133 pm_node_t base;
6134
6135
6139 struct pm_arguments_node *arguments;
6140
6144 pm_location_t keyword_loc;
6145} pm_next_node_t;
6146
6159 typedef struct pm_nil_node {
6161 pm_node_t base;
6162
6163} pm_nil_node_t;
6164
6178 typedef struct pm_no_keywords_parameter_node {
6180 pm_node_t base;
6181
6182
6186 pm_location_t operator_loc;
6187
6191 pm_location_t keyword_loc;
6192} pm_no_keywords_parameter_node_t;
6193
6206 typedef struct pm_numbered_parameters_node {
6208 pm_node_t base;
6209
6210
6214 uint8_t maximum;
6215} pm_numbered_parameters_node_t;
6216
6229 typedef struct pm_numbered_reference_read_node {
6231 pm_node_t base;
6232
6233
6245 uint32_t number;
6246} pm_numbered_reference_read_node_t;
6247
6264 typedef struct pm_optional_keyword_parameter_node {
6266 pm_node_t base;
6267
6268
6272 pm_constant_id_t name;
6273
6277 pm_location_t name_loc;
6278
6282 struct pm_node *value;
6283} pm_optional_keyword_parameter_node_t;
6284
6301 typedef struct pm_optional_parameter_node {
6303 pm_node_t base;
6304
6305
6309 pm_constant_id_t name;
6310
6314 pm_location_t name_loc;
6315
6319 pm_location_t operator_loc;
6320
6324 struct pm_node *value;
6325} pm_optional_parameter_node_t;
6326
6339 typedef struct pm_or_node {
6341 pm_node_t base;
6342
6343
6355 struct pm_node *left;
6356
6368 struct pm_node *right;
6369
6378 pm_location_t operator_loc;
6379} pm_or_node_t;
6380
6394 typedef struct pm_parameters_node {
6396 pm_node_t base;
6397
6398
6402 struct pm_node_list requireds;
6403
6407 struct pm_node_list optionals;
6408
6412 struct pm_node *rest;
6413
6417 struct pm_node_list posts;
6418
6422 struct pm_node_list keywords;
6423
6427 struct pm_node *keyword_rest;
6428
6432 struct pm_block_parameter_node *block;
6433} pm_parameters_node_t;
6434
6447 typedef struct pm_parentheses_node {
6449 pm_node_t base;
6450
6451
6455 struct pm_node *body;
6456
6460 pm_location_t opening_loc;
6461
6465 pm_location_t closing_loc;
6466} pm_parentheses_node_t;
6467
6480 typedef struct pm_pinned_expression_node {
6482 pm_node_t base;
6483
6484
6488 struct pm_node *expression;
6489
6493 pm_location_t operator_loc;
6494
6498 pm_location_t lparen_loc;
6499
6503 pm_location_t rparen_loc;
6504} pm_pinned_expression_node_t;
6505
6518 typedef struct pm_pinned_variable_node {
6520 pm_node_t base;
6521
6522
6526 struct pm_node *variable;
6527
6531 pm_location_t operator_loc;
6532} pm_pinned_variable_node_t;
6533
6546 typedef struct pm_post_execution_node {
6548 pm_node_t base;
6549
6550
6554 struct pm_statements_node *statements;
6555
6559 pm_location_t keyword_loc;
6560
6564 pm_location_t opening_loc;
6565
6569 pm_location_t closing_loc;
6570} pm_post_execution_node_t;
6571
6584 typedef struct pm_pre_execution_node {
6586 pm_node_t base;
6587
6588
6592 struct pm_statements_node *statements;
6593
6597 pm_location_t keyword_loc;
6598
6602 pm_location_t opening_loc;
6603
6607 pm_location_t closing_loc;
6608} pm_pre_execution_node_t;
6609
6619 typedef struct pm_program_node {
6621 pm_node_t base;
6622
6623
6627 pm_constant_id_list_t locals;
6628
6632 struct pm_statements_node *statements;
6633} pm_program_node_t;
6634
6653 typedef struct pm_range_node {
6655 pm_node_t base;
6656
6657
6669 struct pm_node *left;
6670
6683 struct pm_node *right;
6684
6690 pm_location_t operator_loc;
6691} pm_range_node_t;
6692
6711 typedef struct pm_rational_node {
6713 pm_node_t base;
6714
6715
6723 pm_integer_t numerator;
6724
6732 pm_integer_t denominator;
6733} pm_rational_node_t;
6734
6747 typedef struct pm_redo_node {
6749 pm_node_t base;
6750
6751} pm_redo_node_t;
6752
6778 typedef struct pm_regular_expression_node {
6780 pm_node_t base;
6781
6782
6786 pm_location_t opening_loc;
6787
6791 pm_location_t content_loc;
6792
6796 pm_location_t closing_loc;
6797
6801 pm_string_t unescaped;
6802} pm_regular_expression_node_t;
6803
6820 typedef struct pm_required_keyword_parameter_node {
6822 pm_node_t base;
6823
6824
6828 pm_constant_id_t name;
6829
6833 pm_location_t name_loc;
6834} pm_required_keyword_parameter_node_t;
6835
6852 typedef struct pm_required_parameter_node {
6854 pm_node_t base;
6855
6856
6860 pm_constant_id_t name;
6861} pm_required_parameter_node_t;
6862
6875 typedef struct pm_rescue_modifier_node {
6877 pm_node_t base;
6878
6879
6883 struct pm_node *expression;
6884
6888 pm_location_t keyword_loc;
6889
6893 struct pm_node *rescue_expression;
6894} pm_rescue_modifier_node_t;
6895
6913 typedef struct pm_rescue_node {
6915 pm_node_t base;
6916
6917
6921 pm_location_t keyword_loc;
6922
6926 struct pm_node_list exceptions;
6927
6931 pm_location_t operator_loc;
6932
6936 struct pm_node *reference;
6937
6941 struct pm_statements_node *statements;
6942
6946 struct pm_rescue_node *subsequent;
6947} pm_rescue_node_t;
6948
6965 typedef struct pm_rest_parameter_node {
6967 pm_node_t base;
6968
6969
6973 pm_constant_id_t name;
6974
6978 pm_location_t name_loc;
6979
6983 pm_location_t operator_loc;
6984} pm_rest_parameter_node_t;
6985
6998 typedef struct pm_retry_node {
7000 pm_node_t base;
7001
7002} pm_retry_node_t;
7003
7016 typedef struct pm_return_node {
7018 pm_node_t base;
7019
7020
7024 pm_location_t keyword_loc;
7025
7029 struct pm_arguments_node *arguments;
7030} pm_return_node_t;
7031
7044 typedef struct pm_self_node {
7046 pm_node_t base;
7047
7048} pm_self_node_t;
7049
7068 typedef struct pm_shareable_constant_node {
7070 pm_node_t base;
7071
7072
7078 struct pm_node *write;
7079} pm_shareable_constant_node_t;
7080
7093 typedef struct pm_singleton_class_node {
7095 pm_node_t base;
7096
7097
7101 pm_constant_id_list_t locals;
7102
7106 pm_location_t class_keyword_loc;
7107
7111 pm_location_t operator_loc;
7112
7116 struct pm_node *expression;
7117
7121 struct pm_node *body;
7122
7126 pm_location_t end_keyword_loc;
7127} pm_singleton_class_node_t;
7128
7141 typedef struct pm_source_encoding_node {
7143 pm_node_t base;
7144
7145} pm_source_encoding_node_t;
7146
7165 typedef struct pm_source_file_node {
7167 pm_node_t base;
7168
7169
7175 pm_string_t filepath;
7176} pm_source_file_node_t;
7177
7190 typedef struct pm_source_line_node {
7192 pm_node_t base;
7193
7194} pm_source_line_node_t;
7195
7208 typedef struct pm_splat_node {
7210 pm_node_t base;
7211
7212
7216 pm_location_t operator_loc;
7217
7221 struct pm_node *expression;
7222} pm_splat_node_t;
7223
7236 typedef struct pm_statements_node {
7238 pm_node_t base;
7239
7240
7244 struct pm_node_list body;
7245} pm_statements_node_t;
7246
7271 typedef struct pm_string_node {
7273 pm_node_t base;
7274
7275
7279 pm_location_t opening_loc;
7280
7284 pm_location_t content_loc;
7285
7289 pm_location_t closing_loc;
7290
7294 pm_string_t unescaped;
7295} pm_string_node_t;
7296
7312 typedef struct pm_super_node {
7314 pm_node_t base;
7315
7316
7320 pm_location_t keyword_loc;
7321
7325 pm_location_t lparen_loc;
7326
7330 struct pm_arguments_node *arguments;
7331
7335 pm_location_t rparen_loc;
7336
7340 struct pm_node *block;
7341} pm_super_node_t;
7342
7363 typedef struct pm_symbol_node {
7365 pm_node_t base;
7366
7367
7371 pm_location_t opening_loc;
7372
7376 pm_location_t value_loc;
7377
7381 pm_location_t closing_loc;
7382
7386 pm_string_t unescaped;
7387} pm_symbol_node_t;
7388
7401 typedef struct pm_true_node {
7403 pm_node_t base;
7404
7405} pm_true_node_t;
7406
7419 typedef struct pm_undef_node {
7421 pm_node_t base;
7422
7423
7427 struct pm_node_list names;
7428
7432 pm_location_t keyword_loc;
7433} pm_undef_node_t;
7434
7450 typedef struct pm_unless_node {
7452 pm_node_t base;
7453
7454
7466 pm_location_t keyword_loc;
7467
7479 struct pm_node *predicate;
7480
7489 pm_location_t then_keyword_loc;
7490
7500 struct pm_statements_node *statements;
7501
7510 struct pm_else_node *else_clause;
7511
7520 pm_location_t end_keyword_loc;
7521} pm_unless_node_t;
7522
7541 typedef struct pm_until_node {
7543 pm_node_t base;
7544
7545
7549 pm_location_t keyword_loc;
7550
7554 pm_location_t do_keyword_loc;
7555
7559 pm_location_t closing_loc;
7560
7564 struct pm_node *predicate;
7565
7569 struct pm_statements_node *statements;
7570} pm_until_node_t;
7571
7586 typedef struct pm_when_node {
7588 pm_node_t base;
7589
7590
7594 pm_location_t keyword_loc;
7595
7599 struct pm_node_list conditions;
7600
7604 pm_location_t then_keyword_loc;
7605
7609 struct pm_statements_node *statements;
7610} pm_when_node_t;
7611
7630 typedef struct pm_while_node {
7632 pm_node_t base;
7633
7634
7638 pm_location_t keyword_loc;
7639
7643 pm_location_t do_keyword_loc;
7644
7648 pm_location_t closing_loc;
7649
7653 struct pm_node *predicate;
7654
7658 struct pm_statements_node *statements;
7659} pm_while_node_t;
7660
7677 typedef struct pm_x_string_node {
7679 pm_node_t base;
7680
7681
7685 pm_location_t opening_loc;
7686
7690 pm_location_t content_loc;
7691
7695 pm_location_t closing_loc;
7696
7700 pm_string_t unescaped;
7701} pm_x_string_node_t;
7702
7715 typedef struct pm_yield_node {
7717 pm_node_t base;
7718
7719
7723 pm_location_t keyword_loc;
7724
7728 pm_location_t lparen_loc;
7729
7733 struct pm_arguments_node *arguments;
7734
7738 pm_location_t rparen_loc;
7739} pm_yield_node_t;
7740
7744 typedef enum pm_arguments_node_flags {
7746 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING = 4,
7747
7749 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS = 8,
7750
7752 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT = 16,
7753
7755 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT = 32,
7756
7758 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS = 64,
7759} pm_arguments_node_flags_t;
7760
7764 typedef enum pm_array_node_flags {
7766 PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT = 4,
7767} pm_array_node_flags_t;
7768
7772 typedef enum pm_call_node_flags {
7774 PM_CALL_NODE_FLAGS_SAFE_NAVIGATION = 4,
7775
7777 PM_CALL_NODE_FLAGS_VARIABLE_CALL = 8,
7778
7780 PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE = 16,
7781
7783 PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY = 32,
7784} pm_call_node_flags_t;
7785
7789 typedef enum pm_encoding_flags {
7791 PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING = 4,
7792
7794 PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING = 8,
7795} pm_encoding_flags_t;
7796
7800 typedef enum pm_integer_base_flags {
7802 PM_INTEGER_BASE_FLAGS_BINARY = 4,
7803
7805 PM_INTEGER_BASE_FLAGS_DECIMAL = 8,
7806
7808 PM_INTEGER_BASE_FLAGS_OCTAL = 16,
7809
7811 PM_INTEGER_BASE_FLAGS_HEXADECIMAL = 32,
7812} pm_integer_base_flags_t;
7813
7817 typedef enum pm_interpolated_string_node_flags {
7819 PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN = 4,
7820
7822 PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE = 8,
7823} pm_interpolated_string_node_flags_t;
7824
7828 typedef enum pm_keyword_hash_node_flags {
7830 PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS = 4,
7831} pm_keyword_hash_node_flags_t;
7832
7836 typedef enum pm_loop_flags {
7838 PM_LOOP_FLAGS_BEGIN_MODIFIER = 4,
7839} pm_loop_flags_t;
7840
7844 typedef enum pm_parameter_flags {
7846 PM_PARAMETER_FLAGS_REPEATED_PARAMETER = 4,
7847} pm_parameter_flags_t;
7848
7852 typedef enum pm_range_flags {
7854 PM_RANGE_FLAGS_EXCLUDE_END = 4,
7855} pm_range_flags_t;
7856
7860 typedef enum pm_regular_expression_flags {
7862 PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE = 4,
7863
7865 PM_REGULAR_EXPRESSION_FLAGS_EXTENDED = 8,
7866
7868 PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE = 16,
7869
7871 PM_REGULAR_EXPRESSION_FLAGS_ONCE = 32,
7872
7874 PM_REGULAR_EXPRESSION_FLAGS_EUC_JP = 64,
7875
7877 PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT = 128,
7878
7880 PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J = 256,
7881
7883 PM_REGULAR_EXPRESSION_FLAGS_UTF_8 = 512,
7884
7886 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING = 1024,
7887
7889 PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING = 2048,
7890
7892 PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING = 4096,
7893} pm_regular_expression_flags_t;
7894
7898 typedef enum pm_shareable_constant_node_flags {
7900 PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL = 4,
7901
7903 PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING = 8,
7904
7906 PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY = 16,
7907} pm_shareable_constant_node_flags_t;
7908
7912 typedef enum pm_string_flags {
7914 PM_STRING_FLAGS_FORCED_UTF8_ENCODING = 4,
7915
7917 PM_STRING_FLAGS_FORCED_BINARY_ENCODING = 8,
7918
7920 PM_STRING_FLAGS_FROZEN = 16,
7921
7923 PM_STRING_FLAGS_MUTABLE = 32,
7924} pm_string_flags_t;
7925
7929 typedef enum pm_symbol_flags {
7931 PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING = 4,
7932
7934 PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING = 8,
7935
7937 PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING = 16,
7938} pm_symbol_flags_t;
7939
7946#define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS 0
7947
7948#endif
assert.h
pm_block_parameter_node_t
struct pm_block_parameter_node pm_block_parameter_node_t
BlockParameterNode.
pm_call_target_node_t
struct pm_call_target_node pm_call_target_node_t
CallTargetNode.
pm_else_node_t
struct pm_else_node pm_else_node_t
ElseNode.
pm_assoc_node_t
struct pm_assoc_node pm_assoc_node_t
AssocNode.
pm_undef_node_t
struct pm_undef_node pm_undef_node_t
UndefNode.
pm_class_variable_and_write_node_t
struct pm_class_variable_and_write_node pm_class_variable_and_write_node_t
ClassVariableAndWriteNode.
pm_index_and_write_node_t
struct pm_index_and_write_node pm_index_and_write_node_t
IndexAndWriteNode.
pm_index_target_node_t
struct pm_index_target_node pm_index_target_node_t
IndexTargetNode.
pm_local_variable_target_node_t
struct pm_local_variable_target_node pm_local_variable_target_node_t
LocalVariableTargetNode.
pm_constant_path_or_write_node_t
struct pm_constant_path_or_write_node pm_constant_path_or_write_node_t
ConstantPathOrWriteNode.
pm_missing_node_t
struct pm_missing_node pm_missing_node_t
MissingNode.
pm_embedded_statements_node_t
struct pm_embedded_statements_node pm_embedded_statements_node_t
EmbeddedStatementsNode.
pm_block_node_t
struct pm_block_node pm_block_node_t
BlockNode.
pm_hash_pattern_node_t
struct pm_hash_pattern_node pm_hash_pattern_node_t
HashPatternNode.
pm_optional_parameter_node_t
struct pm_optional_parameter_node pm_optional_parameter_node_t
OptionalParameterNode.
pm_x_string_node_t
struct pm_x_string_node pm_x_string_node_t
XStringNode.
pm_forwarding_super_node_t
struct pm_forwarding_super_node pm_forwarding_super_node_t
ForwardingSuperNode.
pm_self_node_t
struct pm_self_node pm_self_node_t
SelfNode.
pm_numbered_reference_read_node_t
struct pm_numbered_reference_read_node pm_numbered_reference_read_node_t
NumberedReferenceReadNode.
pm_embedded_variable_node_t
struct pm_embedded_variable_node pm_embedded_variable_node_t
EmbeddedVariableNode.
pm_class_variable_write_node_t
struct pm_class_variable_write_node pm_class_variable_write_node_t
ClassVariableWriteNode.
pm_interpolated_string_node_t
struct pm_interpolated_string_node pm_interpolated_string_node_t
InterpolatedStringNode.
pm_class_variable_or_write_node_t
struct pm_class_variable_or_write_node pm_class_variable_or_write_node_t
ClassVariableOrWriteNode.
pm_optional_keyword_parameter_node_t
struct pm_optional_keyword_parameter_node pm_optional_keyword_parameter_node_t
OptionalKeywordParameterNode.
pm_call_or_write_node_t
struct pm_call_or_write_node pm_call_or_write_node_t
CallOrWriteNode.
pm_call_node_t
struct pm_call_node pm_call_node_t
CallNode.
pm_class_variable_read_node_t
struct pm_class_variable_read_node pm_class_variable_read_node_t
ClassVariableReadNode.
pm_match_required_node_t
struct pm_match_required_node pm_match_required_node_t
MatchRequiredNode.
pm_shareable_constant_node_t
struct pm_shareable_constant_node pm_shareable_constant_node_t
ShareableConstantNode.
pm_constant_and_write_node_t
struct pm_constant_and_write_node pm_constant_and_write_node_t
ConstantAndWriteNode.
pm_interpolated_string_node_flags
pm_interpolated_string_node_flags
Flags for interpolated string nodes that indicated mutability if they are also marked as literals.
Definition ast.h:7817
PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE
@ PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE
mutable by virtue of a frozen_string_literal: false comment or --disable-frozen-string-literal; only ...
Definition ast.h:7822
PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN
@ PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal: true comment or --enable-frozen-string-literal; only for...
Definition ast.h:7819
pm_constant_path_operator_write_node_t
struct pm_constant_path_operator_write_node pm_constant_path_operator_write_node_t
ConstantPathOperatorWriteNode.
pm_implicit_rest_node_t
struct pm_implicit_rest_node pm_implicit_rest_node_t
ImplicitRestNode.
pm_range_flags
pm_range_flags
Flags for range and flip-flop nodes.
Definition ast.h:7852
PM_RANGE_FLAGS_EXCLUDE_END
@ PM_RANGE_FLAGS_EXCLUDE_END
... operator
Definition ast.h:7854
pm_local_variable_or_write_node_t
struct pm_local_variable_or_write_node pm_local_variable_or_write_node_t
LocalVariableOrWriteNode.
pm_local_variable_read_node_t
struct pm_local_variable_read_node pm_local_variable_read_node_t
LocalVariableReadNode.
pm_global_variable_and_write_node_t
struct pm_global_variable_and_write_node pm_global_variable_and_write_node_t
GlobalVariableAndWriteNode.
pm_arguments_node_t
struct pm_arguments_node pm_arguments_node_t
ArgumentsNode.
pm_node_type
pm_node_type
This enum represents every type of node in the Ruby syntax tree.
Definition ast.h:572
PM_DEFINED_NODE
@ PM_DEFINED_NODE
DefinedNode.
Definition ast.h:709
PM_PRE_EXECUTION_NODE
@ PM_PRE_EXECUTION_NODE
PreExecutionNode.
Definition ast.h:931
PM_RETRY_NODE
@ PM_RETRY_NODE
RetryNode.
Definition ast.h:964
PM_REDO_NODE
@ PM_REDO_NODE
RedoNode.
Definition ast.h:943
PM_CONSTANT_PATH_WRITE_NODE
@ PM_CONSTANT_PATH_WRITE_NODE
ConstantPathWriteNode.
Definition ast.h:694
PM_INDEX_AND_WRITE_NODE
@ PM_INDEX_AND_WRITE_NODE
IndexAndWriteNode.
Definition ast.h:787
PM_SOURCE_LINE_NODE
@ PM_SOURCE_LINE_NODE
SourceLineNode.
Definition ast.h:985
PM_UNLESS_NODE
@ PM_UNLESS_NODE
UnlessNode.
Definition ast.h:1009
PM_EMBEDDED_VARIABLE_NODE
@ PM_EMBEDDED_VARIABLE_NODE
EmbeddedVariableNode.
Definition ast.h:718
PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
@ PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
GlobalVariableOperatorWriteNode.
Definition ast.h:751
PM_CALL_NODE
@ PM_CALL_NODE
CallNode.
Definition ast.h:628
PM_NIL_NODE
@ PM_NIL_NODE
NilNode.
Definition ast.h:895
PM_GLOBAL_VARIABLE_READ_NODE
@ PM_GLOBAL_VARIABLE_READ_NODE
GlobalVariableReadNode.
Definition ast.h:757
PM_RATIONAL_NODE
@ PM_RATIONAL_NODE
RationalNode.
Definition ast.h:940
PM_YIELD_NODE
@ PM_YIELD_NODE
YieldNode.
Definition ast.h:1024
PM_LOCAL_VARIABLE_AND_WRITE_NODE
@ PM_LOCAL_VARIABLE_AND_WRITE_NODE
LocalVariableAndWriteNode.
Definition ast.h:850
PM_CONSTANT_AND_WRITE_NODE
@ PM_CONSTANT_AND_WRITE_NODE
ConstantAndWriteNode.
Definition ast.h:670
PM_CLASS_NODE
@ PM_CLASS_NODE
ClassNode.
Definition ast.h:649
PM_FIND_PATTERN_NODE
@ PM_FIND_PATTERN_NODE
FindPatternNode.
Definition ast.h:727
PM_CALL_OPERATOR_WRITE_NODE
@ PM_CALL_OPERATOR_WRITE_NODE
CallOperatorWriteNode.
Definition ast.h:631
PM_MATCH_WRITE_NODE
@ PM_MATCH_WRITE_NODE
MatchWriteNode.
Definition ast.h:877
PM_ARRAY_NODE
@ PM_ARRAY_NODE
ArrayNode.
Definition ast.h:589
PM_CONSTANT_PATH_TARGET_NODE
@ PM_CONSTANT_PATH_TARGET_NODE
ConstantPathTargetNode.
Definition ast.h:691
PM_PROGRAM_NODE
@ PM_PROGRAM_NODE
ProgramNode.
Definition ast.h:934
PM_OR_NODE
@ PM_OR_NODE
OrNode.
Definition ast.h:913
PM_MULTI_WRITE_NODE
@ PM_MULTI_WRITE_NODE
MultiWriteNode.
Definition ast.h:889
PM_IF_NODE
@ PM_IF_NODE
IfNode.
Definition ast.h:772
PM_IMPLICIT_NODE
@ PM_IMPLICIT_NODE
ImplicitNode.
Definition ast.h:778
PM_ARGUMENTS_NODE
@ PM_ARGUMENTS_NODE
ArgumentsNode.
Definition ast.h:586
PM_FORWARDING_SUPER_NODE
@ PM_FORWARDING_SUPER_NODE
ForwardingSuperNode.
Definition ast.h:745
PM_WHILE_NODE
@ PM_WHILE_NODE
WhileNode.
Definition ast.h:1018
PM_INTERPOLATED_STRING_NODE
@ PM_INTERPOLATED_STRING_NODE
InterpolatedStringNode.
Definition ast.h:826
PM_FALSE_NODE
@ PM_FALSE_NODE
FalseNode.
Definition ast.h:724
PM_FORWARDING_PARAMETER_NODE
@ PM_FORWARDING_PARAMETER_NODE
ForwardingParameterNode.
Definition ast.h:742
PM_BLOCK_LOCAL_VARIABLE_NODE
@ PM_BLOCK_LOCAL_VARIABLE_NODE
BlockLocalVariableNode.
Definition ast.h:610
PM_HASH_NODE
@ PM_HASH_NODE
HashNode.
Definition ast.h:766
PM_UNTIL_NODE
@ PM_UNTIL_NODE
UntilNode.
Definition ast.h:1012
PM_MATCH_PREDICATE_NODE
@ PM_MATCH_PREDICATE_NODE
MatchPredicateNode.
Definition ast.h:871
PM_X_STRING_NODE
@ PM_X_STRING_NODE
XStringNode.
Definition ast.h:1021
PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
@ PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
LocalVariableOperatorWriteNode.
Definition ast.h:853
PM_LOCAL_VARIABLE_OR_WRITE_NODE
@ PM_LOCAL_VARIABLE_OR_WRITE_NODE
LocalVariableOrWriteNode.
Definition ast.h:856
PM_INSTANCE_VARIABLE_AND_WRITE_NODE
@ PM_INSTANCE_VARIABLE_AND_WRITE_NODE
InstanceVariableAndWriteNode.
Definition ast.h:799
PM_GLOBAL_VARIABLE_TARGET_NODE
@ PM_GLOBAL_VARIABLE_TARGET_NODE
GlobalVariableTargetNode.
Definition ast.h:760
PM_AND_NODE
@ PM_AND_NODE
AndNode.
Definition ast.h:583
PM_CONSTANT_TARGET_NODE
@ PM_CONSTANT_TARGET_NODE
ConstantTargetNode.
Definition ast.h:700
PM_IT_LOCAL_VARIABLE_READ_NODE
@ PM_IT_LOCAL_VARIABLE_READ_NODE
ItLocalVariableReadNode.
Definition ast.h:835
PM_CONSTANT_PATH_AND_WRITE_NODE
@ PM_CONSTANT_PATH_AND_WRITE_NODE
ConstantPathAndWriteNode.
Definition ast.h:679
PM_IN_NODE
@ PM_IN_NODE
InNode.
Definition ast.h:784
PM_BLOCK_PARAMETER_NODE
@ PM_BLOCK_PARAMETER_NODE
BlockParameterNode.
Definition ast.h:616
PM_CAPTURE_PATTERN_NODE
@ PM_CAPTURE_PATTERN_NODE
CapturePatternNode.
Definition ast.h:640
PM_SOURCE_FILE_NODE
@ PM_SOURCE_FILE_NODE
SourceFileNode.
Definition ast.h:982
PM_NO_KEYWORDS_PARAMETER_NODE
@ PM_NO_KEYWORDS_PARAMETER_NODE
NoKeywordsParameterNode.
Definition ast.h:898
PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
@ PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
ConstantPathOperatorWriteNode.
Definition ast.h:685
PM_MULTI_TARGET_NODE
@ PM_MULTI_TARGET_NODE
MultiTargetNode.
Definition ast.h:886
PM_SPLAT_NODE
@ PM_SPLAT_NODE
SplatNode.
Definition ast.h:988
PM_LAMBDA_NODE
@ PM_LAMBDA_NODE
LambdaNode.
Definition ast.h:847
PM_CLASS_VARIABLE_READ_NODE
@ PM_CLASS_VARIABLE_READ_NODE
ClassVariableReadNode.
Definition ast.h:661
PM_REQUIRED_KEYWORD_PARAMETER_NODE
@ PM_REQUIRED_KEYWORD_PARAMETER_NODE
RequiredKeywordParameterNode.
Definition ast.h:949
PM_CALL_TARGET_NODE
@ PM_CALL_TARGET_NODE
CallTargetNode.
Definition ast.h:637
PM_ELSE_NODE
@ PM_ELSE_NODE
ElseNode.
Definition ast.h:712
PM_INTERPOLATED_MATCH_LAST_LINE_NODE
@ PM_INTERPOLATED_MATCH_LAST_LINE_NODE
InterpolatedMatchLastLineNode.
Definition ast.h:820
PM_WHEN_NODE
@ PM_WHEN_NODE
WhenNode.
Definition ast.h:1015
PM_NUMBERED_PARAMETERS_NODE
@ PM_NUMBERED_PARAMETERS_NODE
NumberedParametersNode.
Definition ast.h:901
PM_SYMBOL_NODE
@ PM_SYMBOL_NODE
SymbolNode.
Definition ast.h:1000
PM_RESCUE_MODIFIER_NODE
@ PM_RESCUE_MODIFIER_NODE
RescueModifierNode.
Definition ast.h:955
PM_ALIAS_METHOD_NODE
@ PM_ALIAS_METHOD_NODE
AliasMethodNode.
Definition ast.h:577
PM_MATCH_REQUIRED_NODE
@ PM_MATCH_REQUIRED_NODE
MatchRequiredNode.
Definition ast.h:874
PM_FORWARDING_ARGUMENTS_NODE
@ PM_FORWARDING_ARGUMENTS_NODE
ForwardingArgumentsNode.
Definition ast.h:739
PM_BACK_REFERENCE_READ_NODE
@ PM_BACK_REFERENCE_READ_NODE
BackReferenceReadNode.
Definition ast.h:601
PM_SCOPE_NODE
@ PM_SCOPE_NODE
A special kind of node used for compilation.
Definition ast.h:1027
PM_BLOCK_ARGUMENT_NODE
@ PM_BLOCK_ARGUMENT_NODE
BlockArgumentNode.
Definition ast.h:607
PM_MISSING_NODE
@ PM_MISSING_NODE
MissingNode.
Definition ast.h:880
PM_SELF_NODE
@ PM_SELF_NODE
SelfNode.
Definition ast.h:970
PM_IMPLICIT_REST_NODE
@ PM_IMPLICIT_REST_NODE
ImplicitRestNode.
Definition ast.h:781
PM_TRUE_NODE
@ PM_TRUE_NODE
TrueNode.
Definition ast.h:1003
PM_ASSOC_SPLAT_NODE
@ PM_ASSOC_SPLAT_NODE
AssocSplatNode.
Definition ast.h:598
PM_CLASS_VARIABLE_AND_WRITE_NODE
@ PM_CLASS_VARIABLE_AND_WRITE_NODE
ClassVariableAndWriteNode.
Definition ast.h:652
PM_RANGE_NODE
@ PM_RANGE_NODE
RangeNode.
Definition ast.h:937
PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
@ PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
InstanceVariableOperatorWriteNode.
Definition ast.h:802
PM_LOCAL_VARIABLE_READ_NODE
@ PM_LOCAL_VARIABLE_READ_NODE
LocalVariableReadNode.
Definition ast.h:859
PM_SHAREABLE_CONSTANT_NODE
@ PM_SHAREABLE_CONSTANT_NODE
ShareableConstantNode.
Definition ast.h:973
PM_NEXT_NODE
@ PM_NEXT_NODE
NextNode.
Definition ast.h:892
PM_INSTANCE_VARIABLE_OR_WRITE_NODE
@ PM_INSTANCE_VARIABLE_OR_WRITE_NODE
InstanceVariableOrWriteNode.
Definition ast.h:805
PM_REGULAR_EXPRESSION_NODE
@ PM_REGULAR_EXPRESSION_NODE
RegularExpressionNode.
Definition ast.h:946
PM_CLASS_VARIABLE_OR_WRITE_NODE
@ PM_CLASS_VARIABLE_OR_WRITE_NODE
ClassVariableOrWriteNode.
Definition ast.h:658
PM_BLOCK_PARAMETERS_NODE
@ PM_BLOCK_PARAMETERS_NODE
BlockParametersNode.
Definition ast.h:619
PM_CONSTANT_WRITE_NODE
@ PM_CONSTANT_WRITE_NODE
ConstantWriteNode.
Definition ast.h:703
PM_HASH_PATTERN_NODE
@ PM_HASH_PATTERN_NODE
HashPatternNode.
Definition ast.h:769
PM_INDEX_OPERATOR_WRITE_NODE
@ PM_INDEX_OPERATOR_WRITE_NODE
IndexOperatorWriteNode.
Definition ast.h:790
PM_UNDEF_NODE
@ PM_UNDEF_NODE
UndefNode.
Definition ast.h:1006
PM_ALTERNATION_PATTERN_NODE
@ PM_ALTERNATION_PATTERN_NODE
AlternationPatternNode.
Definition ast.h:580
PM_ENSURE_NODE
@ PM_ENSURE_NODE
EnsureNode.
Definition ast.h:721
PM_LOCAL_VARIABLE_WRITE_NODE
@ PM_LOCAL_VARIABLE_WRITE_NODE
LocalVariableWriteNode.
Definition ast.h:865
PM_SINGLETON_CLASS_NODE
@ PM_SINGLETON_CLASS_NODE
SingletonClassNode.
Definition ast.h:976
PM_KEYWORD_HASH_NODE
@ PM_KEYWORD_HASH_NODE
KeywordHashNode.
Definition ast.h:841
PM_PARENTHESES_NODE
@ PM_PARENTHESES_NODE
ParenthesesNode.
Definition ast.h:919
PM_FOR_NODE
@ PM_FOR_NODE
ForNode.
Definition ast.h:736
PM_CLASS_VARIABLE_WRITE_NODE
@ PM_CLASS_VARIABLE_WRITE_NODE
ClassVariableWriteNode.
Definition ast.h:667
PM_POST_EXECUTION_NODE
@ PM_POST_EXECUTION_NODE
PostExecutionNode.
Definition ast.h:928
PM_CONSTANT_OPERATOR_WRITE_NODE
@ PM_CONSTANT_OPERATOR_WRITE_NODE
ConstantOperatorWriteNode.
Definition ast.h:673
PM_RETURN_NODE
@ PM_RETURN_NODE
ReturnNode.
Definition ast.h:967
PM_MODULE_NODE
@ PM_MODULE_NODE
ModuleNode.
Definition ast.h:883
PM_ARRAY_PATTERN_NODE
@ PM_ARRAY_PATTERN_NODE
ArrayPatternNode.
Definition ast.h:592
PM_SUPER_NODE
@ PM_SUPER_NODE
SuperNode.
Definition ast.h:997
PM_MATCH_LAST_LINE_NODE
@ PM_MATCH_LAST_LINE_NODE
MatchLastLineNode.
Definition ast.h:868
PM_CONSTANT_PATH_NODE
@ PM_CONSTANT_PATH_NODE
ConstantPathNode.
Definition ast.h:682
PM_INTERPOLATED_SYMBOL_NODE
@ PM_INTERPOLATED_SYMBOL_NODE
InterpolatedSymbolNode.
Definition ast.h:829
PM_CALL_AND_WRITE_NODE
@ PM_CALL_AND_WRITE_NODE
CallAndWriteNode.
Definition ast.h:625
PM_OPTIONAL_KEYWORD_PARAMETER_NODE
@ PM_OPTIONAL_KEYWORD_PARAMETER_NODE
OptionalKeywordParameterNode.
Definition ast.h:907
PM_CLASS_VARIABLE_TARGET_NODE
@ PM_CLASS_VARIABLE_TARGET_NODE
ClassVariableTargetNode.
Definition ast.h:664
PM_CASE_MATCH_NODE
@ PM_CASE_MATCH_NODE
CaseMatchNode.
Definition ast.h:643
PM_BREAK_NODE
@ PM_BREAK_NODE
BreakNode.
Definition ast.h:622
PM_CALL_OR_WRITE_NODE
@ PM_CALL_OR_WRITE_NODE
CallOrWriteNode.
Definition ast.h:634
PM_IMAGINARY_NODE
@ PM_IMAGINARY_NODE
ImaginaryNode.
Definition ast.h:775
PM_DEF_NODE
@ PM_DEF_NODE
DefNode.
Definition ast.h:706
PM_CONSTANT_READ_NODE
@ PM_CONSTANT_READ_NODE
ConstantReadNode.
Definition ast.h:697
PM_GLOBAL_VARIABLE_WRITE_NODE
@ PM_GLOBAL_VARIABLE_WRITE_NODE
GlobalVariableWriteNode.
Definition ast.h:763
PM_SOURCE_ENCODING_NODE
@ PM_SOURCE_ENCODING_NODE
SourceEncodingNode.
Definition ast.h:979
PM_BEGIN_NODE
@ PM_BEGIN_NODE
BeginNode.
Definition ast.h:604
PM_INTERPOLATED_X_STRING_NODE
@ PM_INTERPOLATED_X_STRING_NODE
InterpolatedXStringNode.
Definition ast.h:832
PM_INSTANCE_VARIABLE_READ_NODE
@ PM_INSTANCE_VARIABLE_READ_NODE
InstanceVariableReadNode.
Definition ast.h:808
PM_FLIP_FLOP_NODE
@ PM_FLIP_FLOP_NODE
FlipFlopNode.
Definition ast.h:730
PM_PINNED_VARIABLE_NODE
@ PM_PINNED_VARIABLE_NODE
PinnedVariableNode.
Definition ast.h:925
PM_REQUIRED_PARAMETER_NODE
@ PM_REQUIRED_PARAMETER_NODE
RequiredParameterNode.
Definition ast.h:952
PM_INSTANCE_VARIABLE_WRITE_NODE
@ PM_INSTANCE_VARIABLE_WRITE_NODE
InstanceVariableWriteNode.
Definition ast.h:814
PM_INSTANCE_VARIABLE_TARGET_NODE
@ PM_INSTANCE_VARIABLE_TARGET_NODE
InstanceVariableTargetNode.
Definition ast.h:811
PM_GLOBAL_VARIABLE_AND_WRITE_NODE
@ PM_GLOBAL_VARIABLE_AND_WRITE_NODE
GlobalVariableAndWriteNode.
Definition ast.h:748
PM_CASE_NODE
@ PM_CASE_NODE
CaseNode.
Definition ast.h:646
PM_RESCUE_NODE
@ PM_RESCUE_NODE
RescueNode.
Definition ast.h:958
PM_FLOAT_NODE
@ PM_FLOAT_NODE
FloatNode.
Definition ast.h:733
PM_ASSOC_NODE
@ PM_ASSOC_NODE
AssocNode.
Definition ast.h:595
PM_IT_PARAMETERS_NODE
@ PM_IT_PARAMETERS_NODE
ItParametersNode.
Definition ast.h:838
PM_INTEGER_NODE
@ PM_INTEGER_NODE
IntegerNode.
Definition ast.h:817
PM_LOCAL_VARIABLE_TARGET_NODE
@ PM_LOCAL_VARIABLE_TARGET_NODE
LocalVariableTargetNode.
Definition ast.h:862
PM_STRING_NODE
@ PM_STRING_NODE
StringNode.
Definition ast.h:994
PM_INDEX_OR_WRITE_NODE
@ PM_INDEX_OR_WRITE_NODE
IndexOrWriteNode.
Definition ast.h:793
PM_ALIAS_GLOBAL_VARIABLE_NODE
@ PM_ALIAS_GLOBAL_VARIABLE_NODE
AliasGlobalVariableNode.
Definition ast.h:574
PM_PARAMETERS_NODE
@ PM_PARAMETERS_NODE
ParametersNode.
Definition ast.h:916
PM_NUMBERED_REFERENCE_READ_NODE
@ PM_NUMBERED_REFERENCE_READ_NODE
NumberedReferenceReadNode.
Definition ast.h:904
PM_CONSTANT_PATH_OR_WRITE_NODE
@ PM_CONSTANT_PATH_OR_WRITE_NODE
ConstantPathOrWriteNode.
Definition ast.h:688
PM_GLOBAL_VARIABLE_OR_WRITE_NODE
@ PM_GLOBAL_VARIABLE_OR_WRITE_NODE
GlobalVariableOrWriteNode.
Definition ast.h:754
PM_CONSTANT_OR_WRITE_NODE
@ PM_CONSTANT_OR_WRITE_NODE
ConstantOrWriteNode.
Definition ast.h:676
PM_STATEMENTS_NODE
@ PM_STATEMENTS_NODE
StatementsNode.
Definition ast.h:991
PM_OPTIONAL_PARAMETER_NODE
@ PM_OPTIONAL_PARAMETER_NODE
OptionalParameterNode.
Definition ast.h:910
PM_PINNED_EXPRESSION_NODE
@ PM_PINNED_EXPRESSION_NODE
PinnedExpressionNode.
Definition ast.h:922
PM_BLOCK_NODE
@ PM_BLOCK_NODE
BlockNode.
Definition ast.h:613
PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
@ PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
ClassVariableOperatorWriteNode.
Definition ast.h:655
PM_REST_PARAMETER_NODE
@ PM_REST_PARAMETER_NODE
RestParameterNode.
Definition ast.h:961
PM_EMBEDDED_STATEMENTS_NODE
@ PM_EMBEDDED_STATEMENTS_NODE
EmbeddedStatementsNode.
Definition ast.h:715
PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
@ PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
InterpolatedRegularExpressionNode.
Definition ast.h:823
PM_INDEX_TARGET_NODE
@ PM_INDEX_TARGET_NODE
IndexTargetNode.
Definition ast.h:796
PM_KEYWORD_REST_PARAMETER_NODE
@ PM_KEYWORD_REST_PARAMETER_NODE
KeywordRestParameterNode.
Definition ast.h:844
pm_nil_node_t
struct pm_nil_node pm_nil_node_t
NilNode.
pm_begin_node_t
struct pm_begin_node pm_begin_node_t
BeginNode.
pm_statements_node_t
struct pm_statements_node pm_statements_node_t
StatementsNode.
pm_instance_variable_write_node_t
struct pm_instance_variable_write_node pm_instance_variable_write_node_t
InstanceVariableWriteNode.
pm_false_node_t
struct pm_false_node pm_false_node_t
FalseNode.
pm_keyword_hash_node_t
struct pm_keyword_hash_node pm_keyword_hash_node_t
KeywordHashNode.
pm_return_node_t
struct pm_return_node pm_return_node_t
ReturnNode.
PM_NODE_FLAG_NEWLINE
static const pm_node_flags_t PM_NODE_FLAG_NEWLINE
We store the flags enum in every node in the tree.
Definition ast.h:1046
pm_symbol_flags
pm_symbol_flags
Flags for symbol nodes.
Definition ast.h:7929
PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
@ PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:7931
PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
@ PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
internal bytes forced the encoding to US-ASCII
Definition ast.h:7937
PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
@ PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:7934
pm_it_parameters_node_t
struct pm_it_parameters_node pm_it_parameters_node_t
ItParametersNode.
pm_constant_path_node_t
struct pm_constant_path_node pm_constant_path_node_t
ConstantPathNode.
pm_local_variable_write_node_t
struct pm_local_variable_write_node pm_local_variable_write_node_t
LocalVariableWriteNode.
pm_string_flags
pm_string_flags
Flags for string nodes.
Definition ast.h:7912
PM_STRING_FLAGS_FROZEN
@ PM_STRING_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal: true comment or --enable-frozen-string-literal
Definition ast.h:7920
PM_STRING_FLAGS_FORCED_BINARY_ENCODING
@ PM_STRING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:7917
PM_STRING_FLAGS_MUTABLE
@ PM_STRING_FLAGS_MUTABLE
mutable by virtue of a frozen_string_literal: false comment or --disable-frozen-string-literal
Definition ast.h:7923
PM_STRING_FLAGS_FORCED_UTF8_ENCODING
@ PM_STRING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:7914
pm_implicit_node_t
struct pm_implicit_node pm_implicit_node_t
ImplicitNode.
pm_yield_node_t
struct pm_yield_node pm_yield_node_t
YieldNode.
pm_arguments_node_flags
pm_arguments_node_flags
Flags for arguments nodes.
Definition ast.h:7744
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT
if the arguments contain a splat
Definition ast.h:7755
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING
if the arguments contain forwarding
Definition ast.h:7746
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS
if the arguments contain keywords
Definition ast.h:7749
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
if the arguments contain a keyword splat
Definition ast.h:7752
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS
if the arguments contain multiple splats
Definition ast.h:7758
pm_symbol_flags_t
enum pm_symbol_flags pm_symbol_flags_t
Flags for symbol nodes.
pm_encoding_flags_t
enum pm_encoding_flags pm_encoding_flags_t
Flags for nodes that have unescaped content.
pm_local_variable_and_write_node_t
struct pm_local_variable_and_write_node pm_local_variable_and_write_node_t
LocalVariableAndWriteNode.
pm_parameters_node_t
struct pm_parameters_node pm_parameters_node_t
ParametersNode.
pm_integer_base_flags_t
enum pm_integer_base_flags pm_integer_base_flags_t
Flags for integer nodes that correspond to the base of the integer.
pm_lambda_node_t
struct pm_lambda_node pm_lambda_node_t
LambdaNode.
pm_module_node_t
struct pm_module_node pm_module_node_t
ModuleNode.
pm_case_node_t
struct pm_case_node pm_case_node_t
CaseNode.
pm_in_node_t
struct pm_in_node pm_in_node_t
InNode.
pm_if_node_t
struct pm_if_node pm_if_node_t
IfNode.
pm_constant_path_write_node_t
struct pm_constant_path_write_node pm_constant_path_write_node_t
ConstantPathWriteNode.
pm_pre_execution_node_t
struct pm_pre_execution_node pm_pre_execution_node_t
PreExecutionNode.
pm_rescue_modifier_node_t
struct pm_rescue_modifier_node pm_rescue_modifier_node_t
RescueModifierNode.
pm_splat_node_t
struct pm_splat_node pm_splat_node_t
SplatNode.
pm_match_write_node_t
struct pm_match_write_node pm_match_write_node_t
MatchWriteNode.
pm_call_node_flags_t
enum pm_call_node_flags pm_call_node_flags_t
Flags for call nodes.
pm_multi_write_node_t
struct pm_multi_write_node pm_multi_write_node_t
MultiWriteNode.
pm_local_variable_operator_write_node_t
struct pm_local_variable_operator_write_node pm_local_variable_operator_write_node_t
LocalVariableOperatorWriteNode.
pm_block_argument_node_t
struct pm_block_argument_node pm_block_argument_node_t
BlockArgumentNode.
pm_shareable_constant_node_flags_t
enum pm_shareable_constant_node_flags pm_shareable_constant_node_flags_t
Flags for shareable constant nodes.
pm_interpolated_x_string_node_t
struct pm_interpolated_x_string_node pm_interpolated_x_string_node_t
InterpolatedXStringNode.
pm_constant_write_node_t
struct pm_constant_write_node pm_constant_write_node_t
ConstantWriteNode.
pm_flip_flop_node_t
struct pm_flip_flop_node pm_flip_flop_node_t
FlipFlopNode.
pm_required_keyword_parameter_node_t
struct pm_required_keyword_parameter_node pm_required_keyword_parameter_node_t
RequiredKeywordParameterNode.
pm_no_keywords_parameter_node_t
struct pm_no_keywords_parameter_node pm_no_keywords_parameter_node_t
NoKeywordsParameterNode.
pm_alias_global_variable_node_t
struct pm_alias_global_variable_node pm_alias_global_variable_node_t
AliasGlobalVariableNode.
pm_post_execution_node_t
struct pm_post_execution_node pm_post_execution_node_t
PostExecutionNode.
pm_array_node_flags
pm_array_node_flags
Flags for array nodes.
Definition ast.h:7764
PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
@ PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
if array contains splat nodes
Definition ast.h:7766
pm_string_flags_t
enum pm_string_flags pm_string_flags_t
Flags for string nodes.
pm_alias_method_node_t
struct pm_alias_method_node pm_alias_method_node_t
AliasMethodNode.
pm_keyword_rest_parameter_node_t
struct pm_keyword_rest_parameter_node pm_keyword_rest_parameter_node_t
KeywordRestParameterNode.
pm_global_variable_read_node_t
struct pm_global_variable_read_node pm_global_variable_read_node_t
GlobalVariableReadNode.
pm_back_reference_read_node_t
struct pm_back_reference_read_node pm_back_reference_read_node_t
BackReferenceReadNode.
pm_regular_expression_flags_t
enum pm_regular_expression_flags pm_regular_expression_flags_t
Flags for regular expression and match last line nodes.
pm_match_last_line_node_t
struct pm_match_last_line_node pm_match_last_line_node_t
MatchLastLineNode.
pm_hash_node_t
struct pm_hash_node pm_hash_node_t
HashNode.
pm_block_local_variable_node_t
struct pm_block_local_variable_node pm_block_local_variable_node_t
BlockLocalVariableNode.
pm_multi_target_node_t
struct pm_multi_target_node pm_multi_target_node_t
MultiTargetNode.
pm_integer_base_flags
pm_integer_base_flags
Flags for integer nodes that correspond to the base of the integer.
Definition ast.h:7800
PM_INTEGER_BASE_FLAGS_HEXADECIMAL
@ PM_INTEGER_BASE_FLAGS_HEXADECIMAL
0x prefix
Definition ast.h:7811
PM_INTEGER_BASE_FLAGS_OCTAL
@ PM_INTEGER_BASE_FLAGS_OCTAL
0o or 0 prefix
Definition ast.h:7808
PM_INTEGER_BASE_FLAGS_DECIMAL
@ PM_INTEGER_BASE_FLAGS_DECIMAL
0d or no prefix
Definition ast.h:7805
PM_INTEGER_BASE_FLAGS_BINARY
@ PM_INTEGER_BASE_FLAGS_BINARY
0b prefix
Definition ast.h:7802
pm_interpolated_string_node_flags_t
enum pm_interpolated_string_node_flags pm_interpolated_string_node_flags_t
Flags for interpolated string nodes that indicated mutability if they are also marked as literals.
pm_rational_node_t
struct pm_rational_node pm_rational_node_t
RationalNode.
pm_class_node_t
struct pm_class_node pm_class_node_t
ClassNode.
pm_pinned_expression_node_t
struct pm_pinned_expression_node pm_pinned_expression_node_t
PinnedExpressionNode.
pm_constant_operator_write_node_t
struct pm_constant_operator_write_node pm_constant_operator_write_node_t
ConstantOperatorWriteNode.
pm_loop_flags_t
enum pm_loop_flags pm_loop_flags_t
Flags for while and until loop nodes.
pm_ensure_node_t
struct pm_ensure_node pm_ensure_node_t
EnsureNode.
pm_index_or_write_node_t
struct pm_index_or_write_node pm_index_or_write_node_t
IndexOrWriteNode.
pm_forwarding_parameter_node_t
struct pm_forwarding_parameter_node pm_forwarding_parameter_node_t
ForwardingParameterNode.
pm_constant_or_write_node_t
struct pm_constant_or_write_node pm_constant_or_write_node_t
ConstantOrWriteNode.
pm_index_operator_write_node_t
struct pm_index_operator_write_node pm_index_operator_write_node_t
IndexOperatorWriteNode.
pm_when_node_t
struct pm_when_node pm_when_node_t
WhenNode.
pm_token_type_t
enum pm_token_type pm_token_type_t
This enum represents every type of token in the Ruby source.
pm_super_node_t
struct pm_super_node pm_super_node_t
SuperNode.
pm_range_node_t
struct pm_range_node pm_range_node_t
RangeNode.
pm_and_node_t
struct pm_and_node pm_and_node_t
AndNode.
pm_arguments_node_flags_t
enum pm_arguments_node_flags pm_arguments_node_flags_t
Flags for arguments nodes.
pm_constant_path_and_write_node_t
struct pm_constant_path_and_write_node pm_constant_path_and_write_node_t
ConstantPathAndWriteNode.
pm_rest_parameter_node_t
struct pm_rest_parameter_node pm_rest_parameter_node_t
RestParameterNode.
pm_assoc_splat_node_t
struct pm_assoc_splat_node pm_assoc_splat_node_t
AssocSplatNode.
pm_call_node_flags
pm_call_node_flags
Flags for call nodes.
Definition ast.h:7772
PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
@ PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
a call that ignores method visibility
Definition ast.h:7783
PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
@ PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
&.
Definition ast.h:7774
PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
@ PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
a call that is an attribute write, so the value being written should be returned
Definition ast.h:7780
PM_CALL_NODE_FLAGS_VARIABLE_CALL
@ PM_CALL_NODE_FLAGS_VARIABLE_CALL
a call that could have been a local variable
Definition ast.h:7777
pm_constant_read_node_t
struct pm_constant_read_node pm_constant_read_node_t
ConstantReadNode.
pm_match_predicate_node_t
struct pm_match_predicate_node pm_match_predicate_node_t
MatchPredicateNode.
pm_or_node_t
struct pm_or_node pm_or_node_t
OrNode.
pm_case_match_node_t
struct pm_case_match_node pm_case_match_node_t
CaseMatchNode.
pm_call_and_write_node_t
struct pm_call_and_write_node pm_call_and_write_node_t
CallAndWriteNode.
pm_shareable_constant_node_flags
pm_shareable_constant_node_flags
Flags for shareable constant nodes.
Definition ast.h:7898
PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING
constant writes that should be modified with shareable constant value experimental everything
Definition ast.h:7903
PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL
constant writes that should be modified with shareable constant value literal
Definition ast.h:7900
PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY
constant writes that should be modified with shareable constant value experimental copy
Definition ast.h:7906
pm_until_node_t
struct pm_until_node pm_until_node_t
UntilNode.
pm_retry_node_t
struct pm_retry_node pm_retry_node_t
RetryNode.
pm_node_type_t
uint16_t pm_node_type_t
This is the type of node embedded in the node struct.
Definition ast.h:1034
pm_imaginary_node_t
struct pm_imaginary_node pm_imaginary_node_t
ImaginaryNode.
pm_array_pattern_node_t
struct pm_array_pattern_node pm_array_pattern_node_t
ArrayPatternNode.
pm_keyword_hash_node_flags
pm_keyword_hash_node_flags
Flags for keyword hash nodes.
Definition ast.h:7828
PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS
@ PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS
a keyword hash which only has AssocNode elements all with symbol keys, which means the elements can b...
Definition ast.h:7830
pm_keyword_hash_node_flags_t
enum pm_keyword_hash_node_flags pm_keyword_hash_node_flags_t
Flags for keyword hash nodes.
pm_redo_node_t
struct pm_redo_node pm_redo_node_t
RedoNode.
pm_source_encoding_node_t
struct pm_source_encoding_node pm_source_encoding_node_t
SourceEncodingNode.
pm_true_node_t
struct pm_true_node pm_true_node_t
TrueNode.
pm_break_node_t
struct pm_break_node pm_break_node_t
BreakNode.
pm_integer_node_t
struct pm_integer_node pm_integer_node_t
IntegerNode.
pm_constant_path_target_node_t
struct pm_constant_path_target_node pm_constant_path_target_node_t
ConstantPathTargetNode.
pm_call_operator_write_node_t
struct pm_call_operator_write_node pm_call_operator_write_node_t
CallOperatorWriteNode.
pm_for_node_t
struct pm_for_node pm_for_node_t
ForNode.
pm_range_flags_t
enum pm_range_flags pm_range_flags_t
Flags for range and flip-flop nodes.
pm_global_variable_target_node_t
struct pm_global_variable_target_node pm_global_variable_target_node_t
GlobalVariableTargetNode.
pm_node_list_t
struct pm_node_list pm_node_list_t
A list of nodes in the source, most often used for lists of children.
pm_required_parameter_node_t
struct pm_required_parameter_node pm_required_parameter_node_t
RequiredParameterNode.
pm_symbol_node_t
struct pm_symbol_node pm_symbol_node_t
SymbolNode.
pm_block_parameters_node_t
struct pm_block_parameters_node pm_block_parameters_node_t
BlockParametersNode.
pm_alternation_pattern_node_t
struct pm_alternation_pattern_node pm_alternation_pattern_node_t
AlternationPatternNode.
pm_parentheses_node_t
struct pm_parentheses_node pm_parentheses_node_t
ParenthesesNode.
pm_regular_expression_flags
pm_regular_expression_flags
Flags for regular expression and match last line nodes.
Definition ast.h:7860
PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:7889
PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
internal bytes forced the encoding to US-ASCII
Definition ast.h:7892
PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
@ PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
e - forces the EUC-JP encoding
Definition ast.h:7874
PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
@ PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
i - ignores the case of characters when matching
Definition ast.h:7862
PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:7886
PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
@ PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
n - forces the ASCII-8BIT encoding
Definition ast.h:7877
PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
@ PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
m - allows $ to match the end of lines within strings
Definition ast.h:7868
PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
@ PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
x - ignores whitespace and allows comments in regular expressions
Definition ast.h:7865
PM_REGULAR_EXPRESSION_FLAGS_ONCE
@ PM_REGULAR_EXPRESSION_FLAGS_ONCE
o - only interpolates values into the regular expression once
Definition ast.h:7871
PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
@ PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
s - forces the Windows-31J encoding
Definition ast.h:7880
PM_REGULAR_EXPRESSION_FLAGS_UTF_8
@ PM_REGULAR_EXPRESSION_FLAGS_UTF_8
u - forces the UTF-8 encoding
Definition ast.h:7883
pm_forwarding_arguments_node_t
struct pm_forwarding_arguments_node pm_forwarding_arguments_node_t
ForwardingArgumentsNode.
pm_instance_variable_read_node_t
struct pm_instance_variable_read_node pm_instance_variable_read_node_t
InstanceVariableReadNode.
pm_constant_target_node_t
struct pm_constant_target_node pm_constant_target_node_t
ConstantTargetNode.
pm_node_t
struct pm_node pm_node_t
This is the base structure that represents a node in the syntax tree.
pm_defined_node_t
struct pm_defined_node pm_defined_node_t
DefinedNode.
pm_it_local_variable_read_node_t
struct pm_it_local_variable_read_node pm_it_local_variable_read_node_t
ItLocalVariableReadNode.
pm_interpolated_symbol_node_t
struct pm_interpolated_symbol_node pm_interpolated_symbol_node_t
InterpolatedSymbolNode.
pm_class_variable_target_node_t
struct pm_class_variable_target_node pm_class_variable_target_node_t
ClassVariableTargetNode.
pm_def_node_t
struct pm_def_node pm_def_node_t
DefNode.
pm_singleton_class_node_t
struct pm_singleton_class_node pm_singleton_class_node_t
SingletonClassNode.
pm_node_flags_t
uint16_t pm_node_flags_t
These are the flags embedded in the node struct.
Definition ast.h:1040
pm_capture_pattern_node_t
struct pm_capture_pattern_node pm_capture_pattern_node_t
CapturePatternNode.
pm_source_file_node_t
struct pm_source_file_node pm_source_file_node_t
SourceFileNode.
pm_regular_expression_node_t
struct pm_regular_expression_node pm_regular_expression_node_t
RegularExpressionNode.
pm_token_type
pm_token_type
This enum represents every type of token in the Ruby source.
Definition ast.h:29
PM_TOKEN_STAR_STAR
@ PM_TOKEN_STAR_STAR
**
Definition ast.h:469
PM_TOKEN_DOT_DOT_DOT
@ PM_TOKEN_DOT_DOT_DOT
the ... range operator or forwarding parameter
Definition ast.h:124
PM_TOKEN_MINUS_EQUAL
@ PM_TOKEN_MINUS_EQUAL
-=
Definition ast.h:385
PM_TOKEN_IGNORED_NEWLINE
@ PM_TOKEN_IGNORED_NEWLINE
an ignored newline
Definition ast.h:196
PM_TOKEN_BANG_EQUAL
@ PM_TOKEN_BANG_EQUAL
!=
Definition ast.h:64
PM_TOKEN_KEYWORD___FILE__
@ PM_TOKEN_KEYWORD___FILE__
FILE
Definition ast.h:349
PM_TOKEN_KEYWORD_WHEN
@ PM_TOKEN_KEYWORD_WHEN
when
Definition ast.h:334
PM_TOKEN_FLOAT
@ PM_TOKEN_FLOAT
a floating point number
Definition ast.h:160
PM_TOKEN_PLUS_EQUAL
@ PM_TOKEN_PLUS_EQUAL
+=
Definition ast.h:442
PM_TOKEN_DOT_DOT
@ PM_TOKEN_DOT_DOT
the .
Definition ast.h:121
PM_TOKEN_UDOT_DOT
@ PM_TOKEN_UDOT_DOT
unary .
Definition ast.h:496
PM_TOKEN_AMPERSAND_DOT
@ PM_TOKEN_AMPERSAND_DOT
&.
Definition ast.h:49
PM_TOKEN_NEWLINE
@ PM_TOKEN_NEWLINE
a newline character outside of other tokens
Definition ast.h:391
PM_TOKEN_NUMBERED_REFERENCE
@ PM_TOKEN_NUMBERED_REFERENCE
a numbered reference to a capture group in the previous regular expression match
Definition ast.h:394
PM_TOKEN_AMPERSAND
@ PM_TOKEN_AMPERSAND
&
Definition ast.h:40
PM_TOKEN_KEYWORD_YIELD
@ PM_TOKEN_KEYWORD_YIELD
yield
Definition ast.h:343
PM_TOKEN_KEYWORD_END
@ PM_TOKEN_KEYWORD_END
end
Definition ast.h:253
PM_TOKEN_LAMBDA_BEGIN
@ PM_TOKEN_LAMBDA_BEGIN
{
Definition ast.h:361
PM_TOKEN_KEYWORD_UNTIL_MODIFIER
@ PM_TOKEN_KEYWORD_UNTIL_MODIFIER
until in the modifier form
Definition ast.h:331
PM_TOKEN_EQUAL_EQUAL_EQUAL
@ PM_TOKEN_EQUAL_EQUAL_EQUAL
===
Definition ast.h:151
PM_TOKEN_INTEGER_RATIONAL
@ PM_TOKEN_INTEGER_RATIONAL
an integer with a rational suffix
Definition ast.h:208
PM_TOKEN_USTAR
@ PM_TOKEN_USTAR
unary *
Definition ast.h:511
PM_TOKEN_TILDE
@ PM_TOKEN_TILDE
~ or ~@
Definition ast.h:487
PM_TOKEN_KEYWORD___ENCODING__
@ PM_TOKEN_KEYWORD___ENCODING__
ENCODING
Definition ast.h:346
PM_TOKEN_REGEXP_END
@ PM_TOKEN_REGEXP_END
the end of a regular expression
Definition ast.h:451
PM_TOKEN_KEYWORD_UNTIL
@ PM_TOKEN_KEYWORD_UNTIL
until
Definition ast.h:328
PM_TOKEN_COMMA
@ PM_TOKEN_COMMA
,
Definition ast.h:109
PM_TOKEN_MAXIMUM
@ PM_TOKEN_MAXIMUM
The maximum token value.
Definition ast.h:523
PM_TOKEN_GREATER
@ PM_TOKEN_GREATER
Definition ast.h:175
PM_TOKEN_INTEGER
@ PM_TOKEN_INTEGER
an integer (any base)
Definition ast.h:202
PM_TOKEN_SLASH_EQUAL
@ PM_TOKEN_SLASH_EQUAL
/=
Definition ast.h:460
PM_TOKEN_UMINUS_NUM
@ PM_TOKEN_UMINUS_NUM
-@ for a number
Definition ast.h:505
PM_TOKEN_EMBVAR
@ PM_TOKEN_EMBVAR
Definition ast.h:142
PM_TOKEN_KEYWORD_UNLESS_MODIFIER
@ PM_TOKEN_KEYWORD_UNLESS_MODIFIER
unless in the modifier form
Definition ast.h:325
PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
@ PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
an integer with a rational and imaginary suffix
Definition ast.h:211
PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
@ PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
a floating pointer number with a rational and imaginary suffix
Definition ast.h:169
PM_TOKEN_BRACKET_LEFT_RIGHT
@ PM_TOKEN_BRACKET_LEFT_RIGHT
[]
Definition ast.h:82
PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
@ PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
&&=
Definition ast.h:46
PM_TOKEN_KEYWORD_CLASS
@ PM_TOKEN_KEYWORD_CLASS
class
Definition ast.h:232
PM_TOKEN_KEYWORD_BEGIN
@ PM_TOKEN_KEYWORD_BEGIN
begin
Definition ast.h:220
PM_TOKEN_NOT_PROVIDED
@ PM_TOKEN_NOT_PROVIDED
a token that was not present but it is okay
Definition ast.h:37
PM_TOKEN_USTAR_STAR
@ PM_TOKEN_USTAR_STAR
unary **
Definition ast.h:514
PM_TOKEN_GREATER_GREATER_EQUAL
@ PM_TOKEN_GREATER_GREATER_EQUAL
Definition ast.h:184
PM_TOKEN_PERCENT_EQUAL
@ PM_TOKEN_PERCENT_EQUAL
%=
Definition ast.h:409
PM_TOKEN_PERCENT
@ PM_TOKEN_PERCENT
%
Definition ast.h:406
PM_TOKEN_KEYWORD_IN
@ PM_TOKEN_KEYWORD_IN
in
Definition ast.h:274
PM_TOKEN_BANG
@ PM_TOKEN_BANG
!
Definition ast.h:61
PM_TOKEN_KEYWORD_NOT
@ PM_TOKEN_KEYWORD_NOT
not
Definition ast.h:286
PM_TOKEN_BRACKET_LEFT_ARRAY
@ PM_TOKEN_BRACKET_LEFT_ARRAY
[ for the beginning of an array
Definition ast.h:79
PM_TOKEN_HEREDOC_END
@ PM_TOKEN_HEREDOC_END
the end of a heredoc
Definition ast.h:187
PM_TOKEN_HEREDOC_START
@ PM_TOKEN_HEREDOC_START
the start of a heredoc
Definition ast.h:190
PM_TOKEN_KEYWORD_DEFINED
@ PM_TOKEN_KEYWORD_DEFINED
defined?
Definition ast.h:238
PM_TOKEN_UCOLON_COLON
@ PM_TOKEN_UCOLON_COLON
unary ::
Definition ast.h:493
PM_TOKEN_LABEL_END
@ PM_TOKEN_LABEL_END
the end of a label
Definition ast.h:358
PM_TOKEN_EQUAL_GREATER
@ PM_TOKEN_EQUAL_GREATER
=>
Definition ast.h:154
PM_TOKEN_KEYWORD_UNLESS
@ PM_TOKEN_KEYWORD_UNLESS
unless
Definition ast.h:322
PM_TOKEN_KEYWORD_ENSURE
@ PM_TOKEN_KEYWORD_ENSURE
ensure
Definition ast.h:259
PM_TOKEN_AMPERSAND_EQUAL
@ PM_TOKEN_AMPERSAND_EQUAL
&=
Definition ast.h:52
PM_TOKEN_EQUAL_EQUAL
@ PM_TOKEN_EQUAL_EQUAL
==
Definition ast.h:148
PM_TOKEN_UPLUS
@ PM_TOKEN_UPLUS
+@
Definition ast.h:508
PM_TOKEN_FLOAT_IMAGINARY
@ PM_TOKEN_FLOAT_IMAGINARY
a floating pointer number with an imaginary suffix
Definition ast.h:163
PM_TOKEN_KEYWORD_BEGIN_UPCASE
@ PM_TOKEN_KEYWORD_BEGIN_UPCASE
BEGIN.
Definition ast.h:223
PM_TOKEN_LESS_EQUAL_GREATER
@ PM_TOKEN_LESS_EQUAL_GREATER
<=>
Definition ast.h:370
PM_TOKEN_KEYWORD_RESCUE_MODIFIER
@ PM_TOKEN_KEYWORD_RESCUE_MODIFIER
rescue in the modifier form
Definition ast.h:298
PM_TOKEN_MISSING
@ PM_TOKEN_MISSING
a token that was expected but not found
Definition ast.h:34
PM_TOKEN_MINUS_GREATER
@ PM_TOKEN_MINUS_GREATER
->
Definition ast.h:388
PM_TOKEN_KEYWORD_FALSE
@ PM_TOKEN_KEYWORD_FALSE
false
Definition ast.h:262
PM_TOKEN_PIPE_PIPE_EQUAL
@ PM_TOKEN_PIPE_PIPE_EQUAL
||=
Definition ast.h:436
PM_TOKEN_KEYWORD_IF
@ PM_TOKEN_KEYWORD_IF
if
Definition ast.h:268
PM_TOKEN_EMBEXPR_BEGIN
@ PM_TOKEN_EMBEXPR_BEGIN
#{
Definition ast.h:136
PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
@ PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
( for a parentheses node
Definition ast.h:400
PM_TOKEN_EMBDOC_END
@ PM_TOKEN_EMBDOC_END
=end
Definition ast.h:130
PM_TOKEN_KEYWORD_ELSE
@ PM_TOKEN_KEYWORD_ELSE
else
Definition ast.h:247
PM_TOKEN_BACK_REFERENCE
@ PM_TOKEN_BACK_REFERENCE
a back reference
Definition ast.h:58
PM_TOKEN_BRACKET_LEFT
@ PM_TOKEN_BRACKET_LEFT
[
Definition ast.h:76
PM_TOKEN_EOF
@ PM_TOKEN_EOF
final token in the file
Definition ast.h:31
PM_TOKEN_PIPE_PIPE
@ PM_TOKEN_PIPE_PIPE
||
Definition ast.h:433
PM_TOKEN_KEYWORD_NIL
@ PM_TOKEN_KEYWORD_NIL
nil
Definition ast.h:283
PM_TOKEN_PERCENT_UPPER_W
@ PM_TOKEN_PERCENT_UPPER_W
W
Definition ast.h:424
PM_TOKEN_KEYWORD_RETURN
@ PM_TOKEN_KEYWORD_RETURN
return
Definition ast.h:304
PM_TOKEN_CLASS_VARIABLE
@ PM_TOKEN_CLASS_VARIABLE
a class variable
Definition ast.h:100
PM_TOKEN_PIPE
@ PM_TOKEN_PIPE
|
Definition ast.h:427
PM_TOKEN_PARENTHESIS_LEFT
@ PM_TOKEN_PARENTHESIS_LEFT
(
Definition ast.h:397
PM_TOKEN_BANG_TILDE
@ PM_TOKEN_BANG_TILDE
!
Definition ast.h:67
PM_TOKEN_DOT
@ PM_TOKEN_DOT
the .
Definition ast.h:118
PM_TOKEN_PARENTHESIS_RIGHT
@ PM_TOKEN_PARENTHESIS_RIGHT
)
Definition ast.h:403
PM_TOKEN_KEYWORD_RESCUE
@ PM_TOKEN_KEYWORD_RESCUE
rescue
Definition ast.h:295
PM_TOKEN_INSTANCE_VARIABLE
@ PM_TOKEN_INSTANCE_VARIABLE
an instance variable
Definition ast.h:199
PM_TOKEN_PIPE_EQUAL
@ PM_TOKEN_PIPE_EQUAL
|=
Definition ast.h:430
PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
@ PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
[]=
Definition ast.h:85
PM_TOKEN_UAMPERSAND
@ PM_TOKEN_UAMPERSAND
unary &
Definition ast.h:490
PM_TOKEN_MINUS
@ PM_TOKEN_MINUS
Definition ast.h:382
PM_TOKEN_CONSTANT
@ PM_TOKEN_CONSTANT
a constant
Definition ast.h:115
PM_TOKEN_IDENTIFIER
@ PM_TOKEN_IDENTIFIER
an identifier
Definition ast.h:193
PM_TOKEN_EMBDOC_BEGIN
@ PM_TOKEN_EMBDOC_BEGIN
=begin
Definition ast.h:127
PM_TOKEN_STAR_EQUAL
@ PM_TOKEN_STAR_EQUAL
*=
Definition ast.h:466
PM_TOKEN_KEYWORD_OR
@ PM_TOKEN_KEYWORD_OR
or
Definition ast.h:289
PM_TOKEN_KEYWORD_AND
@ PM_TOKEN_KEYWORD_AND
and
Definition ast.h:217
PM_TOKEN_LESS
@ PM_TOKEN_LESS
<
Definition ast.h:364
PM_TOKEN_KEYWORD_BREAK
@ PM_TOKEN_KEYWORD_BREAK
break
Definition ast.h:226
PM_TOKEN_PERCENT_LOWER_W
@ PM_TOKEN_PERCENT_LOWER_W
w
Definition ast.h:415
PM_TOKEN_SYMBOL_BEGIN
@ PM_TOKEN_SYMBOL_BEGIN
the beginning of a symbol
Definition ast.h:484
PM_TOKEN_METHOD_NAME
@ PM_TOKEN_METHOD_NAME
a method name
Definition ast.h:379
PM_TOKEN_KEYWORD_CASE
@ PM_TOKEN_KEYWORD_CASE
case
Definition ast.h:229
PM_TOKEN_WORDS_SEP
@ PM_TOKEN_WORDS_SEP
a separator between words in a list
Definition ast.h:517
PM_TOKEN_FLOAT_RATIONAL
@ PM_TOKEN_FLOAT_RATIONAL
a floating pointer number with a rational suffix
Definition ast.h:166
PM_TOKEN_LESS_LESS_EQUAL
@ PM_TOKEN_LESS_LESS_EQUAL
<<=
Definition ast.h:376
PM_TOKEN_EMBDOC_LINE
@ PM_TOKEN_EMBDOC_LINE
a line inside of embedded documentation
Definition ast.h:133
PM_TOKEN_KEYWORD_SUPER
@ PM_TOKEN_KEYWORD_SUPER
super
Definition ast.h:310
PM_TOKEN_KEYWORD_DO
@ PM_TOKEN_KEYWORD_DO
do
Definition ast.h:241
PM_TOKEN_KEYWORD_REDO
@ PM_TOKEN_KEYWORD_REDO
redo
Definition ast.h:292
PM_TOKEN_EQUAL_TILDE
@ PM_TOKEN_EQUAL_TILDE
=~
Definition ast.h:157
PM_TOKEN_EMBEXPR_END
@ PM_TOKEN_EMBEXPR_END
}
Definition ast.h:139
PM_TOKEN_KEYWORD_END_UPCASE
@ PM_TOKEN_KEYWORD_END_UPCASE
END.
Definition ast.h:256
PM_TOKEN_KEYWORD___LINE__
@ PM_TOKEN_KEYWORD___LINE__
LINE
Definition ast.h:352
PM_TOKEN_STRING_END
@ PM_TOKEN_STRING_END
the end of a string
Definition ast.h:481
PM_TOKEN_STRING_CONTENT
@ PM_TOKEN_STRING_CONTENT
the contents of a string
Definition ast.h:478
PM_TOKEN_BRACE_LEFT
@ PM_TOKEN_BRACE_LEFT
{
Definition ast.h:70
PM_TOKEN_COLON_COLON
@ PM_TOKEN_COLON_COLON
::
Definition ast.h:106
PM_TOKEN_GREATER_GREATER
@ PM_TOKEN_GREATER_GREATER
Definition ast.h:181
PM_TOKEN_PERCENT_LOWER_X
@ PM_TOKEN_PERCENT_LOWER_X
x
Definition ast.h:418
PM_TOKEN_KEYWORD_SELF
@ PM_TOKEN_KEYWORD_SELF
self
Definition ast.h:307
PM_TOKEN_PERCENT_LOWER_I
@ PM_TOKEN_PERCENT_LOWER_I
i
Definition ast.h:412
PM_TOKEN_KEYWORD_ALIAS
@ PM_TOKEN_KEYWORD_ALIAS
alias
Definition ast.h:214
PM_TOKEN_GLOBAL_VARIABLE
@ PM_TOKEN_GLOBAL_VARIABLE
a global variable
Definition ast.h:172
PM_TOKEN_KEYWORD_IF_MODIFIER
@ PM_TOKEN_KEYWORD_IF_MODIFIER
if in the modifier form
Definition ast.h:271
PM_TOKEN_SLASH
@ PM_TOKEN_SLASH
/
Definition ast.h:457
PM_TOKEN_KEYWORD_RETRY
@ PM_TOKEN_KEYWORD_RETRY
retry
Definition ast.h:301
PM_TOKEN_COLON
@ PM_TOKEN_COLON
:
Definition ast.h:103
PM_TOKEN_KEYWORD_UNDEF
@ PM_TOKEN_KEYWORD_UNDEF
undef
Definition ast.h:319
PM_TOKEN_BRACKET_RIGHT
@ PM_TOKEN_BRACKET_RIGHT
]
Definition ast.h:88
PM_TOKEN_KEYWORD_FOR
@ PM_TOKEN_KEYWORD_FOR
for
Definition ast.h:265
PM_TOKEN_KEYWORD_THEN
@ PM_TOKEN_KEYWORD_THEN
then
Definition ast.h:313
PM_TOKEN_QUESTION_MARK
@ PM_TOKEN_QUESTION_MARK
?
Definition ast.h:445
PM_TOKEN___END__
@ PM_TOKEN___END__
marker for the point in the file at which the parser should stop
Definition ast.h:520
PM_TOKEN_KEYWORD_WHILE
@ PM_TOKEN_KEYWORD_WHILE
while
Definition ast.h:337
PM_TOKEN_EQUAL
@ PM_TOKEN_EQUAL
=
Definition ast.h:145
PM_TOKEN_KEYWORD_DEF
@ PM_TOKEN_KEYWORD_DEF
def
Definition ast.h:235
PM_TOKEN_UDOT_DOT_DOT
@ PM_TOKEN_UDOT_DOT_DOT
unary ... operator
Definition ast.h:499
PM_TOKEN_STAR
@ PM_TOKEN_STAR
Definition ast.h:463
PM_TOKEN_KEYWORD_WHILE_MODIFIER
@ PM_TOKEN_KEYWORD_WHILE_MODIFIER
while in the modifier form
Definition ast.h:340
PM_TOKEN_KEYWORD_TRUE
@ PM_TOKEN_KEYWORD_TRUE
true
Definition ast.h:316
PM_TOKEN_BRACE_RIGHT
@ PM_TOKEN_BRACE_RIGHT
}
Definition ast.h:73
PM_TOKEN_SEMICOLON
@ PM_TOKEN_SEMICOLON
;
Definition ast.h:454
PM_TOKEN_REGEXP_BEGIN
@ PM_TOKEN_REGEXP_BEGIN
the beginning of a regular expression
Definition ast.h:448
PM_TOKEN_CARET
@ PM_TOKEN_CARET
^
Definition ast.h:91
PM_TOKEN_PERCENT_UPPER_I
@ PM_TOKEN_PERCENT_UPPER_I
I
Definition ast.h:421
PM_TOKEN_KEYWORD_DO_LOOP
@ PM_TOKEN_KEYWORD_DO_LOOP
do keyword for a predicate in a while, until, or for loop
Definition ast.h:244
PM_TOKEN_KEYWORD_MODULE
@ PM_TOKEN_KEYWORD_MODULE
module
Definition ast.h:277
PM_TOKEN_PLUS
@ PM_TOKEN_PLUS
Definition ast.h:439
PM_TOKEN_KEYWORD_NEXT
@ PM_TOKEN_KEYWORD_NEXT
next
Definition ast.h:280
PM_TOKEN_BACKTICK
@ PM_TOKEN_BACKTICK
`
Definition ast.h:55
PM_TOKEN_INTEGER_IMAGINARY
@ PM_TOKEN_INTEGER_IMAGINARY
an integer with an imaginary suffix
Definition ast.h:205
PM_TOKEN_LABEL
@ PM_TOKEN_LABEL
a label
Definition ast.h:355
PM_TOKEN_STAR_STAR_EQUAL
@ PM_TOKEN_STAR_STAR_EQUAL
**=
Definition ast.h:472
PM_TOKEN_CHARACTER_LITERAL
@ PM_TOKEN_CHARACTER_LITERAL
a character literal
Definition ast.h:97
PM_TOKEN_AMPERSAND_AMPERSAND
@ PM_TOKEN_AMPERSAND_AMPERSAND
&&
Definition ast.h:43
PM_TOKEN_UMINUS
@ PM_TOKEN_UMINUS
-@
Definition ast.h:502
PM_TOKEN_LESS_LESS
@ PM_TOKEN_LESS_LESS
<<
Definition ast.h:373
PM_TOKEN_GREATER_EQUAL
@ PM_TOKEN_GREATER_EQUAL
>=
Definition ast.h:178
PM_TOKEN_COMMENT
@ PM_TOKEN_COMMENT
a comment
Definition ast.h:112
PM_TOKEN_CARET_EQUAL
@ PM_TOKEN_CARET_EQUAL
^=
Definition ast.h:94
PM_TOKEN_KEYWORD_ELSIF
@ PM_TOKEN_KEYWORD_ELSIF
elsif
Definition ast.h:250
PM_TOKEN_STRING_BEGIN
@ PM_TOKEN_STRING_BEGIN
the beginning of a string
Definition ast.h:475
PM_TOKEN_LESS_EQUAL
@ PM_TOKEN_LESS_EQUAL
<=
Definition ast.h:367
pm_global_variable_or_write_node_t
struct pm_global_variable_or_write_node pm_global_variable_or_write_node_t
GlobalVariableOrWriteNode.
pm_array_node_flags_t
enum pm_array_node_flags pm_array_node_flags_t
Flags for array nodes.
pm_rescue_node_t
struct pm_rescue_node pm_rescue_node_t
RescueNode.
pm_array_node_t
struct pm_array_node pm_array_node_t
ArrayNode.
pm_while_node_t
struct pm_while_node pm_while_node_t
WhileNode.
pm_global_variable_write_node_t
struct pm_global_variable_write_node pm_global_variable_write_node_t
GlobalVariableWriteNode.
pm_instance_variable_or_write_node_t
struct pm_instance_variable_or_write_node pm_instance_variable_or_write_node_t
InstanceVariableOrWriteNode.
pm_source_line_node_t
struct pm_source_line_node pm_source_line_node_t
SourceLineNode.
pm_parameter_flags
pm_parameter_flags
Flags for parameter nodes.
Definition ast.h:7844
PM_PARAMETER_FLAGS_REPEATED_PARAMETER
@ PM_PARAMETER_FLAGS_REPEATED_PARAMETER
a parameter name that has been repeated in the method signature
Definition ast.h:7846
pm_encoding_flags
pm_encoding_flags
Flags for nodes that have unescaped content.
Definition ast.h:7789
PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
@ PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:7794
PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
@ PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:7791
pm_interpolated_match_last_line_node_t
struct pm_interpolated_match_last_line_node pm_interpolated_match_last_line_node_t
InterpolatedMatchLastLineNode.
pm_numbered_parameters_node_t
struct pm_numbered_parameters_node pm_numbered_parameters_node_t
NumberedParametersNode.
pm_class_variable_operator_write_node_t
struct pm_class_variable_operator_write_node pm_class_variable_operator_write_node_t
ClassVariableOperatorWriteNode.
pm_next_node_t
struct pm_next_node pm_next_node_t
NextNode.
pm_unless_node_t
struct pm_unless_node pm_unless_node_t
UnlessNode.
pm_interpolated_regular_expression_node_t
struct pm_interpolated_regular_expression_node pm_interpolated_regular_expression_node_t
InterpolatedRegularExpressionNode.
pm_instance_variable_target_node_t
struct pm_instance_variable_target_node pm_instance_variable_target_node_t
InstanceVariableTargetNode.
pm_parameter_flags_t
enum pm_parameter_flags pm_parameter_flags_t
Flags for parameter nodes.
pm_string_node_t
struct pm_string_node pm_string_node_t
StringNode.
pm_float_node_t
struct pm_float_node pm_float_node_t
FloatNode.
pm_global_variable_operator_write_node_t
struct pm_global_variable_operator_write_node pm_global_variable_operator_write_node_t
GlobalVariableOperatorWriteNode.
pm_instance_variable_operator_write_node_t
struct pm_instance_variable_operator_write_node pm_instance_variable_operator_write_node_t
InstanceVariableOperatorWriteNode.
pm_loop_flags
pm_loop_flags
Flags for while and until loop nodes.
Definition ast.h:7836
PM_LOOP_FLAGS_BEGIN_MODIFIER
@ PM_LOOP_FLAGS_BEGIN_MODIFIER
a loop after a begin statement, so the body is executed first before the condition
Definition ast.h:7838
pm_pinned_variable_node_t
struct pm_pinned_variable_node pm_pinned_variable_node_t
PinnedVariableNode.
pm_instance_variable_and_write_node_t
struct pm_instance_variable_and_write_node pm_instance_variable_and_write_node_t
InstanceVariableAndWriteNode.
pm_program_node_t
struct pm_program_node pm_program_node_t
ProgramNode.
pm_find_pattern_node_t
struct pm_find_pattern_node pm_find_pattern_node_t
FindPatternNode.
pm_constant_pool.h
A data structure that stores a set of strings.
pm_constant_id_t
uint32_t pm_constant_id_t
A constant id is a unique identifier for a constant in the constant pool.
Definition pm_constant_pool.h:31
pm_integer.h
This module provides functions for working with arbitrary-sized integers.
pm_string.h
A generic string type that can have various ownership semantics.
defines.h
Macro definitions used throughout the prism library.
pm_alias_global_variable_node
AliasGlobalVariableNode.
Definition ast.h:1107
pm_alias_global_variable_node::old_name
struct pm_node * old_name
AliasGlobalVariableNode::old_name.
Definition ast.h:1130
pm_alias_global_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1109
pm_alias_global_variable_node::new_name
struct pm_node * new_name
AliasGlobalVariableNode::new_name.
Definition ast.h:1120
pm_alias_global_variable_node::keyword_loc
pm_location_t keyword_loc
AliasGlobalVariableNode::keyword_loc.
Definition ast.h:1140
pm_alias_method_node
AliasMethodNode.
Definition ast.h:1155
pm_alias_method_node::old_name
struct pm_node * old_name
AliasMethodNode::old_name.
Definition ast.h:1190
pm_alias_method_node::new_name
struct pm_node * new_name
AliasMethodNode::new_name.
Definition ast.h:1174
pm_alias_method_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1157
pm_alias_method_node::keyword_loc
pm_location_t keyword_loc
AliasMethodNode::keyword_loc.
Definition ast.h:1200
pm_alternation_pattern_node
AlternationPatternNode.
Definition ast.h:1215
pm_alternation_pattern_node::operator_loc
pm_location_t operator_loc
AlternationPatternNode::operator_loc.
Definition ast.h:1248
pm_alternation_pattern_node::left
struct pm_node * left
AlternationPatternNode::left.
Definition ast.h:1228
pm_alternation_pattern_node::right
struct pm_node * right
AlternationPatternNode::right.
Definition ast.h:1238
pm_alternation_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1217
pm_and_node
AndNode.
Definition ast.h:1263
pm_and_node::left
struct pm_node * left
AndNode::left.
Definition ast.h:1279
pm_and_node::right
struct pm_node * right
AndNode::right.
Definition ast.h:1292
pm_and_node::operator_loc
pm_location_t operator_loc
AndNode::operator_loc.
Definition ast.h:1302
pm_and_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1265
pm_arguments_node
ArgumentsNode.
Definition ast.h:1324
pm_arguments_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1326
pm_arguments_node::arguments
struct pm_node_list arguments
ArgumentsNode::arguments.
Definition ast.h:1337
pm_array_node
ArrayNode.
Definition ast.h:1355
pm_array_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1357
pm_array_node::closing_loc
pm_location_t closing_loc
ArrayNode::closing_loc.
Definition ast.h:1389
pm_array_node::elements
struct pm_node_list elements
ArrayNode::elements.
Definition ast.h:1365
pm_array_node::opening_loc
pm_location_t opening_loc
ArrayNode::opening_loc.
Definition ast.h:1377
pm_array_pattern_node
ArrayPatternNode.
Definition ast.h:1416
pm_array_pattern_node::requireds
struct pm_node_list requireds
ArrayPatternNode::requireds.
Definition ast.h:1434
pm_array_pattern_node::rest
struct pm_node * rest
ArrayPatternNode::rest.
Definition ast.h:1444
pm_array_pattern_node::constant
struct pm_node * constant
ArrayPatternNode::constant.
Definition ast.h:1424
pm_array_pattern_node::opening_loc
pm_location_t opening_loc
ArrayPatternNode::opening_loc.
Definition ast.h:1464
pm_array_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1418
pm_array_pattern_node::closing_loc
pm_location_t closing_loc
ArrayPatternNode::closing_loc.
Definition ast.h:1474
pm_array_pattern_node::posts
struct pm_node_list posts
ArrayPatternNode::posts.
Definition ast.h:1454
pm_assoc_node
AssocNode.
Definition ast.h:1489
pm_assoc_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1491
pm_assoc_node::value
struct pm_node * value
AssocNode::value.
Definition ast.h:1521
pm_assoc_node::key
struct pm_node * key
AssocNode::key.
Definition ast.h:1508
pm_assoc_node::operator_loc
pm_location_t operator_loc
AssocNode::operator_loc.
Definition ast.h:1531
pm_assoc_splat_node
AssocSplatNode.
Definition ast.h:1546
pm_assoc_splat_node::value
struct pm_node * value
AssocSplatNode::value.
Definition ast.h:1559
pm_assoc_splat_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1548
pm_assoc_splat_node::operator_loc
pm_location_t operator_loc
AssocSplatNode::operator_loc.
Definition ast.h:1569
pm_back_reference_read_node
BackReferenceReadNode.
Definition ast.h:1584
pm_back_reference_read_node::name
pm_constant_id_t name
BackReferenceReadNode::name.
Definition ast.h:1598
pm_back_reference_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1586
pm_begin_node
BeginNode.
Definition ast.h:1615
pm_begin_node::ensure_clause
struct pm_ensure_node * ensure_clause
BeginNode::ensure_clause.
Definition ast.h:1668
pm_begin_node::rescue_clause
struct pm_rescue_node * rescue_clause
BeginNode::rescue_clause.
Definition ast.h:1648
pm_begin_node::statements
struct pm_statements_node * statements
BeginNode::statements.
Definition ast.h:1638
pm_begin_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1617
pm_begin_node::end_keyword_loc
pm_location_t end_keyword_loc
BeginNode::end_keyword_loc.
Definition ast.h:1678
pm_begin_node::begin_keyword_loc
pm_location_t begin_keyword_loc
BeginNode::begin_keyword_loc.
Definition ast.h:1628
pm_begin_node::else_clause
struct pm_else_node * else_clause
BeginNode::else_clause.
Definition ast.h:1658
pm_block_argument_node
BlockArgumentNode.
Definition ast.h:1693
pm_block_argument_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1695
pm_block_argument_node::expression
struct pm_node * expression
BlockArgumentNode::expression.
Definition ast.h:1706
pm_block_argument_node::operator_loc
pm_location_t operator_loc
BlockArgumentNode::operator_loc.
Definition ast.h:1716
pm_block_local_variable_node
BlockLocalVariableNode.
Definition ast.h:1734
pm_block_local_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1736
pm_block_local_variable_node::name
pm_constant_id_t name
BlockLocalVariableNode::name.
Definition ast.h:1747
pm_block_node
BlockNode.
Definition ast.h:1762
pm_block_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1764
pm_block_node::closing_loc
pm_location_t closing_loc
BlockNode::closing_loc.
Definition ast.h:1819
pm_block_node::parameters
struct pm_node * parameters
BlockNode::parameters.
Definition ast.h:1789
pm_block_node::opening_loc
pm_location_t opening_loc
BlockNode::opening_loc.
Definition ast.h:1809
pm_block_node::body
struct pm_node * body
BlockNode::body.
Definition ast.h:1799
pm_block_node::locals
pm_constant_id_list_t locals
BlockNode::locals.
Definition ast.h:1775
pm_block_parameter_node
BlockParameterNode.
Definition ast.h:1838
pm_block_parameter_node::operator_loc
pm_location_t operator_loc
BlockParameterNode::operator_loc.
Definition ast.h:1873
pm_block_parameter_node::name_loc
pm_location_t name_loc
BlockParameterNode::name_loc.
Definition ast.h:1862
pm_block_parameter_node::name
pm_constant_id_t name
BlockParameterNode::name.
Definition ast.h:1852
pm_block_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1840
pm_block_parameters_node
BlockParametersNode.
Definition ast.h:1892
pm_block_parameters_node::parameters
struct pm_parameters_node * parameters
BlockParametersNode::parameters.
Definition ast.h:1909
pm_block_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1894
pm_block_parameters_node::locals
struct pm_node_list locals
BlockParametersNode::locals.
Definition ast.h:1923
pm_block_parameters_node::closing_loc
pm_location_t closing_loc
BlockParametersNode::closing_loc.
Definition ast.h:1951
pm_block_parameters_node::opening_loc
pm_location_t opening_loc
BlockParametersNode::opening_loc.
Definition ast.h:1937
pm_break_node
BreakNode.
Definition ast.h:1966
pm_break_node::arguments
struct pm_arguments_node * arguments
BreakNode::arguments.
Definition ast.h:1979
pm_break_node::keyword_loc
pm_location_t keyword_loc
BreakNode::keyword_loc.
Definition ast.h:1989
pm_break_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1968
pm_call_and_write_node
CallAndWriteNode.
Definition ast.h:2010
pm_call_and_write_node::operator_loc
pm_location_t operator_loc
CallAndWriteNode::operator_loc.
Definition ast.h:2073
pm_call_and_write_node::value
struct pm_node * value
CallAndWriteNode::value.
Definition ast.h:2083
pm_call_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2012
pm_call_and_write_node::call_operator_loc
pm_location_t call_operator_loc
CallAndWriteNode::call_operator_loc.
Definition ast.h:2033
pm_call_and_write_node::message_loc
pm_location_t message_loc
CallAndWriteNode::message_loc.
Definition ast.h:2043
pm_call_and_write_node::read_name
pm_constant_id_t read_name
CallAndWriteNode::read_name.
Definition ast.h:2053
pm_call_and_write_node::write_name
pm_constant_id_t write_name
CallAndWriteNode::write_name.
Definition ast.h:2063
pm_call_and_write_node::receiver
struct pm_node * receiver
CallAndWriteNode::receiver.
Definition ast.h:2023
pm_call_node
CallNode.
Definition ast.h:2119
pm_call_node::opening_loc
pm_location_t opening_loc
CallNode::opening_loc.
Definition ast.h:2180
pm_call_node::closing_loc
pm_location_t closing_loc
CallNode::closing_loc.
Definition ast.h:2200
pm_call_node::receiver
struct pm_node * receiver
CallNode::receiver.
Definition ast.h:2138
pm_call_node::name
pm_constant_id_t name
CallNode::name.
Definition ast.h:2161
pm_call_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2121
pm_call_node::call_operator_loc
pm_location_t call_operator_loc
CallNode::call_operator_loc.
Definition ast.h:2151
pm_call_node::message_loc
pm_location_t message_loc
CallNode::message_loc.
Definition ast.h:2171
pm_call_node::arguments
struct pm_arguments_node * arguments
CallNode::arguments.
Definition ast.h:2190
pm_call_node::block
struct pm_node * block
CallNode::block.
Definition ast.h:2210
pm_call_operator_write_node
CallOperatorWriteNode.
Definition ast.h:2231
pm_call_operator_write_node::read_name
pm_constant_id_t read_name
CallOperatorWriteNode::read_name.
Definition ast.h:2274
pm_call_operator_write_node::binary_operator
pm_constant_id_t binary_operator
CallOperatorWriteNode::binary_operator.
Definition ast.h:2294
pm_call_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
CallOperatorWriteNode::binary_operator_loc.
Definition ast.h:2304
pm_call_operator_write_node::receiver
struct pm_node * receiver
CallOperatorWriteNode::receiver.
Definition ast.h:2244
pm_call_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2233
pm_call_operator_write_node::write_name
pm_constant_id_t write_name
CallOperatorWriteNode::write_name.
Definition ast.h:2284
pm_call_operator_write_node::message_loc
pm_location_t message_loc
CallOperatorWriteNode::message_loc.
Definition ast.h:2264
pm_call_operator_write_node::value
struct pm_node * value
CallOperatorWriteNode::value.
Definition ast.h:2314
pm_call_operator_write_node::call_operator_loc
pm_location_t call_operator_loc
CallOperatorWriteNode::call_operator_loc.
Definition ast.h:2254
pm_call_or_write_node
CallOrWriteNode.
Definition ast.h:2335
pm_call_or_write_node::operator_loc
pm_location_t operator_loc
CallOrWriteNode::operator_loc.
Definition ast.h:2398
pm_call_or_write_node::call_operator_loc
pm_location_t call_operator_loc
CallOrWriteNode::call_operator_loc.
Definition ast.h:2358
pm_call_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2337
pm_call_or_write_node::receiver
struct pm_node * receiver
CallOrWriteNode::receiver.
Definition ast.h:2348
pm_call_or_write_node::value
struct pm_node * value
CallOrWriteNode::value.
Definition ast.h:2408
pm_call_or_write_node::write_name
pm_constant_id_t write_name
CallOrWriteNode::write_name.
Definition ast.h:2388
pm_call_or_write_node::read_name
pm_constant_id_t read_name
CallOrWriteNode::read_name.
Definition ast.h:2378
pm_call_or_write_node::message_loc
pm_location_t message_loc
CallOrWriteNode::message_loc.
Definition ast.h:2368
pm_call_target_node
CallTargetNode.
Definition ast.h:2437
pm_call_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2439
pm_call_target_node::name
pm_constant_id_t name
CallTargetNode::name.
Definition ast.h:2470
pm_call_target_node::receiver
struct pm_node * receiver
CallTargetNode::receiver.
Definition ast.h:2450
pm_call_target_node::call_operator_loc
pm_location_t call_operator_loc
CallTargetNode::call_operator_loc.
Definition ast.h:2460
pm_call_target_node::message_loc
pm_location_t message_loc
CallTargetNode::message_loc.
Definition ast.h:2480
pm_capture_pattern_node
CapturePatternNode.
Definition ast.h:2495
pm_capture_pattern_node::target
struct pm_local_variable_target_node * target
CapturePatternNode::target.
Definition ast.h:2518
pm_capture_pattern_node::operator_loc
pm_location_t operator_loc
CapturePatternNode::operator_loc.
Definition ast.h:2528
pm_capture_pattern_node::value
struct pm_node * value
CapturePatternNode::value.
Definition ast.h:2508
pm_capture_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2497
pm_case_match_node
CaseMatchNode.
Definition ast.h:2545
pm_case_match_node::end_keyword_loc
pm_location_t end_keyword_loc
CaseMatchNode::end_keyword_loc.
Definition ast.h:2598
pm_case_match_node::conditions
struct pm_node_list conditions
CaseMatchNode::conditions.
Definition ast.h:2568
pm_case_match_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2547
pm_case_match_node::case_keyword_loc
pm_location_t case_keyword_loc
CaseMatchNode::case_keyword_loc.
Definition ast.h:2588
pm_case_match_node::else_clause
struct pm_else_node * else_clause
CaseMatchNode::else_clause.
Definition ast.h:2578
pm_case_match_node::predicate
struct pm_node * predicate
CaseMatchNode::predicate.
Definition ast.h:2558
pm_case_node
CaseNode.
Definition ast.h:2615
pm_case_node::predicate
struct pm_node * predicate
CaseNode::predicate.
Definition ast.h:2628
pm_case_node::else_clause
struct pm_else_node * else_clause
CaseNode::else_clause.
Definition ast.h:2648
pm_case_node::conditions
struct pm_node_list conditions
CaseNode::conditions.
Definition ast.h:2638
pm_case_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2617
pm_case_node::case_keyword_loc
pm_location_t case_keyword_loc
CaseNode::case_keyword_loc.
Definition ast.h:2658
pm_case_node::end_keyword_loc
pm_location_t end_keyword_loc
CaseNode::end_keyword_loc.
Definition ast.h:2668
pm_class_node
ClassNode.
Definition ast.h:2683
pm_class_node::class_keyword_loc
pm_location_t class_keyword_loc
ClassNode::class_keyword_loc.
Definition ast.h:2696
pm_class_node::end_keyword_loc
pm_location_t end_keyword_loc
ClassNode::end_keyword_loc.
Definition ast.h:2721
pm_class_node::constant_path
struct pm_node * constant_path
ClassNode::constant_path.
Definition ast.h:2701
pm_class_node::locals
pm_constant_id_list_t locals
ClassNode::locals.
Definition ast.h:2691
pm_class_node::inheritance_operator_loc
pm_location_t inheritance_operator_loc
ClassNode::inheritance_operator_loc.
Definition ast.h:2706
pm_class_node::name
pm_constant_id_t name
ClassNode::name.
Definition ast.h:2726
pm_class_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2685
pm_class_node::body
struct pm_node * body
ClassNode::body.
Definition ast.h:2716
pm_class_node::superclass
struct pm_node * superclass
ClassNode::superclass.
Definition ast.h:2711
pm_class_variable_and_write_node
ClassVariableAndWriteNode.
Definition ast.h:2741
pm_class_variable_and_write_node::value
struct pm_node * value
ClassVariableAndWriteNode::value.
Definition ast.h:2784
pm_class_variable_and_write_node::name
pm_constant_id_t name
ClassVariableAndWriteNode::name.
Definition ast.h:2754
pm_class_variable_and_write_node::operator_loc
pm_location_t operator_loc
ClassVariableAndWriteNode::operator_loc.
Definition ast.h:2774
pm_class_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2743
pm_class_variable_and_write_node::name_loc
pm_location_t name_loc
ClassVariableAndWriteNode::name_loc.
Definition ast.h:2764
pm_class_variable_operator_write_node
ClassVariableOperatorWriteNode.
Definition ast.h:2799
pm_class_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2801
pm_class_variable_operator_write_node::name
pm_constant_id_t name
ClassVariableOperatorWriteNode::name.
Definition ast.h:2807
pm_class_variable_operator_write_node::name_loc
pm_location_t name_loc
ClassVariableOperatorWriteNode::name_loc.
Definition ast.h:2812
pm_class_variable_operator_write_node::binary_operator
pm_constant_id_t binary_operator
ClassVariableOperatorWriteNode::binary_operator.
Definition ast.h:2827
pm_class_variable_operator_write_node::value
struct pm_node * value
ClassVariableOperatorWriteNode::value.
Definition ast.h:2822
pm_class_variable_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
ClassVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:2817
pm_class_variable_or_write_node
ClassVariableOrWriteNode.
Definition ast.h:2842
pm_class_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2844
pm_class_variable_or_write_node::name_loc
pm_location_t name_loc
ClassVariableOrWriteNode::name_loc.
Definition ast.h:2855
pm_class_variable_or_write_node::operator_loc
pm_location_t operator_loc
ClassVariableOrWriteNode::operator_loc.
Definition ast.h:2860
pm_class_variable_or_write_node::name
pm_constant_id_t name
ClassVariableOrWriteNode::name.
Definition ast.h:2850
pm_class_variable_or_write_node::value
struct pm_node * value
ClassVariableOrWriteNode::value.
Definition ast.h:2865
pm_class_variable_read_node
ClassVariableReadNode.
Definition ast.h:2880
pm_class_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2882
pm_class_variable_read_node::name
pm_constant_id_t name
ClassVariableReadNode::name.
Definition ast.h:2894
pm_class_variable_target_node
ClassVariableTargetNode.
Definition ast.h:2909
pm_class_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2911
pm_class_variable_target_node::name
pm_constant_id_t name
ClassVariableTargetNode::name.
Definition ast.h:2917
pm_class_variable_write_node
ClassVariableWriteNode.
Definition ast.h:2932
pm_class_variable_write_node::name_loc
pm_location_t name_loc
ClassVariableWriteNode::name_loc.
Definition ast.h:2956
pm_class_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2934
pm_class_variable_write_node::value
struct pm_node * value
ClassVariableWriteNode::value.
Definition ast.h:2969
pm_class_variable_write_node::operator_loc
pm_location_t operator_loc
ClassVariableWriteNode::operator_loc.
Definition ast.h:2979
pm_class_variable_write_node::name
pm_constant_id_t name
ClassVariableWriteNode::name.
Definition ast.h:2946
pm_constant_and_write_node
ConstantAndWriteNode.
Definition ast.h:2994
pm_constant_and_write_node::operator_loc
pm_location_t operator_loc
ConstantAndWriteNode::operator_loc.
Definition ast.h:3012
pm_constant_and_write_node::name_loc
pm_location_t name_loc
ConstantAndWriteNode::name_loc.
Definition ast.h:3007
pm_constant_and_write_node::name
pm_constant_id_t name
ConstantAndWriteNode::name.
Definition ast.h:3002
pm_constant_and_write_node::value
struct pm_node * value
ConstantAndWriteNode::value.
Definition ast.h:3017
pm_constant_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2996
pm_constant_id_list_t
A list of constant IDs.
Definition pm_constant_pool.h:36
pm_constant_operator_write_node
ConstantOperatorWriteNode.
Definition ast.h:3032
pm_constant_operator_write_node::name
pm_constant_id_t name
ConstantOperatorWriteNode::name.
Definition ast.h:3040
pm_constant_operator_write_node::name_loc
pm_location_t name_loc
ConstantOperatorWriteNode::name_loc.
Definition ast.h:3045
pm_constant_operator_write_node::binary_operator
pm_constant_id_t binary_operator
ConstantOperatorWriteNode::binary_operator.
Definition ast.h:3060
pm_constant_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
ConstantOperatorWriteNode::binary_operator_loc.
Definition ast.h:3050
pm_constant_operator_write_node::value
struct pm_node * value
ConstantOperatorWriteNode::value.
Definition ast.h:3055
pm_constant_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3034
pm_constant_or_write_node
ConstantOrWriteNode.
Definition ast.h:3075
pm_constant_or_write_node::operator_loc
pm_location_t operator_loc
ConstantOrWriteNode::operator_loc.
Definition ast.h:3093
pm_constant_or_write_node::name_loc
pm_location_t name_loc
ConstantOrWriteNode::name_loc.
Definition ast.h:3088
pm_constant_or_write_node::name
pm_constant_id_t name
ConstantOrWriteNode::name.
Definition ast.h:3083
pm_constant_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3077
pm_constant_or_write_node::value
struct pm_node * value
ConstantOrWriteNode::value.
Definition ast.h:3098
pm_constant_path_and_write_node
ConstantPathAndWriteNode.
Definition ast.h:3113
pm_constant_path_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3115
pm_constant_path_and_write_node::target
struct pm_constant_path_node * target
ConstantPathAndWriteNode::target.
Definition ast.h:3121
pm_constant_path_and_write_node::operator_loc
pm_location_t operator_loc
ConstantPathAndWriteNode::operator_loc.
Definition ast.h:3126
pm_constant_path_and_write_node::value
struct pm_node * value
ConstantPathAndWriteNode::value.
Definition ast.h:3131
pm_constant_path_node
ConstantPathNode.
Definition ast.h:3146
pm_constant_path_node::delimiter_loc
pm_location_t delimiter_loc
ConstantPathNode::delimiter_loc.
Definition ast.h:3185
pm_constant_path_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3148
pm_constant_path_node::name_loc
pm_location_t name_loc
ConstantPathNode::name_loc.
Definition ast.h:3198
pm_constant_path_node::name
pm_constant_id_t name
ConstantPathNode::name.
Definition ast.h:3172
pm_constant_path_node::parent
struct pm_node * parent
ConstantPathNode::parent.
Definition ast.h:3165
pm_constant_path_operator_write_node
ConstantPathOperatorWriteNode.
Definition ast.h:3213
pm_constant_path_operator_write_node::target
struct pm_constant_path_node * target
ConstantPathOperatorWriteNode::target.
Definition ast.h:3221
pm_constant_path_operator_write_node::value
struct pm_node * value
ConstantPathOperatorWriteNode::value.
Definition ast.h:3231
pm_constant_path_operator_write_node::binary_operator
pm_constant_id_t binary_operator
ConstantPathOperatorWriteNode::binary_operator.
Definition ast.h:3236
pm_constant_path_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3215
pm_constant_path_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
ConstantPathOperatorWriteNode::binary_operator_loc.
Definition ast.h:3226
pm_constant_path_or_write_node
ConstantPathOrWriteNode.
Definition ast.h:3251
pm_constant_path_or_write_node::operator_loc
pm_location_t operator_loc
ConstantPathOrWriteNode::operator_loc.
Definition ast.h:3264
pm_constant_path_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3253
pm_constant_path_or_write_node::value
struct pm_node * value
ConstantPathOrWriteNode::value.
Definition ast.h:3269
pm_constant_path_or_write_node::target
struct pm_constant_path_node * target
ConstantPathOrWriteNode::target.
Definition ast.h:3259
pm_constant_path_target_node
ConstantPathTargetNode.
Definition ast.h:3284
pm_constant_path_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3286
pm_constant_path_target_node::parent
struct pm_node * parent
ConstantPathTargetNode::parent.
Definition ast.h:3292
pm_constant_path_target_node::delimiter_loc
pm_location_t delimiter_loc
ConstantPathTargetNode::delimiter_loc.
Definition ast.h:3302
pm_constant_path_target_node::name
pm_constant_id_t name
ConstantPathTargetNode::name.
Definition ast.h:3297
pm_constant_path_target_node::name_loc
pm_location_t name_loc
ConstantPathTargetNode::name_loc.
Definition ast.h:3307
pm_constant_path_write_node
ConstantPathWriteNode.
Definition ast.h:3328
pm_constant_path_write_node::target
struct pm_constant_path_node * target
ConstantPathWriteNode::target.
Definition ast.h:3344
pm_constant_path_write_node::operator_loc
pm_location_t operator_loc
ConstantPathWriteNode::operator_loc.
Definition ast.h:3354
pm_constant_path_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3330
pm_constant_path_write_node::value
struct pm_node * value
ConstantPathWriteNode::value.
Definition ast.h:3364
pm_constant_read_node
ConstantReadNode.
Definition ast.h:3379
pm_constant_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3381
pm_constant_read_node::name
pm_constant_id_t name
ConstantReadNode::name.
Definition ast.h:3393
pm_constant_target_node
ConstantTargetNode.
Definition ast.h:3408
pm_constant_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3410
pm_constant_target_node::name
pm_constant_id_t name
ConstantTargetNode::name.
Definition ast.h:3416
pm_constant_write_node
ConstantWriteNode.
Definition ast.h:3431
pm_constant_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3433
pm_constant_write_node::value
struct pm_node * value
ConstantWriteNode::value.
Definition ast.h:3468
pm_constant_write_node::name
pm_constant_id_t name
ConstantWriteNode::name.
Definition ast.h:3445
pm_constant_write_node::name_loc
pm_location_t name_loc
ConstantWriteNode::name_loc.
Definition ast.h:3455
pm_constant_write_node::operator_loc
pm_location_t operator_loc
ConstantWriteNode::operator_loc.
Definition ast.h:3478
pm_def_node
DefNode.
Definition ast.h:3494
pm_def_node::parameters
struct pm_parameters_node * parameters
DefNode::parameters.
Definition ast.h:3517
pm_def_node::end_keyword_loc
pm_location_t end_keyword_loc
DefNode::end_keyword_loc.
Definition ast.h:3557
pm_def_node::name
pm_constant_id_t name
DefNode::name.
Definition ast.h:3502
pm_def_node::name_loc
pm_location_t name_loc
DefNode::name_loc.
Definition ast.h:3507
pm_def_node::rparen_loc
pm_location_t rparen_loc
DefNode::rparen_loc.
Definition ast.h:3547
pm_def_node::body
struct pm_node * body
DefNode::body.
Definition ast.h:3522
pm_def_node::equal_loc
pm_location_t equal_loc
DefNode::equal_loc.
Definition ast.h:3552
pm_def_node::def_keyword_loc
pm_location_t def_keyword_loc
DefNode::def_keyword_loc.
Definition ast.h:3532
pm_def_node::receiver
struct pm_node * receiver
DefNode::receiver.
Definition ast.h:3512
pm_def_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3496
pm_def_node::lparen_loc
pm_location_t lparen_loc
DefNode::lparen_loc.
Definition ast.h:3542
pm_def_node::operator_loc
pm_location_t operator_loc
DefNode::operator_loc.
Definition ast.h:3537
pm_def_node::locals
pm_constant_id_list_t locals
DefNode::locals.
Definition ast.h:3527
pm_defined_node
DefinedNode.
Definition ast.h:3572
pm_defined_node::lparen_loc
pm_location_t lparen_loc
DefinedNode::lparen_loc.
Definition ast.h:3580
pm_defined_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3574
pm_defined_node::rparen_loc
pm_location_t rparen_loc
DefinedNode::rparen_loc.
Definition ast.h:3590
pm_defined_node::keyword_loc
pm_location_t keyword_loc
DefinedNode::keyword_loc.
Definition ast.h:3595
pm_defined_node::value
struct pm_node * value
DefinedNode::value.
Definition ast.h:3585
pm_else_node
ElseNode.
Definition ast.h:3610
pm_else_node::statements
struct pm_statements_node * statements
ElseNode::statements.
Definition ast.h:3623
pm_else_node::else_keyword_loc
pm_location_t else_keyword_loc
ElseNode::else_keyword_loc.
Definition ast.h:3618
pm_else_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3612
pm_else_node::end_keyword_loc
pm_location_t end_keyword_loc
ElseNode::end_keyword_loc.
Definition ast.h:3628
pm_embedded_statements_node
EmbeddedStatementsNode.
Definition ast.h:3643
pm_embedded_statements_node::closing_loc
pm_location_t closing_loc
EmbeddedStatementsNode::closing_loc.
Definition ast.h:3661
pm_embedded_statements_node::statements
struct pm_statements_node * statements
EmbeddedStatementsNode::statements.
Definition ast.h:3656
pm_embedded_statements_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3645
pm_embedded_statements_node::opening_loc
pm_location_t opening_loc
EmbeddedStatementsNode::opening_loc.
Definition ast.h:3651
pm_embedded_variable_node
EmbeddedVariableNode.
Definition ast.h:3676
pm_embedded_variable_node::variable
struct pm_node * variable
EmbeddedVariableNode::variable.
Definition ast.h:3689
pm_embedded_variable_node::operator_loc
pm_location_t operator_loc
EmbeddedVariableNode::operator_loc.
Definition ast.h:3684
pm_embedded_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3678
pm_ensure_node
EnsureNode.
Definition ast.h:3708
pm_ensure_node::statements
struct pm_statements_node * statements
EnsureNode::statements.
Definition ast.h:3721
pm_ensure_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3710
pm_ensure_node::ensure_keyword_loc
pm_location_t ensure_keyword_loc
EnsureNode::ensure_keyword_loc.
Definition ast.h:3716
pm_ensure_node::end_keyword_loc
pm_location_t end_keyword_loc
EnsureNode::end_keyword_loc.
Definition ast.h:3726
pm_false_node
FalseNode.
Definition ast.h:3741
pm_false_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3743
pm_find_pattern_node
FindPatternNode.
Definition ast.h:3765
pm_find_pattern_node::constant
struct pm_node * constant
FindPatternNode::constant.
Definition ast.h:3773
pm_find_pattern_node::right
struct pm_node * right
FindPatternNode::right.
Definition ast.h:3788
pm_find_pattern_node::opening_loc
pm_location_t opening_loc
FindPatternNode::opening_loc.
Definition ast.h:3793
pm_find_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3767
pm_find_pattern_node::requireds
struct pm_node_list requireds
FindPatternNode::requireds.
Definition ast.h:3783
pm_find_pattern_node::left
struct pm_splat_node * left
FindPatternNode::left.
Definition ast.h:3778
pm_find_pattern_node::closing_loc
pm_location_t closing_loc
FindPatternNode::closing_loc.
Definition ast.h:3798
pm_flip_flop_node
FlipFlopNode.
Definition ast.h:3816
pm_flip_flop_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3818
pm_flip_flop_node::operator_loc
pm_location_t operator_loc
FlipFlopNode::operator_loc.
Definition ast.h:3834
pm_flip_flop_node::left
struct pm_node * left
FlipFlopNode::left.
Definition ast.h:3824
pm_flip_flop_node::right
struct pm_node * right
FlipFlopNode::right.
Definition ast.h:3829
pm_float_node
FloatNode.
Definition ast.h:3849
pm_float_node::value
double value
FloatNode::value.
Definition ast.h:3859
pm_float_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3851
pm_for_node
ForNode.
Definition ast.h:3874
pm_for_node::statements
struct pm_statements_node * statements
ForNode::statements.
Definition ast.h:3909
pm_for_node::index
struct pm_node * index
ForNode::index.
Definition ast.h:3887
pm_for_node::collection
struct pm_node * collection
ForNode::collection.
Definition ast.h:3897
pm_for_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3876
pm_for_node::end_keyword_loc
pm_location_t end_keyword_loc
ForNode::end_keyword_loc.
Definition ast.h:3949
pm_for_node::for_keyword_loc
pm_location_t for_keyword_loc
ForNode::for_keyword_loc.
Definition ast.h:3919
pm_for_node::do_keyword_loc
pm_location_t do_keyword_loc
ForNode::do_keyword_loc.
Definition ast.h:3939
pm_for_node::in_keyword_loc
pm_location_t in_keyword_loc
ForNode::in_keyword_loc.
Definition ast.h:3929
pm_forwarding_arguments_node
ForwardingArgumentsNode.
Definition ast.h:3966
pm_forwarding_arguments_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3968
pm_forwarding_parameter_node
ForwardingParameterNode.
Definition ast.h:3985
pm_forwarding_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3987
pm_forwarding_super_node
ForwardingSuperNode.
Definition ast.h:4003
pm_forwarding_super_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4005
pm_forwarding_super_node::block
struct pm_block_node * block
ForwardingSuperNode::block.
Definition ast.h:4011
pm_global_variable_and_write_node
GlobalVariableAndWriteNode.
Definition ast.h:4026
pm_global_variable_and_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableAndWriteNode::operator_loc.
Definition ast.h:4044
pm_global_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4028
pm_global_variable_and_write_node::name_loc
pm_location_t name_loc
GlobalVariableAndWriteNode::name_loc.
Definition ast.h:4039
pm_global_variable_and_write_node::value
struct pm_node * value
GlobalVariableAndWriteNode::value.
Definition ast.h:4049
pm_global_variable_and_write_node::name
pm_constant_id_t name
GlobalVariableAndWriteNode::name.
Definition ast.h:4034
pm_global_variable_operator_write_node
GlobalVariableOperatorWriteNode.
Definition ast.h:4064
pm_global_variable_operator_write_node::name
pm_constant_id_t name
GlobalVariableOperatorWriteNode::name.
Definition ast.h:4072
pm_global_variable_operator_write_node::binary_operator
pm_constant_id_t binary_operator
GlobalVariableOperatorWriteNode::binary_operator.
Definition ast.h:4092
pm_global_variable_operator_write_node::value
struct pm_node * value
GlobalVariableOperatorWriteNode::value.
Definition ast.h:4087
pm_global_variable_operator_write_node::name_loc
pm_location_t name_loc
GlobalVariableOperatorWriteNode::name_loc.
Definition ast.h:4077
pm_global_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4066
pm_global_variable_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
GlobalVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:4082
pm_global_variable_or_write_node
GlobalVariableOrWriteNode.
Definition ast.h:4107
pm_global_variable_or_write_node::name
pm_constant_id_t name
GlobalVariableOrWriteNode::name.
Definition ast.h:4115
pm_global_variable_or_write_node::name_loc
pm_location_t name_loc
GlobalVariableOrWriteNode::name_loc.
Definition ast.h:4120
pm_global_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4109
pm_global_variable_or_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableOrWriteNode::operator_loc.
Definition ast.h:4125
pm_global_variable_or_write_node::value
struct pm_node * value
GlobalVariableOrWriteNode::value.
Definition ast.h:4130
pm_global_variable_read_node
GlobalVariableReadNode.
Definition ast.h:4145
pm_global_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4147
pm_global_variable_read_node::name
pm_constant_id_t name
GlobalVariableReadNode::name.
Definition ast.h:4159
pm_global_variable_target_node
GlobalVariableTargetNode.
Definition ast.h:4174
pm_global_variable_target_node::name
pm_constant_id_t name
GlobalVariableTargetNode::name.
Definition ast.h:4182
pm_global_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4176
pm_global_variable_write_node
GlobalVariableWriteNode.
Definition ast.h:4197
pm_global_variable_write_node::value
struct pm_node * value
GlobalVariableWriteNode::value.
Definition ast.h:4234
pm_global_variable_write_node::name_loc
pm_location_t name_loc
GlobalVariableWriteNode::name_loc.
Definition ast.h:4221
pm_global_variable_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableWriteNode::operator_loc.
Definition ast.h:4244
pm_global_variable_write_node::name
pm_constant_id_t name
GlobalVariableWriteNode::name.
Definition ast.h:4211
pm_global_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4199
pm_hash_node
HashNode.
Definition ast.h:4259
pm_hash_node::elements
struct pm_node_list elements
HashNode::elements.
Definition ast.h:4285
pm_hash_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4261
pm_hash_node::closing_loc
pm_location_t closing_loc
HashNode::closing_loc.
Definition ast.h:4295
pm_hash_node::opening_loc
pm_location_t opening_loc
HashNode::opening_loc.
Definition ast.h:4272
pm_hash_pattern_node
HashPatternNode.
Definition ast.h:4313
pm_hash_pattern_node::elements
struct pm_node_list elements
HashPatternNode::elements.
Definition ast.h:4326
pm_hash_pattern_node::opening_loc
pm_location_t opening_loc
HashPatternNode::opening_loc.
Definition ast.h:4336
pm_hash_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4315
pm_hash_pattern_node::rest
struct pm_node * rest
HashPatternNode::rest.
Definition ast.h:4331
pm_hash_pattern_node::closing_loc
pm_location_t closing_loc
HashPatternNode::closing_loc.
Definition ast.h:4341
pm_hash_pattern_node::constant
struct pm_node * constant
HashPatternNode::constant.
Definition ast.h:4321
pm_if_node
IfNode.
Definition ast.h:4362
pm_if_node::predicate
struct pm_node * predicate
IfNode::predicate.
Definition ast.h:4395
pm_if_node::end_keyword_loc
pm_location_t end_keyword_loc
IfNode::end_keyword_loc.
Definition ast.h:4453
pm_if_node::if_keyword_loc
pm_location_t if_keyword_loc
IfNode::if_keyword_loc.
Definition ast.h:4377
pm_if_node::statements
struct pm_statements_node * statements
IfNode::statements.
Definition ast.h:4422
pm_if_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4364
pm_if_node::subsequent
struct pm_node * subsequent
IfNode::subsequent.
Definition ast.h:4441
pm_if_node::then_keyword_loc
pm_location_t then_keyword_loc
IfNode::then_keyword_loc.
Definition ast.h:4408
pm_imaginary_node
ImaginaryNode.
Definition ast.h:4468
pm_imaginary_node::numeric
struct pm_node * numeric
ImaginaryNode::numeric.
Definition ast.h:4476
pm_imaginary_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4470
pm_implicit_node
ImplicitNode.
Definition ast.h:4497
pm_implicit_node::value
struct pm_node * value
ImplicitNode::value.
Definition ast.h:4505
pm_implicit_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4499
pm_implicit_rest_node
ImplicitRestNode.
Definition ast.h:4529
pm_implicit_rest_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4531
pm_in_node
InNode.
Definition ast.h:4547
pm_in_node::statements
struct pm_statements_node * statements
InNode::statements.
Definition ast.h:4560
pm_in_node::pattern
struct pm_node * pattern
InNode::pattern.
Definition ast.h:4555
pm_in_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4549
pm_in_node::then_loc
pm_location_t then_loc
InNode::then_loc.
Definition ast.h:4570
pm_in_node::in_loc
pm_location_t in_loc
InNode::in_loc.
Definition ast.h:4565
pm_index_and_write_node
IndexAndWriteNode.
Definition ast.h:4591
pm_index_and_write_node::arguments
struct pm_arguments_node * arguments
IndexAndWriteNode::arguments.
Definition ast.h:4614
pm_index_and_write_node::receiver
struct pm_node * receiver
IndexAndWriteNode::receiver.
Definition ast.h:4599
pm_index_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4593
pm_index_and_write_node::block
struct pm_block_argument_node * block
IndexAndWriteNode::block.
Definition ast.h:4624
pm_index_and_write_node::value
struct pm_node * value
IndexAndWriteNode::value.
Definition ast.h:4634
pm_index_and_write_node::operator_loc
pm_location_t operator_loc
IndexAndWriteNode::operator_loc.
Definition ast.h:4629
pm_index_and_write_node::closing_loc
pm_location_t closing_loc
IndexAndWriteNode::closing_loc.
Definition ast.h:4619
pm_index_and_write_node::opening_loc
pm_location_t opening_loc
IndexAndWriteNode::opening_loc.
Definition ast.h:4609
pm_index_and_write_node::call_operator_loc
pm_location_t call_operator_loc
IndexAndWriteNode::call_operator_loc.
Definition ast.h:4604
pm_index_operator_write_node
IndexOperatorWriteNode.
Definition ast.h:4655
pm_index_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4657
pm_index_operator_write_node::block
struct pm_block_argument_node * block
IndexOperatorWriteNode::block.
Definition ast.h:4688
pm_index_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
IndexOperatorWriteNode::binary_operator_loc.
Definition ast.h:4698
pm_index_operator_write_node::value
struct pm_node * value
IndexOperatorWriteNode::value.
Definition ast.h:4703
pm_index_operator_write_node::opening_loc
pm_location_t opening_loc
IndexOperatorWriteNode::opening_loc.
Definition ast.h:4673
pm_index_operator_write_node::call_operator_loc
pm_location_t call_operator_loc
IndexOperatorWriteNode::call_operator_loc.
Definition ast.h:4668
pm_index_operator_write_node::closing_loc
pm_location_t closing_loc
IndexOperatorWriteNode::closing_loc.
Definition ast.h:4683
pm_index_operator_write_node::arguments
struct pm_arguments_node * arguments
IndexOperatorWriteNode::arguments.
Definition ast.h:4678
pm_index_operator_write_node::binary_operator
pm_constant_id_t binary_operator
IndexOperatorWriteNode::binary_operator.
Definition ast.h:4693
pm_index_operator_write_node::receiver
struct pm_node * receiver
IndexOperatorWriteNode::receiver.
Definition ast.h:4663
pm_index_or_write_node
IndexOrWriteNode.
Definition ast.h:4724
pm_index_or_write_node::closing_loc
pm_location_t closing_loc
IndexOrWriteNode::closing_loc.
Definition ast.h:4752
pm_index_or_write_node::call_operator_loc
pm_location_t call_operator_loc
IndexOrWriteNode::call_operator_loc.
Definition ast.h:4737
pm_index_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4726
pm_index_or_write_node::block
struct pm_block_argument_node * block
IndexOrWriteNode::block.
Definition ast.h:4757
pm_index_or_write_node::operator_loc
pm_location_t operator_loc
IndexOrWriteNode::operator_loc.
Definition ast.h:4762
pm_index_or_write_node::receiver
struct pm_node * receiver
IndexOrWriteNode::receiver.
Definition ast.h:4732
pm_index_or_write_node::opening_loc
pm_location_t opening_loc
IndexOrWriteNode::opening_loc.
Definition ast.h:4742
pm_index_or_write_node::value
struct pm_node * value
IndexOrWriteNode::value.
Definition ast.h:4767
pm_index_or_write_node::arguments
struct pm_arguments_node * arguments
IndexOrWriteNode::arguments.
Definition ast.h:4747
pm_index_target_node
IndexTargetNode.
Definition ast.h:4796
pm_index_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4798
pm_index_target_node::receiver
struct pm_node * receiver
IndexTargetNode::receiver.
Definition ast.h:4804
pm_index_target_node::closing_loc
pm_location_t closing_loc
IndexTargetNode::closing_loc.
Definition ast.h:4819
pm_index_target_node::arguments
struct pm_arguments_node * arguments
IndexTargetNode::arguments.
Definition ast.h:4814
pm_index_target_node::opening_loc
pm_location_t opening_loc
IndexTargetNode::opening_loc.
Definition ast.h:4809
pm_index_target_node::block
struct pm_block_argument_node * block
IndexTargetNode::block.
Definition ast.h:4824
pm_instance_variable_and_write_node
InstanceVariableAndWriteNode.
Definition ast.h:4839
pm_instance_variable_and_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableAndWriteNode::operator_loc.
Definition ast.h:4857
pm_instance_variable_and_write_node::name_loc
pm_location_t name_loc
InstanceVariableAndWriteNode::name_loc.
Definition ast.h:4852
pm_instance_variable_and_write_node::value
struct pm_node * value
InstanceVariableAndWriteNode::value.
Definition ast.h:4862
pm_instance_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4841
pm_instance_variable_and_write_node::name
pm_constant_id_t name
InstanceVariableAndWriteNode::name.
Definition ast.h:4847
pm_instance_variable_operator_write_node
InstanceVariableOperatorWriteNode.
Definition ast.h:4877
pm_instance_variable_operator_write_node::value
struct pm_node * value
InstanceVariableOperatorWriteNode::value.
Definition ast.h:4900
pm_instance_variable_operator_write_node::binary_operator
pm_constant_id_t binary_operator
InstanceVariableOperatorWriteNode::binary_operator.
Definition ast.h:4905
pm_instance_variable_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
InstanceVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:4895
pm_instance_variable_operator_write_node::name
pm_constant_id_t name
InstanceVariableOperatorWriteNode::name.
Definition ast.h:4885
pm_instance_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4879
pm_instance_variable_operator_write_node::name_loc
pm_location_t name_loc
InstanceVariableOperatorWriteNode::name_loc.
Definition ast.h:4890
pm_instance_variable_or_write_node
InstanceVariableOrWriteNode.
Definition ast.h:4920
pm_instance_variable_or_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableOrWriteNode::operator_loc.
Definition ast.h:4938
pm_instance_variable_or_write_node::value
struct pm_node * value
InstanceVariableOrWriteNode::value.
Definition ast.h:4943
pm_instance_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4922
pm_instance_variable_or_write_node::name_loc
pm_location_t name_loc
InstanceVariableOrWriteNode::name_loc.
Definition ast.h:4933
pm_instance_variable_or_write_node::name
pm_constant_id_t name
InstanceVariableOrWriteNode::name.
Definition ast.h:4928
pm_instance_variable_read_node
InstanceVariableReadNode.
Definition ast.h:4958
pm_instance_variable_read_node::name
pm_constant_id_t name
InstanceVariableReadNode::name.
Definition ast.h:4972
pm_instance_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4960
pm_instance_variable_target_node
InstanceVariableTargetNode.
Definition ast.h:4987
pm_instance_variable_target_node::name
pm_constant_id_t name
InstanceVariableTargetNode::name.
Definition ast.h:4995
pm_instance_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4989
pm_instance_variable_write_node
InstanceVariableWriteNode.
Definition ast.h:5010
pm_instance_variable_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableWriteNode::operator_loc.
Definition ast.h:5057
pm_instance_variable_write_node::name
pm_constant_id_t name
InstanceVariableWriteNode::name.
Definition ast.h:5024
pm_instance_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5012
pm_instance_variable_write_node::value
struct pm_node * value
InstanceVariableWriteNode::value.
Definition ast.h:5047
pm_instance_variable_write_node::name_loc
pm_location_t name_loc
InstanceVariableWriteNode::name_loc.
Definition ast.h:5034
pm_integer_node
IntegerNode.
Definition ast.h:5078
pm_integer_node::value
pm_integer_t value
IntegerNode::value.
Definition ast.h:5088
pm_integer_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5080
pm_integer_t
A structure represents an arbitrary-sized integer.
Definition pm_integer.h:20
pm_interpolated_match_last_line_node
InterpolatedMatchLastLineNode.
Definition ast.h:5116
pm_interpolated_match_last_line_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5118
pm_interpolated_match_last_line_node::closing_loc
pm_location_t closing_loc
InterpolatedMatchLastLineNode::closing_loc.
Definition ast.h:5134
pm_interpolated_match_last_line_node::parts
struct pm_node_list parts
InterpolatedMatchLastLineNode::parts.
Definition ast.h:5129
pm_interpolated_match_last_line_node::opening_loc
pm_location_t opening_loc
InterpolatedMatchLastLineNode::opening_loc.
Definition ast.h:5124
pm_interpolated_regular_expression_node
InterpolatedRegularExpressionNode.
Definition ast.h:5162
pm_interpolated_regular_expression_node::opening_loc
pm_location_t opening_loc
InterpolatedRegularExpressionNode::opening_loc.
Definition ast.h:5170
pm_interpolated_regular_expression_node::parts
struct pm_node_list parts
InterpolatedRegularExpressionNode::parts.
Definition ast.h:5175
pm_interpolated_regular_expression_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5164
pm_interpolated_regular_expression_node::closing_loc
pm_location_t closing_loc
InterpolatedRegularExpressionNode::closing_loc.
Definition ast.h:5180
pm_interpolated_string_node
InterpolatedStringNode.
Definition ast.h:5199
pm_interpolated_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5201
pm_interpolated_string_node::closing_loc
pm_location_t closing_loc
InterpolatedStringNode::closing_loc.
Definition ast.h:5217
pm_interpolated_string_node::opening_loc
pm_location_t opening_loc
InterpolatedStringNode::opening_loc.
Definition ast.h:5207
pm_interpolated_string_node::parts
struct pm_node_list parts
InterpolatedStringNode::parts.
Definition ast.h:5212
pm_interpolated_symbol_node
InterpolatedSymbolNode.
Definition ast.h:5232
pm_interpolated_symbol_node::parts
struct pm_node_list parts
InterpolatedSymbolNode::parts.
Definition ast.h:5245
pm_interpolated_symbol_node::closing_loc
pm_location_t closing_loc
InterpolatedSymbolNode::closing_loc.
Definition ast.h:5250
pm_interpolated_symbol_node::opening_loc
pm_location_t opening_loc
InterpolatedSymbolNode::opening_loc.
Definition ast.h:5240
pm_interpolated_symbol_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5234
pm_interpolated_x_string_node
InterpolatedXStringNode.
Definition ast.h:5265
pm_interpolated_x_string_node::opening_loc
pm_location_t opening_loc
InterpolatedXStringNode::opening_loc.
Definition ast.h:5273
pm_interpolated_x_string_node::closing_loc
pm_location_t closing_loc
InterpolatedXStringNode::closing_loc.
Definition ast.h:5283
pm_interpolated_x_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5267
pm_interpolated_x_string_node::parts
struct pm_node_list parts
InterpolatedXStringNode::parts.
Definition ast.h:5278
pm_it_local_variable_read_node
ItLocalVariableReadNode.
Definition ast.h:5298
pm_it_local_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5300
pm_it_parameters_node
ItParametersNode.
Definition ast.h:5316
pm_it_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5318
pm_keyword_hash_node
KeywordHashNode.
Definition ast.h:5337
pm_keyword_hash_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5339
pm_keyword_hash_node::elements
struct pm_node_list elements
KeywordHashNode::elements.
Definition ast.h:5345
pm_keyword_rest_parameter_node
KeywordRestParameterNode.
Definition ast.h:5364
pm_keyword_rest_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5366
pm_keyword_rest_parameter_node::name
pm_constant_id_t name
KeywordRestParameterNode::name.
Definition ast.h:5372
pm_keyword_rest_parameter_node::operator_loc
pm_location_t operator_loc
KeywordRestParameterNode::operator_loc.
Definition ast.h:5382
pm_keyword_rest_parameter_node::name_loc
pm_location_t name_loc
KeywordRestParameterNode::name_loc.
Definition ast.h:5377
pm_lambda_node
LambdaNode.
Definition ast.h:5397
pm_lambda_node::closing_loc
pm_location_t closing_loc
LambdaNode::closing_loc.
Definition ast.h:5420
pm_lambda_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5399
pm_lambda_node::body
struct pm_node * body
LambdaNode::body.
Definition ast.h:5430
pm_lambda_node::opening_loc
pm_location_t opening_loc
LambdaNode::opening_loc.
Definition ast.h:5415
pm_lambda_node::parameters
struct pm_node * parameters
LambdaNode::parameters.
Definition ast.h:5425
pm_lambda_node::operator_loc
pm_location_t operator_loc
LambdaNode::operator_loc.
Definition ast.h:5410
pm_lambda_node::locals
pm_constant_id_list_t locals
LambdaNode::locals.
Definition ast.h:5405
pm_local_variable_and_write_node
LocalVariableAndWriteNode.
Definition ast.h:5445
pm_local_variable_and_write_node::name
pm_constant_id_t name
LocalVariableAndWriteNode::name.
Definition ast.h:5468
pm_local_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5447
pm_local_variable_and_write_node::depth
uint32_t depth
LocalVariableAndWriteNode::depth.
Definition ast.h:5473
pm_local_variable_and_write_node::operator_loc
pm_location_t operator_loc
LocalVariableAndWriteNode::operator_loc.
Definition ast.h:5458
pm_local_variable_and_write_node::value
struct pm_node * value
LocalVariableAndWriteNode::value.
Definition ast.h:5463
pm_local_variable_and_write_node::name_loc
pm_location_t name_loc
LocalVariableAndWriteNode::name_loc.
Definition ast.h:5453
pm_local_variable_operator_write_node
LocalVariableOperatorWriteNode.
Definition ast.h:5488
pm_local_variable_operator_write_node::depth
uint32_t depth
LocalVariableOperatorWriteNode::depth.
Definition ast.h:5521
pm_local_variable_operator_write_node::binary_operator
pm_constant_id_t binary_operator
LocalVariableOperatorWriteNode::binary_operator.
Definition ast.h:5516
pm_local_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5490
pm_local_variable_operator_write_node::value
struct pm_node * value
LocalVariableOperatorWriteNode::value.
Definition ast.h:5506
pm_local_variable_operator_write_node::name_loc
pm_location_t name_loc
LocalVariableOperatorWriteNode::name_loc.
Definition ast.h:5496
pm_local_variable_operator_write_node::binary_operator_loc
pm_location_t binary_operator_loc
LocalVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:5501
pm_local_variable_operator_write_node::name
pm_constant_id_t name
LocalVariableOperatorWriteNode::name.
Definition ast.h:5511
pm_local_variable_or_write_node
LocalVariableOrWriteNode.
Definition ast.h:5536
pm_local_variable_or_write_node::depth
uint32_t depth
LocalVariableOrWriteNode::depth.
Definition ast.h:5564
pm_local_variable_or_write_node::operator_loc
pm_location_t operator_loc
LocalVariableOrWriteNode::operator_loc.
Definition ast.h:5549
pm_local_variable_or_write_node::value
struct pm_node * value
LocalVariableOrWriteNode::value.
Definition ast.h:5554
pm_local_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5538
pm_local_variable_or_write_node::name
pm_constant_id_t name
LocalVariableOrWriteNode::name.
Definition ast.h:5559
pm_local_variable_or_write_node::name_loc
pm_location_t name_loc
LocalVariableOrWriteNode::name_loc.
Definition ast.h:5544
pm_local_variable_read_node
LocalVariableReadNode.
Definition ast.h:5579
pm_local_variable_read_node::depth
uint32_t depth
LocalVariableReadNode::depth.
Definition ast.h:5610
pm_local_variable_read_node::name
pm_constant_id_t name
LocalVariableReadNode::name.
Definition ast.h:5597
pm_local_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5581
pm_local_variable_target_node
LocalVariableTargetNode.
Definition ast.h:5625
pm_local_variable_target_node::depth
uint32_t depth
LocalVariableTargetNode::depth.
Definition ast.h:5638
pm_local_variable_target_node::name
pm_constant_id_t name
LocalVariableTargetNode::name.
Definition ast.h:5633
pm_local_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5627
pm_local_variable_write_node
LocalVariableWriteNode.
Definition ast.h:5653
pm_local_variable_write_node::operator_loc
pm_location_t operator_loc
LocalVariableWriteNode::operator_loc.
Definition ast.h:5717
pm_local_variable_write_node::name_loc
pm_location_t name_loc
LocalVariableWriteNode::name_loc.
Definition ast.h:5690
pm_local_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5655
pm_local_variable_write_node::value
struct pm_node * value
LocalVariableWriteNode::value.
Definition ast.h:5707
pm_local_variable_write_node::depth
uint32_t depth
LocalVariableWriteNode::depth.
Definition ast.h:5680
pm_local_variable_write_node::name
pm_constant_id_t name
LocalVariableWriteNode::name.
Definition ast.h:5667
pm_location_t
This represents a range of bytes in the source string to which a node or token corresponds.
Definition ast.h:545
pm_location_t::start
const uint8_t * start
A pointer to the start location of the range in the source.
Definition ast.h:547
pm_location_t::end
const uint8_t * end
A pointer to the end location of the range in the source.
Definition ast.h:550
pm_match_last_line_node
MatchLastLineNode.
Definition ast.h:5745
pm_match_last_line_node::content_loc
pm_location_t content_loc
MatchLastLineNode::content_loc.
Definition ast.h:5758
pm_match_last_line_node::opening_loc
pm_location_t opening_loc
MatchLastLineNode::opening_loc.
Definition ast.h:5753
pm_match_last_line_node::closing_loc
pm_location_t closing_loc
MatchLastLineNode::closing_loc.
Definition ast.h:5763
pm_match_last_line_node::unescaped
pm_string_t unescaped
MatchLastLineNode::unescaped.
Definition ast.h:5768
pm_match_last_line_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5747
pm_match_predicate_node
MatchPredicateNode.
Definition ast.h:5783
pm_match_predicate_node::operator_loc
pm_location_t operator_loc
MatchPredicateNode::operator_loc.
Definition ast.h:5801
pm_match_predicate_node::pattern
struct pm_node * pattern
MatchPredicateNode::pattern.
Definition ast.h:5796
pm_match_predicate_node::value
struct pm_node * value
MatchPredicateNode::value.
Definition ast.h:5791
pm_match_predicate_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5785
pm_match_required_node
MatchRequiredNode.
Definition ast.h:5816
pm_match_required_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5818
pm_match_required_node::operator_loc
pm_location_t operator_loc
MatchRequiredNode::operator_loc.
Definition ast.h:5834
pm_match_required_node::value
struct pm_node * value
MatchRequiredNode::value.
Definition ast.h:5824
pm_match_required_node::pattern
struct pm_node * pattern
MatchRequiredNode::pattern.
Definition ast.h:5829
pm_match_write_node
MatchWriteNode.
Definition ast.h:5849
pm_match_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5851
pm_match_write_node::targets
struct pm_node_list targets
MatchWriteNode::targets.
Definition ast.h:5862
pm_match_write_node::call
struct pm_call_node * call
MatchWriteNode::call.
Definition ast.h:5857
pm_missing_node
MissingNode.
Definition ast.h:5874
pm_missing_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5876
pm_module_node
ModuleNode.
Definition ast.h:5892
pm_module_node::end_keyword_loc
pm_location_t end_keyword_loc
ModuleNode::end_keyword_loc.
Definition ast.h:5920
pm_module_node::constant_path
struct pm_node * constant_path
ModuleNode::constant_path.
Definition ast.h:5910
pm_module_node::body
struct pm_node * body
ModuleNode::body.
Definition ast.h:5915
pm_module_node::locals
pm_constant_id_list_t locals
ModuleNode::locals.
Definition ast.h:5900
pm_module_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5894
pm_module_node::module_keyword_loc
pm_location_t module_keyword_loc
ModuleNode::module_keyword_loc.
Definition ast.h:5905
pm_module_node::name
pm_constant_id_t name
ModuleNode::name.
Definition ast.h:5925
pm_multi_target_node
MultiTargetNode.
Definition ast.h:5945
pm_multi_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:5947
pm_multi_target_node::lparen_loc
pm_location_t lparen_loc
MultiTargetNode::lparen_loc.
Definition ast.h:6003
pm_multi_target_node::lefts
struct pm_node_list lefts
MultiTargetNode::lefts.
Definition ast.h:5963
pm_multi_target_node::rest
struct pm_node * rest
MultiTargetNode::rest.
Definition ast.h:5983
pm_multi_target_node::rparen_loc
pm_location_t rparen_loc
MultiTargetNode::rparen_loc.
Definition ast.h:6013
pm_multi_target_node::rights
struct pm_node_list rights
MultiTargetNode::rights.
Definition ast.h:5993
pm_multi_write_node
MultiWriteNode.
Definition ast.h:6028
pm_multi_write_node::rparen_loc
pm_location_t rparen_loc
MultiWriteNode::rparen_loc.
Definition ast.h:6096
pm_multi_write_node::value
struct pm_node * value
MultiWriteNode::value.
Definition ast.h:6116
pm_multi_write_node::rest
struct pm_node * rest
MultiWriteNode::rest.
Definition ast.h:6066
pm_multi_write_node::rights
struct pm_node_list rights
MultiWriteNode::rights.
Definition ast.h:6076
pm_multi_write_node::operator_loc
pm_location_t operator_loc
MultiWriteNode::operator_loc.
Definition ast.h:6106
pm_multi_write_node::lparen_loc
pm_location_t lparen_loc
MultiWriteNode::lparen_loc.
Definition ast.h:6086
pm_multi_write_node::lefts
struct pm_node_list lefts
MultiWriteNode::lefts.
Definition ast.h:6046
pm_multi_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6030
pm_next_node
NextNode.
Definition ast.h:6131
pm_next_node::arguments
struct pm_arguments_node * arguments
NextNode::arguments.
Definition ast.h:6139
pm_next_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6133
pm_next_node::keyword_loc
pm_location_t keyword_loc
NextNode::keyword_loc.
Definition ast.h:6144
pm_nil_node
NilNode.
Definition ast.h:6159
pm_nil_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6161
pm_no_keywords_parameter_node
NoKeywordsParameterNode.
Definition ast.h:6178
pm_no_keywords_parameter_node::keyword_loc
pm_location_t keyword_loc
NoKeywordsParameterNode::keyword_loc.
Definition ast.h:6191
pm_no_keywords_parameter_node::operator_loc
pm_location_t operator_loc
NoKeywordsParameterNode::operator_loc.
Definition ast.h:6186
pm_no_keywords_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6180
pm_node_list
A list of nodes in the source, most often used for lists of children.
Definition ast.h:558
pm_node_list::size
size_t size
The number of nodes in the list.
Definition ast.h:560
pm_node_list::nodes
struct pm_node ** nodes
The nodes in the list.
Definition ast.h:566
pm_node_list::capacity
size_t capacity
The capacity of the list that has been allocated.
Definition ast.h:563
pm_node
This is the base structure that represents a node in the syntax tree.
Definition ast.h:1069
pm_node::type
pm_node_type_t type
This represents the type of the node.
Definition ast.h:1074
pm_node::node_id
uint32_t node_id
The unique identifier for this node, which is deterministic based on the source.
Definition ast.h:1086
pm_node::flags
pm_node_flags_t flags
This represents any flags on the node.
Definition ast.h:1080
pm_node::location
pm_location_t location
This is the location of the node in the source.
Definition ast.h:1092
pm_numbered_parameters_node
NumberedParametersNode.
Definition ast.h:6206
pm_numbered_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6208
pm_numbered_parameters_node::maximum
uint8_t maximum
NumberedParametersNode::maximum.
Definition ast.h:6214
pm_numbered_reference_read_node
NumberedReferenceReadNode.
Definition ast.h:6229
pm_numbered_reference_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6231
pm_numbered_reference_read_node::number
uint32_t number
NumberedReferenceReadNode::number.
Definition ast.h:6245
pm_optional_keyword_parameter_node
OptionalKeywordParameterNode.
Definition ast.h:6264
pm_optional_keyword_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6266
pm_optional_keyword_parameter_node::name
pm_constant_id_t name
OptionalKeywordParameterNode::name.
Definition ast.h:6272
pm_optional_keyword_parameter_node::value
struct pm_node * value
OptionalKeywordParameterNode::value.
Definition ast.h:6282
pm_optional_keyword_parameter_node::name_loc
pm_location_t name_loc
OptionalKeywordParameterNode::name_loc.
Definition ast.h:6277
pm_optional_parameter_node
OptionalParameterNode.
Definition ast.h:6301
pm_optional_parameter_node::name_loc
pm_location_t name_loc
OptionalParameterNode::name_loc.
Definition ast.h:6314
pm_optional_parameter_node::value
struct pm_node * value
OptionalParameterNode::value.
Definition ast.h:6324
pm_optional_parameter_node::name
pm_constant_id_t name
OptionalParameterNode::name.
Definition ast.h:6309
pm_optional_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6303
pm_optional_parameter_node::operator_loc
pm_location_t operator_loc
OptionalParameterNode::operator_loc.
Definition ast.h:6319
pm_or_node
OrNode.
Definition ast.h:6339
pm_or_node::left
struct pm_node * left
OrNode::left.
Definition ast.h:6355
pm_or_node::right
struct pm_node * right
OrNode::right.
Definition ast.h:6368
pm_or_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6341
pm_or_node::operator_loc
pm_location_t operator_loc
OrNode::operator_loc.
Definition ast.h:6378
pm_parameters_node
ParametersNode.
Definition ast.h:6394
pm_parameters_node::rest
struct pm_node * rest
ParametersNode::rest.
Definition ast.h:6412
pm_parameters_node::requireds
struct pm_node_list requireds
ParametersNode::requireds.
Definition ast.h:6402
pm_parameters_node::block
struct pm_block_parameter_node * block
ParametersNode::block.
Definition ast.h:6432
pm_parameters_node::optionals
struct pm_node_list optionals
ParametersNode::optionals.
Definition ast.h:6407
pm_parameters_node::posts
struct pm_node_list posts
ParametersNode::posts.
Definition ast.h:6417
pm_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6396
pm_parameters_node::keyword_rest
struct pm_node * keyword_rest
ParametersNode::keyword_rest.
Definition ast.h:6427
pm_parameters_node::keywords
struct pm_node_list keywords
ParametersNode::keywords.
Definition ast.h:6422
pm_parentheses_node
ParenthesesNode.
Definition ast.h:6447
pm_parentheses_node::body
struct pm_node * body
ParenthesesNode::body.
Definition ast.h:6455
pm_parentheses_node::closing_loc
pm_location_t closing_loc
ParenthesesNode::closing_loc.
Definition ast.h:6465
pm_parentheses_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6449
pm_parentheses_node::opening_loc
pm_location_t opening_loc
ParenthesesNode::opening_loc.
Definition ast.h:6460
pm_pinned_expression_node
PinnedExpressionNode.
Definition ast.h:6480
pm_pinned_expression_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6482
pm_pinned_expression_node::rparen_loc
pm_location_t rparen_loc
PinnedExpressionNode::rparen_loc.
Definition ast.h:6503
pm_pinned_expression_node::expression
struct pm_node * expression
PinnedExpressionNode::expression.
Definition ast.h:6488
pm_pinned_expression_node::lparen_loc
pm_location_t lparen_loc
PinnedExpressionNode::lparen_loc.
Definition ast.h:6498
pm_pinned_expression_node::operator_loc
pm_location_t operator_loc
PinnedExpressionNode::operator_loc.
Definition ast.h:6493
pm_pinned_variable_node
PinnedVariableNode.
Definition ast.h:6518
pm_pinned_variable_node::variable
struct pm_node * variable
PinnedVariableNode::variable.
Definition ast.h:6526
pm_pinned_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6520
pm_pinned_variable_node::operator_loc
pm_location_t operator_loc
PinnedVariableNode::operator_loc.
Definition ast.h:6531
pm_post_execution_node
PostExecutionNode.
Definition ast.h:6546
pm_post_execution_node::closing_loc
pm_location_t closing_loc
PostExecutionNode::closing_loc.
Definition ast.h:6569
pm_post_execution_node::statements
struct pm_statements_node * statements
PostExecutionNode::statements.
Definition ast.h:6554
pm_post_execution_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6548
pm_post_execution_node::opening_loc
pm_location_t opening_loc
PostExecutionNode::opening_loc.
Definition ast.h:6564
pm_post_execution_node::keyword_loc
pm_location_t keyword_loc
PostExecutionNode::keyword_loc.
Definition ast.h:6559
pm_pre_execution_node
PreExecutionNode.
Definition ast.h:6584
pm_pre_execution_node::statements
struct pm_statements_node * statements
PreExecutionNode::statements.
Definition ast.h:6592
pm_pre_execution_node::closing_loc
pm_location_t closing_loc
PreExecutionNode::closing_loc.
Definition ast.h:6607
pm_pre_execution_node::opening_loc
pm_location_t opening_loc
PreExecutionNode::opening_loc.
Definition ast.h:6602
pm_pre_execution_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6586
pm_pre_execution_node::keyword_loc
pm_location_t keyword_loc
PreExecutionNode::keyword_loc.
Definition ast.h:6597
pm_program_node
ProgramNode.
Definition ast.h:6619
pm_program_node::statements
struct pm_statements_node * statements
ProgramNode::statements.
Definition ast.h:6632
pm_program_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6621
pm_program_node::locals
pm_constant_id_list_t locals
ProgramNode::locals.
Definition ast.h:6627
pm_range_node
RangeNode.
Definition ast.h:6653
pm_range_node::right
struct pm_node * right
RangeNode::right.
Definition ast.h:6683
pm_range_node::operator_loc
pm_location_t operator_loc
RangeNode::operator_loc.
Definition ast.h:6690
pm_range_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6655
pm_range_node::left
struct pm_node * left
RangeNode::left.
Definition ast.h:6669
pm_rational_node
RationalNode.
Definition ast.h:6711
pm_rational_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6713
pm_rational_node::denominator
pm_integer_t denominator
RationalNode::denominator.
Definition ast.h:6732
pm_rational_node::numerator
pm_integer_t numerator
RationalNode::numerator.
Definition ast.h:6723
pm_redo_node
RedoNode.
Definition ast.h:6747
pm_redo_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6749
pm_regular_expression_node
RegularExpressionNode.
Definition ast.h:6778
pm_regular_expression_node::closing_loc
pm_location_t closing_loc
RegularExpressionNode::closing_loc.
Definition ast.h:6796
pm_regular_expression_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6780
pm_regular_expression_node::unescaped
pm_string_t unescaped
RegularExpressionNode::unescaped.
Definition ast.h:6801
pm_regular_expression_node::opening_loc
pm_location_t opening_loc
RegularExpressionNode::opening_loc.
Definition ast.h:6786
pm_regular_expression_node::content_loc
pm_location_t content_loc
RegularExpressionNode::content_loc.
Definition ast.h:6791
pm_required_keyword_parameter_node
RequiredKeywordParameterNode.
Definition ast.h:6820
pm_required_keyword_parameter_node::name_loc
pm_location_t name_loc
RequiredKeywordParameterNode::name_loc.
Definition ast.h:6833
pm_required_keyword_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6822
pm_required_keyword_parameter_node::name
pm_constant_id_t name
RequiredKeywordParameterNode::name.
Definition ast.h:6828
pm_required_parameter_node
RequiredParameterNode.
Definition ast.h:6852
pm_required_parameter_node::name
pm_constant_id_t name
RequiredParameterNode::name.
Definition ast.h:6860
pm_required_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6854
pm_rescue_modifier_node
RescueModifierNode.
Definition ast.h:6875
pm_rescue_modifier_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6877
pm_rescue_modifier_node::rescue_expression
struct pm_node * rescue_expression
RescueModifierNode::rescue_expression.
Definition ast.h:6893
pm_rescue_modifier_node::keyword_loc
pm_location_t keyword_loc
RescueModifierNode::keyword_loc.
Definition ast.h:6888
pm_rescue_modifier_node::expression
struct pm_node * expression
RescueModifierNode::expression.
Definition ast.h:6883
pm_rescue_node
RescueNode.
Definition ast.h:6913
pm_rescue_node::keyword_loc
pm_location_t keyword_loc
RescueNode::keyword_loc.
Definition ast.h:6921
pm_rescue_node::subsequent
struct pm_rescue_node * subsequent
RescueNode::subsequent.
Definition ast.h:6946
pm_rescue_node::operator_loc
pm_location_t operator_loc
RescueNode::operator_loc.
Definition ast.h:6931
pm_rescue_node::reference
struct pm_node * reference
RescueNode::reference.
Definition ast.h:6936
pm_rescue_node::exceptions
struct pm_node_list exceptions
RescueNode::exceptions.
Definition ast.h:6926
pm_rescue_node::statements
struct pm_statements_node * statements
RescueNode::statements.
Definition ast.h:6941
pm_rescue_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6915
pm_rest_parameter_node
RestParameterNode.
Definition ast.h:6965
pm_rest_parameter_node::name
pm_constant_id_t name
RestParameterNode::name.
Definition ast.h:6973
pm_rest_parameter_node::name_loc
pm_location_t name_loc
RestParameterNode::name_loc.
Definition ast.h:6978
pm_rest_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:6967
pm_rest_parameter_node::operator_loc
pm_location_t operator_loc
RestParameterNode::operator_loc.
Definition ast.h:6983
pm_retry_node
RetryNode.
Definition ast.h:6998
pm_retry_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7000
pm_return_node
ReturnNode.
Definition ast.h:7016
pm_return_node::keyword_loc
pm_location_t keyword_loc
ReturnNode::keyword_loc.
Definition ast.h:7024
pm_return_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7018
pm_return_node::arguments
struct pm_arguments_node * arguments
ReturnNode::arguments.
Definition ast.h:7029
pm_self_node
SelfNode.
Definition ast.h:7044
pm_self_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7046
pm_shareable_constant_node
ShareableConstantNode.
Definition ast.h:7068
pm_shareable_constant_node::write
struct pm_node * write
ShareableConstantNode::write.
Definition ast.h:7078
pm_shareable_constant_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7070
pm_singleton_class_node
SingletonClassNode.
Definition ast.h:7093
pm_singleton_class_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7095
pm_singleton_class_node::locals
pm_constant_id_list_t locals
SingletonClassNode::locals.
Definition ast.h:7101
pm_singleton_class_node::operator_loc
pm_location_t operator_loc
SingletonClassNode::operator_loc.
Definition ast.h:7111
pm_singleton_class_node::expression
struct pm_node * expression
SingletonClassNode::expression.
Definition ast.h:7116
pm_singleton_class_node::end_keyword_loc
pm_location_t end_keyword_loc
SingletonClassNode::end_keyword_loc.
Definition ast.h:7126
pm_singleton_class_node::class_keyword_loc
pm_location_t class_keyword_loc
SingletonClassNode::class_keyword_loc.
Definition ast.h:7106
pm_singleton_class_node::body
struct pm_node * body
SingletonClassNode::body.
Definition ast.h:7121
pm_source_encoding_node
SourceEncodingNode.
Definition ast.h:7141
pm_source_encoding_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7143
pm_source_file_node
SourceFileNode.
Definition ast.h:7165
pm_source_file_node::filepath
pm_string_t filepath
SourceFileNode::filepath.
Definition ast.h:7175
pm_source_file_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7167
pm_source_line_node
SourceLineNode.
Definition ast.h:7190
pm_source_line_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7192
pm_splat_node
SplatNode.
Definition ast.h:7208
pm_splat_node::expression
struct pm_node * expression
SplatNode::expression.
Definition ast.h:7221
pm_splat_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7210
pm_splat_node::operator_loc
pm_location_t operator_loc
SplatNode::operator_loc.
Definition ast.h:7216
pm_statements_node
StatementsNode.
Definition ast.h:7236
pm_statements_node::body
struct pm_node_list body
StatementsNode::body.
Definition ast.h:7244
pm_statements_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7238
pm_string_node
StringNode.
Definition ast.h:7271
pm_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7273
pm_string_node::unescaped
pm_string_t unescaped
StringNode::unescaped.
Definition ast.h:7294
pm_string_node::content_loc
pm_location_t content_loc
StringNode::content_loc.
Definition ast.h:7284
pm_string_node::closing_loc
pm_location_t closing_loc
StringNode::closing_loc.
Definition ast.h:7289
pm_string_node::opening_loc
pm_location_t opening_loc
StringNode::opening_loc.
Definition ast.h:7279
pm_string_t
A generic string type that can have various ownership semantics.
Definition pm_string.h:33
pm_super_node
SuperNode.
Definition ast.h:7312
pm_super_node::arguments
struct pm_arguments_node * arguments
SuperNode::arguments.
Definition ast.h:7330
pm_super_node::lparen_loc
pm_location_t lparen_loc
SuperNode::lparen_loc.
Definition ast.h:7325
pm_super_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7314
pm_super_node::keyword_loc
pm_location_t keyword_loc
SuperNode::keyword_loc.
Definition ast.h:7320
pm_super_node::rparen_loc
pm_location_t rparen_loc
SuperNode::rparen_loc.
Definition ast.h:7335
pm_super_node::block
struct pm_node * block
SuperNode::block.
Definition ast.h:7340
pm_symbol_node
SymbolNode.
Definition ast.h:7363
pm_symbol_node::opening_loc
pm_location_t opening_loc
SymbolNode::opening_loc.
Definition ast.h:7371
pm_symbol_node::value_loc
pm_location_t value_loc
SymbolNode::value_loc.
Definition ast.h:7376
pm_symbol_node::closing_loc
pm_location_t closing_loc
SymbolNode::closing_loc.
Definition ast.h:7381
pm_symbol_node::unescaped
pm_string_t unescaped
SymbolNode::unescaped.
Definition ast.h:7386
pm_symbol_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7365
pm_token_t
This struct represents a token in the Ruby source.
Definition ast.h:530
pm_token_t::end
const uint8_t * end
A pointer to the end location of the token in the source.
Definition ast.h:538
pm_token_t::start
const uint8_t * start
A pointer to the start location of the token in the source.
Definition ast.h:535
pm_token_t::type
pm_token_type_t type
The type of the token.
Definition ast.h:532
pm_true_node
TrueNode.
Definition ast.h:7401
pm_true_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7403
pm_undef_node
UndefNode.
Definition ast.h:7419
pm_undef_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7421
pm_undef_node::keyword_loc
pm_location_t keyword_loc
UndefNode::keyword_loc.
Definition ast.h:7432
pm_undef_node::names
struct pm_node_list names
UndefNode::names.
Definition ast.h:7427
pm_unless_node
UnlessNode.
Definition ast.h:7450
pm_unless_node::keyword_loc
pm_location_t keyword_loc
UnlessNode::keyword_loc.
Definition ast.h:7466
pm_unless_node::then_keyword_loc
pm_location_t then_keyword_loc
UnlessNode::then_keyword_loc.
Definition ast.h:7489
pm_unless_node::end_keyword_loc
pm_location_t end_keyword_loc
UnlessNode::end_keyword_loc.
Definition ast.h:7520
pm_unless_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7452
pm_unless_node::statements
struct pm_statements_node * statements
UnlessNode::statements.
Definition ast.h:7500
pm_unless_node::predicate
struct pm_node * predicate
UnlessNode::predicate.
Definition ast.h:7479
pm_unless_node::else_clause
struct pm_else_node * else_clause
UnlessNode::else_clause.
Definition ast.h:7510
pm_until_node
UntilNode.
Definition ast.h:7541
pm_until_node::statements
struct pm_statements_node * statements
UntilNode::statements.
Definition ast.h:7569
pm_until_node::closing_loc
pm_location_t closing_loc
UntilNode::closing_loc.
Definition ast.h:7559
pm_until_node::predicate
struct pm_node * predicate
UntilNode::predicate.
Definition ast.h:7564
pm_until_node::keyword_loc
pm_location_t keyword_loc
UntilNode::keyword_loc.
Definition ast.h:7549
pm_until_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7543
pm_until_node::do_keyword_loc
pm_location_t do_keyword_loc
UntilNode::do_keyword_loc.
Definition ast.h:7554
pm_when_node
WhenNode.
Definition ast.h:7586
pm_when_node::statements
struct pm_statements_node * statements
WhenNode::statements.
Definition ast.h:7609
pm_when_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7588
pm_when_node::then_keyword_loc
pm_location_t then_keyword_loc
WhenNode::then_keyword_loc.
Definition ast.h:7604
pm_when_node::keyword_loc
pm_location_t keyword_loc
WhenNode::keyword_loc.
Definition ast.h:7594
pm_when_node::conditions
struct pm_node_list conditions
WhenNode::conditions.
Definition ast.h:7599
pm_while_node
WhileNode.
Definition ast.h:7630
pm_while_node::closing_loc
pm_location_t closing_loc
WhileNode::closing_loc.
Definition ast.h:7648
pm_while_node::keyword_loc
pm_location_t keyword_loc
WhileNode::keyword_loc.
Definition ast.h:7638
pm_while_node::statements
struct pm_statements_node * statements
WhileNode::statements.
Definition ast.h:7658
pm_while_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7632
pm_while_node::do_keyword_loc
pm_location_t do_keyword_loc
WhileNode::do_keyword_loc.
Definition ast.h:7643
pm_while_node::predicate
struct pm_node * predicate
WhileNode::predicate.
Definition ast.h:7653
pm_x_string_node
XStringNode.
Definition ast.h:7677
pm_x_string_node::closing_loc
pm_location_t closing_loc
XStringNode::closing_loc.
Definition ast.h:7695
pm_x_string_node::opening_loc
pm_location_t opening_loc
XStringNode::opening_loc.
Definition ast.h:7685
pm_x_string_node::content_loc
pm_location_t content_loc
XStringNode::content_loc.
Definition ast.h:7690
pm_x_string_node::unescaped
pm_string_t unescaped
XStringNode::unescaped.
Definition ast.h:7700
pm_x_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7679
pm_yield_node
YieldNode.
Definition ast.h:7715
pm_yield_node::keyword_loc
pm_location_t keyword_loc
YieldNode::keyword_loc.
Definition ast.h:7723
pm_yield_node::lparen_loc
pm_location_t lparen_loc
YieldNode::lparen_loc.
Definition ast.h:7728
pm_yield_node::base
pm_node_t base
The embedded base node.
Definition ast.h:7717
pm_yield_node::rparen_loc
pm_location_t rparen_loc
YieldNode::rparen_loc.
Definition ast.h:7738
pm_yield_node::arguments
struct pm_arguments_node * arguments
YieldNode::arguments.
Definition ast.h:7733