Ruby: prism/ast.h Source File

Ruby 3.3.7p123 (2025-01-15 revision be31f993d7fa0219d85f7b3c694d454da4ecc10b)

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/******************************************************************************/
13#ifndef PRISM_AST_H
14#define PRISM_AST_H
15
16#include "prism/defines.h"
17#include "prism/util/pm_constant_pool.h"
18#include "prism/util/pm_string.h"
19
20#include <assert.h>
21#include <stddef.h>
22#include <stdint.h>
23
27 typedef enum pm_token_type {
29 PM_TOKEN_EOF = 1,
30
32 PM_TOKEN_MISSING,
33
35 PM_TOKEN_NOT_PROVIDED,
36
38 PM_TOKEN_AMPERSAND,
39
41 PM_TOKEN_AMPERSAND_AMPERSAND,
42
44 PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL,
45
47 PM_TOKEN_AMPERSAND_DOT,
48
50 PM_TOKEN_AMPERSAND_EQUAL,
51
53 PM_TOKEN_BACKTICK,
54
56 PM_TOKEN_BACK_REFERENCE,
57
59 PM_TOKEN_BANG,
60
62 PM_TOKEN_BANG_EQUAL,
63
65 PM_TOKEN_BANG_TILDE,
66
68 PM_TOKEN_BRACE_LEFT,
69
71 PM_TOKEN_BRACE_RIGHT,
72
74 PM_TOKEN_BRACKET_LEFT,
75
77 PM_TOKEN_BRACKET_LEFT_ARRAY,
78
80 PM_TOKEN_BRACKET_LEFT_RIGHT,
81
83 PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL,
84
86 PM_TOKEN_BRACKET_RIGHT,
87
89 PM_TOKEN_CARET,
90
92 PM_TOKEN_CARET_EQUAL,
93
95 PM_TOKEN_CHARACTER_LITERAL,
96
98 PM_TOKEN_CLASS_VARIABLE,
99
101 PM_TOKEN_COLON,
102
104 PM_TOKEN_COLON_COLON,
105
107 PM_TOKEN_COMMA,
108
110 PM_TOKEN_COMMENT,
111
113 PM_TOKEN_CONSTANT,
114
116 PM_TOKEN_DOT,
117
119 PM_TOKEN_DOT_DOT,
120
122 PM_TOKEN_DOT_DOT_DOT,
123
125 PM_TOKEN_EMBDOC_BEGIN,
126
128 PM_TOKEN_EMBDOC_END,
129
131 PM_TOKEN_EMBDOC_LINE,
132
134 PM_TOKEN_EMBEXPR_BEGIN,
135
137 PM_TOKEN_EMBEXPR_END,
138
140 PM_TOKEN_EMBVAR,
141
143 PM_TOKEN_EQUAL,
144
146 PM_TOKEN_EQUAL_EQUAL,
147
149 PM_TOKEN_EQUAL_EQUAL_EQUAL,
150
152 PM_TOKEN_EQUAL_GREATER,
153
155 PM_TOKEN_EQUAL_TILDE,
156
158 PM_TOKEN_FLOAT,
159
161 PM_TOKEN_FLOAT_IMAGINARY,
162
164 PM_TOKEN_FLOAT_RATIONAL,
165
167 PM_TOKEN_FLOAT_RATIONAL_IMAGINARY,
168
170 PM_TOKEN_GLOBAL_VARIABLE,
171
173 PM_TOKEN_GREATER,
174
176 PM_TOKEN_GREATER_EQUAL,
177
179 PM_TOKEN_GREATER_GREATER,
180
182 PM_TOKEN_GREATER_GREATER_EQUAL,
183
185 PM_TOKEN_HEREDOC_END,
186
188 PM_TOKEN_HEREDOC_START,
189
191 PM_TOKEN_IDENTIFIER,
192
194 PM_TOKEN_IGNORED_NEWLINE,
195
197 PM_TOKEN_INSTANCE_VARIABLE,
198
200 PM_TOKEN_INTEGER,
201
203 PM_TOKEN_INTEGER_IMAGINARY,
204
206 PM_TOKEN_INTEGER_RATIONAL,
207
209 PM_TOKEN_INTEGER_RATIONAL_IMAGINARY,
210
212 PM_TOKEN_KEYWORD_ALIAS,
213
215 PM_TOKEN_KEYWORD_AND,
216
218 PM_TOKEN_KEYWORD_BEGIN,
219
221 PM_TOKEN_KEYWORD_BEGIN_UPCASE,
222
224 PM_TOKEN_KEYWORD_BREAK,
225
227 PM_TOKEN_KEYWORD_CASE,
228
230 PM_TOKEN_KEYWORD_CLASS,
231
233 PM_TOKEN_KEYWORD_DEF,
234
236 PM_TOKEN_KEYWORD_DEFINED,
237
239 PM_TOKEN_KEYWORD_DO,
240
242 PM_TOKEN_KEYWORD_DO_LOOP,
243
245 PM_TOKEN_KEYWORD_ELSE,
246
248 PM_TOKEN_KEYWORD_ELSIF,
249
251 PM_TOKEN_KEYWORD_END,
252
254 PM_TOKEN_KEYWORD_END_UPCASE,
255
257 PM_TOKEN_KEYWORD_ENSURE,
258
260 PM_TOKEN_KEYWORD_FALSE,
261
263 PM_TOKEN_KEYWORD_FOR,
264
266 PM_TOKEN_KEYWORD_IF,
267
269 PM_TOKEN_KEYWORD_IF_MODIFIER,
270
272 PM_TOKEN_KEYWORD_IN,
273
275 PM_TOKEN_KEYWORD_MODULE,
276
278 PM_TOKEN_KEYWORD_NEXT,
279
281 PM_TOKEN_KEYWORD_NIL,
282
284 PM_TOKEN_KEYWORD_NOT,
285
287 PM_TOKEN_KEYWORD_OR,
288
290 PM_TOKEN_KEYWORD_REDO,
291
293 PM_TOKEN_KEYWORD_RESCUE,
294
296 PM_TOKEN_KEYWORD_RESCUE_MODIFIER,
297
299 PM_TOKEN_KEYWORD_RETRY,
300
302 PM_TOKEN_KEYWORD_RETURN,
303
305 PM_TOKEN_KEYWORD_SELF,
306
308 PM_TOKEN_KEYWORD_SUPER,
309
311 PM_TOKEN_KEYWORD_THEN,
312
314 PM_TOKEN_KEYWORD_TRUE,
315
317 PM_TOKEN_KEYWORD_UNDEF,
318
320 PM_TOKEN_KEYWORD_UNLESS,
321
323 PM_TOKEN_KEYWORD_UNLESS_MODIFIER,
324
326 PM_TOKEN_KEYWORD_UNTIL,
327
329 PM_TOKEN_KEYWORD_UNTIL_MODIFIER,
330
332 PM_TOKEN_KEYWORD_WHEN,
333
335 PM_TOKEN_KEYWORD_WHILE,
336
338 PM_TOKEN_KEYWORD_WHILE_MODIFIER,
339
341 PM_TOKEN_KEYWORD_YIELD,
342
344 PM_TOKEN_KEYWORD___ENCODING__,
345
347 PM_TOKEN_KEYWORD___FILE__,
348
350 PM_TOKEN_KEYWORD___LINE__,
351
353 PM_TOKEN_LABEL,
354
356 PM_TOKEN_LABEL_END,
357
359 PM_TOKEN_LAMBDA_BEGIN,
360
362 PM_TOKEN_LESS,
363
365 PM_TOKEN_LESS_EQUAL,
366
368 PM_TOKEN_LESS_EQUAL_GREATER,
369
371 PM_TOKEN_LESS_LESS,
372
374 PM_TOKEN_LESS_LESS_EQUAL,
375
377 PM_TOKEN_METHOD_NAME,
378
380 PM_TOKEN_MINUS,
381
383 PM_TOKEN_MINUS_EQUAL,
384
386 PM_TOKEN_MINUS_GREATER,
387
389 PM_TOKEN_NEWLINE,
390
392 PM_TOKEN_NUMBERED_REFERENCE,
393
395 PM_TOKEN_PARENTHESIS_LEFT,
396
398 PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES,
399
401 PM_TOKEN_PARENTHESIS_RIGHT,
402
404 PM_TOKEN_PERCENT,
405
407 PM_TOKEN_PERCENT_EQUAL,
408
410 PM_TOKEN_PERCENT_LOWER_I,
411
413 PM_TOKEN_PERCENT_LOWER_W,
414
416 PM_TOKEN_PERCENT_LOWER_X,
417
419 PM_TOKEN_PERCENT_UPPER_I,
420
422 PM_TOKEN_PERCENT_UPPER_W,
423
425 PM_TOKEN_PIPE,
426
428 PM_TOKEN_PIPE_EQUAL,
429
431 PM_TOKEN_PIPE_PIPE,
432
434 PM_TOKEN_PIPE_PIPE_EQUAL,
435
437 PM_TOKEN_PLUS,
438
440 PM_TOKEN_PLUS_EQUAL,
441
443 PM_TOKEN_QUESTION_MARK,
444
446 PM_TOKEN_REGEXP_BEGIN,
447
449 PM_TOKEN_REGEXP_END,
450
452 PM_TOKEN_SEMICOLON,
453
455 PM_TOKEN_SLASH,
456
458 PM_TOKEN_SLASH_EQUAL,
459
461 PM_TOKEN_STAR,
462
464 PM_TOKEN_STAR_EQUAL,
465
467 PM_TOKEN_STAR_STAR,
468
470 PM_TOKEN_STAR_STAR_EQUAL,
471
473 PM_TOKEN_STRING_BEGIN,
474
476 PM_TOKEN_STRING_CONTENT,
477
479 PM_TOKEN_STRING_END,
480
482 PM_TOKEN_SYMBOL_BEGIN,
483
485 PM_TOKEN_TILDE,
486
488 PM_TOKEN_UAMPERSAND,
489
491 PM_TOKEN_UCOLON_COLON,
492
494 PM_TOKEN_UDOT_DOT,
495
497 PM_TOKEN_UDOT_DOT_DOT,
498
500 PM_TOKEN_UMINUS,
501
503 PM_TOKEN_UMINUS_NUM,
504
506 PM_TOKEN_UPLUS,
507
509 PM_TOKEN_USTAR,
510
512 PM_TOKEN_USTAR_STAR,
513
515 PM_TOKEN_WORDS_SEP,
516
518 PM_TOKEN___END__,
519
521 PM_TOKEN_MAXIMUM,
522} pm_token_type_t;
523
528 typedef struct {
530 pm_token_type_t type;
531
533 const uint8_t *start;
534
536 const uint8_t *end;
537} pm_token_t;
538
543 typedef struct {
545 const uint8_t *start;
546
548 const uint8_t *end;
549} pm_location_t;
550
551struct pm_node;
552
556 typedef struct pm_node_list {
558 size_t size;
559
561 size_t capacity;
562
564 struct pm_node **nodes;
565} pm_node_list_t;
566
570 enum pm_node_type {
572 PM_ALIAS_GLOBAL_VARIABLE_NODE = 1,
573
575 PM_ALIAS_METHOD_NODE = 2,
576
578 PM_ALTERNATION_PATTERN_NODE = 3,
579
581 PM_AND_NODE = 4,
582
584 PM_ARGUMENTS_NODE = 5,
585
587 PM_ARRAY_NODE = 6,
588
590 PM_ARRAY_PATTERN_NODE = 7,
591
593 PM_ASSOC_NODE = 8,
594
596 PM_ASSOC_SPLAT_NODE = 9,
597
599 PM_BACK_REFERENCE_READ_NODE = 10,
600
602 PM_BEGIN_NODE = 11,
603
605 PM_BLOCK_ARGUMENT_NODE = 12,
606
608 PM_BLOCK_LOCAL_VARIABLE_NODE = 13,
609
611 PM_BLOCK_NODE = 14,
612
614 PM_BLOCK_PARAMETER_NODE = 15,
615
617 PM_BLOCK_PARAMETERS_NODE = 16,
618
620 PM_BREAK_NODE = 17,
621
623 PM_CALL_AND_WRITE_NODE = 18,
624
626 PM_CALL_NODE = 19,
627
629 PM_CALL_OPERATOR_WRITE_NODE = 20,
630
632 PM_CALL_OR_WRITE_NODE = 21,
633
635 PM_CALL_TARGET_NODE = 22,
636
638 PM_CAPTURE_PATTERN_NODE = 23,
639
641 PM_CASE_MATCH_NODE = 24,
642
644 PM_CASE_NODE = 25,
645
647 PM_CLASS_NODE = 26,
648
650 PM_CLASS_VARIABLE_AND_WRITE_NODE = 27,
651
653 PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE = 28,
654
656 PM_CLASS_VARIABLE_OR_WRITE_NODE = 29,
657
659 PM_CLASS_VARIABLE_READ_NODE = 30,
660
662 PM_CLASS_VARIABLE_TARGET_NODE = 31,
663
665 PM_CLASS_VARIABLE_WRITE_NODE = 32,
666
668 PM_CONSTANT_AND_WRITE_NODE = 33,
669
671 PM_CONSTANT_OPERATOR_WRITE_NODE = 34,
672
674 PM_CONSTANT_OR_WRITE_NODE = 35,
675
677 PM_CONSTANT_PATH_AND_WRITE_NODE = 36,
678
680 PM_CONSTANT_PATH_NODE = 37,
681
683 PM_CONSTANT_PATH_OPERATOR_WRITE_NODE = 38,
684
686 PM_CONSTANT_PATH_OR_WRITE_NODE = 39,
687
689 PM_CONSTANT_PATH_TARGET_NODE = 40,
690
692 PM_CONSTANT_PATH_WRITE_NODE = 41,
693
695 PM_CONSTANT_READ_NODE = 42,
696
698 PM_CONSTANT_TARGET_NODE = 43,
699
701 PM_CONSTANT_WRITE_NODE = 44,
702
704 PM_DEF_NODE = 45,
705
707 PM_DEFINED_NODE = 46,
708
710 PM_ELSE_NODE = 47,
711
713 PM_EMBEDDED_STATEMENTS_NODE = 48,
714
716 PM_EMBEDDED_VARIABLE_NODE = 49,
717
719 PM_ENSURE_NODE = 50,
720
722 PM_FALSE_NODE = 51,
723
725 PM_FIND_PATTERN_NODE = 52,
726
728 PM_FLIP_FLOP_NODE = 53,
729
731 PM_FLOAT_NODE = 54,
732
734 PM_FOR_NODE = 55,
735
737 PM_FORWARDING_ARGUMENTS_NODE = 56,
738
740 PM_FORWARDING_PARAMETER_NODE = 57,
741
743 PM_FORWARDING_SUPER_NODE = 58,
744
746 PM_GLOBAL_VARIABLE_AND_WRITE_NODE = 59,
747
749 PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE = 60,
750
752 PM_GLOBAL_VARIABLE_OR_WRITE_NODE = 61,
753
755 PM_GLOBAL_VARIABLE_READ_NODE = 62,
756
758 PM_GLOBAL_VARIABLE_TARGET_NODE = 63,
759
761 PM_GLOBAL_VARIABLE_WRITE_NODE = 64,
762
764 PM_HASH_NODE = 65,
765
767 PM_HASH_PATTERN_NODE = 66,
768
770 PM_IF_NODE = 67,
771
773 PM_IMAGINARY_NODE = 68,
774
776 PM_IMPLICIT_NODE = 69,
777
779 PM_IMPLICIT_REST_NODE = 70,
780
782 PM_IN_NODE = 71,
783
785 PM_INDEX_AND_WRITE_NODE = 72,
786
788 PM_INDEX_OPERATOR_WRITE_NODE = 73,
789
791 PM_INDEX_OR_WRITE_NODE = 74,
792
794 PM_INDEX_TARGET_NODE = 75,
795
797 PM_INSTANCE_VARIABLE_AND_WRITE_NODE = 76,
798
800 PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE = 77,
801
803 PM_INSTANCE_VARIABLE_OR_WRITE_NODE = 78,
804
806 PM_INSTANCE_VARIABLE_READ_NODE = 79,
807
809 PM_INSTANCE_VARIABLE_TARGET_NODE = 80,
810
812 PM_INSTANCE_VARIABLE_WRITE_NODE = 81,
813
815 PM_INTEGER_NODE = 82,
816
818 PM_INTERPOLATED_MATCH_LAST_LINE_NODE = 83,
819
821 PM_INTERPOLATED_REGULAR_EXPRESSION_NODE = 84,
822
824 PM_INTERPOLATED_STRING_NODE = 85,
825
827 PM_INTERPOLATED_SYMBOL_NODE = 86,
828
830 PM_INTERPOLATED_X_STRING_NODE = 87,
831
833 PM_KEYWORD_HASH_NODE = 88,
834
836 PM_KEYWORD_REST_PARAMETER_NODE = 89,
837
839 PM_LAMBDA_NODE = 90,
840
842 PM_LOCAL_VARIABLE_AND_WRITE_NODE = 91,
843
845 PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE = 92,
846
848 PM_LOCAL_VARIABLE_OR_WRITE_NODE = 93,
849
851 PM_LOCAL_VARIABLE_READ_NODE = 94,
852
854 PM_LOCAL_VARIABLE_TARGET_NODE = 95,
855
857 PM_LOCAL_VARIABLE_WRITE_NODE = 96,
858
860 PM_MATCH_LAST_LINE_NODE = 97,
861
863 PM_MATCH_PREDICATE_NODE = 98,
864
866 PM_MATCH_REQUIRED_NODE = 99,
867
869 PM_MATCH_WRITE_NODE = 100,
870
872 PM_MISSING_NODE = 101,
873
875 PM_MODULE_NODE = 102,
876
878 PM_MULTI_TARGET_NODE = 103,
879
881 PM_MULTI_WRITE_NODE = 104,
882
884 PM_NEXT_NODE = 105,
885
887 PM_NIL_NODE = 106,
888
890 PM_NO_KEYWORDS_PARAMETER_NODE = 107,
891
893 PM_NUMBERED_PARAMETERS_NODE = 108,
894
896 PM_NUMBERED_REFERENCE_READ_NODE = 109,
897
899 PM_OPTIONAL_KEYWORD_PARAMETER_NODE = 110,
900
902 PM_OPTIONAL_PARAMETER_NODE = 111,
903
905 PM_OR_NODE = 112,
906
908 PM_PARAMETERS_NODE = 113,
909
911 PM_PARENTHESES_NODE = 114,
912
914 PM_PINNED_EXPRESSION_NODE = 115,
915
917 PM_PINNED_VARIABLE_NODE = 116,
918
920 PM_POST_EXECUTION_NODE = 117,
921
923 PM_PRE_EXECUTION_NODE = 118,
924
926 PM_PROGRAM_NODE = 119,
927
929 PM_RANGE_NODE = 120,
930
932 PM_RATIONAL_NODE = 121,
933
935 PM_REDO_NODE = 122,
936
938 PM_REGULAR_EXPRESSION_NODE = 123,
939
941 PM_REQUIRED_KEYWORD_PARAMETER_NODE = 124,
942
944 PM_REQUIRED_PARAMETER_NODE = 125,
945
947 PM_RESCUE_MODIFIER_NODE = 126,
948
950 PM_RESCUE_NODE = 127,
951
953 PM_REST_PARAMETER_NODE = 128,
954
956 PM_RETRY_NODE = 129,
957
959 PM_RETURN_NODE = 130,
960
962 PM_SELF_NODE = 131,
963
965 PM_SINGLETON_CLASS_NODE = 132,
966
968 PM_SOURCE_ENCODING_NODE = 133,
969
971 PM_SOURCE_FILE_NODE = 134,
972
974 PM_SOURCE_LINE_NODE = 135,
975
977 PM_SPLAT_NODE = 136,
978
980 PM_STATEMENTS_NODE = 137,
981
983 PM_STRING_NODE = 138,
984
986 PM_SUPER_NODE = 139,
987
989 PM_SYMBOL_NODE = 140,
990
992 PM_TRUE_NODE = 141,
993
995 PM_UNDEF_NODE = 142,
996
998 PM_UNLESS_NODE = 143,
999
1001 PM_UNTIL_NODE = 144,
1002
1004 PM_WHEN_NODE = 145,
1005
1007 PM_WHILE_NODE = 146,
1008
1010 PM_X_STRING_NODE = 147,
1011
1013 PM_YIELD_NODE = 148,
1014
1016 PM_SCOPE_NODE
1017};
1018
1023 typedef uint16_t pm_node_type_t;
1024
1029 typedef uint16_t pm_node_flags_t;
1030
1035#define PM_NODE_FLAG_BITS (sizeof(pm_node_flags_t) * 8)
1036
1037static const pm_node_flags_t PM_NODE_FLAG_NEWLINE = (1 << (PM_NODE_FLAG_BITS - 1));
1038static const pm_node_flags_t PM_NODE_FLAG_STATIC_LITERAL = (1 << (PM_NODE_FLAG_BITS - 2));
1039static const pm_node_flags_t PM_NODE_FLAG_COMMON_MASK = (1 << (PM_NODE_FLAG_BITS - 1)) | (1 << (PM_NODE_FLAG_BITS - 2));
1040
1045#define PM_NODE_TYPE(node) ((enum pm_node_type) node->type)
1046
1050#define PM_NODE_TYPE_P(node, type) (PM_NODE_TYPE(node) == (type))
1051
1055#define PM_NODE_FLAG_P(node, flag) ((((pm_node_t *)(node))->flags & (flag)) != 0)
1056
1061 typedef struct pm_node {
1066 pm_node_type_t type;
1067
1072 pm_node_flags_t flags;
1073
1078 pm_location_t location;
1079} pm_node_t;
1080
1088 typedef struct pm_alias_global_variable_node {
1090 pm_node_t base;
1091
1093 struct pm_node *new_name;
1094
1096 struct pm_node *old_name;
1097
1099 pm_location_t keyword_loc;
1100} pm_alias_global_variable_node_t;
1101
1109 typedef struct pm_alias_method_node {
1111 pm_node_t base;
1112
1114 struct pm_node *new_name;
1115
1117 struct pm_node *old_name;
1118
1120 pm_location_t keyword_loc;
1121} pm_alias_method_node_t;
1122
1130 typedef struct pm_alternation_pattern_node {
1132 pm_node_t base;
1133
1135 struct pm_node *left;
1136
1138 struct pm_node *right;
1139
1141 pm_location_t operator_loc;
1142} pm_alternation_pattern_node_t;
1143
1151 typedef struct pm_and_node {
1153 pm_node_t base;
1154
1156 struct pm_node *left;
1157
1159 struct pm_node *right;
1160
1162 pm_location_t operator_loc;
1163} pm_and_node_t;
1164
1174 typedef struct pm_arguments_node {
1176 pm_node_t base;
1177
1179 struct pm_node_list arguments;
1180} pm_arguments_node_t;
1181
1191 typedef struct pm_array_node {
1193 pm_node_t base;
1194
1196 struct pm_node_list elements;
1197
1199 pm_location_t opening_loc;
1200
1202 pm_location_t closing_loc;
1203} pm_array_node_t;
1204
1212 typedef struct pm_array_pattern_node {
1214 pm_node_t base;
1215
1217 struct pm_node *constant;
1218
1220 struct pm_node_list requireds;
1221
1223 struct pm_node *rest;
1224
1226 struct pm_node_list posts;
1227
1229 pm_location_t opening_loc;
1230
1232 pm_location_t closing_loc;
1233} pm_array_pattern_node_t;
1234
1242 typedef struct pm_assoc_node {
1244 pm_node_t base;
1245
1247 struct pm_node *key;
1248
1250 struct pm_node *value;
1251
1253 pm_location_t operator_loc;
1254} pm_assoc_node_t;
1255
1263 typedef struct pm_assoc_splat_node {
1265 pm_node_t base;
1266
1268 struct pm_node *value;
1269
1271 pm_location_t operator_loc;
1272} pm_assoc_splat_node_t;
1273
1281 typedef struct pm_back_reference_read_node {
1283 pm_node_t base;
1284
1286 pm_constant_id_t name;
1287} pm_back_reference_read_node_t;
1288
1296 typedef struct pm_begin_node {
1298 pm_node_t base;
1299
1301 pm_location_t begin_keyword_loc;
1302
1304 struct pm_statements_node *statements;
1305
1307 struct pm_rescue_node *rescue_clause;
1308
1310 struct pm_else_node *else_clause;
1311
1313 struct pm_ensure_node *ensure_clause;
1314
1316 pm_location_t end_keyword_loc;
1317} pm_begin_node_t;
1318
1326 typedef struct pm_block_argument_node {
1328 pm_node_t base;
1329
1331 struct pm_node *expression;
1332
1334 pm_location_t operator_loc;
1335} pm_block_argument_node_t;
1336
1344 typedef struct pm_block_local_variable_node {
1346 pm_node_t base;
1347
1349 pm_constant_id_t name;
1350} pm_block_local_variable_node_t;
1351
1359 typedef struct pm_block_node {
1361 pm_node_t base;
1362
1364 pm_constant_id_list_t locals;
1365
1367 uint32_t locals_body_index;
1368
1370 struct pm_node *parameters;
1371
1373 struct pm_node *body;
1374
1376 pm_location_t opening_loc;
1377
1379 pm_location_t closing_loc;
1380} pm_block_node_t;
1381
1389 typedef struct pm_block_parameter_node {
1391 pm_node_t base;
1392
1394 pm_constant_id_t name;
1395
1397 pm_location_t name_loc;
1398
1400 pm_location_t operator_loc;
1401} pm_block_parameter_node_t;
1402
1410 typedef struct pm_block_parameters_node {
1412 pm_node_t base;
1413
1415 struct pm_parameters_node *parameters;
1416
1418 struct pm_node_list locals;
1419
1421 pm_location_t opening_loc;
1422
1424 pm_location_t closing_loc;
1425} pm_block_parameters_node_t;
1426
1434 typedef struct pm_break_node {
1436 pm_node_t base;
1437
1439 struct pm_arguments_node *arguments;
1440
1442 pm_location_t keyword_loc;
1443} pm_break_node_t;
1444
1456 typedef struct pm_call_and_write_node {
1458 pm_node_t base;
1459
1461 struct pm_node *receiver;
1462
1464 pm_location_t call_operator_loc;
1465
1467 pm_location_t message_loc;
1468
1470 pm_constant_id_t read_name;
1471
1473 pm_constant_id_t write_name;
1474
1476 pm_location_t operator_loc;
1477
1479 struct pm_node *value;
1480} pm_call_and_write_node_t;
1481
1493 typedef struct pm_call_node {
1495 pm_node_t base;
1496
1498 struct pm_node *receiver;
1499
1501 pm_location_t call_operator_loc;
1502
1504 pm_constant_id_t name;
1505
1507 pm_location_t message_loc;
1508
1510 pm_location_t opening_loc;
1511
1513 struct pm_arguments_node *arguments;
1514
1516 pm_location_t closing_loc;
1517
1519 struct pm_node *block;
1520} pm_call_node_t;
1521
1533 typedef struct pm_call_operator_write_node {
1535 pm_node_t base;
1536
1538 struct pm_node *receiver;
1539
1541 pm_location_t call_operator_loc;
1542
1544 pm_location_t message_loc;
1545
1547 pm_constant_id_t read_name;
1548
1550 pm_constant_id_t write_name;
1551
1553 pm_constant_id_t operator;
1554
1556 pm_location_t operator_loc;
1557
1559 struct pm_node *value;
1560} pm_call_operator_write_node_t;
1561
1573 typedef struct pm_call_or_write_node {
1575 pm_node_t base;
1576
1578 struct pm_node *receiver;
1579
1581 pm_location_t call_operator_loc;
1582
1584 pm_location_t message_loc;
1585
1587 pm_constant_id_t read_name;
1588
1590 pm_constant_id_t write_name;
1591
1593 pm_location_t operator_loc;
1594
1596 struct pm_node *value;
1597} pm_call_or_write_node_t;
1598
1610 typedef struct pm_call_target_node {
1612 pm_node_t base;
1613
1615 struct pm_node *receiver;
1616
1618 pm_location_t call_operator_loc;
1619
1621 pm_constant_id_t name;
1622
1624 pm_location_t message_loc;
1625} pm_call_target_node_t;
1626
1634 typedef struct pm_capture_pattern_node {
1636 pm_node_t base;
1637
1639 struct pm_node *value;
1640
1642 struct pm_node *target;
1643
1645 pm_location_t operator_loc;
1646} pm_capture_pattern_node_t;
1647
1655 typedef struct pm_case_match_node {
1657 pm_node_t base;
1658
1660 struct pm_node *predicate;
1661
1663 struct pm_node_list conditions;
1664
1666 struct pm_else_node *consequent;
1667
1669 pm_location_t case_keyword_loc;
1670
1672 pm_location_t end_keyword_loc;
1673} pm_case_match_node_t;
1674
1682 typedef struct pm_case_node {
1684 pm_node_t base;
1685
1687 struct pm_node *predicate;
1688
1690 struct pm_node_list conditions;
1691
1693 struct pm_else_node *consequent;
1694
1696 pm_location_t case_keyword_loc;
1697
1699 pm_location_t end_keyword_loc;
1700} pm_case_node_t;
1701
1709 typedef struct pm_class_node {
1711 pm_node_t base;
1712
1714 pm_constant_id_list_t locals;
1715
1717 pm_location_t class_keyword_loc;
1718
1720 struct pm_node *constant_path;
1721
1723 pm_location_t inheritance_operator_loc;
1724
1726 struct pm_node *superclass;
1727
1729 struct pm_node *body;
1730
1732 pm_location_t end_keyword_loc;
1733
1735 pm_constant_id_t name;
1736} pm_class_node_t;
1737
1745 typedef struct pm_class_variable_and_write_node {
1747 pm_node_t base;
1748
1750 pm_constant_id_t name;
1751
1753 pm_location_t name_loc;
1754
1756 pm_location_t operator_loc;
1757
1759 struct pm_node *value;
1760} pm_class_variable_and_write_node_t;
1761
1769 typedef struct pm_class_variable_operator_write_node {
1771 pm_node_t base;
1772
1774 pm_constant_id_t name;
1775
1777 pm_location_t name_loc;
1778
1780 pm_location_t operator_loc;
1781
1783 struct pm_node *value;
1784
1786 pm_constant_id_t operator;
1787} pm_class_variable_operator_write_node_t;
1788
1796 typedef struct pm_class_variable_or_write_node {
1798 pm_node_t base;
1799
1801 pm_constant_id_t name;
1802
1804 pm_location_t name_loc;
1805
1807 pm_location_t operator_loc;
1808
1810 struct pm_node *value;
1811} pm_class_variable_or_write_node_t;
1812
1820 typedef struct pm_class_variable_read_node {
1822 pm_node_t base;
1823
1825 pm_constant_id_t name;
1826} pm_class_variable_read_node_t;
1827
1835 typedef struct pm_class_variable_target_node {
1837 pm_node_t base;
1838
1840 pm_constant_id_t name;
1841} pm_class_variable_target_node_t;
1842
1850 typedef struct pm_class_variable_write_node {
1852 pm_node_t base;
1853
1855 pm_constant_id_t name;
1856
1858 pm_location_t name_loc;
1859
1861 struct pm_node *value;
1862
1864 pm_location_t operator_loc;
1865} pm_class_variable_write_node_t;
1866
1874 typedef struct pm_constant_and_write_node {
1876 pm_node_t base;
1877
1879 pm_constant_id_t name;
1880
1882 pm_location_t name_loc;
1883
1885 pm_location_t operator_loc;
1886
1888 struct pm_node *value;
1889} pm_constant_and_write_node_t;
1890
1898 typedef struct pm_constant_operator_write_node {
1900 pm_node_t base;
1901
1903 pm_constant_id_t name;
1904
1906 pm_location_t name_loc;
1907
1909 pm_location_t operator_loc;
1910
1912 struct pm_node *value;
1913
1915 pm_constant_id_t operator;
1916} pm_constant_operator_write_node_t;
1917
1925 typedef struct pm_constant_or_write_node {
1927 pm_node_t base;
1928
1930 pm_constant_id_t name;
1931
1933 pm_location_t name_loc;
1934
1936 pm_location_t operator_loc;
1937
1939 struct pm_node *value;
1940} pm_constant_or_write_node_t;
1941
1949 typedef struct pm_constant_path_and_write_node {
1951 pm_node_t base;
1952
1954 struct pm_constant_path_node *target;
1955
1957 pm_location_t operator_loc;
1958
1960 struct pm_node *value;
1961} pm_constant_path_and_write_node_t;
1962
1970 typedef struct pm_constant_path_node {
1972 pm_node_t base;
1973
1975 struct pm_node *parent;
1976
1978 struct pm_node *child;
1979
1981 pm_location_t delimiter_loc;
1982} pm_constant_path_node_t;
1983
1991 typedef struct pm_constant_path_operator_write_node {
1993 pm_node_t base;
1994
1996 struct pm_constant_path_node *target;
1997
1999 pm_location_t operator_loc;
2000
2002 struct pm_node *value;
2003
2005 pm_constant_id_t operator;
2006} pm_constant_path_operator_write_node_t;
2007
2015 typedef struct pm_constant_path_or_write_node {
2017 pm_node_t base;
2018
2020 struct pm_constant_path_node *target;
2021
2023 pm_location_t operator_loc;
2024
2026 struct pm_node *value;
2027} pm_constant_path_or_write_node_t;
2028
2036 typedef struct pm_constant_path_target_node {
2038 pm_node_t base;
2039
2041 struct pm_node *parent;
2042
2044 struct pm_node *child;
2045
2047 pm_location_t delimiter_loc;
2048} pm_constant_path_target_node_t;
2049
2057 typedef struct pm_constant_path_write_node {
2059 pm_node_t base;
2060
2062 struct pm_constant_path_node *target;
2063
2065 pm_location_t operator_loc;
2066
2068 struct pm_node *value;
2069} pm_constant_path_write_node_t;
2070
2078 typedef struct pm_constant_read_node {
2080 pm_node_t base;
2081
2083 pm_constant_id_t name;
2084} pm_constant_read_node_t;
2085
2093 typedef struct pm_constant_target_node {
2095 pm_node_t base;
2096
2098 pm_constant_id_t name;
2099} pm_constant_target_node_t;
2100
2108 typedef struct pm_constant_write_node {
2110 pm_node_t base;
2111
2113 pm_constant_id_t name;
2114
2116 pm_location_t name_loc;
2117
2119 struct pm_node *value;
2120
2122 pm_location_t operator_loc;
2123} pm_constant_write_node_t;
2124
2132 typedef struct pm_def_node {
2134 pm_node_t base;
2135
2137 pm_constant_id_t name;
2138
2140 pm_location_t name_loc;
2141
2143 struct pm_node *receiver;
2144
2146 struct pm_parameters_node *parameters;
2147
2149 struct pm_node *body;
2150
2152 pm_constant_id_list_t locals;
2153
2155 uint32_t locals_body_index;
2156
2158 pm_location_t def_keyword_loc;
2159
2161 pm_location_t operator_loc;
2162
2164 pm_location_t lparen_loc;
2165
2167 pm_location_t rparen_loc;
2168
2170 pm_location_t equal_loc;
2171
2173 pm_location_t end_keyword_loc;
2174} pm_def_node_t;
2175
2183 typedef struct pm_defined_node {
2185 pm_node_t base;
2186
2188 pm_location_t lparen_loc;
2189
2191 struct pm_node *value;
2192
2194 pm_location_t rparen_loc;
2195
2197 pm_location_t keyword_loc;
2198} pm_defined_node_t;
2199
2207 typedef struct pm_else_node {
2209 pm_node_t base;
2210
2212 pm_location_t else_keyword_loc;
2213
2215 struct pm_statements_node *statements;
2216
2218 pm_location_t end_keyword_loc;
2219} pm_else_node_t;
2220
2228 typedef struct pm_embedded_statements_node {
2230 pm_node_t base;
2231
2233 pm_location_t opening_loc;
2234
2236 struct pm_statements_node *statements;
2237
2239 pm_location_t closing_loc;
2240} pm_embedded_statements_node_t;
2241
2249 typedef struct pm_embedded_variable_node {
2251 pm_node_t base;
2252
2254 pm_location_t operator_loc;
2255
2257 struct pm_node *variable;
2258} pm_embedded_variable_node_t;
2259
2267 typedef struct pm_ensure_node {
2269 pm_node_t base;
2270
2272 pm_location_t ensure_keyword_loc;
2273
2275 struct pm_statements_node *statements;
2276
2278 pm_location_t end_keyword_loc;
2279} pm_ensure_node_t;
2280
2288 typedef struct pm_false_node {
2290 pm_node_t base;
2291} pm_false_node_t;
2292
2300 typedef struct pm_find_pattern_node {
2302 pm_node_t base;
2303
2305 struct pm_node *constant;
2306
2308 struct pm_node *left;
2309
2311 struct pm_node_list requireds;
2312
2314 struct pm_node *right;
2315
2317 pm_location_t opening_loc;
2318
2320 pm_location_t closing_loc;
2321} pm_find_pattern_node_t;
2322
2332 typedef struct pm_flip_flop_node {
2334 pm_node_t base;
2335
2337 struct pm_node *left;
2338
2340 struct pm_node *right;
2341
2343 pm_location_t operator_loc;
2344} pm_flip_flop_node_t;
2345
2353 typedef struct pm_float_node {
2355 pm_node_t base;
2356} pm_float_node_t;
2357
2365 typedef struct pm_for_node {
2367 pm_node_t base;
2368
2370 struct pm_node *index;
2371
2373 struct pm_node *collection;
2374
2376 struct pm_statements_node *statements;
2377
2379 pm_location_t for_keyword_loc;
2380
2382 pm_location_t in_keyword_loc;
2383
2385 pm_location_t do_keyword_loc;
2386
2388 pm_location_t end_keyword_loc;
2389} pm_for_node_t;
2390
2398 typedef struct pm_forwarding_arguments_node {
2400 pm_node_t base;
2401} pm_forwarding_arguments_node_t;
2402
2410 typedef struct pm_forwarding_parameter_node {
2412 pm_node_t base;
2413} pm_forwarding_parameter_node_t;
2414
2422 typedef struct pm_forwarding_super_node {
2424 pm_node_t base;
2425
2427 struct pm_block_node *block;
2428} pm_forwarding_super_node_t;
2429
2437 typedef struct pm_global_variable_and_write_node {
2439 pm_node_t base;
2440
2442 pm_constant_id_t name;
2443
2445 pm_location_t name_loc;
2446
2448 pm_location_t operator_loc;
2449
2451 struct pm_node *value;
2452} pm_global_variable_and_write_node_t;
2453
2461 typedef struct pm_global_variable_operator_write_node {
2463 pm_node_t base;
2464
2466 pm_constant_id_t name;
2467
2469 pm_location_t name_loc;
2470
2472 pm_location_t operator_loc;
2473
2475 struct pm_node *value;
2476
2478 pm_constant_id_t operator;
2479} pm_global_variable_operator_write_node_t;
2480
2488 typedef struct pm_global_variable_or_write_node {
2490 pm_node_t base;
2491
2493 pm_constant_id_t name;
2494
2496 pm_location_t name_loc;
2497
2499 pm_location_t operator_loc;
2500
2502 struct pm_node *value;
2503} pm_global_variable_or_write_node_t;
2504
2512 typedef struct pm_global_variable_read_node {
2514 pm_node_t base;
2515
2517 pm_constant_id_t name;
2518} pm_global_variable_read_node_t;
2519
2527 typedef struct pm_global_variable_target_node {
2529 pm_node_t base;
2530
2532 pm_constant_id_t name;
2533} pm_global_variable_target_node_t;
2534
2542 typedef struct pm_global_variable_write_node {
2544 pm_node_t base;
2545
2547 pm_constant_id_t name;
2548
2550 pm_location_t name_loc;
2551
2553 struct pm_node *value;
2554
2556 pm_location_t operator_loc;
2557} pm_global_variable_write_node_t;
2558
2566 typedef struct pm_hash_node {
2568 pm_node_t base;
2569
2571 pm_location_t opening_loc;
2572
2574 struct pm_node_list elements;
2575
2577 pm_location_t closing_loc;
2578} pm_hash_node_t;
2579
2587 typedef struct pm_hash_pattern_node {
2589 pm_node_t base;
2590
2592 struct pm_node *constant;
2593
2595 struct pm_node_list elements;
2596
2598 struct pm_node *rest;
2599
2601 pm_location_t opening_loc;
2602
2604 pm_location_t closing_loc;
2605} pm_hash_pattern_node_t;
2606
2614 typedef struct pm_if_node {
2616 pm_node_t base;
2617
2619 pm_location_t if_keyword_loc;
2620
2622 struct pm_node *predicate;
2623
2625 pm_location_t then_keyword_loc;
2626
2628 struct pm_statements_node *statements;
2629
2631 struct pm_node *consequent;
2632
2634 pm_location_t end_keyword_loc;
2635} pm_if_node_t;
2636
2644 typedef struct pm_imaginary_node {
2646 pm_node_t base;
2647
2649 struct pm_node *numeric;
2650} pm_imaginary_node_t;
2651
2659 typedef struct pm_implicit_node {
2661 pm_node_t base;
2662
2664 struct pm_node *value;
2665} pm_implicit_node_t;
2666
2674 typedef struct pm_implicit_rest_node {
2676 pm_node_t base;
2677} pm_implicit_rest_node_t;
2678
2686 typedef struct pm_in_node {
2688 pm_node_t base;
2689
2691 struct pm_node *pattern;
2692
2694 struct pm_statements_node *statements;
2695
2697 pm_location_t in_loc;
2698
2700 pm_location_t then_loc;
2701} pm_in_node_t;
2702
2714 typedef struct pm_index_and_write_node {
2716 pm_node_t base;
2717
2719 struct pm_node *receiver;
2720
2722 pm_location_t call_operator_loc;
2723
2725 pm_location_t opening_loc;
2726
2728 struct pm_arguments_node *arguments;
2729
2731 pm_location_t closing_loc;
2732
2734 struct pm_node *block;
2735
2737 pm_location_t operator_loc;
2738
2740 struct pm_node *value;
2741} pm_index_and_write_node_t;
2742
2754 typedef struct pm_index_operator_write_node {
2756 pm_node_t base;
2757
2759 struct pm_node *receiver;
2760
2762 pm_location_t call_operator_loc;
2763
2765 pm_location_t opening_loc;
2766
2768 struct pm_arguments_node *arguments;
2769
2771 pm_location_t closing_loc;
2772
2774 struct pm_node *block;
2775
2777 pm_constant_id_t operator;
2778
2780 pm_location_t operator_loc;
2781
2783 struct pm_node *value;
2784} pm_index_operator_write_node_t;
2785
2797 typedef struct pm_index_or_write_node {
2799 pm_node_t base;
2800
2802 struct pm_node *receiver;
2803
2805 pm_location_t call_operator_loc;
2806
2808 pm_location_t opening_loc;
2809
2811 struct pm_arguments_node *arguments;
2812
2814 pm_location_t closing_loc;
2815
2817 struct pm_node *block;
2818
2820 pm_location_t operator_loc;
2821
2823 struct pm_node *value;
2824} pm_index_or_write_node_t;
2825
2837 typedef struct pm_index_target_node {
2839 pm_node_t base;
2840
2842 struct pm_node *receiver;
2843
2845 pm_location_t opening_loc;
2846
2848 struct pm_arguments_node *arguments;
2849
2851 pm_location_t closing_loc;
2852
2854 struct pm_node *block;
2855} pm_index_target_node_t;
2856
2864 typedef struct pm_instance_variable_and_write_node {
2866 pm_node_t base;
2867
2869 pm_constant_id_t name;
2870
2872 pm_location_t name_loc;
2873
2875 pm_location_t operator_loc;
2876
2878 struct pm_node *value;
2879} pm_instance_variable_and_write_node_t;
2880
2888 typedef struct pm_instance_variable_operator_write_node {
2890 pm_node_t base;
2891
2893 pm_constant_id_t name;
2894
2896 pm_location_t name_loc;
2897
2899 pm_location_t operator_loc;
2900
2902 struct pm_node *value;
2903
2905 pm_constant_id_t operator;
2906} pm_instance_variable_operator_write_node_t;
2907
2915 typedef struct pm_instance_variable_or_write_node {
2917 pm_node_t base;
2918
2920 pm_constant_id_t name;
2921
2923 pm_location_t name_loc;
2924
2926 pm_location_t operator_loc;
2927
2929 struct pm_node *value;
2930} pm_instance_variable_or_write_node_t;
2931
2939 typedef struct pm_instance_variable_read_node {
2941 pm_node_t base;
2942
2944 pm_constant_id_t name;
2945} pm_instance_variable_read_node_t;
2946
2954 typedef struct pm_instance_variable_target_node {
2956 pm_node_t base;
2957
2959 pm_constant_id_t name;
2960} pm_instance_variable_target_node_t;
2961
2969 typedef struct pm_instance_variable_write_node {
2971 pm_node_t base;
2972
2974 pm_constant_id_t name;
2975
2977 pm_location_t name_loc;
2978
2980 struct pm_node *value;
2981
2983 pm_location_t operator_loc;
2984} pm_instance_variable_write_node_t;
2985
2998 typedef struct pm_integer_node {
3000 pm_node_t base;
3001} pm_integer_node_t;
3002
3022 typedef struct pm_interpolated_match_last_line_node {
3024 pm_node_t base;
3025
3027 pm_location_t opening_loc;
3028
3030 struct pm_node_list parts;
3031
3033 pm_location_t closing_loc;
3034} pm_interpolated_match_last_line_node_t;
3035
3055 typedef struct pm_interpolated_regular_expression_node {
3057 pm_node_t base;
3058
3060 pm_location_t opening_loc;
3061
3063 struct pm_node_list parts;
3064
3066 pm_location_t closing_loc;
3067} pm_interpolated_regular_expression_node_t;
3068
3076 typedef struct pm_interpolated_string_node {
3078 pm_node_t base;
3079
3081 pm_location_t opening_loc;
3082
3084 struct pm_node_list parts;
3085
3087 pm_location_t closing_loc;
3088} pm_interpolated_string_node_t;
3089
3097 typedef struct pm_interpolated_symbol_node {
3099 pm_node_t base;
3100
3102 pm_location_t opening_loc;
3103
3105 struct pm_node_list parts;
3106
3108 pm_location_t closing_loc;
3109} pm_interpolated_symbol_node_t;
3110
3118 typedef struct pm_interpolated_x_string_node {
3120 pm_node_t base;
3121
3123 pm_location_t opening_loc;
3124
3126 struct pm_node_list parts;
3127
3129 pm_location_t closing_loc;
3130} pm_interpolated_x_string_node_t;
3131
3141 typedef struct pm_keyword_hash_node {
3143 pm_node_t base;
3144
3146 struct pm_node_list elements;
3147} pm_keyword_hash_node_t;
3148
3156 typedef struct pm_keyword_rest_parameter_node {
3158 pm_node_t base;
3159
3161 pm_constant_id_t name;
3162
3164 pm_location_t name_loc;
3165
3167 pm_location_t operator_loc;
3168} pm_keyword_rest_parameter_node_t;
3169
3177 typedef struct pm_lambda_node {
3179 pm_node_t base;
3180
3182 pm_constant_id_list_t locals;
3183
3185 uint32_t locals_body_index;
3186
3188 pm_location_t operator_loc;
3189
3191 pm_location_t opening_loc;
3192
3194 pm_location_t closing_loc;
3195
3197 struct pm_node *parameters;
3198
3200 struct pm_node *body;
3201} pm_lambda_node_t;
3202
3210 typedef struct pm_local_variable_and_write_node {
3212 pm_node_t base;
3213
3215 pm_location_t name_loc;
3216
3218 pm_location_t operator_loc;
3219
3221 struct pm_node *value;
3222
3224 pm_constant_id_t name;
3225
3227 uint32_t depth;
3228} pm_local_variable_and_write_node_t;
3229
3237 typedef struct pm_local_variable_operator_write_node {
3239 pm_node_t base;
3240
3242 pm_location_t name_loc;
3243
3245 pm_location_t operator_loc;
3246
3248 struct pm_node *value;
3249
3251 pm_constant_id_t name;
3252
3254 pm_constant_id_t operator;
3255
3257 uint32_t depth;
3258} pm_local_variable_operator_write_node_t;
3259
3267 typedef struct pm_local_variable_or_write_node {
3269 pm_node_t base;
3270
3272 pm_location_t name_loc;
3273
3275 pm_location_t operator_loc;
3276
3278 struct pm_node *value;
3279
3281 pm_constant_id_t name;
3282
3284 uint32_t depth;
3285} pm_local_variable_or_write_node_t;
3286
3294 typedef struct pm_local_variable_read_node {
3296 pm_node_t base;
3297
3299 pm_constant_id_t name;
3300
3302 uint32_t depth;
3303} pm_local_variable_read_node_t;
3304
3312 typedef struct pm_local_variable_target_node {
3314 pm_node_t base;
3315
3317 pm_constant_id_t name;
3318
3320 uint32_t depth;
3321} pm_local_variable_target_node_t;
3322
3330 typedef struct pm_local_variable_write_node {
3332 pm_node_t base;
3333
3335 pm_constant_id_t name;
3336
3338 uint32_t depth;
3339
3341 pm_location_t name_loc;
3342
3344 struct pm_node *value;
3345
3347 pm_location_t operator_loc;
3348} pm_local_variable_write_node_t;
3349
3369 typedef struct pm_match_last_line_node {
3371 pm_node_t base;
3372
3374 pm_location_t opening_loc;
3375
3377 pm_location_t content_loc;
3378
3380 pm_location_t closing_loc;
3381
3383 pm_string_t unescaped;
3384} pm_match_last_line_node_t;
3385
3393 typedef struct pm_match_predicate_node {
3395 pm_node_t base;
3396
3398 struct pm_node *value;
3399
3401 struct pm_node *pattern;
3402
3404 pm_location_t operator_loc;
3405} pm_match_predicate_node_t;
3406
3414 typedef struct pm_match_required_node {
3416 pm_node_t base;
3417
3419 struct pm_node *value;
3420
3422 struct pm_node *pattern;
3423
3425 pm_location_t operator_loc;
3426} pm_match_required_node_t;
3427
3435 typedef struct pm_match_write_node {
3437 pm_node_t base;
3438
3440 struct pm_call_node *call;
3441
3443 struct pm_node_list targets;
3444} pm_match_write_node_t;
3445
3453 typedef struct pm_missing_node {
3455 pm_node_t base;
3456} pm_missing_node_t;
3457
3465 typedef struct pm_module_node {
3467 pm_node_t base;
3468
3470 pm_constant_id_list_t locals;
3471
3473 pm_location_t module_keyword_loc;
3474
3476 struct pm_node *constant_path;
3477
3479 struct pm_node *body;
3480
3482 pm_location_t end_keyword_loc;
3483
3485 pm_constant_id_t name;
3486} pm_module_node_t;
3487
3495 typedef struct pm_multi_target_node {
3497 pm_node_t base;
3498
3500 struct pm_node_list lefts;
3501
3503 struct pm_node *rest;
3504
3506 struct pm_node_list rights;
3507
3509 pm_location_t lparen_loc;
3510
3512 pm_location_t rparen_loc;
3513} pm_multi_target_node_t;
3514
3522 typedef struct pm_multi_write_node {
3524 pm_node_t base;
3525
3527 struct pm_node_list lefts;
3528
3530 struct pm_node *rest;
3531
3533 struct pm_node_list rights;
3534
3536 pm_location_t lparen_loc;
3537
3539 pm_location_t rparen_loc;
3540
3542 pm_location_t operator_loc;
3543
3545 struct pm_node *value;
3546} pm_multi_write_node_t;
3547
3555 typedef struct pm_next_node {
3557 pm_node_t base;
3558
3560 struct pm_arguments_node *arguments;
3561
3563 pm_location_t keyword_loc;
3564} pm_next_node_t;
3565
3573 typedef struct pm_nil_node {
3575 pm_node_t base;
3576} pm_nil_node_t;
3577
3585 typedef struct pm_no_keywords_parameter_node {
3587 pm_node_t base;
3588
3590 pm_location_t operator_loc;
3591
3593 pm_location_t keyword_loc;
3594} pm_no_keywords_parameter_node_t;
3595
3603 typedef struct pm_numbered_parameters_node {
3605 pm_node_t base;
3606
3608 uint8_t maximum;
3609} pm_numbered_parameters_node_t;
3610
3618 typedef struct pm_numbered_reference_read_node {
3620 pm_node_t base;
3621
3623 uint32_t number;
3624} pm_numbered_reference_read_node_t;
3625
3633 typedef struct pm_optional_keyword_parameter_node {
3635 pm_node_t base;
3636
3638 pm_constant_id_t name;
3639
3641 pm_location_t name_loc;
3642
3644 struct pm_node *value;
3645} pm_optional_keyword_parameter_node_t;
3646
3654 typedef struct pm_optional_parameter_node {
3656 pm_node_t base;
3657
3659 pm_constant_id_t name;
3660
3662 pm_location_t name_loc;
3663
3665 pm_location_t operator_loc;
3666
3668 struct pm_node *value;
3669} pm_optional_parameter_node_t;
3670
3678 typedef struct pm_or_node {
3680 pm_node_t base;
3681
3683 struct pm_node *left;
3684
3686 struct pm_node *right;
3687
3689 pm_location_t operator_loc;
3690} pm_or_node_t;
3691
3699 typedef struct pm_parameters_node {
3701 pm_node_t base;
3702
3704 struct pm_node_list requireds;
3705
3707 struct pm_node_list optionals;
3708
3710 struct pm_node *rest;
3711
3713 struct pm_node_list posts;
3714
3716 struct pm_node_list keywords;
3717
3719 struct pm_node *keyword_rest;
3720
3722 struct pm_block_parameter_node *block;
3723} pm_parameters_node_t;
3724
3732 typedef struct pm_parentheses_node {
3734 pm_node_t base;
3735
3737 struct pm_node *body;
3738
3740 pm_location_t opening_loc;
3741
3743 pm_location_t closing_loc;
3744} pm_parentheses_node_t;
3745
3753 typedef struct pm_pinned_expression_node {
3755 pm_node_t base;
3756
3758 struct pm_node *expression;
3759
3761 pm_location_t operator_loc;
3762
3764 pm_location_t lparen_loc;
3765
3767 pm_location_t rparen_loc;
3768} pm_pinned_expression_node_t;
3769
3777 typedef struct pm_pinned_variable_node {
3779 pm_node_t base;
3780
3782 struct pm_node *variable;
3783
3785 pm_location_t operator_loc;
3786} pm_pinned_variable_node_t;
3787
3795 typedef struct pm_post_execution_node {
3797 pm_node_t base;
3798
3800 struct pm_statements_node *statements;
3801
3803 pm_location_t keyword_loc;
3804
3806 pm_location_t opening_loc;
3807
3809 pm_location_t closing_loc;
3810} pm_post_execution_node_t;
3811
3819 typedef struct pm_pre_execution_node {
3821 pm_node_t base;
3822
3824 struct pm_statements_node *statements;
3825
3827 pm_location_t keyword_loc;
3828
3830 pm_location_t opening_loc;
3831
3833 pm_location_t closing_loc;
3834} pm_pre_execution_node_t;
3835
3843 typedef struct pm_program_node {
3845 pm_node_t base;
3846
3848 pm_constant_id_list_t locals;
3849
3851 struct pm_statements_node *statements;
3852} pm_program_node_t;
3853
3863 typedef struct pm_range_node {
3865 pm_node_t base;
3866
3868 struct pm_node *left;
3869
3871 struct pm_node *right;
3872
3874 pm_location_t operator_loc;
3875} pm_range_node_t;
3876
3884 typedef struct pm_rational_node {
3886 pm_node_t base;
3887
3889 struct pm_node *numeric;
3890} pm_rational_node_t;
3891
3899 typedef struct pm_redo_node {
3901 pm_node_t base;
3902} pm_redo_node_t;
3903
3923 typedef struct pm_regular_expression_node {
3925 pm_node_t base;
3926
3928 pm_location_t opening_loc;
3929
3931 pm_location_t content_loc;
3932
3934 pm_location_t closing_loc;
3935
3937 pm_string_t unescaped;
3938} pm_regular_expression_node_t;
3939
3947 typedef struct pm_required_keyword_parameter_node {
3949 pm_node_t base;
3950
3952 pm_constant_id_t name;
3953
3955 pm_location_t name_loc;
3956} pm_required_keyword_parameter_node_t;
3957
3965 typedef struct pm_required_parameter_node {
3967 pm_node_t base;
3968
3970 pm_constant_id_t name;
3971} pm_required_parameter_node_t;
3972
3980 typedef struct pm_rescue_modifier_node {
3982 pm_node_t base;
3983
3985 struct pm_node *expression;
3986
3988 pm_location_t keyword_loc;
3989
3991 struct pm_node *rescue_expression;
3992} pm_rescue_modifier_node_t;
3993
4001 typedef struct pm_rescue_node {
4003 pm_node_t base;
4004
4006 pm_location_t keyword_loc;
4007
4009 struct pm_node_list exceptions;
4010
4012 pm_location_t operator_loc;
4013
4015 struct pm_node *reference;
4016
4018 struct pm_statements_node *statements;
4019
4021 struct pm_rescue_node *consequent;
4022} pm_rescue_node_t;
4023
4031 typedef struct pm_rest_parameter_node {
4033 pm_node_t base;
4034
4036 pm_constant_id_t name;
4037
4039 pm_location_t name_loc;
4040
4042 pm_location_t operator_loc;
4043} pm_rest_parameter_node_t;
4044
4052 typedef struct pm_retry_node {
4054 pm_node_t base;
4055} pm_retry_node_t;
4056
4064 typedef struct pm_return_node {
4066 pm_node_t base;
4067
4069 pm_location_t keyword_loc;
4070
4072 struct pm_arguments_node *arguments;
4073} pm_return_node_t;
4074
4082 typedef struct pm_self_node {
4084 pm_node_t base;
4085} pm_self_node_t;
4086
4094 typedef struct pm_singleton_class_node {
4096 pm_node_t base;
4097
4099 pm_constant_id_list_t locals;
4100
4102 pm_location_t class_keyword_loc;
4103
4105 pm_location_t operator_loc;
4106
4108 struct pm_node *expression;
4109
4111 struct pm_node *body;
4112
4114 pm_location_t end_keyword_loc;
4115} pm_singleton_class_node_t;
4116
4124 typedef struct pm_source_encoding_node {
4126 pm_node_t base;
4127} pm_source_encoding_node_t;
4128
4136 typedef struct pm_source_file_node {
4138 pm_node_t base;
4139
4141 pm_string_t filepath;
4142} pm_source_file_node_t;
4143
4151 typedef struct pm_source_line_node {
4153 pm_node_t base;
4154} pm_source_line_node_t;
4155
4163 typedef struct pm_splat_node {
4165 pm_node_t base;
4166
4168 pm_location_t operator_loc;
4169
4171 struct pm_node *expression;
4172} pm_splat_node_t;
4173
4181 typedef struct pm_statements_node {
4183 pm_node_t base;
4184
4186 struct pm_node_list body;
4187} pm_statements_node_t;
4188
4200 typedef struct pm_string_node {
4202 pm_node_t base;
4203
4205 pm_location_t opening_loc;
4206
4208 pm_location_t content_loc;
4209
4211 pm_location_t closing_loc;
4212
4214 pm_string_t unescaped;
4215} pm_string_node_t;
4216
4224 typedef struct pm_super_node {
4226 pm_node_t base;
4227
4229 pm_location_t keyword_loc;
4230
4232 pm_location_t lparen_loc;
4233
4235 struct pm_arguments_node *arguments;
4236
4238 pm_location_t rparen_loc;
4239
4241 struct pm_node *block;
4242} pm_super_node_t;
4243
4255 typedef struct pm_symbol_node {
4257 pm_node_t base;
4258
4260 pm_location_t opening_loc;
4261
4263 pm_location_t value_loc;
4264
4266 pm_location_t closing_loc;
4267
4269 pm_string_t unescaped;
4270} pm_symbol_node_t;
4271
4279 typedef struct pm_true_node {
4281 pm_node_t base;
4282} pm_true_node_t;
4283
4291 typedef struct pm_undef_node {
4293 pm_node_t base;
4294
4296 struct pm_node_list names;
4297
4299 pm_location_t keyword_loc;
4300} pm_undef_node_t;
4301
4309 typedef struct pm_unless_node {
4311 pm_node_t base;
4312
4314 pm_location_t keyword_loc;
4315
4317 struct pm_node *predicate;
4318
4320 pm_location_t then_keyword_loc;
4321
4323 struct pm_statements_node *statements;
4324
4326 struct pm_else_node *consequent;
4327
4329 pm_location_t end_keyword_loc;
4330} pm_unless_node_t;
4331
4341 typedef struct pm_until_node {
4343 pm_node_t base;
4344
4346 pm_location_t keyword_loc;
4347
4349 pm_location_t closing_loc;
4350
4352 struct pm_node *predicate;
4353
4355 struct pm_statements_node *statements;
4356} pm_until_node_t;
4357
4365 typedef struct pm_when_node {
4367 pm_node_t base;
4368
4370 pm_location_t keyword_loc;
4371
4373 struct pm_node_list conditions;
4374
4376 struct pm_statements_node *statements;
4377} pm_when_node_t;
4378
4388 typedef struct pm_while_node {
4390 pm_node_t base;
4391
4393 pm_location_t keyword_loc;
4394
4396 pm_location_t closing_loc;
4397
4399 struct pm_node *predicate;
4400
4402 struct pm_statements_node *statements;
4403} pm_while_node_t;
4404
4415 typedef struct pm_x_string_node {
4417 pm_node_t base;
4418
4420 pm_location_t opening_loc;
4421
4423 pm_location_t content_loc;
4424
4426 pm_location_t closing_loc;
4427
4429 pm_string_t unescaped;
4430} pm_x_string_node_t;
4431
4439 typedef struct pm_yield_node {
4441 pm_node_t base;
4442
4444 pm_location_t keyword_loc;
4445
4447 pm_location_t lparen_loc;
4448
4450 struct pm_arguments_node *arguments;
4451
4453 pm_location_t rparen_loc;
4454} pm_yield_node_t;
4455
4459 typedef enum pm_arguments_node_flags {
4461 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT = 1,
4462} pm_arguments_node_flags_t;
4463
4467 typedef enum pm_array_node_flags {
4469 PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT = 1,
4470} pm_array_node_flags_t;
4471
4475 typedef enum pm_call_node_flags {
4477 PM_CALL_NODE_FLAGS_SAFE_NAVIGATION = 1,
4478
4480 PM_CALL_NODE_FLAGS_VARIABLE_CALL = 2,
4481
4483 PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE = 4,
4484} pm_call_node_flags_t;
4485
4489 typedef enum pm_encoding_flags {
4491 PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING = 1,
4492
4494 PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING = 2,
4495} pm_encoding_flags_t;
4496
4500 typedef enum pm_integer_base_flags {
4502 PM_INTEGER_BASE_FLAGS_BINARY = 1,
4503
4505 PM_INTEGER_BASE_FLAGS_DECIMAL = 2,
4506
4508 PM_INTEGER_BASE_FLAGS_OCTAL = 4,
4509
4511 PM_INTEGER_BASE_FLAGS_HEXADECIMAL = 8,
4512} pm_integer_base_flags_t;
4513
4517 typedef enum pm_keyword_hash_node_flags {
4519 PM_KEYWORD_HASH_NODE_FLAGS_STATIC_KEYS = 1,
4520} pm_keyword_hash_node_flags_t;
4521
4525 typedef enum pm_loop_flags {
4527 PM_LOOP_FLAGS_BEGIN_MODIFIER = 1,
4528} pm_loop_flags_t;
4529
4533 typedef enum pm_range_flags {
4535 PM_RANGE_FLAGS_EXCLUDE_END = 1,
4536} pm_range_flags_t;
4537
4541 typedef enum pm_regular_expression_flags {
4543 PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE = 1,
4544
4546 PM_REGULAR_EXPRESSION_FLAGS_EXTENDED = 2,
4547
4549 PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE = 4,
4550
4552 PM_REGULAR_EXPRESSION_FLAGS_ONCE = 8,
4553
4555 PM_REGULAR_EXPRESSION_FLAGS_EUC_JP = 16,
4556
4558 PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT = 32,
4559
4561 PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J = 64,
4562
4564 PM_REGULAR_EXPRESSION_FLAGS_UTF_8 = 128,
4565
4567 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING = 256,
4568
4570 PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING = 512,
4571
4573 PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING = 1024,
4574} pm_regular_expression_flags_t;
4575
4579 typedef enum pm_string_flags {
4581 PM_STRING_FLAGS_FORCED_UTF8_ENCODING = 1,
4582
4584 PM_STRING_FLAGS_FORCED_BINARY_ENCODING = 2,
4585
4587 PM_STRING_FLAGS_FROZEN = 4,
4588} pm_string_flags_t;
4589
4593 typedef enum pm_symbol_flags {
4595 PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING = 1,
4596
4598 PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING = 2,
4599
4601 PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING = 4,
4602} pm_symbol_flags_t;
4603
4610#define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS false
4611
4612#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_constant_and_write_node_t
struct pm_constant_and_write_node pm_constant_and_write_node_t
ConstantAndWriteNode.
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:4533
PM_RANGE_FLAGS_EXCLUDE_END
@ PM_RANGE_FLAGS_EXCLUDE_END
... operator
Definition ast.h:4535
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:570
PM_DEFINED_NODE
@ PM_DEFINED_NODE
DefinedNode.
Definition ast.h:707
PM_PRE_EXECUTION_NODE
@ PM_PRE_EXECUTION_NODE
PreExecutionNode.
Definition ast.h:923
PM_RETRY_NODE
@ PM_RETRY_NODE
RetryNode.
Definition ast.h:956
PM_REDO_NODE
@ PM_REDO_NODE
RedoNode.
Definition ast.h:935
PM_CONSTANT_PATH_WRITE_NODE
@ PM_CONSTANT_PATH_WRITE_NODE
ConstantPathWriteNode.
Definition ast.h:692
PM_INDEX_AND_WRITE_NODE
@ PM_INDEX_AND_WRITE_NODE
IndexAndWriteNode.
Definition ast.h:785
PM_SOURCE_LINE_NODE
@ PM_SOURCE_LINE_NODE
SourceLineNode.
Definition ast.h:974
PM_UNLESS_NODE
@ PM_UNLESS_NODE
UnlessNode.
Definition ast.h:998
PM_EMBEDDED_VARIABLE_NODE
@ PM_EMBEDDED_VARIABLE_NODE
EmbeddedVariableNode.
Definition ast.h:716
PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
@ PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
GlobalVariableOperatorWriteNode.
Definition ast.h:749
PM_CALL_NODE
@ PM_CALL_NODE
CallNode.
Definition ast.h:626
PM_NIL_NODE
@ PM_NIL_NODE
NilNode.
Definition ast.h:887
PM_GLOBAL_VARIABLE_READ_NODE
@ PM_GLOBAL_VARIABLE_READ_NODE
GlobalVariableReadNode.
Definition ast.h:755
PM_RATIONAL_NODE
@ PM_RATIONAL_NODE
RationalNode.
Definition ast.h:932
PM_YIELD_NODE
@ PM_YIELD_NODE
YieldNode.
Definition ast.h:1013
PM_LOCAL_VARIABLE_AND_WRITE_NODE
@ PM_LOCAL_VARIABLE_AND_WRITE_NODE
LocalVariableAndWriteNode.
Definition ast.h:842
PM_CONSTANT_AND_WRITE_NODE
@ PM_CONSTANT_AND_WRITE_NODE
ConstantAndWriteNode.
Definition ast.h:668
PM_CLASS_NODE
@ PM_CLASS_NODE
ClassNode.
Definition ast.h:647
PM_FIND_PATTERN_NODE
@ PM_FIND_PATTERN_NODE
FindPatternNode.
Definition ast.h:725
PM_CALL_OPERATOR_WRITE_NODE
@ PM_CALL_OPERATOR_WRITE_NODE
CallOperatorWriteNode.
Definition ast.h:629
PM_MATCH_WRITE_NODE
@ PM_MATCH_WRITE_NODE
MatchWriteNode.
Definition ast.h:869
PM_ARRAY_NODE
@ PM_ARRAY_NODE
ArrayNode.
Definition ast.h:587
PM_CONSTANT_PATH_TARGET_NODE
@ PM_CONSTANT_PATH_TARGET_NODE
ConstantPathTargetNode.
Definition ast.h:689
PM_PROGRAM_NODE
@ PM_PROGRAM_NODE
ProgramNode.
Definition ast.h:926
PM_OR_NODE
@ PM_OR_NODE
OrNode.
Definition ast.h:905
PM_MULTI_WRITE_NODE
@ PM_MULTI_WRITE_NODE
MultiWriteNode.
Definition ast.h:881
PM_IF_NODE
@ PM_IF_NODE
IfNode.
Definition ast.h:770
PM_IMPLICIT_NODE
@ PM_IMPLICIT_NODE
ImplicitNode.
Definition ast.h:776
PM_ARGUMENTS_NODE
@ PM_ARGUMENTS_NODE
ArgumentsNode.
Definition ast.h:584
PM_FORWARDING_SUPER_NODE
@ PM_FORWARDING_SUPER_NODE
ForwardingSuperNode.
Definition ast.h:743
PM_WHILE_NODE
@ PM_WHILE_NODE
WhileNode.
Definition ast.h:1007
PM_INTERPOLATED_STRING_NODE
@ PM_INTERPOLATED_STRING_NODE
InterpolatedStringNode.
Definition ast.h:824
PM_FALSE_NODE
@ PM_FALSE_NODE
FalseNode.
Definition ast.h:722
PM_FORWARDING_PARAMETER_NODE
@ PM_FORWARDING_PARAMETER_NODE
ForwardingParameterNode.
Definition ast.h:740
PM_BLOCK_LOCAL_VARIABLE_NODE
@ PM_BLOCK_LOCAL_VARIABLE_NODE
BlockLocalVariableNode.
Definition ast.h:608
PM_HASH_NODE
@ PM_HASH_NODE
HashNode.
Definition ast.h:764
PM_UNTIL_NODE
@ PM_UNTIL_NODE
UntilNode.
Definition ast.h:1001
PM_MATCH_PREDICATE_NODE
@ PM_MATCH_PREDICATE_NODE
MatchPredicateNode.
Definition ast.h:863
PM_X_STRING_NODE
@ PM_X_STRING_NODE
XStringNode.
Definition ast.h:1010
PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
@ PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
LocalVariableOperatorWriteNode.
Definition ast.h:845
PM_LOCAL_VARIABLE_OR_WRITE_NODE
@ PM_LOCAL_VARIABLE_OR_WRITE_NODE
LocalVariableOrWriteNode.
Definition ast.h:848
PM_INSTANCE_VARIABLE_AND_WRITE_NODE
@ PM_INSTANCE_VARIABLE_AND_WRITE_NODE
InstanceVariableAndWriteNode.
Definition ast.h:797
PM_GLOBAL_VARIABLE_TARGET_NODE
@ PM_GLOBAL_VARIABLE_TARGET_NODE
GlobalVariableTargetNode.
Definition ast.h:758
PM_AND_NODE
@ PM_AND_NODE
AndNode.
Definition ast.h:581
PM_CONSTANT_TARGET_NODE
@ PM_CONSTANT_TARGET_NODE
ConstantTargetNode.
Definition ast.h:698
PM_CONSTANT_PATH_AND_WRITE_NODE
@ PM_CONSTANT_PATH_AND_WRITE_NODE
ConstantPathAndWriteNode.
Definition ast.h:677
PM_IN_NODE
@ PM_IN_NODE
InNode.
Definition ast.h:782
PM_BLOCK_PARAMETER_NODE
@ PM_BLOCK_PARAMETER_NODE
BlockParameterNode.
Definition ast.h:614
PM_CAPTURE_PATTERN_NODE
@ PM_CAPTURE_PATTERN_NODE
CapturePatternNode.
Definition ast.h:638
PM_SOURCE_FILE_NODE
@ PM_SOURCE_FILE_NODE
SourceFileNode.
Definition ast.h:971
PM_NO_KEYWORDS_PARAMETER_NODE
@ PM_NO_KEYWORDS_PARAMETER_NODE
NoKeywordsParameterNode.
Definition ast.h:890
PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
@ PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
ConstantPathOperatorWriteNode.
Definition ast.h:683
PM_MULTI_TARGET_NODE
@ PM_MULTI_TARGET_NODE
MultiTargetNode.
Definition ast.h:878
PM_SPLAT_NODE
@ PM_SPLAT_NODE
SplatNode.
Definition ast.h:977
PM_LAMBDA_NODE
@ PM_LAMBDA_NODE
LambdaNode.
Definition ast.h:839
PM_CLASS_VARIABLE_READ_NODE
@ PM_CLASS_VARIABLE_READ_NODE
ClassVariableReadNode.
Definition ast.h:659
PM_REQUIRED_KEYWORD_PARAMETER_NODE
@ PM_REQUIRED_KEYWORD_PARAMETER_NODE
RequiredKeywordParameterNode.
Definition ast.h:941
PM_CALL_TARGET_NODE
@ PM_CALL_TARGET_NODE
CallTargetNode.
Definition ast.h:635
PM_ELSE_NODE
@ PM_ELSE_NODE
ElseNode.
Definition ast.h:710
PM_INTERPOLATED_MATCH_LAST_LINE_NODE
@ PM_INTERPOLATED_MATCH_LAST_LINE_NODE
InterpolatedMatchLastLineNode.
Definition ast.h:818
PM_WHEN_NODE
@ PM_WHEN_NODE
WhenNode.
Definition ast.h:1004
PM_NUMBERED_PARAMETERS_NODE
@ PM_NUMBERED_PARAMETERS_NODE
NumberedParametersNode.
Definition ast.h:893
PM_SYMBOL_NODE
@ PM_SYMBOL_NODE
SymbolNode.
Definition ast.h:989
PM_RESCUE_MODIFIER_NODE
@ PM_RESCUE_MODIFIER_NODE
RescueModifierNode.
Definition ast.h:947
PM_ALIAS_METHOD_NODE
@ PM_ALIAS_METHOD_NODE
AliasMethodNode.
Definition ast.h:575
PM_MATCH_REQUIRED_NODE
@ PM_MATCH_REQUIRED_NODE
MatchRequiredNode.
Definition ast.h:866
PM_FORWARDING_ARGUMENTS_NODE
@ PM_FORWARDING_ARGUMENTS_NODE
ForwardingArgumentsNode.
Definition ast.h:737
PM_BACK_REFERENCE_READ_NODE
@ PM_BACK_REFERENCE_READ_NODE
BackReferenceReadNode.
Definition ast.h:599
PM_SCOPE_NODE
@ PM_SCOPE_NODE
A special kind of node used for compilation.
Definition ast.h:1016
PM_BLOCK_ARGUMENT_NODE
@ PM_BLOCK_ARGUMENT_NODE
BlockArgumentNode.
Definition ast.h:605
PM_MISSING_NODE
@ PM_MISSING_NODE
MissingNode.
Definition ast.h:872
PM_SELF_NODE
@ PM_SELF_NODE
SelfNode.
Definition ast.h:962
PM_IMPLICIT_REST_NODE
@ PM_IMPLICIT_REST_NODE
ImplicitRestNode.
Definition ast.h:779
PM_TRUE_NODE
@ PM_TRUE_NODE
TrueNode.
Definition ast.h:992
PM_ASSOC_SPLAT_NODE
@ PM_ASSOC_SPLAT_NODE
AssocSplatNode.
Definition ast.h:596
PM_CLASS_VARIABLE_AND_WRITE_NODE
@ PM_CLASS_VARIABLE_AND_WRITE_NODE
ClassVariableAndWriteNode.
Definition ast.h:650
PM_RANGE_NODE
@ PM_RANGE_NODE
RangeNode.
Definition ast.h:929
PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
@ PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
InstanceVariableOperatorWriteNode.
Definition ast.h:800
PM_LOCAL_VARIABLE_READ_NODE
@ PM_LOCAL_VARIABLE_READ_NODE
LocalVariableReadNode.
Definition ast.h:851
PM_NEXT_NODE
@ PM_NEXT_NODE
NextNode.
Definition ast.h:884
PM_INSTANCE_VARIABLE_OR_WRITE_NODE
@ PM_INSTANCE_VARIABLE_OR_WRITE_NODE
InstanceVariableOrWriteNode.
Definition ast.h:803
PM_REGULAR_EXPRESSION_NODE
@ PM_REGULAR_EXPRESSION_NODE
RegularExpressionNode.
Definition ast.h:938
PM_CLASS_VARIABLE_OR_WRITE_NODE
@ PM_CLASS_VARIABLE_OR_WRITE_NODE
ClassVariableOrWriteNode.
Definition ast.h:656
PM_BLOCK_PARAMETERS_NODE
@ PM_BLOCK_PARAMETERS_NODE
BlockParametersNode.
Definition ast.h:617
PM_CONSTANT_WRITE_NODE
@ PM_CONSTANT_WRITE_NODE
ConstantWriteNode.
Definition ast.h:701
PM_HASH_PATTERN_NODE
@ PM_HASH_PATTERN_NODE
HashPatternNode.
Definition ast.h:767
PM_INDEX_OPERATOR_WRITE_NODE
@ PM_INDEX_OPERATOR_WRITE_NODE
IndexOperatorWriteNode.
Definition ast.h:788
PM_UNDEF_NODE
@ PM_UNDEF_NODE
UndefNode.
Definition ast.h:995
PM_ALTERNATION_PATTERN_NODE
@ PM_ALTERNATION_PATTERN_NODE
AlternationPatternNode.
Definition ast.h:578
PM_ENSURE_NODE
@ PM_ENSURE_NODE
EnsureNode.
Definition ast.h:719
PM_LOCAL_VARIABLE_WRITE_NODE
@ PM_LOCAL_VARIABLE_WRITE_NODE
LocalVariableWriteNode.
Definition ast.h:857
PM_SINGLETON_CLASS_NODE
@ PM_SINGLETON_CLASS_NODE
SingletonClassNode.
Definition ast.h:965
PM_KEYWORD_HASH_NODE
@ PM_KEYWORD_HASH_NODE
KeywordHashNode.
Definition ast.h:833
PM_PARENTHESES_NODE
@ PM_PARENTHESES_NODE
ParenthesesNode.
Definition ast.h:911
PM_FOR_NODE
@ PM_FOR_NODE
ForNode.
Definition ast.h:734
PM_CLASS_VARIABLE_WRITE_NODE
@ PM_CLASS_VARIABLE_WRITE_NODE
ClassVariableWriteNode.
Definition ast.h:665
PM_POST_EXECUTION_NODE
@ PM_POST_EXECUTION_NODE
PostExecutionNode.
Definition ast.h:920
PM_CONSTANT_OPERATOR_WRITE_NODE
@ PM_CONSTANT_OPERATOR_WRITE_NODE
ConstantOperatorWriteNode.
Definition ast.h:671
PM_RETURN_NODE
@ PM_RETURN_NODE
ReturnNode.
Definition ast.h:959
PM_MODULE_NODE
@ PM_MODULE_NODE
ModuleNode.
Definition ast.h:875
PM_ARRAY_PATTERN_NODE
@ PM_ARRAY_PATTERN_NODE
ArrayPatternNode.
Definition ast.h:590
PM_SUPER_NODE
@ PM_SUPER_NODE
SuperNode.
Definition ast.h:986
PM_MATCH_LAST_LINE_NODE
@ PM_MATCH_LAST_LINE_NODE
MatchLastLineNode.
Definition ast.h:860
PM_CONSTANT_PATH_NODE
@ PM_CONSTANT_PATH_NODE
ConstantPathNode.
Definition ast.h:680
PM_INTERPOLATED_SYMBOL_NODE
@ PM_INTERPOLATED_SYMBOL_NODE
InterpolatedSymbolNode.
Definition ast.h:827
PM_CALL_AND_WRITE_NODE
@ PM_CALL_AND_WRITE_NODE
CallAndWriteNode.
Definition ast.h:623
PM_OPTIONAL_KEYWORD_PARAMETER_NODE
@ PM_OPTIONAL_KEYWORD_PARAMETER_NODE
OptionalKeywordParameterNode.
Definition ast.h:899
PM_CLASS_VARIABLE_TARGET_NODE
@ PM_CLASS_VARIABLE_TARGET_NODE
ClassVariableTargetNode.
Definition ast.h:662
PM_CASE_MATCH_NODE
@ PM_CASE_MATCH_NODE
CaseMatchNode.
Definition ast.h:641
PM_BREAK_NODE
@ PM_BREAK_NODE
BreakNode.
Definition ast.h:620
PM_CALL_OR_WRITE_NODE
@ PM_CALL_OR_WRITE_NODE
CallOrWriteNode.
Definition ast.h:632
PM_IMAGINARY_NODE
@ PM_IMAGINARY_NODE
ImaginaryNode.
Definition ast.h:773
PM_DEF_NODE
@ PM_DEF_NODE
DefNode.
Definition ast.h:704
PM_CONSTANT_READ_NODE
@ PM_CONSTANT_READ_NODE
ConstantReadNode.
Definition ast.h:695
PM_GLOBAL_VARIABLE_WRITE_NODE
@ PM_GLOBAL_VARIABLE_WRITE_NODE
GlobalVariableWriteNode.
Definition ast.h:761
PM_SOURCE_ENCODING_NODE
@ PM_SOURCE_ENCODING_NODE
SourceEncodingNode.
Definition ast.h:968
PM_BEGIN_NODE
@ PM_BEGIN_NODE
BeginNode.
Definition ast.h:602
PM_INTERPOLATED_X_STRING_NODE
@ PM_INTERPOLATED_X_STRING_NODE
InterpolatedXStringNode.
Definition ast.h:830
PM_INSTANCE_VARIABLE_READ_NODE
@ PM_INSTANCE_VARIABLE_READ_NODE
InstanceVariableReadNode.
Definition ast.h:806
PM_FLIP_FLOP_NODE
@ PM_FLIP_FLOP_NODE
FlipFlopNode.
Definition ast.h:728
PM_PINNED_VARIABLE_NODE
@ PM_PINNED_VARIABLE_NODE
PinnedVariableNode.
Definition ast.h:917
PM_REQUIRED_PARAMETER_NODE
@ PM_REQUIRED_PARAMETER_NODE
RequiredParameterNode.
Definition ast.h:944
PM_INSTANCE_VARIABLE_WRITE_NODE
@ PM_INSTANCE_VARIABLE_WRITE_NODE
InstanceVariableWriteNode.
Definition ast.h:812
PM_INSTANCE_VARIABLE_TARGET_NODE
@ PM_INSTANCE_VARIABLE_TARGET_NODE
InstanceVariableTargetNode.
Definition ast.h:809
PM_GLOBAL_VARIABLE_AND_WRITE_NODE
@ PM_GLOBAL_VARIABLE_AND_WRITE_NODE
GlobalVariableAndWriteNode.
Definition ast.h:746
PM_CASE_NODE
@ PM_CASE_NODE
CaseNode.
Definition ast.h:644
PM_RESCUE_NODE
@ PM_RESCUE_NODE
RescueNode.
Definition ast.h:950
PM_FLOAT_NODE
@ PM_FLOAT_NODE
FloatNode.
Definition ast.h:731
PM_ASSOC_NODE
@ PM_ASSOC_NODE
AssocNode.
Definition ast.h:593
PM_INTEGER_NODE
@ PM_INTEGER_NODE
IntegerNode.
Definition ast.h:815
PM_LOCAL_VARIABLE_TARGET_NODE
@ PM_LOCAL_VARIABLE_TARGET_NODE
LocalVariableTargetNode.
Definition ast.h:854
PM_STRING_NODE
@ PM_STRING_NODE
StringNode.
Definition ast.h:983
PM_INDEX_OR_WRITE_NODE
@ PM_INDEX_OR_WRITE_NODE
IndexOrWriteNode.
Definition ast.h:791
PM_ALIAS_GLOBAL_VARIABLE_NODE
@ PM_ALIAS_GLOBAL_VARIABLE_NODE
AliasGlobalVariableNode.
Definition ast.h:572
PM_PARAMETERS_NODE
@ PM_PARAMETERS_NODE
ParametersNode.
Definition ast.h:908
PM_NUMBERED_REFERENCE_READ_NODE
@ PM_NUMBERED_REFERENCE_READ_NODE
NumberedReferenceReadNode.
Definition ast.h:896
PM_CONSTANT_PATH_OR_WRITE_NODE
@ PM_CONSTANT_PATH_OR_WRITE_NODE
ConstantPathOrWriteNode.
Definition ast.h:686
PM_GLOBAL_VARIABLE_OR_WRITE_NODE
@ PM_GLOBAL_VARIABLE_OR_WRITE_NODE
GlobalVariableOrWriteNode.
Definition ast.h:752
PM_CONSTANT_OR_WRITE_NODE
@ PM_CONSTANT_OR_WRITE_NODE
ConstantOrWriteNode.
Definition ast.h:674
PM_STATEMENTS_NODE
@ PM_STATEMENTS_NODE
StatementsNode.
Definition ast.h:980
PM_OPTIONAL_PARAMETER_NODE
@ PM_OPTIONAL_PARAMETER_NODE
OptionalParameterNode.
Definition ast.h:902
PM_PINNED_EXPRESSION_NODE
@ PM_PINNED_EXPRESSION_NODE
PinnedExpressionNode.
Definition ast.h:914
PM_BLOCK_NODE
@ PM_BLOCK_NODE
BlockNode.
Definition ast.h:611
PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
@ PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
ClassVariableOperatorWriteNode.
Definition ast.h:653
PM_REST_PARAMETER_NODE
@ PM_REST_PARAMETER_NODE
RestParameterNode.
Definition ast.h:953
PM_EMBEDDED_STATEMENTS_NODE
@ PM_EMBEDDED_STATEMENTS_NODE
EmbeddedStatementsNode.
Definition ast.h:713
PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
@ PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
InterpolatedRegularExpressionNode.
Definition ast.h:821
PM_INDEX_TARGET_NODE
@ PM_INDEX_TARGET_NODE
IndexTargetNode.
Definition ast.h:794
PM_KEYWORD_REST_PARAMETER_NODE
@ PM_KEYWORD_REST_PARAMETER_NODE
KeywordRestParameterNode.
Definition ast.h:836
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_symbol_flags
pm_symbol_flags
Flags for symbol nodes.
Definition ast.h:4593
PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
@ PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:4595
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:4601
PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
@ PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:4598
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:4579
PM_STRING_FLAGS_FROZEN
@ PM_STRING_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal comment
Definition ast.h:4587
PM_STRING_FLAGS_FORCED_BINARY_ENCODING
@ PM_STRING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:4584
PM_STRING_FLAGS_FORCED_UTF8_ENCODING
@ PM_STRING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:4581
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:4459
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
if arguments contain keyword splat
Definition ast.h:4461
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_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_NODE_FLAG_BITS
#define PM_NODE_FLAG_BITS
We store the flags enum in every node in the tree.
Definition ast.h:1035
pm_array_node_flags
pm_array_node_flags
Flags for array nodes.
Definition ast.h:4467
PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
@ PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
if array contains splat nodes
Definition ast.h:4469
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:4500
PM_INTEGER_BASE_FLAGS_HEXADECIMAL
@ PM_INTEGER_BASE_FLAGS_HEXADECIMAL
0x prefix
Definition ast.h:4511
PM_INTEGER_BASE_FLAGS_OCTAL
@ PM_INTEGER_BASE_FLAGS_OCTAL
0o or 0 prefix
Definition ast.h:4508
PM_INTEGER_BASE_FLAGS_DECIMAL
@ PM_INTEGER_BASE_FLAGS_DECIMAL
0d or no prefix
Definition ast.h:4505
PM_INTEGER_BASE_FLAGS_BINARY
@ PM_INTEGER_BASE_FLAGS_BINARY
0b prefix
Definition ast.h:4502
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:4475
PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
@ PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
&.
Definition ast.h:4477
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:4483
PM_CALL_NODE_FLAGS_VARIABLE_CALL
@ PM_CALL_NODE_FLAGS_VARIABLE_CALL
a call that could have been a local variable
Definition ast.h:4480
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_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:1023
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:4517
PM_KEYWORD_HASH_NODE_FLAGS_STATIC_KEYS
@ PM_KEYWORD_HASH_NODE_FLAGS_STATIC_KEYS
a keyword hash which only has AssocNode elements all with static literal keys, which means the elemen...
Definition ast.h:4519
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:4541
PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:4570
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:4573
PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
@ PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
e - forces the EUC-JP encoding
Definition ast.h:4555
PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
@ PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
i - ignores the case of characters when matching
Definition ast.h:4543
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:4567
PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
@ PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
n - forces the ASCII-8BIT encoding
Definition ast.h:4558
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:4549
PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
@ PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
x - ignores whitespace and allows comments in regular expressions
Definition ast.h:4546
PM_REGULAR_EXPRESSION_FLAGS_ONCE
@ PM_REGULAR_EXPRESSION_FLAGS_ONCE
o - only interpolates values into the regular expression once
Definition ast.h:4552
PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
@ PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
s - forces the Windows-31J encoding
Definition ast.h:4561
PM_REGULAR_EXPRESSION_FLAGS_UTF_8
@ PM_REGULAR_EXPRESSION_FLAGS_UTF_8
u - forces the UTF-8 encoding
Definition ast.h:4564
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_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:1029
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:27
PM_TOKEN_STAR_STAR
@ PM_TOKEN_STAR_STAR
**
Definition ast.h:467
PM_TOKEN_DOT_DOT_DOT
@ PM_TOKEN_DOT_DOT_DOT
the ... range operator or forwarding parameter
Definition ast.h:122
PM_TOKEN_MINUS_EQUAL
@ PM_TOKEN_MINUS_EQUAL
-=
Definition ast.h:383
PM_TOKEN_IGNORED_NEWLINE
@ PM_TOKEN_IGNORED_NEWLINE
an ignored newline
Definition ast.h:194
PM_TOKEN_BANG_EQUAL
@ PM_TOKEN_BANG_EQUAL
!=
Definition ast.h:62
PM_TOKEN_KEYWORD___FILE__
@ PM_TOKEN_KEYWORD___FILE__
FILE
Definition ast.h:347
PM_TOKEN_KEYWORD_WHEN
@ PM_TOKEN_KEYWORD_WHEN
when
Definition ast.h:332
PM_TOKEN_FLOAT
@ PM_TOKEN_FLOAT
a floating point number
Definition ast.h:158
PM_TOKEN_PLUS_EQUAL
@ PM_TOKEN_PLUS_EQUAL
+=
Definition ast.h:440
PM_TOKEN_DOT_DOT
@ PM_TOKEN_DOT_DOT
the .
Definition ast.h:119
PM_TOKEN_UDOT_DOT
@ PM_TOKEN_UDOT_DOT
unary .
Definition ast.h:494
PM_TOKEN_AMPERSAND_DOT
@ PM_TOKEN_AMPERSAND_DOT
&.
Definition ast.h:47
PM_TOKEN_NEWLINE
@ PM_TOKEN_NEWLINE
a newline character outside of other tokens
Definition ast.h:389
PM_TOKEN_NUMBERED_REFERENCE
@ PM_TOKEN_NUMBERED_REFERENCE
a numbered reference to a capture group in the previous regular expression match
Definition ast.h:392
PM_TOKEN_AMPERSAND
@ PM_TOKEN_AMPERSAND
&
Definition ast.h:38
PM_TOKEN_KEYWORD_YIELD
@ PM_TOKEN_KEYWORD_YIELD
yield
Definition ast.h:341
PM_TOKEN_KEYWORD_END
@ PM_TOKEN_KEYWORD_END
end
Definition ast.h:251
PM_TOKEN_LAMBDA_BEGIN
@ PM_TOKEN_LAMBDA_BEGIN
{
Definition ast.h:359
PM_TOKEN_KEYWORD_UNTIL_MODIFIER
@ PM_TOKEN_KEYWORD_UNTIL_MODIFIER
until in the modifier form
Definition ast.h:329
PM_TOKEN_EQUAL_EQUAL_EQUAL
@ PM_TOKEN_EQUAL_EQUAL_EQUAL
===
Definition ast.h:149
PM_TOKEN_INTEGER_RATIONAL
@ PM_TOKEN_INTEGER_RATIONAL
an integer with a rational suffix
Definition ast.h:206
PM_TOKEN_USTAR
@ PM_TOKEN_USTAR
unary *
Definition ast.h:509
PM_TOKEN_TILDE
@ PM_TOKEN_TILDE
~ or ~@
Definition ast.h:485
PM_TOKEN_KEYWORD___ENCODING__
@ PM_TOKEN_KEYWORD___ENCODING__
ENCODING
Definition ast.h:344
PM_TOKEN_REGEXP_END
@ PM_TOKEN_REGEXP_END
the end of a regular expression
Definition ast.h:449
PM_TOKEN_KEYWORD_UNTIL
@ PM_TOKEN_KEYWORD_UNTIL
until
Definition ast.h:326
PM_TOKEN_COMMA
@ PM_TOKEN_COMMA
,
Definition ast.h:107
PM_TOKEN_MAXIMUM
@ PM_TOKEN_MAXIMUM
The maximum token value.
Definition ast.h:521
PM_TOKEN_GREATER
@ PM_TOKEN_GREATER
Definition ast.h:173
PM_TOKEN_INTEGER
@ PM_TOKEN_INTEGER
an integer (any base)
Definition ast.h:200
PM_TOKEN_SLASH_EQUAL
@ PM_TOKEN_SLASH_EQUAL
/=
Definition ast.h:458
PM_TOKEN_UMINUS_NUM
@ PM_TOKEN_UMINUS_NUM
-@ for a number
Definition ast.h:503
PM_TOKEN_EMBVAR
@ PM_TOKEN_EMBVAR
Definition ast.h:140
PM_TOKEN_KEYWORD_UNLESS_MODIFIER
@ PM_TOKEN_KEYWORD_UNLESS_MODIFIER
unless in the modifier form
Definition ast.h:323
PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
@ PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
an integer with a rational and imaginary suffix
Definition ast.h:209
PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
@ PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
a floating pointer number with a rational and imaginary suffix
Definition ast.h:167
PM_TOKEN_BRACKET_LEFT_RIGHT
@ PM_TOKEN_BRACKET_LEFT_RIGHT
[]
Definition ast.h:80
PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
@ PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
&&=
Definition ast.h:44
PM_TOKEN_KEYWORD_CLASS
@ PM_TOKEN_KEYWORD_CLASS
class
Definition ast.h:230
PM_TOKEN_KEYWORD_BEGIN
@ PM_TOKEN_KEYWORD_BEGIN
begin
Definition ast.h:218
PM_TOKEN_NOT_PROVIDED
@ PM_TOKEN_NOT_PROVIDED
a token that was not present but it is okay
Definition ast.h:35
PM_TOKEN_USTAR_STAR
@ PM_TOKEN_USTAR_STAR
unary **
Definition ast.h:512
PM_TOKEN_GREATER_GREATER_EQUAL
@ PM_TOKEN_GREATER_GREATER_EQUAL
Definition ast.h:182
PM_TOKEN_PERCENT_EQUAL
@ PM_TOKEN_PERCENT_EQUAL
%=
Definition ast.h:407
PM_TOKEN_PERCENT
@ PM_TOKEN_PERCENT
%
Definition ast.h:404
PM_TOKEN_KEYWORD_IN
@ PM_TOKEN_KEYWORD_IN
in
Definition ast.h:272
PM_TOKEN_BANG
@ PM_TOKEN_BANG
!
Definition ast.h:59
PM_TOKEN_KEYWORD_NOT
@ PM_TOKEN_KEYWORD_NOT
not
Definition ast.h:284
PM_TOKEN_BRACKET_LEFT_ARRAY
@ PM_TOKEN_BRACKET_LEFT_ARRAY
[ for the beginning of an array
Definition ast.h:77
PM_TOKEN_HEREDOC_END
@ PM_TOKEN_HEREDOC_END
the end of a heredoc
Definition ast.h:185
PM_TOKEN_HEREDOC_START
@ PM_TOKEN_HEREDOC_START
the start of a heredoc
Definition ast.h:188
PM_TOKEN_KEYWORD_DEFINED
@ PM_TOKEN_KEYWORD_DEFINED
defined?
Definition ast.h:236
PM_TOKEN_UCOLON_COLON
@ PM_TOKEN_UCOLON_COLON
unary ::
Definition ast.h:491
PM_TOKEN_LABEL_END
@ PM_TOKEN_LABEL_END
the end of a label
Definition ast.h:356
PM_TOKEN_EQUAL_GREATER
@ PM_TOKEN_EQUAL_GREATER
=>
Definition ast.h:152
PM_TOKEN_KEYWORD_UNLESS
@ PM_TOKEN_KEYWORD_UNLESS
unless
Definition ast.h:320
PM_TOKEN_KEYWORD_ENSURE
@ PM_TOKEN_KEYWORD_ENSURE
ensure
Definition ast.h:257
PM_TOKEN_AMPERSAND_EQUAL
@ PM_TOKEN_AMPERSAND_EQUAL
&=
Definition ast.h:50
PM_TOKEN_EQUAL_EQUAL
@ PM_TOKEN_EQUAL_EQUAL
==
Definition ast.h:146
PM_TOKEN_UPLUS
@ PM_TOKEN_UPLUS
+@
Definition ast.h:506
PM_TOKEN_FLOAT_IMAGINARY
@ PM_TOKEN_FLOAT_IMAGINARY
a floating pointer number with an imaginary suffix
Definition ast.h:161
PM_TOKEN_KEYWORD_BEGIN_UPCASE
@ PM_TOKEN_KEYWORD_BEGIN_UPCASE
BEGIN.
Definition ast.h:221
PM_TOKEN_LESS_EQUAL_GREATER
@ PM_TOKEN_LESS_EQUAL_GREATER
<=>
Definition ast.h:368
PM_TOKEN_KEYWORD_RESCUE_MODIFIER
@ PM_TOKEN_KEYWORD_RESCUE_MODIFIER
rescue in the modifier form
Definition ast.h:296
PM_TOKEN_MISSING
@ PM_TOKEN_MISSING
a token that was expected but not found
Definition ast.h:32
PM_TOKEN_MINUS_GREATER
@ PM_TOKEN_MINUS_GREATER
->
Definition ast.h:386
PM_TOKEN_KEYWORD_FALSE
@ PM_TOKEN_KEYWORD_FALSE
false
Definition ast.h:260
PM_TOKEN_PIPE_PIPE_EQUAL
@ PM_TOKEN_PIPE_PIPE_EQUAL
||=
Definition ast.h:434
PM_TOKEN_KEYWORD_IF
@ PM_TOKEN_KEYWORD_IF
if
Definition ast.h:266
PM_TOKEN_EMBEXPR_BEGIN
@ PM_TOKEN_EMBEXPR_BEGIN
#{
Definition ast.h:134
PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
@ PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
( for a parentheses node
Definition ast.h:398
PM_TOKEN_EMBDOC_END
@ PM_TOKEN_EMBDOC_END
=end
Definition ast.h:128
PM_TOKEN_KEYWORD_ELSE
@ PM_TOKEN_KEYWORD_ELSE
else
Definition ast.h:245
PM_TOKEN_BACK_REFERENCE
@ PM_TOKEN_BACK_REFERENCE
a back reference
Definition ast.h:56
PM_TOKEN_BRACKET_LEFT
@ PM_TOKEN_BRACKET_LEFT
[
Definition ast.h:74
PM_TOKEN_EOF
@ PM_TOKEN_EOF
final token in the file
Definition ast.h:29
PM_TOKEN_PIPE_PIPE
@ PM_TOKEN_PIPE_PIPE
||
Definition ast.h:431
PM_TOKEN_KEYWORD_NIL
@ PM_TOKEN_KEYWORD_NIL
nil
Definition ast.h:281
PM_TOKEN_PERCENT_UPPER_W
@ PM_TOKEN_PERCENT_UPPER_W
W
Definition ast.h:422
PM_TOKEN_KEYWORD_RETURN
@ PM_TOKEN_KEYWORD_RETURN
return
Definition ast.h:302
PM_TOKEN_CLASS_VARIABLE
@ PM_TOKEN_CLASS_VARIABLE
a class variable
Definition ast.h:98
PM_TOKEN_PIPE
@ PM_TOKEN_PIPE
|
Definition ast.h:425
PM_TOKEN_PARENTHESIS_LEFT
@ PM_TOKEN_PARENTHESIS_LEFT
(
Definition ast.h:395
PM_TOKEN_BANG_TILDE
@ PM_TOKEN_BANG_TILDE
!
Definition ast.h:65
PM_TOKEN_DOT
@ PM_TOKEN_DOT
the .
Definition ast.h:116
PM_TOKEN_PARENTHESIS_RIGHT
@ PM_TOKEN_PARENTHESIS_RIGHT
)
Definition ast.h:401
PM_TOKEN_KEYWORD_RESCUE
@ PM_TOKEN_KEYWORD_RESCUE
rescue
Definition ast.h:293
PM_TOKEN_INSTANCE_VARIABLE
@ PM_TOKEN_INSTANCE_VARIABLE
an instance variable
Definition ast.h:197
PM_TOKEN_PIPE_EQUAL
@ PM_TOKEN_PIPE_EQUAL
|=
Definition ast.h:428
PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
@ PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
[]=
Definition ast.h:83
PM_TOKEN_UAMPERSAND
@ PM_TOKEN_UAMPERSAND
unary &
Definition ast.h:488
PM_TOKEN_MINUS
@ PM_TOKEN_MINUS
Definition ast.h:380
PM_TOKEN_CONSTANT
@ PM_TOKEN_CONSTANT
a constant
Definition ast.h:113
PM_TOKEN_IDENTIFIER
@ PM_TOKEN_IDENTIFIER
an identifier
Definition ast.h:191
PM_TOKEN_EMBDOC_BEGIN
@ PM_TOKEN_EMBDOC_BEGIN
=begin
Definition ast.h:125
PM_TOKEN_STAR_EQUAL
@ PM_TOKEN_STAR_EQUAL
*=
Definition ast.h:464
PM_TOKEN_KEYWORD_OR
@ PM_TOKEN_KEYWORD_OR
or
Definition ast.h:287
PM_TOKEN_KEYWORD_AND
@ PM_TOKEN_KEYWORD_AND
and
Definition ast.h:215
PM_TOKEN_LESS
@ PM_TOKEN_LESS
<
Definition ast.h:362
PM_TOKEN_KEYWORD_BREAK
@ PM_TOKEN_KEYWORD_BREAK
break
Definition ast.h:224
PM_TOKEN_PERCENT_LOWER_W
@ PM_TOKEN_PERCENT_LOWER_W
w
Definition ast.h:413
PM_TOKEN_SYMBOL_BEGIN
@ PM_TOKEN_SYMBOL_BEGIN
the beginning of a symbol
Definition ast.h:482
PM_TOKEN_METHOD_NAME
@ PM_TOKEN_METHOD_NAME
a method name
Definition ast.h:377
PM_TOKEN_KEYWORD_CASE
@ PM_TOKEN_KEYWORD_CASE
case
Definition ast.h:227
PM_TOKEN_WORDS_SEP
@ PM_TOKEN_WORDS_SEP
a separator between words in a list
Definition ast.h:515
PM_TOKEN_FLOAT_RATIONAL
@ PM_TOKEN_FLOAT_RATIONAL
a floating pointer number with a rational suffix
Definition ast.h:164
PM_TOKEN_LESS_LESS_EQUAL
@ PM_TOKEN_LESS_LESS_EQUAL
<<=
Definition ast.h:374
PM_TOKEN_EMBDOC_LINE
@ PM_TOKEN_EMBDOC_LINE
a line inside of embedded documentation
Definition ast.h:131
PM_TOKEN_KEYWORD_SUPER
@ PM_TOKEN_KEYWORD_SUPER
super
Definition ast.h:308
PM_TOKEN_KEYWORD_DO
@ PM_TOKEN_KEYWORD_DO
do
Definition ast.h:239
PM_TOKEN_KEYWORD_REDO
@ PM_TOKEN_KEYWORD_REDO
redo
Definition ast.h:290
PM_TOKEN_EQUAL_TILDE
@ PM_TOKEN_EQUAL_TILDE
=~
Definition ast.h:155
PM_TOKEN_EMBEXPR_END
@ PM_TOKEN_EMBEXPR_END
}
Definition ast.h:137
PM_TOKEN_KEYWORD_END_UPCASE
@ PM_TOKEN_KEYWORD_END_UPCASE
END.
Definition ast.h:254
PM_TOKEN_KEYWORD___LINE__
@ PM_TOKEN_KEYWORD___LINE__
LINE
Definition ast.h:350
PM_TOKEN_STRING_END
@ PM_TOKEN_STRING_END
the end of a string
Definition ast.h:479
PM_TOKEN_STRING_CONTENT
@ PM_TOKEN_STRING_CONTENT
the contents of a string
Definition ast.h:476
PM_TOKEN_BRACE_LEFT
@ PM_TOKEN_BRACE_LEFT
{
Definition ast.h:68
PM_TOKEN_COLON_COLON
@ PM_TOKEN_COLON_COLON
::
Definition ast.h:104
PM_TOKEN_GREATER_GREATER
@ PM_TOKEN_GREATER_GREATER
Definition ast.h:179
PM_TOKEN_PERCENT_LOWER_X
@ PM_TOKEN_PERCENT_LOWER_X
x
Definition ast.h:416
PM_TOKEN_KEYWORD_SELF
@ PM_TOKEN_KEYWORD_SELF
self
Definition ast.h:305
PM_TOKEN_PERCENT_LOWER_I
@ PM_TOKEN_PERCENT_LOWER_I
i
Definition ast.h:410
PM_TOKEN_KEYWORD_ALIAS
@ PM_TOKEN_KEYWORD_ALIAS
alias
Definition ast.h:212
PM_TOKEN_GLOBAL_VARIABLE
@ PM_TOKEN_GLOBAL_VARIABLE
a global variable
Definition ast.h:170
PM_TOKEN_KEYWORD_IF_MODIFIER
@ PM_TOKEN_KEYWORD_IF_MODIFIER
if in the modifier form
Definition ast.h:269
PM_TOKEN_SLASH
@ PM_TOKEN_SLASH
/
Definition ast.h:455
PM_TOKEN_KEYWORD_RETRY
@ PM_TOKEN_KEYWORD_RETRY
retry
Definition ast.h:299
PM_TOKEN_COLON
@ PM_TOKEN_COLON
:
Definition ast.h:101
PM_TOKEN_KEYWORD_UNDEF
@ PM_TOKEN_KEYWORD_UNDEF
undef
Definition ast.h:317
PM_TOKEN_BRACKET_RIGHT
@ PM_TOKEN_BRACKET_RIGHT
]
Definition ast.h:86
PM_TOKEN_KEYWORD_FOR
@ PM_TOKEN_KEYWORD_FOR
for
Definition ast.h:263
PM_TOKEN_KEYWORD_THEN
@ PM_TOKEN_KEYWORD_THEN
then
Definition ast.h:311
PM_TOKEN_QUESTION_MARK
@ PM_TOKEN_QUESTION_MARK
?
Definition ast.h:443
PM_TOKEN___END__
@ PM_TOKEN___END__
marker for the point in the file at which the parser should stop
Definition ast.h:518
PM_TOKEN_KEYWORD_WHILE
@ PM_TOKEN_KEYWORD_WHILE
while
Definition ast.h:335
PM_TOKEN_EQUAL
@ PM_TOKEN_EQUAL
=
Definition ast.h:143
PM_TOKEN_KEYWORD_DEF
@ PM_TOKEN_KEYWORD_DEF
def
Definition ast.h:233
PM_TOKEN_UDOT_DOT_DOT
@ PM_TOKEN_UDOT_DOT_DOT
unary ... operator
Definition ast.h:497
PM_TOKEN_STAR
@ PM_TOKEN_STAR
Definition ast.h:461
PM_TOKEN_KEYWORD_WHILE_MODIFIER
@ PM_TOKEN_KEYWORD_WHILE_MODIFIER
while in the modifier form
Definition ast.h:338
PM_TOKEN_KEYWORD_TRUE
@ PM_TOKEN_KEYWORD_TRUE
true
Definition ast.h:314
PM_TOKEN_BRACE_RIGHT
@ PM_TOKEN_BRACE_RIGHT
}
Definition ast.h:71
PM_TOKEN_SEMICOLON
@ PM_TOKEN_SEMICOLON
;
Definition ast.h:452
PM_TOKEN_REGEXP_BEGIN
@ PM_TOKEN_REGEXP_BEGIN
the beginning of a regular expression
Definition ast.h:446
PM_TOKEN_CARET
@ PM_TOKEN_CARET
^
Definition ast.h:89
PM_TOKEN_PERCENT_UPPER_I
@ PM_TOKEN_PERCENT_UPPER_I
I
Definition ast.h:419
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:242
PM_TOKEN_KEYWORD_MODULE
@ PM_TOKEN_KEYWORD_MODULE
module
Definition ast.h:275
PM_TOKEN_PLUS
@ PM_TOKEN_PLUS
Definition ast.h:437
PM_TOKEN_KEYWORD_NEXT
@ PM_TOKEN_KEYWORD_NEXT
next
Definition ast.h:278
PM_TOKEN_BACKTICK
@ PM_TOKEN_BACKTICK
`
Definition ast.h:53
PM_TOKEN_INTEGER_IMAGINARY
@ PM_TOKEN_INTEGER_IMAGINARY
an integer with an imaginary suffix
Definition ast.h:203
PM_TOKEN_LABEL
@ PM_TOKEN_LABEL
a label
Definition ast.h:353
PM_TOKEN_STAR_STAR_EQUAL
@ PM_TOKEN_STAR_STAR_EQUAL
**=
Definition ast.h:470
PM_TOKEN_CHARACTER_LITERAL
@ PM_TOKEN_CHARACTER_LITERAL
a character literal
Definition ast.h:95
PM_TOKEN_AMPERSAND_AMPERSAND
@ PM_TOKEN_AMPERSAND_AMPERSAND
&&
Definition ast.h:41
PM_TOKEN_UMINUS
@ PM_TOKEN_UMINUS
-@
Definition ast.h:500
PM_TOKEN_LESS_LESS
@ PM_TOKEN_LESS_LESS
<<
Definition ast.h:371
PM_TOKEN_GREATER_EQUAL
@ PM_TOKEN_GREATER_EQUAL
>=
Definition ast.h:176
PM_TOKEN_COMMENT
@ PM_TOKEN_COMMENT
a comment
Definition ast.h:110
PM_TOKEN_CARET_EQUAL
@ PM_TOKEN_CARET_EQUAL
^=
Definition ast.h:92
PM_TOKEN_KEYWORD_ELSIF
@ PM_TOKEN_KEYWORD_ELSIF
elsif
Definition ast.h:248
PM_TOKEN_STRING_BEGIN
@ PM_TOKEN_STRING_BEGIN
the beginning of a string
Definition ast.h:473
PM_TOKEN_LESS_EQUAL
@ PM_TOKEN_LESS_EQUAL
<=
Definition ast.h:365
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_encoding_flags
pm_encoding_flags
Flags for nodes that have unescaped content.
Definition ast.h:4489
PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
@ PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:4494
PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
@ PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:4491
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_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:4525
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:4527
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:24
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:1088
pm_alias_global_variable_node::old_name
struct pm_node * old_name
AliasGlobalVariableNode#old_name.
Definition ast.h:1096
pm_alias_global_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1090
pm_alias_global_variable_node::new_name
struct pm_node * new_name
AliasGlobalVariableNode#new_name.
Definition ast.h:1093
pm_alias_global_variable_node::keyword_loc
pm_location_t keyword_loc
AliasGlobalVariableNode#keyword_loc.
Definition ast.h:1099
pm_alias_method_node
AliasMethodNode.
Definition ast.h:1109
pm_alias_method_node::old_name
struct pm_node * old_name
AliasMethodNode#old_name.
Definition ast.h:1117
pm_alias_method_node::new_name
struct pm_node * new_name
AliasMethodNode#new_name.
Definition ast.h:1114
pm_alias_method_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1111
pm_alias_method_node::keyword_loc
pm_location_t keyword_loc
AliasMethodNode#keyword_loc.
Definition ast.h:1120
pm_alternation_pattern_node
AlternationPatternNode.
Definition ast.h:1130
pm_alternation_pattern_node::operator_loc
pm_location_t operator_loc
AlternationPatternNode#operator_loc.
Definition ast.h:1141
pm_alternation_pattern_node::left
struct pm_node * left
AlternationPatternNode#left.
Definition ast.h:1135
pm_alternation_pattern_node::right
struct pm_node * right
AlternationPatternNode#right.
Definition ast.h:1138
pm_alternation_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1132
pm_and_node
AndNode.
Definition ast.h:1151
pm_and_node::left
struct pm_node * left
AndNode#left.
Definition ast.h:1156
pm_and_node::right
struct pm_node * right
AndNode#right.
Definition ast.h:1159
pm_and_node::operator_loc
pm_location_t operator_loc
AndNode#operator_loc.
Definition ast.h:1162
pm_and_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1153
pm_arguments_node
ArgumentsNode.
Definition ast.h:1174
pm_arguments_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1176
pm_arguments_node::arguments
struct pm_node_list arguments
ArgumentsNode#arguments.
Definition ast.h:1179
pm_array_node
ArrayNode.
Definition ast.h:1191
pm_array_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1193
pm_array_node::closing_loc
pm_location_t closing_loc
ArrayNode#closing_loc.
Definition ast.h:1202
pm_array_node::elements
struct pm_node_list elements
ArrayNode#elements.
Definition ast.h:1196
pm_array_node::opening_loc
pm_location_t opening_loc
ArrayNode#opening_loc.
Definition ast.h:1199
pm_array_pattern_node
ArrayPatternNode.
Definition ast.h:1212
pm_array_pattern_node::requireds
struct pm_node_list requireds
ArrayPatternNode#requireds.
Definition ast.h:1220
pm_array_pattern_node::rest
struct pm_node * rest
ArrayPatternNode#rest.
Definition ast.h:1223
pm_array_pattern_node::constant
struct pm_node * constant
ArrayPatternNode#constant.
Definition ast.h:1217
pm_array_pattern_node::opening_loc
pm_location_t opening_loc
ArrayPatternNode#opening_loc.
Definition ast.h:1229
pm_array_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1214
pm_array_pattern_node::closing_loc
pm_location_t closing_loc
ArrayPatternNode#closing_loc.
Definition ast.h:1232
pm_array_pattern_node::posts
struct pm_node_list posts
ArrayPatternNode#posts.
Definition ast.h:1226
pm_assoc_node
AssocNode.
Definition ast.h:1242
pm_assoc_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1244
pm_assoc_node::value
struct pm_node * value
AssocNode#value.
Definition ast.h:1250
pm_assoc_node::key
struct pm_node * key
AssocNode#key.
Definition ast.h:1247
pm_assoc_node::operator_loc
pm_location_t operator_loc
AssocNode#operator_loc.
Definition ast.h:1253
pm_assoc_splat_node
AssocSplatNode.
Definition ast.h:1263
pm_assoc_splat_node::value
struct pm_node * value
AssocSplatNode#value.
Definition ast.h:1268
pm_assoc_splat_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1265
pm_assoc_splat_node::operator_loc
pm_location_t operator_loc
AssocSplatNode#operator_loc.
Definition ast.h:1271
pm_back_reference_read_node
BackReferenceReadNode.
Definition ast.h:1281
pm_back_reference_read_node::name
pm_constant_id_t name
BackReferenceReadNode#name.
Definition ast.h:1286
pm_back_reference_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1283
pm_begin_node
BeginNode.
Definition ast.h:1296
pm_begin_node::ensure_clause
struct pm_ensure_node * ensure_clause
BeginNode#ensure_clause.
Definition ast.h:1313
pm_begin_node::rescue_clause
struct pm_rescue_node * rescue_clause
BeginNode#rescue_clause.
Definition ast.h:1307
pm_begin_node::statements
struct pm_statements_node * statements
BeginNode#statements.
Definition ast.h:1304
pm_begin_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1298
pm_begin_node::end_keyword_loc
pm_location_t end_keyword_loc
BeginNode#end_keyword_loc.
Definition ast.h:1316
pm_begin_node::begin_keyword_loc
pm_location_t begin_keyword_loc
BeginNode#begin_keyword_loc.
Definition ast.h:1301
pm_begin_node::else_clause
struct pm_else_node * else_clause
BeginNode#else_clause.
Definition ast.h:1310
pm_block_argument_node
BlockArgumentNode.
Definition ast.h:1326
pm_block_argument_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1328
pm_block_argument_node::expression
struct pm_node * expression
BlockArgumentNode#expression.
Definition ast.h:1331
pm_block_argument_node::operator_loc
pm_location_t operator_loc
BlockArgumentNode#operator_loc.
Definition ast.h:1334
pm_block_local_variable_node
BlockLocalVariableNode.
Definition ast.h:1344
pm_block_local_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1346
pm_block_local_variable_node::name
pm_constant_id_t name
BlockLocalVariableNode#name.
Definition ast.h:1349
pm_block_node
BlockNode.
Definition ast.h:1359
pm_block_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1361
pm_block_node::closing_loc
pm_location_t closing_loc
BlockNode#closing_loc.
Definition ast.h:1379
pm_block_node::parameters
struct pm_node * parameters
BlockNode#parameters.
Definition ast.h:1370
pm_block_node::opening_loc
pm_location_t opening_loc
BlockNode#opening_loc.
Definition ast.h:1376
pm_block_node::body
struct pm_node * body
BlockNode#body.
Definition ast.h:1373
pm_block_node::locals_body_index
uint32_t locals_body_index
BlockNode#locals_body_index.
Definition ast.h:1367
pm_block_node::locals
pm_constant_id_list_t locals
BlockNode#locals.
Definition ast.h:1364
pm_block_parameter_node
BlockParameterNode.
Definition ast.h:1389
pm_block_parameter_node::operator_loc
pm_location_t operator_loc
BlockParameterNode#operator_loc.
Definition ast.h:1400
pm_block_parameter_node::name_loc
pm_location_t name_loc
BlockParameterNode#name_loc.
Definition ast.h:1397
pm_block_parameter_node::name
pm_constant_id_t name
BlockParameterNode#name.
Definition ast.h:1394
pm_block_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1391
pm_block_parameters_node
BlockParametersNode.
Definition ast.h:1410
pm_block_parameters_node::parameters
struct pm_parameters_node * parameters
BlockParametersNode#parameters.
Definition ast.h:1415
pm_block_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1412
pm_block_parameters_node::locals
struct pm_node_list locals
BlockParametersNode#locals.
Definition ast.h:1418
pm_block_parameters_node::closing_loc
pm_location_t closing_loc
BlockParametersNode#closing_loc.
Definition ast.h:1424
pm_block_parameters_node::opening_loc
pm_location_t opening_loc
BlockParametersNode#opening_loc.
Definition ast.h:1421
pm_break_node
BreakNode.
Definition ast.h:1434
pm_break_node::arguments
struct pm_arguments_node * arguments
BreakNode#arguments.
Definition ast.h:1439
pm_break_node::keyword_loc
pm_location_t keyword_loc
BreakNode#keyword_loc.
Definition ast.h:1442
pm_break_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1436
pm_call_and_write_node
CallAndWriteNode.
Definition ast.h:1456
pm_call_and_write_node::operator_loc
pm_location_t operator_loc
CallAndWriteNode#operator_loc.
Definition ast.h:1476
pm_call_and_write_node::value
struct pm_node * value
CallAndWriteNode#value.
Definition ast.h:1479
pm_call_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1458
pm_call_and_write_node::call_operator_loc
pm_location_t call_operator_loc
CallAndWriteNode#call_operator_loc.
Definition ast.h:1464
pm_call_and_write_node::message_loc
pm_location_t message_loc
CallAndWriteNode#message_loc.
Definition ast.h:1467
pm_call_and_write_node::read_name
pm_constant_id_t read_name
CallAndWriteNode#read_name.
Definition ast.h:1470
pm_call_and_write_node::write_name
pm_constant_id_t write_name
CallAndWriteNode#write_name.
Definition ast.h:1473
pm_call_and_write_node::receiver
struct pm_node * receiver
CallAndWriteNode#receiver.
Definition ast.h:1461
pm_call_node
CallNode.
Definition ast.h:1493
pm_call_node::opening_loc
pm_location_t opening_loc
CallNode#opening_loc.
Definition ast.h:1510
pm_call_node::closing_loc
pm_location_t closing_loc
CallNode#closing_loc.
Definition ast.h:1516
pm_call_node::receiver
struct pm_node * receiver
CallNode#receiver.
Definition ast.h:1498
pm_call_node::name
pm_constant_id_t name
CallNode::name.
Definition ast.h:1504
pm_call_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1495
pm_call_node::call_operator_loc
pm_location_t call_operator_loc
CallNode#call_operator_loc.
Definition ast.h:1501
pm_call_node::message_loc
pm_location_t message_loc
CallNode#message_loc.
Definition ast.h:1507
pm_call_node::arguments
struct pm_arguments_node * arguments
CallNode#arguments.
Definition ast.h:1513
pm_call_node::block
struct pm_node * block
CallNode#block.
Definition ast.h:1519
pm_call_operator_write_node
CallOperatorWriteNode.
Definition ast.h:1533
pm_call_operator_write_node::read_name
pm_constant_id_t read_name
CallOperatorWriteNode#read_name.
Definition ast.h:1547
pm_call_operator_write_node::receiver
struct pm_node * receiver
CallOperatorWriteNode#receiver.
Definition ast.h:1538
pm_call_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1535
pm_call_operator_write_node::write_name
pm_constant_id_t write_name
CallOperatorWriteNode#write_name.
Definition ast.h:1550
pm_call_operator_write_node::message_loc
pm_location_t message_loc
CallOperatorWriteNode#message_loc.
Definition ast.h:1544
pm_call_operator_write_node::operator_loc
pm_location_t operator_loc
CallOperatorWriteNode#operator_loc.
Definition ast.h:1556
pm_call_operator_write_node::value
struct pm_node * value
CallOperatorWriteNode#value.
Definition ast.h:1559
pm_call_operator_write_node::call_operator_loc
pm_location_t call_operator_loc
CallOperatorWriteNode#call_operator_loc.
Definition ast.h:1541
pm_call_or_write_node
CallOrWriteNode.
Definition ast.h:1573
pm_call_or_write_node::operator_loc
pm_location_t operator_loc
CallOrWriteNode#operator_loc.
Definition ast.h:1593
pm_call_or_write_node::call_operator_loc
pm_location_t call_operator_loc
CallOrWriteNode#call_operator_loc.
Definition ast.h:1581
pm_call_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1575
pm_call_or_write_node::receiver
struct pm_node * receiver
CallOrWriteNode#receiver.
Definition ast.h:1578
pm_call_or_write_node::value
struct pm_node * value
CallOrWriteNode#value.
Definition ast.h:1596
pm_call_or_write_node::write_name
pm_constant_id_t write_name
CallOrWriteNode#write_name.
Definition ast.h:1590
pm_call_or_write_node::read_name
pm_constant_id_t read_name
CallOrWriteNode#read_name.
Definition ast.h:1587
pm_call_or_write_node::message_loc
pm_location_t message_loc
CallOrWriteNode#message_loc.
Definition ast.h:1584
pm_call_target_node
CallTargetNode.
Definition ast.h:1610
pm_call_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1612
pm_call_target_node::name
pm_constant_id_t name
CallTargetNode#name.
Definition ast.h:1621
pm_call_target_node::receiver
struct pm_node * receiver
CallTargetNode#receiver.
Definition ast.h:1615
pm_call_target_node::call_operator_loc
pm_location_t call_operator_loc
CallTargetNode#call_operator_loc.
Definition ast.h:1618
pm_call_target_node::message_loc
pm_location_t message_loc
CallTargetNode#message_loc.
Definition ast.h:1624
pm_capture_pattern_node
CapturePatternNode.
Definition ast.h:1634
pm_capture_pattern_node::target
struct pm_node * target
CapturePatternNode#target.
Definition ast.h:1642
pm_capture_pattern_node::operator_loc
pm_location_t operator_loc
CapturePatternNode#operator_loc.
Definition ast.h:1645
pm_capture_pattern_node::value
struct pm_node * value
CapturePatternNode#value.
Definition ast.h:1639
pm_capture_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1636
pm_case_match_node
CaseMatchNode.
Definition ast.h:1655
pm_case_match_node::end_keyword_loc
pm_location_t end_keyword_loc
CaseMatchNode#end_keyword_loc.
Definition ast.h:1672
pm_case_match_node::conditions
struct pm_node_list conditions
CaseMatchNode#conditions.
Definition ast.h:1663
pm_case_match_node::consequent
struct pm_else_node * consequent
CaseMatchNode#consequent.
Definition ast.h:1666
pm_case_match_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1657
pm_case_match_node::case_keyword_loc
pm_location_t case_keyword_loc
CaseMatchNode#case_keyword_loc.
Definition ast.h:1669
pm_case_match_node::predicate
struct pm_node * predicate
CaseMatchNode#predicate.
Definition ast.h:1660
pm_case_node
CaseNode.
Definition ast.h:1682
pm_case_node::predicate
struct pm_node * predicate
CaseNode#predicate.
Definition ast.h:1687
pm_case_node::consequent
struct pm_else_node * consequent
CaseNode#consequent.
Definition ast.h:1693
pm_case_node::conditions
struct pm_node_list conditions
CaseNode#conditions.
Definition ast.h:1690
pm_case_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1684
pm_case_node::case_keyword_loc
pm_location_t case_keyword_loc
CaseNode#case_keyword_loc.
Definition ast.h:1696
pm_case_node::end_keyword_loc
pm_location_t end_keyword_loc
CaseNode#end_keyword_loc.
Definition ast.h:1699
pm_class_node
ClassNode.
Definition ast.h:1709
pm_class_node::class_keyword_loc
pm_location_t class_keyword_loc
ClassNode#class_keyword_loc.
Definition ast.h:1717
pm_class_node::end_keyword_loc
pm_location_t end_keyword_loc
ClassNode#end_keyword_loc.
Definition ast.h:1732
pm_class_node::constant_path
struct pm_node * constant_path
ClassNode#constant_path.
Definition ast.h:1720
pm_class_node::locals
pm_constant_id_list_t locals
ClassNode#locals.
Definition ast.h:1714
pm_class_node::inheritance_operator_loc
pm_location_t inheritance_operator_loc
ClassNode#inheritance_operator_loc.
Definition ast.h:1723
pm_class_node::name
pm_constant_id_t name
ClassNode#name.
Definition ast.h:1735
pm_class_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1711
pm_class_node::body
struct pm_node * body
ClassNode#body.
Definition ast.h:1729
pm_class_node::superclass
struct pm_node * superclass
ClassNode#superclass.
Definition ast.h:1726
pm_class_variable_and_write_node
ClassVariableAndWriteNode.
Definition ast.h:1745
pm_class_variable_and_write_node::value
struct pm_node * value
ClassVariableAndWriteNode#value.
Definition ast.h:1759
pm_class_variable_and_write_node::name
pm_constant_id_t name
ClassVariableAndWriteNode#name.
Definition ast.h:1750
pm_class_variable_and_write_node::operator_loc
pm_location_t operator_loc
ClassVariableAndWriteNode#operator_loc.
Definition ast.h:1756
pm_class_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1747
pm_class_variable_and_write_node::name_loc
pm_location_t name_loc
ClassVariableAndWriteNode#name_loc.
Definition ast.h:1753
pm_class_variable_operator_write_node
ClassVariableOperatorWriteNode.
Definition ast.h:1769
pm_class_variable_operator_write_node::operator_loc
pm_location_t operator_loc
ClassVariableOperatorWriteNode#operator_loc.
Definition ast.h:1780
pm_class_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1771
pm_class_variable_operator_write_node::name
pm_constant_id_t name
ClassVariableOperatorWriteNode#name.
Definition ast.h:1774
pm_class_variable_operator_write_node::name_loc
pm_location_t name_loc
ClassVariableOperatorWriteNode#name_loc.
Definition ast.h:1777
pm_class_variable_operator_write_node::value
struct pm_node * value
ClassVariableOperatorWriteNode#value.
Definition ast.h:1783
pm_class_variable_or_write_node
ClassVariableOrWriteNode.
Definition ast.h:1796
pm_class_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1798
pm_class_variable_or_write_node::name_loc
pm_location_t name_loc
ClassVariableOrWriteNode#name_loc.
Definition ast.h:1804
pm_class_variable_or_write_node::operator_loc
pm_location_t operator_loc
ClassVariableOrWriteNode#operator_loc.
Definition ast.h:1807
pm_class_variable_or_write_node::name
pm_constant_id_t name
ClassVariableOrWriteNode#name.
Definition ast.h:1801
pm_class_variable_or_write_node::value
struct pm_node * value
ClassVariableOrWriteNode#value.
Definition ast.h:1810
pm_class_variable_read_node
ClassVariableReadNode.
Definition ast.h:1820
pm_class_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1822
pm_class_variable_read_node::name
pm_constant_id_t name
ClassVariableReadNode#name.
Definition ast.h:1825
pm_class_variable_target_node
ClassVariableTargetNode.
Definition ast.h:1835
pm_class_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1837
pm_class_variable_target_node::name
pm_constant_id_t name
ClassVariableTargetNode#name.
Definition ast.h:1840
pm_class_variable_write_node
ClassVariableWriteNode.
Definition ast.h:1850
pm_class_variable_write_node::name_loc
pm_location_t name_loc
ClassVariableWriteNode#name_loc.
Definition ast.h:1858
pm_class_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1852
pm_class_variable_write_node::value
struct pm_node * value
ClassVariableWriteNode#value.
Definition ast.h:1861
pm_class_variable_write_node::operator_loc
pm_location_t operator_loc
ClassVariableWriteNode#operator_loc.
Definition ast.h:1864
pm_class_variable_write_node::name
pm_constant_id_t name
ClassVariableWriteNode#name.
Definition ast.h:1855
pm_constant_and_write_node
ConstantAndWriteNode.
Definition ast.h:1874
pm_constant_and_write_node::operator_loc
pm_location_t operator_loc
ConstantAndWriteNode#operator_loc.
Definition ast.h:1885
pm_constant_and_write_node::name_loc
pm_location_t name_loc
ConstantAndWriteNode#name_loc.
Definition ast.h:1882
pm_constant_and_write_node::name
pm_constant_id_t name
ConstantAndWriteNode#name.
Definition ast.h:1879
pm_constant_and_write_node::value
struct pm_node * value
ConstantAndWriteNode#value.
Definition ast.h:1888
pm_constant_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1876
pm_constant_id_list_t
A list of constant IDs.
Definition pm_constant_pool.h:29
pm_constant_operator_write_node
ConstantOperatorWriteNode.
Definition ast.h:1898
pm_constant_operator_write_node::name
pm_constant_id_t name
ConstantOperatorWriteNode#name.
Definition ast.h:1903
pm_constant_operator_write_node::name_loc
pm_location_t name_loc
ConstantOperatorWriteNode#name_loc.
Definition ast.h:1906
pm_constant_operator_write_node::value
struct pm_node * value
ConstantOperatorWriteNode#value.
Definition ast.h:1912
pm_constant_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1900
pm_constant_operator_write_node::operator_loc
pm_location_t operator_loc
ConstantOperatorWriteNode#operator_loc.
Definition ast.h:1909
pm_constant_or_write_node
ConstantOrWriteNode.
Definition ast.h:1925
pm_constant_or_write_node::operator_loc
pm_location_t operator_loc
ConstantOrWriteNode#operator_loc.
Definition ast.h:1936
pm_constant_or_write_node::name_loc
pm_location_t name_loc
ConstantOrWriteNode#name_loc.
Definition ast.h:1933
pm_constant_or_write_node::name
pm_constant_id_t name
ConstantOrWriteNode#name.
Definition ast.h:1930
pm_constant_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1927
pm_constant_or_write_node::value
struct pm_node * value
ConstantOrWriteNode#value.
Definition ast.h:1939
pm_constant_path_and_write_node
ConstantPathAndWriteNode.
Definition ast.h:1949
pm_constant_path_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1951
pm_constant_path_and_write_node::target
struct pm_constant_path_node * target
ConstantPathAndWriteNode#target.
Definition ast.h:1954
pm_constant_path_and_write_node::operator_loc
pm_location_t operator_loc
ConstantPathAndWriteNode#operator_loc.
Definition ast.h:1957
pm_constant_path_and_write_node::value
struct pm_node * value
ConstantPathAndWriteNode#value.
Definition ast.h:1960
pm_constant_path_node
ConstantPathNode.
Definition ast.h:1970
pm_constant_path_node::delimiter_loc
pm_location_t delimiter_loc
ConstantPathNode#delimiter_loc.
Definition ast.h:1981
pm_constant_path_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1972
pm_constant_path_node::child
struct pm_node * child
ConstantPathNode#child.
Definition ast.h:1978
pm_constant_path_node::parent
struct pm_node * parent
ConstantPathNode#parent.
Definition ast.h:1975
pm_constant_path_operator_write_node
ConstantPathOperatorWriteNode.
Definition ast.h:1991
pm_constant_path_operator_write_node::target
struct pm_constant_path_node * target
ConstantPathOperatorWriteNode#target.
Definition ast.h:1996
pm_constant_path_operator_write_node::value
struct pm_node * value
ConstantPathOperatorWriteNode#value.
Definition ast.h:2002
pm_constant_path_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:1993
pm_constant_path_operator_write_node::operator_loc
pm_location_t operator_loc
ConstantPathOperatorWriteNode#operator_loc.
Definition ast.h:1999
pm_constant_path_or_write_node
ConstantPathOrWriteNode.
Definition ast.h:2015
pm_constant_path_or_write_node::operator_loc
pm_location_t operator_loc
ConstantPathOrWriteNode#operator_loc.
Definition ast.h:2023
pm_constant_path_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2017
pm_constant_path_or_write_node::value
struct pm_node * value
ConstantPathOrWriteNode#value.
Definition ast.h:2026
pm_constant_path_or_write_node::target
struct pm_constant_path_node * target
ConstantPathOrWriteNode#target.
Definition ast.h:2020
pm_constant_path_target_node
ConstantPathTargetNode.
Definition ast.h:2036
pm_constant_path_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2038
pm_constant_path_target_node::parent
struct pm_node * parent
ConstantPathTargetNode#parent.
Definition ast.h:2041
pm_constant_path_target_node::delimiter_loc
pm_location_t delimiter_loc
ConstantPathTargetNode#delimiter_loc.
Definition ast.h:2047
pm_constant_path_target_node::child
struct pm_node * child
ConstantPathTargetNode#child.
Definition ast.h:2044
pm_constant_path_write_node
ConstantPathWriteNode.
Definition ast.h:2057
pm_constant_path_write_node::target
struct pm_constant_path_node * target
ConstantPathWriteNode#target.
Definition ast.h:2062
pm_constant_path_write_node::operator_loc
pm_location_t operator_loc
ConstantPathWriteNode#operator_loc.
Definition ast.h:2065
pm_constant_path_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2059
pm_constant_path_write_node::value
struct pm_node * value
ConstantPathWriteNode#value.
Definition ast.h:2068
pm_constant_read_node
ConstantReadNode.
Definition ast.h:2078
pm_constant_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2080
pm_constant_read_node::name
pm_constant_id_t name
ConstantReadNode#name.
Definition ast.h:2083
pm_constant_target_node
ConstantTargetNode.
Definition ast.h:2093
pm_constant_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2095
pm_constant_target_node::name
pm_constant_id_t name
ConstantTargetNode#name.
Definition ast.h:2098
pm_constant_write_node
ConstantWriteNode.
Definition ast.h:2108
pm_constant_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2110
pm_constant_write_node::value
struct pm_node * value
ConstantWriteNode#value.
Definition ast.h:2119
pm_constant_write_node::name
pm_constant_id_t name
ConstantWriteNode#name.
Definition ast.h:2113
pm_constant_write_node::name_loc
pm_location_t name_loc
ConstantWriteNode#name_loc.
Definition ast.h:2116
pm_constant_write_node::operator_loc
pm_location_t operator_loc
ConstantWriteNode#operator_loc.
Definition ast.h:2122
pm_def_node
DefNode.
Definition ast.h:2132
pm_def_node::parameters
struct pm_parameters_node * parameters
DefNode#parameters.
Definition ast.h:2146
pm_def_node::locals_body_index
uint32_t locals_body_index
DefNode#locals_body_index.
Definition ast.h:2155
pm_def_node::end_keyword_loc
pm_location_t end_keyword_loc
DefNode#end_keyword_loc.
Definition ast.h:2173
pm_def_node::name
pm_constant_id_t name
DefNode#name.
Definition ast.h:2137
pm_def_node::name_loc
pm_location_t name_loc
DefNode#name_loc.
Definition ast.h:2140
pm_def_node::rparen_loc
pm_location_t rparen_loc
DefNode#rparen_loc.
Definition ast.h:2167
pm_def_node::body
struct pm_node * body
DefNode#body.
Definition ast.h:2149
pm_def_node::equal_loc
pm_location_t equal_loc
DefNode#equal_loc.
Definition ast.h:2170
pm_def_node::def_keyword_loc
pm_location_t def_keyword_loc
DefNode#def_keyword_loc.
Definition ast.h:2158
pm_def_node::receiver
struct pm_node * receiver
DefNode#receiver.
Definition ast.h:2143
pm_def_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2134
pm_def_node::lparen_loc
pm_location_t lparen_loc
DefNode#lparen_loc.
Definition ast.h:2164
pm_def_node::operator_loc
pm_location_t operator_loc
DefNode#operator_loc.
Definition ast.h:2161
pm_def_node::locals
pm_constant_id_list_t locals
DefNode#locals.
Definition ast.h:2152
pm_defined_node
DefinedNode.
Definition ast.h:2183
pm_defined_node::lparen_loc
pm_location_t lparen_loc
DefinedNode#lparen_loc.
Definition ast.h:2188
pm_defined_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2185
pm_defined_node::rparen_loc
pm_location_t rparen_loc
DefinedNode#rparen_loc.
Definition ast.h:2194
pm_defined_node::keyword_loc
pm_location_t keyword_loc
DefinedNode#keyword_loc.
Definition ast.h:2197
pm_defined_node::value
struct pm_node * value
DefinedNode#value.
Definition ast.h:2191
pm_else_node
ElseNode.
Definition ast.h:2207
pm_else_node::statements
struct pm_statements_node * statements
ElseNode#statements.
Definition ast.h:2215
pm_else_node::else_keyword_loc
pm_location_t else_keyword_loc
ElseNode#else_keyword_loc.
Definition ast.h:2212
pm_else_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2209
pm_else_node::end_keyword_loc
pm_location_t end_keyword_loc
ElseNode#end_keyword_loc.
Definition ast.h:2218
pm_embedded_statements_node
EmbeddedStatementsNode.
Definition ast.h:2228
pm_embedded_statements_node::closing_loc
pm_location_t closing_loc
EmbeddedStatementsNode#closing_loc.
Definition ast.h:2239
pm_embedded_statements_node::statements
struct pm_statements_node * statements
EmbeddedStatementsNode#statements.
Definition ast.h:2236
pm_embedded_statements_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2230
pm_embedded_statements_node::opening_loc
pm_location_t opening_loc
EmbeddedStatementsNode#opening_loc.
Definition ast.h:2233
pm_embedded_variable_node
EmbeddedVariableNode.
Definition ast.h:2249
pm_embedded_variable_node::variable
struct pm_node * variable
EmbeddedVariableNode#variable.
Definition ast.h:2257
pm_embedded_variable_node::operator_loc
pm_location_t operator_loc
EmbeddedVariableNode#operator_loc.
Definition ast.h:2254
pm_embedded_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2251
pm_ensure_node
EnsureNode.
Definition ast.h:2267
pm_ensure_node::statements
struct pm_statements_node * statements
EnsureNode#statements.
Definition ast.h:2275
pm_ensure_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2269
pm_ensure_node::ensure_keyword_loc
pm_location_t ensure_keyword_loc
EnsureNode#ensure_keyword_loc.
Definition ast.h:2272
pm_ensure_node::end_keyword_loc
pm_location_t end_keyword_loc
EnsureNode#end_keyword_loc.
Definition ast.h:2278
pm_false_node
FalseNode.
Definition ast.h:2288
pm_false_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2290
pm_find_pattern_node
FindPatternNode.
Definition ast.h:2300
pm_find_pattern_node::left
struct pm_node * left
FindPatternNode#left.
Definition ast.h:2308
pm_find_pattern_node::constant
struct pm_node * constant
FindPatternNode#constant.
Definition ast.h:2305
pm_find_pattern_node::right
struct pm_node * right
FindPatternNode#right.
Definition ast.h:2314
pm_find_pattern_node::opening_loc
pm_location_t opening_loc
FindPatternNode#opening_loc.
Definition ast.h:2317
pm_find_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2302
pm_find_pattern_node::requireds
struct pm_node_list requireds
FindPatternNode#requireds.
Definition ast.h:2311
pm_find_pattern_node::closing_loc
pm_location_t closing_loc
FindPatternNode#closing_loc.
Definition ast.h:2320
pm_flip_flop_node
FlipFlopNode.
Definition ast.h:2332
pm_flip_flop_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2334
pm_flip_flop_node::operator_loc
pm_location_t operator_loc
FlipFlopNode#operator_loc.
Definition ast.h:2343
pm_flip_flop_node::left
struct pm_node * left
FlipFlopNode#left.
Definition ast.h:2337
pm_flip_flop_node::right
struct pm_node * right
FlipFlopNode#right.
Definition ast.h:2340
pm_float_node
FloatNode.
Definition ast.h:2353
pm_float_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2355
pm_for_node
ForNode.
Definition ast.h:2365
pm_for_node::statements
struct pm_statements_node * statements
ForNode#statements.
Definition ast.h:2376
pm_for_node::index
struct pm_node * index
ForNode#index.
Definition ast.h:2370
pm_for_node::collection
struct pm_node * collection
ForNode#collection.
Definition ast.h:2373
pm_for_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2367
pm_for_node::end_keyword_loc
pm_location_t end_keyword_loc
ForNode#end_keyword_loc.
Definition ast.h:2388
pm_for_node::for_keyword_loc
pm_location_t for_keyword_loc
ForNode#for_keyword_loc.
Definition ast.h:2379
pm_for_node::do_keyword_loc
pm_location_t do_keyword_loc
ForNode#do_keyword_loc.
Definition ast.h:2385
pm_for_node::in_keyword_loc
pm_location_t in_keyword_loc
ForNode#in_keyword_loc.
Definition ast.h:2382
pm_forwarding_arguments_node
ForwardingArgumentsNode.
Definition ast.h:2398
pm_forwarding_arguments_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2400
pm_forwarding_parameter_node
ForwardingParameterNode.
Definition ast.h:2410
pm_forwarding_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2412
pm_forwarding_super_node
ForwardingSuperNode.
Definition ast.h:2422
pm_forwarding_super_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2424
pm_forwarding_super_node::block
struct pm_block_node * block
ForwardingSuperNode#block.
Definition ast.h:2427
pm_global_variable_and_write_node
GlobalVariableAndWriteNode.
Definition ast.h:2437
pm_global_variable_and_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableAndWriteNode#operator_loc.
Definition ast.h:2448
pm_global_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2439
pm_global_variable_and_write_node::name_loc
pm_location_t name_loc
GlobalVariableAndWriteNode#name_loc.
Definition ast.h:2445
pm_global_variable_and_write_node::value
struct pm_node * value
GlobalVariableAndWriteNode#value.
Definition ast.h:2451
pm_global_variable_and_write_node::name
pm_constant_id_t name
GlobalVariableAndWriteNode#name.
Definition ast.h:2442
pm_global_variable_operator_write_node
GlobalVariableOperatorWriteNode.
Definition ast.h:2461
pm_global_variable_operator_write_node::name
pm_constant_id_t name
GlobalVariableOperatorWriteNode#name.
Definition ast.h:2466
pm_global_variable_operator_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableOperatorWriteNode#operator_loc.
Definition ast.h:2472
pm_global_variable_operator_write_node::value
struct pm_node * value
GlobalVariableOperatorWriteNode#value.
Definition ast.h:2475
pm_global_variable_operator_write_node::name_loc
pm_location_t name_loc
GlobalVariableOperatorWriteNode#name_loc.
Definition ast.h:2469
pm_global_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2463
pm_global_variable_or_write_node
GlobalVariableOrWriteNode.
Definition ast.h:2488
pm_global_variable_or_write_node::name
pm_constant_id_t name
GlobalVariableOrWriteNode#name.
Definition ast.h:2493
pm_global_variable_or_write_node::name_loc
pm_location_t name_loc
GlobalVariableOrWriteNode#name_loc.
Definition ast.h:2496
pm_global_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2490
pm_global_variable_or_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableOrWriteNode#operator_loc.
Definition ast.h:2499
pm_global_variable_or_write_node::value
struct pm_node * value
GlobalVariableOrWriteNode#value.
Definition ast.h:2502
pm_global_variable_read_node
GlobalVariableReadNode.
Definition ast.h:2512
pm_global_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2514
pm_global_variable_read_node::name
pm_constant_id_t name
GlobalVariableReadNode#name.
Definition ast.h:2517
pm_global_variable_target_node
GlobalVariableTargetNode.
Definition ast.h:2527
pm_global_variable_target_node::name
pm_constant_id_t name
GlobalVariableTargetNode#name.
Definition ast.h:2532
pm_global_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2529
pm_global_variable_write_node
GlobalVariableWriteNode.
Definition ast.h:2542
pm_global_variable_write_node::value
struct pm_node * value
GlobalVariableWriteNode#value.
Definition ast.h:2553
pm_global_variable_write_node::name_loc
pm_location_t name_loc
GlobalVariableWriteNode#name_loc.
Definition ast.h:2550
pm_global_variable_write_node::operator_loc
pm_location_t operator_loc
GlobalVariableWriteNode#operator_loc.
Definition ast.h:2556
pm_global_variable_write_node::name
pm_constant_id_t name
GlobalVariableWriteNode#name.
Definition ast.h:2547
pm_global_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2544
pm_hash_node
HashNode.
Definition ast.h:2566
pm_hash_node::elements
struct pm_node_list elements
HashNode#elements.
Definition ast.h:2574
pm_hash_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2568
pm_hash_node::closing_loc
pm_location_t closing_loc
HashNode#closing_loc.
Definition ast.h:2577
pm_hash_node::opening_loc
pm_location_t opening_loc
HashNode#opening_loc.
Definition ast.h:2571
pm_hash_pattern_node
HashPatternNode.
Definition ast.h:2587
pm_hash_pattern_node::elements
struct pm_node_list elements
HashPatternNode#elements.
Definition ast.h:2595
pm_hash_pattern_node::opening_loc
pm_location_t opening_loc
HashPatternNode#opening_loc.
Definition ast.h:2601
pm_hash_pattern_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2589
pm_hash_pattern_node::rest
struct pm_node * rest
HashPatternNode#rest.
Definition ast.h:2598
pm_hash_pattern_node::closing_loc
pm_location_t closing_loc
HashPatternNode#closing_loc.
Definition ast.h:2604
pm_hash_pattern_node::constant
struct pm_node * constant
HashPatternNode#constant.
Definition ast.h:2592
pm_if_node
IfNode.
Definition ast.h:2614
pm_if_node::consequent
struct pm_node * consequent
IfNode#consequent.
Definition ast.h:2631
pm_if_node::predicate
struct pm_node * predicate
IfNode#predicate.
Definition ast.h:2622
pm_if_node::end_keyword_loc
pm_location_t end_keyword_loc
IfNode#end_keyword_loc.
Definition ast.h:2634
pm_if_node::if_keyword_loc
pm_location_t if_keyword_loc
IfNode#if_keyword_loc.
Definition ast.h:2619
pm_if_node::statements
struct pm_statements_node * statements
IfNode#statements.
Definition ast.h:2628
pm_if_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2616
pm_if_node::then_keyword_loc
pm_location_t then_keyword_loc
IfNode#then_keyword_loc.
Definition ast.h:2625
pm_imaginary_node
ImaginaryNode.
Definition ast.h:2644
pm_imaginary_node::numeric
struct pm_node * numeric
ImaginaryNode#numeric.
Definition ast.h:2649
pm_imaginary_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2646
pm_implicit_node
ImplicitNode.
Definition ast.h:2659
pm_implicit_node::value
struct pm_node * value
ImplicitNode#value.
Definition ast.h:2664
pm_implicit_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2661
pm_implicit_rest_node
ImplicitRestNode.
Definition ast.h:2674
pm_implicit_rest_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2676
pm_in_node
InNode.
Definition ast.h:2686
pm_in_node::statements
struct pm_statements_node * statements
InNode#statements.
Definition ast.h:2694
pm_in_node::pattern
struct pm_node * pattern
InNode#pattern.
Definition ast.h:2691
pm_in_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2688
pm_in_node::then_loc
pm_location_t then_loc
InNode#then_loc.
Definition ast.h:2700
pm_in_node::in_loc
pm_location_t in_loc
InNode#in_loc.
Definition ast.h:2697
pm_index_and_write_node
IndexAndWriteNode.
Definition ast.h:2714
pm_index_and_write_node::arguments
struct pm_arguments_node * arguments
IndexAndWriteNode#arguments.
Definition ast.h:2728
pm_index_and_write_node::receiver
struct pm_node * receiver
IndexAndWriteNode#receiver.
Definition ast.h:2719
pm_index_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2716
pm_index_and_write_node::value
struct pm_node * value
IndexAndWriteNode#value.
Definition ast.h:2740
pm_index_and_write_node::operator_loc
pm_location_t operator_loc
IndexAndWriteNode#operator_loc.
Definition ast.h:2737
pm_index_and_write_node::block
struct pm_node * block
IndexAndWriteNode#block.
Definition ast.h:2734
pm_index_and_write_node::closing_loc
pm_location_t closing_loc
IndexAndWriteNode#closing_loc.
Definition ast.h:2731
pm_index_and_write_node::opening_loc
pm_location_t opening_loc
IndexAndWriteNode#opening_loc.
Definition ast.h:2725
pm_index_and_write_node::call_operator_loc
pm_location_t call_operator_loc
IndexAndWriteNode#call_operator_loc.
Definition ast.h:2722
pm_index_operator_write_node
IndexOperatorWriteNode.
Definition ast.h:2754
pm_index_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2756
pm_index_operator_write_node::value
struct pm_node * value
IndexOperatorWriteNode#value.
Definition ast.h:2783
pm_index_operator_write_node::opening_loc
pm_location_t opening_loc
IndexOperatorWriteNode#opening_loc.
Definition ast.h:2765
pm_index_operator_write_node::block
struct pm_node * block
IndexOperatorWriteNode#block.
Definition ast.h:2774
pm_index_operator_write_node::call_operator_loc
pm_location_t call_operator_loc
IndexOperatorWriteNode#call_operator_loc.
Definition ast.h:2762
pm_index_operator_write_node::operator_loc
pm_location_t operator_loc
IndexOperatorWriteNode#operator_loc.
Definition ast.h:2780
pm_index_operator_write_node::closing_loc
pm_location_t closing_loc
IndexOperatorWriteNode#closing_loc.
Definition ast.h:2771
pm_index_operator_write_node::arguments
struct pm_arguments_node * arguments
IndexOperatorWriteNode#arguments.
Definition ast.h:2768
pm_index_operator_write_node::receiver
struct pm_node * receiver
IndexOperatorWriteNode#receiver.
Definition ast.h:2759
pm_index_or_write_node
IndexOrWriteNode.
Definition ast.h:2797
pm_index_or_write_node::closing_loc
pm_location_t closing_loc
IndexOrWriteNode#closing_loc.
Definition ast.h:2814
pm_index_or_write_node::call_operator_loc
pm_location_t call_operator_loc
IndexOrWriteNode#call_operator_loc.
Definition ast.h:2805
pm_index_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2799
pm_index_or_write_node::operator_loc
pm_location_t operator_loc
IndexOrWriteNode#operator_loc.
Definition ast.h:2820
pm_index_or_write_node::receiver
struct pm_node * receiver
IndexOrWriteNode#receiver.
Definition ast.h:2802
pm_index_or_write_node::opening_loc
pm_location_t opening_loc
IndexOrWriteNode#opening_loc.
Definition ast.h:2808
pm_index_or_write_node::value
struct pm_node * value
IndexOrWriteNode#value.
Definition ast.h:2823
pm_index_or_write_node::arguments
struct pm_arguments_node * arguments
IndexOrWriteNode#arguments.
Definition ast.h:2811
pm_index_or_write_node::block
struct pm_node * block
IndexOrWriteNode#block.
Definition ast.h:2817
pm_index_target_node
IndexTargetNode.
Definition ast.h:2837
pm_index_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2839
pm_index_target_node::block
struct pm_node * block
IndexTargetNode#block.
Definition ast.h:2854
pm_index_target_node::receiver
struct pm_node * receiver
IndexTargetNode#receiver.
Definition ast.h:2842
pm_index_target_node::closing_loc
pm_location_t closing_loc
IndexTargetNode#closing_loc.
Definition ast.h:2851
pm_index_target_node::arguments
struct pm_arguments_node * arguments
IndexTargetNode#arguments.
Definition ast.h:2848
pm_index_target_node::opening_loc
pm_location_t opening_loc
IndexTargetNode#opening_loc.
Definition ast.h:2845
pm_instance_variable_and_write_node
InstanceVariableAndWriteNode.
Definition ast.h:2864
pm_instance_variable_and_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableAndWriteNode#operator_loc.
Definition ast.h:2875
pm_instance_variable_and_write_node::name_loc
pm_location_t name_loc
InstanceVariableAndWriteNode#name_loc.
Definition ast.h:2872
pm_instance_variable_and_write_node::value
struct pm_node * value
InstanceVariableAndWriteNode#value.
Definition ast.h:2878
pm_instance_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2866
pm_instance_variable_and_write_node::name
pm_constant_id_t name
InstanceVariableAndWriteNode#name.
Definition ast.h:2869
pm_instance_variable_operator_write_node
InstanceVariableOperatorWriteNode.
Definition ast.h:2888
pm_instance_variable_operator_write_node::value
struct pm_node * value
InstanceVariableOperatorWriteNode#value.
Definition ast.h:2902
pm_instance_variable_operator_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableOperatorWriteNode#operator_loc.
Definition ast.h:2899
pm_instance_variable_operator_write_node::name
pm_constant_id_t name
InstanceVariableOperatorWriteNode#name.
Definition ast.h:2893
pm_instance_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2890
pm_instance_variable_operator_write_node::name_loc
pm_location_t name_loc
InstanceVariableOperatorWriteNode#name_loc.
Definition ast.h:2896
pm_instance_variable_or_write_node
InstanceVariableOrWriteNode.
Definition ast.h:2915
pm_instance_variable_or_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableOrWriteNode#operator_loc.
Definition ast.h:2926
pm_instance_variable_or_write_node::value
struct pm_node * value
InstanceVariableOrWriteNode#value.
Definition ast.h:2929
pm_instance_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2917
pm_instance_variable_or_write_node::name_loc
pm_location_t name_loc
InstanceVariableOrWriteNode#name_loc.
Definition ast.h:2923
pm_instance_variable_or_write_node::name
pm_constant_id_t name
InstanceVariableOrWriteNode#name.
Definition ast.h:2920
pm_instance_variable_read_node
InstanceVariableReadNode.
Definition ast.h:2939
pm_instance_variable_read_node::name
pm_constant_id_t name
InstanceVariableReadNode#name.
Definition ast.h:2944
pm_instance_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2941
pm_instance_variable_target_node
InstanceVariableTargetNode.
Definition ast.h:2954
pm_instance_variable_target_node::name
pm_constant_id_t name
InstanceVariableTargetNode#name.
Definition ast.h:2959
pm_instance_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2956
pm_instance_variable_write_node
InstanceVariableWriteNode.
Definition ast.h:2969
pm_instance_variable_write_node::operator_loc
pm_location_t operator_loc
InstanceVariableWriteNode#operator_loc.
Definition ast.h:2983
pm_instance_variable_write_node::name
pm_constant_id_t name
InstanceVariableWriteNode#name.
Definition ast.h:2974
pm_instance_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:2971
pm_instance_variable_write_node::value
struct pm_node * value
InstanceVariableWriteNode#value.
Definition ast.h:2980
pm_instance_variable_write_node::name_loc
pm_location_t name_loc
InstanceVariableWriteNode#name_loc.
Definition ast.h:2977
pm_integer_node
IntegerNode.
Definition ast.h:2998
pm_integer_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3000
pm_interpolated_match_last_line_node
InterpolatedMatchLastLineNode.
Definition ast.h:3022
pm_interpolated_match_last_line_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3024
pm_interpolated_match_last_line_node::closing_loc
pm_location_t closing_loc
InterpolatedMatchLastLineNode#closing_loc.
Definition ast.h:3033
pm_interpolated_match_last_line_node::parts
struct pm_node_list parts
InterpolatedMatchLastLineNode#parts.
Definition ast.h:3030
pm_interpolated_match_last_line_node::opening_loc
pm_location_t opening_loc
InterpolatedMatchLastLineNode#opening_loc.
Definition ast.h:3027
pm_interpolated_regular_expression_node
InterpolatedRegularExpressionNode.
Definition ast.h:3055
pm_interpolated_regular_expression_node::opening_loc
pm_location_t opening_loc
InterpolatedRegularExpressionNode#opening_loc.
Definition ast.h:3060
pm_interpolated_regular_expression_node::parts
struct pm_node_list parts
InterpolatedRegularExpressionNode#parts.
Definition ast.h:3063
pm_interpolated_regular_expression_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3057
pm_interpolated_regular_expression_node::closing_loc
pm_location_t closing_loc
InterpolatedRegularExpressionNode#closing_loc.
Definition ast.h:3066
pm_interpolated_string_node
InterpolatedStringNode.
Definition ast.h:3076
pm_interpolated_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3078
pm_interpolated_string_node::closing_loc
pm_location_t closing_loc
InterpolatedStringNode#closing_loc.
Definition ast.h:3087
pm_interpolated_string_node::opening_loc
pm_location_t opening_loc
InterpolatedStringNode#opening_loc.
Definition ast.h:3081
pm_interpolated_string_node::parts
struct pm_node_list parts
InterpolatedStringNode#parts.
Definition ast.h:3084
pm_interpolated_symbol_node
InterpolatedSymbolNode.
Definition ast.h:3097
pm_interpolated_symbol_node::parts
struct pm_node_list parts
InterpolatedSymbolNode#parts.
Definition ast.h:3105
pm_interpolated_symbol_node::closing_loc
pm_location_t closing_loc
InterpolatedSymbolNode#closing_loc.
Definition ast.h:3108
pm_interpolated_symbol_node::opening_loc
pm_location_t opening_loc
InterpolatedSymbolNode#opening_loc.
Definition ast.h:3102
pm_interpolated_symbol_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3099
pm_interpolated_x_string_node
InterpolatedXStringNode.
Definition ast.h:3118
pm_interpolated_x_string_node::opening_loc
pm_location_t opening_loc
InterpolatedXStringNode#opening_loc.
Definition ast.h:3123
pm_interpolated_x_string_node::closing_loc
pm_location_t closing_loc
InterpolatedXStringNode#closing_loc.
Definition ast.h:3129
pm_interpolated_x_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3120
pm_interpolated_x_string_node::parts
struct pm_node_list parts
InterpolatedXStringNode#parts.
Definition ast.h:3126
pm_keyword_hash_node
KeywordHashNode.
Definition ast.h:3141
pm_keyword_hash_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3143
pm_keyword_hash_node::elements
struct pm_node_list elements
KeywordHashNode#elements.
Definition ast.h:3146
pm_keyword_rest_parameter_node
KeywordRestParameterNode.
Definition ast.h:3156
pm_keyword_rest_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3158
pm_keyword_rest_parameter_node::name
pm_constant_id_t name
KeywordRestParameterNode#name.
Definition ast.h:3161
pm_keyword_rest_parameter_node::operator_loc
pm_location_t operator_loc
KeywordRestParameterNode#operator_loc.
Definition ast.h:3167
pm_keyword_rest_parameter_node::name_loc
pm_location_t name_loc
KeywordRestParameterNode#name_loc.
Definition ast.h:3164
pm_lambda_node
LambdaNode.
Definition ast.h:3177
pm_lambda_node::closing_loc
pm_location_t closing_loc
LambdaNode#closing_loc.
Definition ast.h:3194
pm_lambda_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3179
pm_lambda_node::body
struct pm_node * body
LambdaNode#body.
Definition ast.h:3200
pm_lambda_node::locals_body_index
uint32_t locals_body_index
LambdaNode#locals_body_index.
Definition ast.h:3185
pm_lambda_node::opening_loc
pm_location_t opening_loc
LambdaNode#opening_loc.
Definition ast.h:3191
pm_lambda_node::parameters
struct pm_node * parameters
LambdaNode#parameters.
Definition ast.h:3197
pm_lambda_node::operator_loc
pm_location_t operator_loc
LambdaNode#operator_loc.
Definition ast.h:3188
pm_lambda_node::locals
pm_constant_id_list_t locals
LambdaNode#locals.
Definition ast.h:3182
pm_local_variable_and_write_node
LocalVariableAndWriteNode.
Definition ast.h:3210
pm_local_variable_and_write_node::name
pm_constant_id_t name
LocalVariableAndWriteNode#name.
Definition ast.h:3224
pm_local_variable_and_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3212
pm_local_variable_and_write_node::depth
uint32_t depth
LocalVariableAndWriteNode#depth.
Definition ast.h:3227
pm_local_variable_and_write_node::operator_loc
pm_location_t operator_loc
LocalVariableAndWriteNode#operator_loc.
Definition ast.h:3218
pm_local_variable_and_write_node::value
struct pm_node * value
LocalVariableAndWriteNode#value.
Definition ast.h:3221
pm_local_variable_and_write_node::name_loc
pm_location_t name_loc
LocalVariableAndWriteNode#name_loc.
Definition ast.h:3215
pm_local_variable_operator_write_node
LocalVariableOperatorWriteNode.
Definition ast.h:3237
pm_local_variable_operator_write_node::depth
uint32_t depth
LocalVariableOperatorWriteNode#depth.
Definition ast.h:3257
pm_local_variable_operator_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3239
pm_local_variable_operator_write_node::value
struct pm_node * value
LocalVariableOperatorWriteNode#value.
Definition ast.h:3248
pm_local_variable_operator_write_node::name_loc
pm_location_t name_loc
LocalVariableOperatorWriteNode#name_loc.
Definition ast.h:3242
pm_local_variable_operator_write_node::operator_loc
pm_location_t operator_loc
LocalVariableOperatorWriteNode#operator_loc.
Definition ast.h:3245
pm_local_variable_operator_write_node::name
pm_constant_id_t name
LocalVariableOperatorWriteNode#name.
Definition ast.h:3251
pm_local_variable_or_write_node
LocalVariableOrWriteNode.
Definition ast.h:3267
pm_local_variable_or_write_node::depth
uint32_t depth
LocalVariableOrWriteNode#depth.
Definition ast.h:3284
pm_local_variable_or_write_node::operator_loc
pm_location_t operator_loc
LocalVariableOrWriteNode#operator_loc.
Definition ast.h:3275
pm_local_variable_or_write_node::value
struct pm_node * value
LocalVariableOrWriteNode#value.
Definition ast.h:3278
pm_local_variable_or_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3269
pm_local_variable_or_write_node::name
pm_constant_id_t name
LocalVariableOrWriteNode#name.
Definition ast.h:3281
pm_local_variable_or_write_node::name_loc
pm_location_t name_loc
LocalVariableOrWriteNode#name_loc.
Definition ast.h:3272
pm_local_variable_read_node
LocalVariableReadNode.
Definition ast.h:3294
pm_local_variable_read_node::depth
uint32_t depth
LocalVariableReadNode#depth.
Definition ast.h:3302
pm_local_variable_read_node::name
pm_constant_id_t name
LocalVariableReadNode#name.
Definition ast.h:3299
pm_local_variable_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3296
pm_local_variable_target_node
LocalVariableTargetNode.
Definition ast.h:3312
pm_local_variable_target_node::depth
uint32_t depth
LocalVariableTargetNode#depth.
Definition ast.h:3320
pm_local_variable_target_node::name
pm_constant_id_t name
LocalVariableTargetNode#name.
Definition ast.h:3317
pm_local_variable_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3314
pm_local_variable_write_node
LocalVariableWriteNode.
Definition ast.h:3330
pm_local_variable_write_node::operator_loc
pm_location_t operator_loc
LocalVariableWriteNode#operator_loc.
Definition ast.h:3347
pm_local_variable_write_node::name_loc
pm_location_t name_loc
LocalVariableWriteNode#name_loc.
Definition ast.h:3341
pm_local_variable_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3332
pm_local_variable_write_node::value
struct pm_node * value
LocalVariableWriteNode#value.
Definition ast.h:3344
pm_local_variable_write_node::depth
uint32_t depth
LocalVariableWriteNode#depth.
Definition ast.h:3338
pm_local_variable_write_node::name
pm_constant_id_t name
LocalVariableWriteNode#name.
Definition ast.h:3335
pm_location_t
This represents a range of bytes in the source string to which a node or token corresponds.
Definition ast.h:543
pm_location_t::start
const uint8_t * start
A pointer to the start location of the range in the source.
Definition ast.h:545
pm_location_t::end
const uint8_t * end
A pointer to the end location of the range in the source.
Definition ast.h:548
pm_match_last_line_node
MatchLastLineNode.
Definition ast.h:3369
pm_match_last_line_node::content_loc
pm_location_t content_loc
MatchLastLineNode#content_loc.
Definition ast.h:3377
pm_match_last_line_node::opening_loc
pm_location_t opening_loc
MatchLastLineNode#opening_loc.
Definition ast.h:3374
pm_match_last_line_node::closing_loc
pm_location_t closing_loc
MatchLastLineNode#closing_loc.
Definition ast.h:3380
pm_match_last_line_node::unescaped
pm_string_t unescaped
MatchLastLineNode#unescaped.
Definition ast.h:3383
pm_match_last_line_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3371
pm_match_predicate_node
MatchPredicateNode.
Definition ast.h:3393
pm_match_predicate_node::operator_loc
pm_location_t operator_loc
MatchPredicateNode#operator_loc.
Definition ast.h:3404
pm_match_predicate_node::pattern
struct pm_node * pattern
MatchPredicateNode#pattern.
Definition ast.h:3401
pm_match_predicate_node::value
struct pm_node * value
MatchPredicateNode#value.
Definition ast.h:3398
pm_match_predicate_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3395
pm_match_required_node
MatchRequiredNode.
Definition ast.h:3414
pm_match_required_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3416
pm_match_required_node::operator_loc
pm_location_t operator_loc
MatchRequiredNode#operator_loc.
Definition ast.h:3425
pm_match_required_node::value
struct pm_node * value
MatchRequiredNode#value.
Definition ast.h:3419
pm_match_required_node::pattern
struct pm_node * pattern
MatchRequiredNode#pattern.
Definition ast.h:3422
pm_match_write_node
MatchWriteNode.
Definition ast.h:3435
pm_match_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3437
pm_match_write_node::targets
struct pm_node_list targets
MatchWriteNode#targets.
Definition ast.h:3443
pm_match_write_node::call
struct pm_call_node * call
MatchWriteNode#call.
Definition ast.h:3440
pm_missing_node
MissingNode.
Definition ast.h:3453
pm_missing_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3455
pm_module_node
ModuleNode.
Definition ast.h:3465
pm_module_node::end_keyword_loc
pm_location_t end_keyword_loc
ModuleNode#end_keyword_loc.
Definition ast.h:3482
pm_module_node::constant_path
struct pm_node * constant_path
ModuleNode#constant_path.
Definition ast.h:3476
pm_module_node::body
struct pm_node * body
ModuleNode#body.
Definition ast.h:3479
pm_module_node::locals
pm_constant_id_list_t locals
ModuleNode#locals.
Definition ast.h:3470
pm_module_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3467
pm_module_node::module_keyword_loc
pm_location_t module_keyword_loc
ModuleNode#module_keyword_loc.
Definition ast.h:3473
pm_module_node::name
pm_constant_id_t name
ModuleNode#name.
Definition ast.h:3485
pm_multi_target_node
MultiTargetNode.
Definition ast.h:3495
pm_multi_target_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3497
pm_multi_target_node::lparen_loc
pm_location_t lparen_loc
MultiTargetNode#lparen_loc.
Definition ast.h:3509
pm_multi_target_node::lefts
struct pm_node_list lefts
MultiTargetNode#lefts.
Definition ast.h:3500
pm_multi_target_node::rest
struct pm_node * rest
MultiTargetNode#rest.
Definition ast.h:3503
pm_multi_target_node::rparen_loc
pm_location_t rparen_loc
MultiTargetNode#rparen_loc.
Definition ast.h:3512
pm_multi_target_node::rights
struct pm_node_list rights
MultiTargetNode#rights.
Definition ast.h:3506
pm_multi_write_node
MultiWriteNode.
Definition ast.h:3522
pm_multi_write_node::rparen_loc
pm_location_t rparen_loc
MultiWriteNode#rparen_loc.
Definition ast.h:3539
pm_multi_write_node::value
struct pm_node * value
MultiWriteNode#value.
Definition ast.h:3545
pm_multi_write_node::rest
struct pm_node * rest
MultiWriteNode#rest.
Definition ast.h:3530
pm_multi_write_node::rights
struct pm_node_list rights
MultiWriteNode#rights.
Definition ast.h:3533
pm_multi_write_node::operator_loc
pm_location_t operator_loc
MultiWriteNode#operator_loc.
Definition ast.h:3542
pm_multi_write_node::lparen_loc
pm_location_t lparen_loc
MultiWriteNode#lparen_loc.
Definition ast.h:3536
pm_multi_write_node::lefts
struct pm_node_list lefts
MultiWriteNode#lefts.
Definition ast.h:3527
pm_multi_write_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3524
pm_next_node
NextNode.
Definition ast.h:3555
pm_next_node::arguments
struct pm_arguments_node * arguments
NextNode#arguments.
Definition ast.h:3560
pm_next_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3557
pm_next_node::keyword_loc
pm_location_t keyword_loc
NextNode#keyword_loc.
Definition ast.h:3563
pm_nil_node
NilNode.
Definition ast.h:3573
pm_nil_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3575
pm_no_keywords_parameter_node
NoKeywordsParameterNode.
Definition ast.h:3585
pm_no_keywords_parameter_node::keyword_loc
pm_location_t keyword_loc
NoKeywordsParameterNode#keyword_loc.
Definition ast.h:3593
pm_no_keywords_parameter_node::operator_loc
pm_location_t operator_loc
NoKeywordsParameterNode#operator_loc.
Definition ast.h:3590
pm_no_keywords_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3587
pm_node_list
A list of nodes in the source, most often used for lists of children.
Definition ast.h:556
pm_node_list::size
size_t size
The number of nodes in the list.
Definition ast.h:558
pm_node_list::nodes
struct pm_node ** nodes
The nodes in the list.
Definition ast.h:564
pm_node_list::capacity
size_t capacity
The capacity of the list that has been allocated.
Definition ast.h:561
pm_node
This is the base structure that represents a node in the syntax tree.
Definition ast.h:1061
pm_node::type
pm_node_type_t type
This represents the type of the node.
Definition ast.h:1066
pm_node::flags
pm_node_flags_t flags
This represents any flags on the node.
Definition ast.h:1072
pm_node::location
pm_location_t location
This is the location of the node in the source.
Definition ast.h:1078
pm_numbered_parameters_node
NumberedParametersNode.
Definition ast.h:3603
pm_numbered_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3605
pm_numbered_parameters_node::maximum
uint8_t maximum
NumberedParametersNode#maximum.
Definition ast.h:3608
pm_numbered_reference_read_node
NumberedReferenceReadNode.
Definition ast.h:3618
pm_numbered_reference_read_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3620
pm_numbered_reference_read_node::number
uint32_t number
NumberedReferenceReadNode#number.
Definition ast.h:3623
pm_optional_keyword_parameter_node
OptionalKeywordParameterNode.
Definition ast.h:3633
pm_optional_keyword_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3635
pm_optional_keyword_parameter_node::name
pm_constant_id_t name
OptionalKeywordParameterNode#name.
Definition ast.h:3638
pm_optional_keyword_parameter_node::value
struct pm_node * value
OptionalKeywordParameterNode#value.
Definition ast.h:3644
pm_optional_keyword_parameter_node::name_loc
pm_location_t name_loc
OptionalKeywordParameterNode#name_loc.
Definition ast.h:3641
pm_optional_parameter_node
OptionalParameterNode.
Definition ast.h:3654
pm_optional_parameter_node::name_loc
pm_location_t name_loc
OptionalParameterNode#name_loc.
Definition ast.h:3662
pm_optional_parameter_node::value
struct pm_node * value
OptionalParameterNode#value.
Definition ast.h:3668
pm_optional_parameter_node::name
pm_constant_id_t name
OptionalParameterNode#name.
Definition ast.h:3659
pm_optional_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3656
pm_optional_parameter_node::operator_loc
pm_location_t operator_loc
OptionalParameterNode#operator_loc.
Definition ast.h:3665
pm_or_node
OrNode.
Definition ast.h:3678
pm_or_node::left
struct pm_node * left
OrNode#left.
Definition ast.h:3683
pm_or_node::right
struct pm_node * right
OrNode#right.
Definition ast.h:3686
pm_or_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3680
pm_or_node::operator_loc
pm_location_t operator_loc
OrNode#operator_loc.
Definition ast.h:3689
pm_parameters_node
ParametersNode.
Definition ast.h:3699
pm_parameters_node::rest
struct pm_node * rest
ParametersNode#rest.
Definition ast.h:3710
pm_parameters_node::requireds
struct pm_node_list requireds
ParametersNode#requireds.
Definition ast.h:3704
pm_parameters_node::block
struct pm_block_parameter_node * block
ParametersNode#block.
Definition ast.h:3722
pm_parameters_node::optionals
struct pm_node_list optionals
ParametersNode#optionals.
Definition ast.h:3707
pm_parameters_node::posts
struct pm_node_list posts
ParametersNode#posts.
Definition ast.h:3713
pm_parameters_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3701
pm_parameters_node::keyword_rest
struct pm_node * keyword_rest
ParametersNode#keyword_rest.
Definition ast.h:3719
pm_parameters_node::keywords
struct pm_node_list keywords
ParametersNode#keywords.
Definition ast.h:3716
pm_parentheses_node
ParenthesesNode.
Definition ast.h:3732
pm_parentheses_node::body
struct pm_node * body
ParenthesesNode#body.
Definition ast.h:3737
pm_parentheses_node::closing_loc
pm_location_t closing_loc
ParenthesesNode#closing_loc.
Definition ast.h:3743
pm_parentheses_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3734
pm_parentheses_node::opening_loc
pm_location_t opening_loc
ParenthesesNode#opening_loc.
Definition ast.h:3740
pm_pinned_expression_node
PinnedExpressionNode.
Definition ast.h:3753
pm_pinned_expression_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3755
pm_pinned_expression_node::rparen_loc
pm_location_t rparen_loc
PinnedExpressionNode#rparen_loc.
Definition ast.h:3767
pm_pinned_expression_node::expression
struct pm_node * expression
PinnedExpressionNode#expression.
Definition ast.h:3758
pm_pinned_expression_node::lparen_loc
pm_location_t lparen_loc
PinnedExpressionNode#lparen_loc.
Definition ast.h:3764
pm_pinned_expression_node::operator_loc
pm_location_t operator_loc
PinnedExpressionNode#operator_loc.
Definition ast.h:3761
pm_pinned_variable_node
PinnedVariableNode.
Definition ast.h:3777
pm_pinned_variable_node::variable
struct pm_node * variable
PinnedVariableNode#variable.
Definition ast.h:3782
pm_pinned_variable_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3779
pm_pinned_variable_node::operator_loc
pm_location_t operator_loc
PinnedVariableNode#operator_loc.
Definition ast.h:3785
pm_post_execution_node
PostExecutionNode.
Definition ast.h:3795
pm_post_execution_node::closing_loc
pm_location_t closing_loc
PostExecutionNode#closing_loc.
Definition ast.h:3809
pm_post_execution_node::statements
struct pm_statements_node * statements
PostExecutionNode#statements.
Definition ast.h:3800
pm_post_execution_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3797
pm_post_execution_node::opening_loc
pm_location_t opening_loc
PostExecutionNode#opening_loc.
Definition ast.h:3806
pm_post_execution_node::keyword_loc
pm_location_t keyword_loc
PostExecutionNode#keyword_loc.
Definition ast.h:3803
pm_pre_execution_node
PreExecutionNode.
Definition ast.h:3819
pm_pre_execution_node::statements
struct pm_statements_node * statements
PreExecutionNode#statements.
Definition ast.h:3824
pm_pre_execution_node::closing_loc
pm_location_t closing_loc
PreExecutionNode#closing_loc.
Definition ast.h:3833
pm_pre_execution_node::opening_loc
pm_location_t opening_loc
PreExecutionNode#opening_loc.
Definition ast.h:3830
pm_pre_execution_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3821
pm_pre_execution_node::keyword_loc
pm_location_t keyword_loc
PreExecutionNode#keyword_loc.
Definition ast.h:3827
pm_program_node
ProgramNode.
Definition ast.h:3843
pm_program_node::statements
struct pm_statements_node * statements
ProgramNode#statements.
Definition ast.h:3851
pm_program_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3845
pm_program_node::locals
pm_constant_id_list_t locals
ProgramNode#locals.
Definition ast.h:3848
pm_range_node
RangeNode.
Definition ast.h:3863
pm_range_node::right
struct pm_node * right
RangeNode#right.
Definition ast.h:3871
pm_range_node::operator_loc
pm_location_t operator_loc
RangeNode#operator_loc.
Definition ast.h:3874
pm_range_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3865
pm_range_node::left
struct pm_node * left
RangeNode#left.
Definition ast.h:3868
pm_rational_node
RationalNode.
Definition ast.h:3884
pm_rational_node::numeric
struct pm_node * numeric
RationalNode#numeric.
Definition ast.h:3889
pm_rational_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3886
pm_redo_node
RedoNode.
Definition ast.h:3899
pm_redo_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3901
pm_regular_expression_node
RegularExpressionNode.
Definition ast.h:3923
pm_regular_expression_node::closing_loc
pm_location_t closing_loc
RegularExpressionNode#closing_loc.
Definition ast.h:3934
pm_regular_expression_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3925
pm_regular_expression_node::unescaped
pm_string_t unescaped
RegularExpressionNode#unescaped.
Definition ast.h:3937
pm_regular_expression_node::opening_loc
pm_location_t opening_loc
RegularExpressionNode#opening_loc.
Definition ast.h:3928
pm_regular_expression_node::content_loc
pm_location_t content_loc
RegularExpressionNode#content_loc.
Definition ast.h:3931
pm_required_keyword_parameter_node
RequiredKeywordParameterNode.
Definition ast.h:3947
pm_required_keyword_parameter_node::name_loc
pm_location_t name_loc
RequiredKeywordParameterNode#name_loc.
Definition ast.h:3955
pm_required_keyword_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3949
pm_required_keyword_parameter_node::name
pm_constant_id_t name
RequiredKeywordParameterNode#name.
Definition ast.h:3952
pm_required_parameter_node
RequiredParameterNode.
Definition ast.h:3965
pm_required_parameter_node::name
pm_constant_id_t name
RequiredParameterNode#name.
Definition ast.h:3970
pm_required_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3967
pm_rescue_modifier_node
RescueModifierNode.
Definition ast.h:3980
pm_rescue_modifier_node::base
pm_node_t base
The embedded base node.
Definition ast.h:3982
pm_rescue_modifier_node::rescue_expression
struct pm_node * rescue_expression
RescueModifierNode#rescue_expression.
Definition ast.h:3991
pm_rescue_modifier_node::keyword_loc
pm_location_t keyword_loc
RescueModifierNode#keyword_loc.
Definition ast.h:3988
pm_rescue_modifier_node::expression
struct pm_node * expression
RescueModifierNode#expression.
Definition ast.h:3985
pm_rescue_node
RescueNode.
Definition ast.h:4001
pm_rescue_node::keyword_loc
pm_location_t keyword_loc
RescueNode#keyword_loc.
Definition ast.h:4006
pm_rescue_node::consequent
struct pm_rescue_node * consequent
RescueNode#consequent.
Definition ast.h:4021
pm_rescue_node::operator_loc
pm_location_t operator_loc
RescueNode#operator_loc.
Definition ast.h:4012
pm_rescue_node::reference
struct pm_node * reference
RescueNode#reference.
Definition ast.h:4015
pm_rescue_node::exceptions
struct pm_node_list exceptions
RescueNode#exceptions.
Definition ast.h:4009
pm_rescue_node::statements
struct pm_statements_node * statements
RescueNode#statements.
Definition ast.h:4018
pm_rescue_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4003
pm_rest_parameter_node
RestParameterNode.
Definition ast.h:4031
pm_rest_parameter_node::name
pm_constant_id_t name
RestParameterNode#name.
Definition ast.h:4036
pm_rest_parameter_node::name_loc
pm_location_t name_loc
RestParameterNode#name_loc.
Definition ast.h:4039
pm_rest_parameter_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4033
pm_rest_parameter_node::operator_loc
pm_location_t operator_loc
RestParameterNode#operator_loc.
Definition ast.h:4042
pm_retry_node
RetryNode.
Definition ast.h:4052
pm_retry_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4054
pm_return_node
ReturnNode.
Definition ast.h:4064
pm_return_node::keyword_loc
pm_location_t keyword_loc
ReturnNode#keyword_loc.
Definition ast.h:4069
pm_return_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4066
pm_return_node::arguments
struct pm_arguments_node * arguments
ReturnNode#arguments.
Definition ast.h:4072
pm_self_node
SelfNode.
Definition ast.h:4082
pm_self_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4084
pm_singleton_class_node
SingletonClassNode.
Definition ast.h:4094
pm_singleton_class_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4096
pm_singleton_class_node::locals
pm_constant_id_list_t locals
SingletonClassNode#locals.
Definition ast.h:4099
pm_singleton_class_node::operator_loc
pm_location_t operator_loc
SingletonClassNode#operator_loc.
Definition ast.h:4105
pm_singleton_class_node::expression
struct pm_node * expression
SingletonClassNode#expression.
Definition ast.h:4108
pm_singleton_class_node::end_keyword_loc
pm_location_t end_keyword_loc
SingletonClassNode#end_keyword_loc.
Definition ast.h:4114
pm_singleton_class_node::class_keyword_loc
pm_location_t class_keyword_loc
SingletonClassNode#class_keyword_loc.
Definition ast.h:4102
pm_singleton_class_node::body
struct pm_node * body
SingletonClassNode#body.
Definition ast.h:4111
pm_source_encoding_node
SourceEncodingNode.
Definition ast.h:4124
pm_source_encoding_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4126
pm_source_file_node
SourceFileNode.
Definition ast.h:4136
pm_source_file_node::filepath
pm_string_t filepath
SourceFileNode#filepath.
Definition ast.h:4141
pm_source_file_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4138
pm_source_line_node
SourceLineNode.
Definition ast.h:4151
pm_source_line_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4153
pm_splat_node
SplatNode.
Definition ast.h:4163
pm_splat_node::expression
struct pm_node * expression
SplatNode#expression.
Definition ast.h:4171
pm_splat_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4165
pm_splat_node::operator_loc
pm_location_t operator_loc
SplatNode#operator_loc.
Definition ast.h:4168
pm_statements_node
StatementsNode.
Definition ast.h:4181
pm_statements_node::body
struct pm_node_list body
StatementsNode#body.
Definition ast.h:4186
pm_statements_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4183
pm_string_node
StringNode.
Definition ast.h:4200
pm_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4202
pm_string_node::unescaped
pm_string_t unescaped
StringNode#unescaped.
Definition ast.h:4214
pm_string_node::content_loc
pm_location_t content_loc
StringNode#content_loc.
Definition ast.h:4208
pm_string_node::closing_loc
pm_location_t closing_loc
StringNode#closing_loc.
Definition ast.h:4211
pm_string_node::opening_loc
pm_location_t opening_loc
StringNode#opening_loc.
Definition ast.h:4205
pm_string_t
A generic string type that can have various ownership semantics.
Definition pm_string.h:30
pm_super_node
SuperNode.
Definition ast.h:4224
pm_super_node::arguments
struct pm_arguments_node * arguments
SuperNode#arguments.
Definition ast.h:4235
pm_super_node::lparen_loc
pm_location_t lparen_loc
SuperNode#lparen_loc.
Definition ast.h:4232
pm_super_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4226
pm_super_node::keyword_loc
pm_location_t keyword_loc
SuperNode#keyword_loc.
Definition ast.h:4229
pm_super_node::rparen_loc
pm_location_t rparen_loc
SuperNode#rparen_loc.
Definition ast.h:4238
pm_super_node::block
struct pm_node * block
SuperNode#block.
Definition ast.h:4241
pm_symbol_node
SymbolNode.
Definition ast.h:4255
pm_symbol_node::opening_loc
pm_location_t opening_loc
SymbolNode#opening_loc.
Definition ast.h:4260
pm_symbol_node::value_loc
pm_location_t value_loc
SymbolNode#value_loc.
Definition ast.h:4263
pm_symbol_node::closing_loc
pm_location_t closing_loc
SymbolNode#closing_loc.
Definition ast.h:4266
pm_symbol_node::unescaped
pm_string_t unescaped
SymbolNode#unescaped.
Definition ast.h:4269
pm_symbol_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4257
pm_token_t
This struct represents a token in the Ruby source.
Definition ast.h:528
pm_token_t::end
const uint8_t * end
A pointer to the end location of the token in the source.
Definition ast.h:536
pm_token_t::start
const uint8_t * start
A pointer to the start location of the token in the source.
Definition ast.h:533
pm_token_t::type
pm_token_type_t type
The type of the token.
Definition ast.h:530
pm_true_node
TrueNode.
Definition ast.h:4279
pm_true_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4281
pm_undef_node
UndefNode.
Definition ast.h:4291
pm_undef_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4293
pm_undef_node::keyword_loc
pm_location_t keyword_loc
UndefNode#keyword_loc.
Definition ast.h:4299
pm_undef_node::names
struct pm_node_list names
UndefNode#names.
Definition ast.h:4296
pm_unless_node
UnlessNode.
Definition ast.h:4309
pm_unless_node::consequent
struct pm_else_node * consequent
UnlessNode#consequent.
Definition ast.h:4326
pm_unless_node::keyword_loc
pm_location_t keyword_loc
UnlessNode#keyword_loc.
Definition ast.h:4314
pm_unless_node::then_keyword_loc
pm_location_t then_keyword_loc
UnlessNode#then_keyword_loc.
Definition ast.h:4320
pm_unless_node::end_keyword_loc
pm_location_t end_keyword_loc
UnlessNode#end_keyword_loc.
Definition ast.h:4329
pm_unless_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4311
pm_unless_node::statements
struct pm_statements_node * statements
UnlessNode#statements.
Definition ast.h:4323
pm_unless_node::predicate
struct pm_node * predicate
UnlessNode#predicate.
Definition ast.h:4317
pm_until_node
UntilNode.
Definition ast.h:4341
pm_until_node::statements
struct pm_statements_node * statements
UntilNode#statements.
Definition ast.h:4355
pm_until_node::closing_loc
pm_location_t closing_loc
UntilNode#closing_loc.
Definition ast.h:4349
pm_until_node::predicate
struct pm_node * predicate
UntilNode#predicate.
Definition ast.h:4352
pm_until_node::keyword_loc
pm_location_t keyword_loc
UntilNode#keyword_loc.
Definition ast.h:4346
pm_until_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4343
pm_when_node
WhenNode.
Definition ast.h:4365
pm_when_node::statements
struct pm_statements_node * statements
WhenNode#statements.
Definition ast.h:4376
pm_when_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4367
pm_when_node::keyword_loc
pm_location_t keyword_loc
WhenNode#keyword_loc.
Definition ast.h:4370
pm_when_node::conditions
struct pm_node_list conditions
WhenNode#conditions.
Definition ast.h:4373
pm_while_node
WhileNode.
Definition ast.h:4388
pm_while_node::closing_loc
pm_location_t closing_loc
WhileNode#closing_loc.
Definition ast.h:4396
pm_while_node::keyword_loc
pm_location_t keyword_loc
WhileNode#keyword_loc.
Definition ast.h:4393
pm_while_node::statements
struct pm_statements_node * statements
WhileNode#statements.
Definition ast.h:4402
pm_while_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4390
pm_while_node::predicate
struct pm_node * predicate
WhileNode#predicate.
Definition ast.h:4399
pm_x_string_node
XStringNode.
Definition ast.h:4415
pm_x_string_node::closing_loc
pm_location_t closing_loc
XStringNode#closing_loc.
Definition ast.h:4426
pm_x_string_node::opening_loc
pm_location_t opening_loc
XStringNode#opening_loc.
Definition ast.h:4420
pm_x_string_node::content_loc
pm_location_t content_loc
XStringNode#content_loc.
Definition ast.h:4423
pm_x_string_node::unescaped
pm_string_t unescaped
XStringNode#unescaped.
Definition ast.h:4429
pm_x_string_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4417
pm_yield_node
YieldNode.
Definition ast.h:4439
pm_yield_node::keyword_loc
pm_location_t keyword_loc
YieldNode#keyword_loc.
Definition ast.h:4444
pm_yield_node::lparen_loc
pm_location_t lparen_loc
YieldNode#lparen_loc.
Definition ast.h:4447
pm_yield_node::base
pm_node_t base
The embedded base node.
Definition ast.h:4441
pm_yield_node::rparen_loc
pm_location_t rparen_loc
YieldNode#rparen_loc.
Definition ast.h:4453
pm_yield_node::arguments
struct pm_arguments_node * arguments
YieldNode#arguments.
Definition ast.h:4450