28typedef enum pm_token_type {
45 PM_TOKEN_KEYWORD_ELSE,
48 PM_TOKEN_KEYWORD_ELSIF,
54 PM_TOKEN_KEYWORD_ENSURE,
60 PM_TOKEN_KEYWORD_RESCUE,
63 PM_TOKEN_KEYWORD_THEN,
66 PM_TOKEN_KEYWORD_WHEN,
72 PM_TOKEN_PARENTHESIS_RIGHT,
84 PM_TOKEN_AMPERSAND_AMPERSAND,
87 PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL,
90 PM_TOKEN_AMPERSAND_DOT,
93 PM_TOKEN_AMPERSAND_EQUAL,
99 PM_TOKEN_BACK_REFERENCE,
114 PM_TOKEN_BRACKET_LEFT,
117 PM_TOKEN_BRACKET_LEFT_ARRAY,
120 PM_TOKEN_BRACKET_LEFT_RIGHT,
123 PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL,
126 PM_TOKEN_BRACKET_RIGHT,
132 PM_TOKEN_CARET_EQUAL,
135 PM_TOKEN_CHARACTER_LITERAL,
138 PM_TOKEN_CLASS_VARIABLE,
144 PM_TOKEN_COLON_COLON,
159 PM_TOKEN_DOT_DOT_DOT,
162 PM_TOKEN_EMBDOC_BEGIN,
168 PM_TOKEN_EMBDOC_LINE,
171 PM_TOKEN_EMBEXPR_BEGIN,
180 PM_TOKEN_EQUAL_EQUAL,
183 PM_TOKEN_EQUAL_EQUAL_EQUAL,
186 PM_TOKEN_EQUAL_GREATER,
189 PM_TOKEN_EQUAL_TILDE,
195 PM_TOKEN_FLOAT_IMAGINARY,
198 PM_TOKEN_FLOAT_RATIONAL,
201 PM_TOKEN_FLOAT_RATIONAL_IMAGINARY,
204 PM_TOKEN_GLOBAL_VARIABLE,
210 PM_TOKEN_GREATER_EQUAL,
213 PM_TOKEN_GREATER_GREATER,
216 PM_TOKEN_GREATER_GREATER_EQUAL,
219 PM_TOKEN_HEREDOC_END,
222 PM_TOKEN_HEREDOC_START,
228 PM_TOKEN_IGNORED_NEWLINE,
231 PM_TOKEN_INSTANCE_VARIABLE,
237 PM_TOKEN_INTEGER_IMAGINARY,
240 PM_TOKEN_INTEGER_RATIONAL,
243 PM_TOKEN_INTEGER_RATIONAL_IMAGINARY,
246 PM_TOKEN_KEYWORD_ALIAS,
249 PM_TOKEN_KEYWORD_AND,
252 PM_TOKEN_KEYWORD_BEGIN,
255 PM_TOKEN_KEYWORD_BEGIN_UPCASE,
258 PM_TOKEN_KEYWORD_BREAK,
261 PM_TOKEN_KEYWORD_CASE,
264 PM_TOKEN_KEYWORD_CLASS,
267 PM_TOKEN_KEYWORD_DEF,
270 PM_TOKEN_KEYWORD_DEFINED,
273 PM_TOKEN_KEYWORD_DO_BLOCK,
276 PM_TOKEN_KEYWORD_DO_LOOP,
279 PM_TOKEN_KEYWORD_END_UPCASE,
282 PM_TOKEN_KEYWORD_FALSE,
285 PM_TOKEN_KEYWORD_FOR,
291 PM_TOKEN_KEYWORD_IF_MODIFIER,
294 PM_TOKEN_KEYWORD_MODULE,
297 PM_TOKEN_KEYWORD_NEXT,
300 PM_TOKEN_KEYWORD_NIL,
303 PM_TOKEN_KEYWORD_NOT,
309 PM_TOKEN_KEYWORD_REDO,
312 PM_TOKEN_KEYWORD_RESCUE_MODIFIER,
315 PM_TOKEN_KEYWORD_RETRY,
318 PM_TOKEN_KEYWORD_RETURN,
321 PM_TOKEN_KEYWORD_SELF,
324 PM_TOKEN_KEYWORD_SUPER,
327 PM_TOKEN_KEYWORD_TRUE,
330 PM_TOKEN_KEYWORD_UNDEF,
333 PM_TOKEN_KEYWORD_UNLESS,
336 PM_TOKEN_KEYWORD_UNLESS_MODIFIER,
339 PM_TOKEN_KEYWORD_UNTIL,
342 PM_TOKEN_KEYWORD_UNTIL_MODIFIER,
345 PM_TOKEN_KEYWORD_WHILE,
348 PM_TOKEN_KEYWORD_WHILE_MODIFIER,
351 PM_TOKEN_KEYWORD_YIELD,
354 PM_TOKEN_KEYWORD___ENCODING__,
357 PM_TOKEN_KEYWORD___FILE__,
360 PM_TOKEN_KEYWORD___LINE__,
369 PM_TOKEN_LAMBDA_BEGIN,
378 PM_TOKEN_LESS_EQUAL_GREATER,
384 PM_TOKEN_LESS_LESS_EQUAL,
387 PM_TOKEN_METHOD_NAME,
393 PM_TOKEN_MINUS_EQUAL,
396 PM_TOKEN_MINUS_GREATER,
399 PM_TOKEN_NUMBERED_REFERENCE,
402 PM_TOKEN_PARENTHESIS_LEFT,
405 PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES,
411 PM_TOKEN_PERCENT_EQUAL,
414 PM_TOKEN_PERCENT_LOWER_I,
417 PM_TOKEN_PERCENT_LOWER_W,
420 PM_TOKEN_PERCENT_LOWER_X,
423 PM_TOKEN_PERCENT_UPPER_I,
426 PM_TOKEN_PERCENT_UPPER_W,
435 PM_TOKEN_PIPE_PIPE_EQUAL,
444 PM_TOKEN_QUESTION_MARK,
447 PM_TOKEN_REGEXP_BEGIN,
456 PM_TOKEN_SLASH_EQUAL,
468 PM_TOKEN_STAR_STAR_EQUAL,
471 PM_TOKEN_STRING_BEGIN,
474 PM_TOKEN_STRING_CONTENT,
480 PM_TOKEN_SYMBOL_BEGIN,
489 PM_TOKEN_UCOLON_COLON,
495 PM_TOKEN_UDOT_DOT_DOT,
583 PM_ALIAS_GLOBAL_VARIABLE_NODE = 1,
586 PM_ALIAS_METHOD_NODE = 2,
589 PM_ALTERNATION_PATTERN_NODE = 3,
595 PM_ARGUMENTS_NODE = 5,
601 PM_ARRAY_PATTERN_NODE = 7,
607 PM_ASSOC_SPLAT_NODE = 9,
610 PM_BACK_REFERENCE_READ_NODE = 10,
616 PM_BLOCK_ARGUMENT_NODE = 12,
619 PM_BLOCK_LOCAL_VARIABLE_NODE = 13,
625 PM_BLOCK_PARAMETER_NODE = 15,
628 PM_BLOCK_PARAMETERS_NODE = 16,
634 PM_CALL_AND_WRITE_NODE = 18,
640 PM_CALL_OPERATOR_WRITE_NODE = 20,
643 PM_CALL_OR_WRITE_NODE = 21,
646 PM_CALL_TARGET_NODE = 22,
649 PM_CAPTURE_PATTERN_NODE = 23,
652 PM_CASE_MATCH_NODE = 24,
661 PM_CLASS_VARIABLE_AND_WRITE_NODE = 27,
664 PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE = 28,
667 PM_CLASS_VARIABLE_OR_WRITE_NODE = 29,
670 PM_CLASS_VARIABLE_READ_NODE = 30,
673 PM_CLASS_VARIABLE_TARGET_NODE = 31,
676 PM_CLASS_VARIABLE_WRITE_NODE = 32,
679 PM_CONSTANT_AND_WRITE_NODE = 33,
682 PM_CONSTANT_OPERATOR_WRITE_NODE = 34,
685 PM_CONSTANT_OR_WRITE_NODE = 35,
688 PM_CONSTANT_PATH_AND_WRITE_NODE = 36,
691 PM_CONSTANT_PATH_NODE = 37,
694 PM_CONSTANT_PATH_OPERATOR_WRITE_NODE = 38,
697 PM_CONSTANT_PATH_OR_WRITE_NODE = 39,
700 PM_CONSTANT_PATH_TARGET_NODE = 40,
703 PM_CONSTANT_PATH_WRITE_NODE = 41,
706 PM_CONSTANT_READ_NODE = 42,
709 PM_CONSTANT_TARGET_NODE = 43,
712 PM_CONSTANT_WRITE_NODE = 44,
718 PM_DEFINED_NODE = 46,
724 PM_EMBEDDED_STATEMENTS_NODE = 48,
727 PM_EMBEDDED_VARIABLE_NODE = 49,
733 PM_ERROR_RECOVERY_NODE = 51,
739 PM_FIND_PATTERN_NODE = 53,
742 PM_FLIP_FLOP_NODE = 54,
751 PM_FORWARDING_ARGUMENTS_NODE = 57,
754 PM_FORWARDING_PARAMETER_NODE = 58,
757 PM_FORWARDING_SUPER_NODE = 59,
760 PM_GLOBAL_VARIABLE_AND_WRITE_NODE = 60,
763 PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE = 61,
766 PM_GLOBAL_VARIABLE_OR_WRITE_NODE = 62,
769 PM_GLOBAL_VARIABLE_READ_NODE = 63,
772 PM_GLOBAL_VARIABLE_TARGET_NODE = 64,
775 PM_GLOBAL_VARIABLE_WRITE_NODE = 65,
781 PM_HASH_PATTERN_NODE = 67,
787 PM_IMAGINARY_NODE = 69,
790 PM_IMPLICIT_NODE = 70,
793 PM_IMPLICIT_REST_NODE = 71,
799 PM_INDEX_AND_WRITE_NODE = 73,
802 PM_INDEX_OPERATOR_WRITE_NODE = 74,
805 PM_INDEX_OR_WRITE_NODE = 75,
808 PM_INDEX_TARGET_NODE = 76,
811 PM_INSTANCE_VARIABLE_AND_WRITE_NODE = 77,
814 PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE = 78,
817 PM_INSTANCE_VARIABLE_OR_WRITE_NODE = 79,
820 PM_INSTANCE_VARIABLE_READ_NODE = 80,
823 PM_INSTANCE_VARIABLE_TARGET_NODE = 81,
826 PM_INSTANCE_VARIABLE_WRITE_NODE = 82,
829 PM_INTEGER_NODE = 83,
832 PM_INTERPOLATED_MATCH_LAST_LINE_NODE = 84,
835 PM_INTERPOLATED_REGULAR_EXPRESSION_NODE = 85,
838 PM_INTERPOLATED_STRING_NODE = 86,
841 PM_INTERPOLATED_SYMBOL_NODE = 87,
844 PM_INTERPOLATED_X_STRING_NODE = 88,
847 PM_IT_LOCAL_VARIABLE_READ_NODE = 89,
850 PM_IT_PARAMETERS_NODE = 90,
853 PM_KEYWORD_HASH_NODE = 91,
856 PM_KEYWORD_REST_PARAMETER_NODE = 92,
862 PM_LOCAL_VARIABLE_AND_WRITE_NODE = 94,
865 PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE = 95,
868 PM_LOCAL_VARIABLE_OR_WRITE_NODE = 96,
871 PM_LOCAL_VARIABLE_READ_NODE = 97,
874 PM_LOCAL_VARIABLE_TARGET_NODE = 98,
877 PM_LOCAL_VARIABLE_WRITE_NODE = 99,
880 PM_MATCH_LAST_LINE_NODE = 100,
883 PM_MATCH_PREDICATE_NODE = 101,
886 PM_MATCH_REQUIRED_NODE = 102,
889 PM_MATCH_WRITE_NODE = 103,
892 PM_MODULE_NODE = 104,
895 PM_MULTI_TARGET_NODE = 105,
898 PM_MULTI_WRITE_NODE = 106,
907 PM_NO_BLOCK_PARAMETER_NODE = 109,
910 PM_NO_KEYWORDS_PARAMETER_NODE = 110,
913 PM_NUMBERED_PARAMETERS_NODE = 111,
916 PM_NUMBERED_REFERENCE_READ_NODE = 112,
919 PM_OPTIONAL_KEYWORD_PARAMETER_NODE = 113,
922 PM_OPTIONAL_PARAMETER_NODE = 114,
928 PM_PARAMETERS_NODE = 116,
931 PM_PARENTHESES_NODE = 117,
934 PM_PINNED_EXPRESSION_NODE = 118,
937 PM_PINNED_VARIABLE_NODE = 119,
940 PM_POST_EXECUTION_NODE = 120,
943 PM_PRE_EXECUTION_NODE = 121,
946 PM_PROGRAM_NODE = 122,
952 PM_RATIONAL_NODE = 124,
958 PM_REGULAR_EXPRESSION_NODE = 126,
961 PM_REQUIRED_KEYWORD_PARAMETER_NODE = 127,
964 PM_REQUIRED_PARAMETER_NODE = 128,
967 PM_RESCUE_MODIFIER_NODE = 129,
970 PM_RESCUE_NODE = 130,
973 PM_REST_PARAMETER_NODE = 131,
979 PM_RETURN_NODE = 133,
985 PM_SHAREABLE_CONSTANT_NODE = 135,
988 PM_SINGLETON_CLASS_NODE = 136,
991 PM_SOURCE_ENCODING_NODE = 137,
994 PM_SOURCE_FILE_NODE = 138,
997 PM_SOURCE_LINE_NODE = 139,
1000 PM_SPLAT_NODE = 140,
1003 PM_STATEMENTS_NODE = 141,
1006 PM_STRING_NODE = 142,
1009 PM_SUPER_NODE = 143,
1012 PM_SYMBOL_NODE = 144,
1018 PM_UNDEF_NODE = 146,
1021 PM_UNLESS_NODE = 147,
1024 PM_UNTIL_NODE = 148,
1030 PM_WHILE_NODE = 150,
1033 PM_X_STRING_NODE = 151,
1036 PM_YIELD_NODE = 152,
1046typedef uint16_t pm_node_type_t;
1052typedef uint16_t pm_node_flags_t;
1058static const pm_node_flags_t PM_NODE_FLAG_NEWLINE = 0x1;
1059static const pm_node_flags_t PM_NODE_FLAG_STATIC_LITERAL = 0x2;
1094#define PM_NODE_UPCAST(node_) ((pm_node_t *) (node_))
1100#define PM_NODE_TYPE(node_) ((enum pm_node_type) (node_)->type)
1105#define PM_NODE_TYPE_P(node_, type_) (PM_NODE_TYPE(node_) == (type_))
1110#define PM_NODE_FLAGS(node_) (PM_NODE_UPCAST(node_)->flags)
1115#define PM_NODE_FLAG_P(node_, flag_) ((PM_NODE_FLAGS(node_) & (flag_)) != 0)
1121#define PM_NODE_ALIGNAS __declspec(align(8))
1123#define PM_NODE_ALIGNAS PRISM_ALIGNAS(PRISM_ALIGNOF(void *))
7924typedef enum pm_arguments_node_flags {
7926 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING = 4,
7929 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS = 8,
7932 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT = 16,
7935 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT = 32,
7938 PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS = 64,
7940 PM_ARGUMENTS_NODE_FLAGS_LAST,
7941} pm_arguments_node_flags_t;
7946typedef enum pm_array_node_flags {
7948 PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT = 4,
7950 PM_ARRAY_NODE_FLAGS_LAST,
7951} pm_array_node_flags_t;
7956typedef enum pm_call_node_flags {
7958 PM_CALL_NODE_FLAGS_SAFE_NAVIGATION = 4,
7961 PM_CALL_NODE_FLAGS_VARIABLE_CALL = 8,
7964 PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE = 16,
7967 PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY = 32,
7969 PM_CALL_NODE_FLAGS_LAST,
7970} pm_call_node_flags_t;
7975typedef enum pm_encoding_flags {
7977 PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING = 4,
7980 PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING = 8,
7982 PM_ENCODING_FLAGS_LAST,
7983} pm_encoding_flags_t;
7988typedef enum pm_integer_base_flags {
7990 PM_INTEGER_BASE_FLAGS_BINARY = 4,
7993 PM_INTEGER_BASE_FLAGS_DECIMAL = 8,
7996 PM_INTEGER_BASE_FLAGS_OCTAL = 16,
7999 PM_INTEGER_BASE_FLAGS_HEXADECIMAL = 32,
8001 PM_INTEGER_BASE_FLAGS_LAST,
8002} pm_integer_base_flags_t;
8007typedef enum pm_interpolated_string_node_flags {
8009 PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN = 4,
8012 PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE = 8,
8014 PM_INTERPOLATED_STRING_NODE_FLAGS_LAST,
8015} pm_interpolated_string_node_flags_t;
8020typedef enum pm_keyword_hash_node_flags {
8022 PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS = 4,
8024 PM_KEYWORD_HASH_NODE_FLAGS_LAST,
8025} pm_keyword_hash_node_flags_t;
8030typedef enum pm_loop_flags {
8032 PM_LOOP_FLAGS_BEGIN_MODIFIER = 4,
8040typedef enum pm_parameter_flags {
8042 PM_PARAMETER_FLAGS_REPEATED_PARAMETER = 4,
8044 PM_PARAMETER_FLAGS_LAST,
8045} pm_parameter_flags_t;
8050typedef enum pm_parentheses_node_flags {
8052 PM_PARENTHESES_NODE_FLAGS_MULTIPLE_STATEMENTS = 4,
8054 PM_PARENTHESES_NODE_FLAGS_LAST,
8055} pm_parentheses_node_flags_t;
8060typedef enum pm_range_flags {
8062 PM_RANGE_FLAGS_EXCLUDE_END = 4,
8064 PM_RANGE_FLAGS_LAST,
8070typedef enum pm_regular_expression_flags {
8072 PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE = 4,
8075 PM_REGULAR_EXPRESSION_FLAGS_EXTENDED = 8,
8078 PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE = 16,
8081 PM_REGULAR_EXPRESSION_FLAGS_ONCE = 32,
8084 PM_REGULAR_EXPRESSION_FLAGS_EUC_JP = 64,
8087 PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT = 128,
8090 PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J = 256,
8093 PM_REGULAR_EXPRESSION_FLAGS_UTF_8 = 512,
8096 PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING = 1024,
8099 PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING = 2048,
8102 PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING = 4096,
8104 PM_REGULAR_EXPRESSION_FLAGS_LAST,
8105} pm_regular_expression_flags_t;
8110typedef enum pm_shareable_constant_node_flags {
8112 PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL = 4,
8115 PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING = 8,
8118 PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY = 16,
8120 PM_SHAREABLE_CONSTANT_NODE_FLAGS_LAST,
8121} pm_shareable_constant_node_flags_t;
8126typedef enum pm_string_flags {
8128 PM_STRING_FLAGS_FORCED_UTF8_ENCODING = 4,
8131 PM_STRING_FLAGS_FORCED_BINARY_ENCODING = 8,
8134 PM_STRING_FLAGS_FROZEN = 16,
8137 PM_STRING_FLAGS_MUTABLE = 32,
8139 PM_STRING_FLAGS_LAST,
8145typedef enum pm_symbol_flags {
8147 PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING = 4,
8150 PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING = 8,
8153 PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING = 16,
8155 PM_SYMBOL_FLAGS_LAST,
8412PRISM_EXPORTED_FUNCTION pm_call_and_write_node_t * pm_call_and_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_location_t message_loc,
pm_constant_id_t read_name,
pm_constant_id_t write_name,
pm_location_t operator_loc,
struct pm_node *value);
8432PRISM_EXPORTED_FUNCTION pm_call_node_t * pm_call_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_constant_id_t name,
pm_location_t message_loc,
pm_location_t opening_loc,
struct pm_arguments_node *
arguments,
pm_location_t closing_loc,
pm_location_t equal_loc,
struct pm_node *block);
8451PRISM_EXPORTED_FUNCTION pm_call_operator_write_node_t * pm_call_operator_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_location_t message_loc,
pm_constant_id_t read_name,
pm_constant_id_t write_name,
pm_constant_id_t binary_operator,
pm_location_t binary_operator_loc,
struct pm_node *value);
8469PRISM_EXPORTED_FUNCTION pm_call_or_write_node_t * pm_call_or_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_location_t message_loc,
pm_constant_id_t read_name,
pm_constant_id_t write_name,
pm_location_t operator_loc,
struct pm_node *value);
8549PRISM_EXPORTED_FUNCTION pm_class_node_t * pm_class_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
pm_constant_id_list_t locals,
pm_location_t class_keyword_loc,
struct pm_node *constant_path,
pm_location_t inheritance_operator_loc,
struct pm_node *superclass,
struct pm_node *body,
pm_location_t end_keyword_loc,
pm_constant_id_t name);
8829PRISM_EXPORTED_FUNCTION pm_def_node_t * pm_def_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
pm_constant_id_t name,
pm_location_t name_loc,
struct pm_node *receiver,
struct pm_parameters_node *parameters,
struct pm_node *body,
pm_constant_id_list_t locals,
pm_location_t def_keyword_loc,
pm_location_t operator_loc,
pm_location_t lparen_loc,
pm_location_t rparen_loc,
pm_location_t equal_loc,
pm_location_t end_keyword_loc);
8983PRISM_EXPORTED_FUNCTION pm_for_node_t * pm_for_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *index,
struct pm_node *collection,
struct pm_statements_node *statements,
pm_location_t for_keyword_loc,
pm_location_t in_keyword_loc,
pm_location_t do_keyword_loc,
pm_location_t end_keyword_loc);
9219PRISM_EXPORTED_FUNCTION pm_index_and_write_node_t * pm_index_and_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_location_t opening_loc,
struct pm_arguments_node *
arguments,
pm_location_t closing_loc,
struct pm_block_argument_node *block,
pm_location_t operator_loc,
struct pm_node *value);
9239PRISM_EXPORTED_FUNCTION pm_index_operator_write_node_t * pm_index_operator_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_location_t opening_loc,
struct pm_arguments_node *
arguments,
pm_location_t closing_loc,
struct pm_block_argument_node *block,
pm_constant_id_t binary_operator,
pm_location_t binary_operator_loc,
struct pm_node *value);
9258PRISM_EXPORTED_FUNCTION pm_index_or_write_node_t * pm_index_or_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
struct pm_node *receiver,
pm_location_t call_operator_loc,
pm_location_t opening_loc,
struct pm_arguments_node *
arguments,
pm_location_t closing_loc,
struct pm_block_argument_node *block,
pm_location_t operator_loc,
struct pm_node *value);
9704PRISM_EXPORTED_FUNCTION pm_multi_write_node_t * pm_multi_write_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
pm_node_list_t lefts,
struct pm_node *rest,
pm_node_list_t rights,
pm_location_t lparen_loc,
pm_location_t rparen_loc,
pm_location_t operator_loc,
struct pm_node *value);
9839PRISM_EXPORTED_FUNCTION pm_parameters_node_t * pm_parameters_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
pm_node_list_t requireds,
pm_node_list_t optionals,
struct pm_node *rest,
pm_node_list_t posts,
pm_node_list_t keywords,
struct pm_node *keyword_rest,
struct pm_node *block);
10034PRISM_EXPORTED_FUNCTION pm_rescue_node_t * pm_rescue_node_new(
pm_arena_t *arena, uint32_t
node_id, pm_node_flags_t
flags,
pm_location_t location,
pm_location_t keyword_loc,
pm_node_list_t exceptions,
pm_location_t operator_loc,
struct pm_node *reference,
pm_location_t then_keyword_loc,
struct pm_statements_node *statements,
struct pm_rescue_node *subsequent);
10343#define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS 0
A bump allocator for the prism parser.
A data structure that stores a set of strings.
uint32_t pm_constant_id_t
A constant id is a unique identifier for a constant in the constant pool.
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
This module provides functions for working with arbitrary-sized integers.
A generic string type that can have various ownership semantics.
PM_NODE_ALIGNAS struct pm_node * new_name
AliasGlobalVariableNode::new_name.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
AliasGlobalVariableNode::keyword_loc.
PM_NODE_ALIGNAS struct pm_node * old_name
AliasGlobalVariableNode::old_name.
PM_NODE_ALIGNAS struct pm_node * old_name
AliasMethodNode::old_name.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
AliasMethodNode::keyword_loc.
PM_NODE_ALIGNAS struct pm_node * new_name
AliasMethodNode::new_name.
pm_location_t operator_loc
AlternationPatternNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * left
AlternationPatternNode::left.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * right
AlternationPatternNode::right.
PM_NODE_ALIGNAS struct pm_node * left
AndNode::left.
PM_NODE_ALIGNAS struct pm_node * right
AndNode::right.
pm_location_t operator_loc
AndNode::operator_loc.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node_list arguments
ArgumentsNode::arguments.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
ArrayNode::closing_loc.
struct pm_node_list elements
ArrayNode::elements.
pm_location_t opening_loc
ArrayNode::opening_loc.
struct pm_node_list requireds
ArrayPatternNode::requireds.
PM_NODE_ALIGNAS struct pm_node * rest
ArrayPatternNode::rest.
PM_NODE_ALIGNAS struct pm_node * constant
ArrayPatternNode::constant.
pm_location_t opening_loc
ArrayPatternNode::opening_loc.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
ArrayPatternNode::closing_loc.
struct pm_node_list posts
ArrayPatternNode::posts.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
AssocNode::value.
PM_NODE_ALIGNAS struct pm_node * key
AssocNode::key.
pm_location_t operator_loc
AssocNode::operator_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
AssocSplatNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
AssocSplatNode::value.
pm_constant_id_t name
BackReferenceReadNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_else_node * else_clause
BeginNode::else_clause.
PM_NODE_ALIGNAS struct pm_ensure_node * ensure_clause
BeginNode::ensure_clause.
PM_NODE_ALIGNAS struct pm_statements_node * statements
BeginNode::statements.
PM_NODE_ALIGNAS struct pm_rescue_node * rescue_clause
BeginNode::rescue_clause.
pm_node_t base
The embedded base node.
pm_location_t end_keyword_loc
BeginNode::end_keyword_loc.
pm_location_t begin_keyword_loc
BeginNode::begin_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * expression
BlockArgumentNode::expression.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
BlockArgumentNode::operator_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
BlockLocalVariableNode::name.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
BlockNode::closing_loc.
PM_NODE_ALIGNAS struct pm_node * parameters
BlockNode::parameters.
pm_location_t opening_loc
BlockNode::opening_loc.
pm_constant_id_list_t locals
BlockNode::locals.
PM_NODE_ALIGNAS struct pm_node * body
BlockNode::body.
pm_location_t operator_loc
BlockParameterNode::operator_loc.
pm_location_t name_loc
BlockParameterNode::name_loc.
pm_constant_id_t name
BlockParameterNode::name.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node_list locals
BlockParametersNode::locals.
PM_NODE_ALIGNAS struct pm_parameters_node * parameters
BlockParametersNode::parameters.
pm_location_t closing_loc
BlockParametersNode::closing_loc.
pm_location_t opening_loc
BlockParametersNode::opening_loc.
pm_location_t keyword_loc
BreakNode::keyword_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
BreakNode::arguments.
pm_location_t operator_loc
CallAndWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * receiver
CallAndWriteNode::receiver.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
CallAndWriteNode::value.
pm_location_t call_operator_loc
CallAndWriteNode::call_operator_loc.
pm_location_t message_loc
CallAndWriteNode::message_loc.
pm_constant_id_t read_name
CallAndWriteNode::read_name.
pm_constant_id_t write_name
CallAndWriteNode::write_name.
pm_location_t opening_loc
CallNode::opening_loc.
pm_location_t closing_loc
CallNode::closing_loc.
pm_constant_id_t name
CallNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
CallNode::arguments.
pm_location_t equal_loc
CallNode::equal_loc.
pm_location_t call_operator_loc
CallNode::call_operator_loc.
pm_location_t message_loc
CallNode::message_loc.
PM_NODE_ALIGNAS struct pm_node * block
CallNode::block.
PM_NODE_ALIGNAS struct pm_node * receiver
CallNode::receiver.
pm_constant_id_t read_name
CallOperatorWriteNode::read_name.
pm_constant_id_t binary_operator
CallOperatorWriteNode::binary_operator.
pm_location_t binary_operator_loc
CallOperatorWriteNode::binary_operator_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t write_name
CallOperatorWriteNode::write_name.
pm_location_t message_loc
CallOperatorWriteNode::message_loc.
PM_NODE_ALIGNAS struct pm_node * receiver
CallOperatorWriteNode::receiver.
PM_NODE_ALIGNAS struct pm_node * value
CallOperatorWriteNode::value.
pm_location_t call_operator_loc
CallOperatorWriteNode::call_operator_loc.
pm_location_t operator_loc
CallOrWriteNode::operator_loc.
pm_location_t call_operator_loc
CallOrWriteNode::call_operator_loc.
PM_NODE_ALIGNAS struct pm_node * receiver
CallOrWriteNode::receiver.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
CallOrWriteNode::value.
pm_constant_id_t write_name
CallOrWriteNode::write_name.
pm_constant_id_t read_name
CallOrWriteNode::read_name.
pm_location_t message_loc
CallOrWriteNode::message_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
CallTargetNode::name.
PM_NODE_ALIGNAS struct pm_node * receiver
CallTargetNode::receiver.
pm_location_t call_operator_loc
CallTargetNode::call_operator_loc.
pm_location_t message_loc
CallTargetNode::message_loc.
pm_location_t operator_loc
CapturePatternNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
CapturePatternNode::value.
PM_NODE_ALIGNAS struct pm_local_variable_target_node * target
CapturePatternNode::target.
pm_location_t end_keyword_loc
CaseMatchNode::end_keyword_loc.
struct pm_node_list conditions
CaseMatchNode::conditions.
pm_node_t base
The embedded base node.
pm_location_t case_keyword_loc
CaseMatchNode::case_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * predicate
CaseMatchNode::predicate.
PM_NODE_ALIGNAS struct pm_else_node * else_clause
CaseMatchNode::else_clause.
PM_NODE_ALIGNAS struct pm_else_node * else_clause
CaseNode::else_clause.
struct pm_node_list conditions
CaseNode::conditions.
PM_NODE_ALIGNAS struct pm_node * predicate
CaseNode::predicate.
pm_node_t base
The embedded base node.
pm_location_t case_keyword_loc
CaseNode::case_keyword_loc.
pm_location_t end_keyword_loc
CaseNode::end_keyword_loc.
pm_location_t class_keyword_loc
ClassNode::class_keyword_loc.
pm_location_t end_keyword_loc
ClassNode::end_keyword_loc.
pm_constant_id_list_t locals
ClassNode::locals.
PM_NODE_ALIGNAS struct pm_node * superclass
ClassNode::superclass.
pm_location_t inheritance_operator_loc
ClassNode::inheritance_operator_loc.
pm_constant_id_t name
ClassNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * constant_path
ClassNode::constant_path.
PM_NODE_ALIGNAS struct pm_node * body
ClassNode::body.
ClassVariableAndWriteNode.
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableAndWriteNode::value.
pm_constant_id_t name
ClassVariableAndWriteNode::name.
pm_location_t operator_loc
ClassVariableAndWriteNode::operator_loc.
pm_node_t base
The embedded base node.
pm_location_t name_loc
ClassVariableAndWriteNode::name_loc.
ClassVariableOperatorWriteNode.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ClassVariableOperatorWriteNode::name.
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableOperatorWriteNode::value.
pm_location_t name_loc
ClassVariableOperatorWriteNode::name_loc.
pm_constant_id_t binary_operator
ClassVariableOperatorWriteNode::binary_operator.
pm_location_t binary_operator_loc
ClassVariableOperatorWriteNode::binary_operator_loc.
ClassVariableOrWriteNode.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableOrWriteNode::value.
pm_location_t name_loc
ClassVariableOrWriteNode::name_loc.
pm_location_t operator_loc
ClassVariableOrWriteNode::operator_loc.
pm_constant_id_t name
ClassVariableOrWriteNode::name.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ClassVariableReadNode::name.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ClassVariableTargetNode::name.
pm_location_t name_loc
ClassVariableWriteNode::name_loc.
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableWriteNode::value.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
ClassVariableWriteNode::operator_loc.
pm_constant_id_t name
ClassVariableWriteNode::name.
pm_location_t operator_loc
ConstantAndWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
ConstantAndWriteNode::value.
pm_location_t name_loc
ConstantAndWriteNode::name_loc.
pm_constant_id_t name
ConstantAndWriteNode::name.
pm_node_t base
The embedded base node.
ConstantOperatorWriteNode.
pm_constant_id_t name
ConstantOperatorWriteNode::name.
pm_location_t name_loc
ConstantOperatorWriteNode::name_loc.
pm_constant_id_t binary_operator
ConstantOperatorWriteNode::binary_operator.
pm_location_t binary_operator_loc
ConstantOperatorWriteNode::binary_operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
ConstantOperatorWriteNode::value.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
ConstantOrWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
ConstantOrWriteNode::value.
pm_location_t name_loc
ConstantOrWriteNode::name_loc.
pm_constant_id_t name
ConstantOrWriteNode::name.
pm_node_t base
The embedded base node.
ConstantPathAndWriteNode.
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathAndWriteNode::target.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathAndWriteNode::value.
pm_location_t operator_loc
ConstantPathAndWriteNode::operator_loc.
pm_location_t delimiter_loc
ConstantPathNode::delimiter_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * parent
ConstantPathNode::parent.
pm_location_t name_loc
ConstantPathNode::name_loc.
pm_constant_id_t name
ConstantPathNode::name.
ConstantPathOperatorWriteNode.
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathOperatorWriteNode::target.
pm_constant_id_t binary_operator
ConstantPathOperatorWriteNode::binary_operator.
pm_node_t base
The embedded base node.
pm_location_t binary_operator_loc
ConstantPathOperatorWriteNode::binary_operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathOperatorWriteNode::value.
pm_location_t operator_loc
ConstantPathOrWriteNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathOrWriteNode::value.
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathOrWriteNode::target.
pm_node_t base
The embedded base node.
pm_location_t delimiter_loc
ConstantPathTargetNode::delimiter_loc.
pm_constant_id_t name
ConstantPathTargetNode::name.
PM_NODE_ALIGNAS struct pm_node * parent
ConstantPathTargetNode::parent.
pm_location_t name_loc
ConstantPathTargetNode::name_loc.
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathWriteNode::value.
pm_location_t operator_loc
ConstantPathWriteNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathWriteNode::target.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ConstantReadNode::name.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ConstantTargetNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
ConstantWriteNode::value.
pm_constant_id_t name
ConstantWriteNode::name.
pm_location_t name_loc
ConstantWriteNode::name_loc.
pm_location_t operator_loc
ConstantWriteNode::operator_loc.
pm_location_t end_keyword_loc
DefNode::end_keyword_loc.
pm_constant_id_t name
DefNode::name.
pm_location_t name_loc
DefNode::name_loc.
pm_location_t rparen_loc
DefNode::rparen_loc.
PM_NODE_ALIGNAS struct pm_parameters_node * parameters
DefNode::parameters.
pm_location_t equal_loc
DefNode::equal_loc.
pm_location_t def_keyword_loc
DefNode::def_keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t lparen_loc
DefNode::lparen_loc.
PM_NODE_ALIGNAS struct pm_node * receiver
DefNode::receiver.
PM_NODE_ALIGNAS struct pm_node * body
DefNode::body.
pm_location_t operator_loc
DefNode::operator_loc.
pm_constant_id_list_t locals
DefNode::locals.
PM_NODE_ALIGNAS struct pm_node * value
DefinedNode::value.
pm_location_t lparen_loc
DefinedNode::lparen_loc.
pm_node_t base
The embedded base node.
pm_location_t rparen_loc
DefinedNode::rparen_loc.
pm_location_t keyword_loc
DefinedNode::keyword_loc.
pm_location_t else_keyword_loc
ElseNode::else_keyword_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_statements_node * statements
ElseNode::statements.
pm_location_t end_keyword_loc
ElseNode::end_keyword_loc.
PM_NODE_ALIGNAS struct pm_statements_node * statements
EmbeddedStatementsNode::statements.
pm_location_t closing_loc
EmbeddedStatementsNode::closing_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
EmbeddedStatementsNode::opening_loc.
PM_NODE_ALIGNAS struct pm_node * variable
EmbeddedVariableNode::variable.
pm_location_t operator_loc
EmbeddedVariableNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_statements_node * statements
EnsureNode::statements.
pm_node_t base
The embedded base node.
pm_location_t ensure_keyword_loc
EnsureNode::ensure_keyword_loc.
pm_location_t end_keyword_loc
EnsureNode::end_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * unexpected
ErrorRecoveryNode::unexpected.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_splat_node * left
FindPatternNode::left.
PM_NODE_ALIGNAS struct pm_splat_node * right
FindPatternNode::right.
pm_location_t opening_loc
FindPatternNode::opening_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * constant
FindPatternNode::constant.
struct pm_node_list requireds
FindPatternNode::requireds.
pm_location_t closing_loc
FindPatternNode::closing_loc.
PM_NODE_ALIGNAS struct pm_node * left
FlipFlopNode::left.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
FlipFlopNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * right
FlipFlopNode::right.
double value
FloatNode::value.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * index
ForNode::index.
PM_NODE_ALIGNAS struct pm_node * collection
ForNode::collection.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_statements_node * statements
ForNode::statements.
pm_location_t end_keyword_loc
ForNode::end_keyword_loc.
pm_location_t for_keyword_loc
ForNode::for_keyword_loc.
pm_location_t do_keyword_loc
ForNode::do_keyword_loc.
pm_location_t in_keyword_loc
ForNode::in_keyword_loc.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_block_node * block
ForwardingSuperNode::block.
pm_location_t keyword_loc
ForwardingSuperNode::keyword_loc.
GlobalVariableAndWriteNode.
pm_location_t operator_loc
GlobalVariableAndWriteNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableAndWriteNode::value.
pm_location_t name_loc
GlobalVariableAndWriteNode::name_loc.
pm_constant_id_t name
GlobalVariableAndWriteNode::name.
GlobalVariableOperatorWriteNode.
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableOperatorWriteNode::value.
pm_constant_id_t name
GlobalVariableOperatorWriteNode::name.
pm_constant_id_t binary_operator
GlobalVariableOperatorWriteNode::binary_operator.
pm_location_t name_loc
GlobalVariableOperatorWriteNode::name_loc.
pm_node_t base
The embedded base node.
pm_location_t binary_operator_loc
GlobalVariableOperatorWriteNode::binary_operator_loc.
GlobalVariableOrWriteNode.
pm_constant_id_t name
GlobalVariableOrWriteNode::name.
pm_location_t name_loc
GlobalVariableOrWriteNode::name_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
GlobalVariableOrWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableOrWriteNode::value.
pm_node_t base
The embedded base node.
pm_constant_id_t name
GlobalVariableReadNode::name.
GlobalVariableTargetNode.
pm_constant_id_t name
GlobalVariableTargetNode::name.
pm_node_t base
The embedded base node.
pm_location_t name_loc
GlobalVariableWriteNode::name_loc.
pm_location_t operator_loc
GlobalVariableWriteNode::operator_loc.
pm_constant_id_t name
GlobalVariableWriteNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableWriteNode::value.
struct pm_node_list elements
HashNode::elements.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
HashNode::closing_loc.
pm_location_t opening_loc
HashNode::opening_loc.
PM_NODE_ALIGNAS struct pm_node * constant
HashPatternNode::constant.
struct pm_node_list elements
HashPatternNode::elements.
pm_location_t opening_loc
HashPatternNode::opening_loc.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
HashPatternNode::closing_loc.
PM_NODE_ALIGNAS struct pm_node * rest
HashPatternNode::rest.
PM_NODE_ALIGNAS struct pm_node * predicate
IfNode::predicate.
pm_location_t end_keyword_loc
IfNode::end_keyword_loc.
pm_location_t if_keyword_loc
IfNode::if_keyword_loc.
PM_NODE_ALIGNAS struct pm_statements_node * statements
IfNode::statements.
pm_node_t base
The embedded base node.
pm_location_t then_keyword_loc
IfNode::then_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * subsequent
IfNode::subsequent.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * numeric
ImaginaryNode::numeric.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
ImplicitNode::value.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * pattern
InNode::pattern.
PM_NODE_ALIGNAS struct pm_statements_node * statements
InNode::statements.
pm_node_t base
The embedded base node.
pm_location_t then_loc
InNode::then_loc.
pm_location_t in_loc
InNode::in_loc.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexAndWriteNode::arguments.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
IndexAndWriteNode::operator_loc.
pm_location_t closing_loc
IndexAndWriteNode::closing_loc.
pm_location_t opening_loc
IndexAndWriteNode::opening_loc.
pm_location_t call_operator_loc
IndexAndWriteNode::call_operator_loc.
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexAndWriteNode::block.
PM_NODE_ALIGNAS struct pm_node * receiver
IndexAndWriteNode::receiver.
PM_NODE_ALIGNAS struct pm_node * value
IndexAndWriteNode::value.
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexOperatorWriteNode::block.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * receiver
IndexOperatorWriteNode::receiver.
pm_location_t binary_operator_loc
IndexOperatorWriteNode::binary_operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
IndexOperatorWriteNode::value.
pm_location_t opening_loc
IndexOperatorWriteNode::opening_loc.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexOperatorWriteNode::arguments.
pm_location_t call_operator_loc
IndexOperatorWriteNode::call_operator_loc.
pm_location_t closing_loc
IndexOperatorWriteNode::closing_loc.
pm_constant_id_t binary_operator
IndexOperatorWriteNode::binary_operator.
pm_location_t closing_loc
IndexOrWriteNode::closing_loc.
pm_location_t call_operator_loc
IndexOrWriteNode::call_operator_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
IndexOrWriteNode::operator_loc.
pm_location_t opening_loc
IndexOrWriteNode::opening_loc.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexOrWriteNode::arguments.
PM_NODE_ALIGNAS struct pm_node * value
IndexOrWriteNode::value.
PM_NODE_ALIGNAS struct pm_node * receiver
IndexOrWriteNode::receiver.
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexOrWriteNode::block.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexTargetNode::arguments.
pm_location_t closing_loc
IndexTargetNode::closing_loc.
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexTargetNode::block.
pm_location_t opening_loc
IndexTargetNode::opening_loc.
PM_NODE_ALIGNAS struct pm_node * receiver
IndexTargetNode::receiver.
InstanceVariableAndWriteNode.
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableAndWriteNode::value.
pm_location_t operator_loc
InstanceVariableAndWriteNode::operator_loc.
pm_location_t name_loc
InstanceVariableAndWriteNode::name_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
InstanceVariableAndWriteNode::name.
InstanceVariableOperatorWriteNode.
pm_constant_id_t binary_operator
InstanceVariableOperatorWriteNode::binary_operator.
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableOperatorWriteNode::value.
pm_location_t binary_operator_loc
InstanceVariableOperatorWriteNode::binary_operator_loc.
pm_constant_id_t name
InstanceVariableOperatorWriteNode::name.
pm_node_t base
The embedded base node.
pm_location_t name_loc
InstanceVariableOperatorWriteNode::name_loc.
InstanceVariableOrWriteNode.
pm_location_t operator_loc
InstanceVariableOrWriteNode::operator_loc.
pm_node_t base
The embedded base node.
pm_location_t name_loc
InstanceVariableOrWriteNode::name_loc.
pm_constant_id_t name
InstanceVariableOrWriteNode::name.
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableOrWriteNode::value.
InstanceVariableReadNode.
pm_constant_id_t name
InstanceVariableReadNode::name.
pm_node_t base
The embedded base node.
InstanceVariableTargetNode.
pm_constant_id_t name
InstanceVariableTargetNode::name.
pm_node_t base
The embedded base node.
InstanceVariableWriteNode.
pm_location_t operator_loc
InstanceVariableWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableWriteNode::value.
pm_constant_id_t name
InstanceVariableWriteNode::name.
pm_node_t base
The embedded base node.
pm_location_t name_loc
InstanceVariableWriteNode::name_loc.
pm_integer_t value
IntegerNode::value.
pm_node_t base
The embedded base node.
A structure represents an arbitrary-sized integer.
InterpolatedMatchLastLineNode.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
InterpolatedMatchLastLineNode::closing_loc.
struct pm_node_list parts
InterpolatedMatchLastLineNode::parts.
pm_location_t opening_loc
InterpolatedMatchLastLineNode::opening_loc.
InterpolatedRegularExpressionNode.
pm_location_t opening_loc
InterpolatedRegularExpressionNode::opening_loc.
struct pm_node_list parts
InterpolatedRegularExpressionNode::parts.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
InterpolatedRegularExpressionNode::closing_loc.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
InterpolatedStringNode::closing_loc.
pm_location_t opening_loc
InterpolatedStringNode::opening_loc.
struct pm_node_list parts
InterpolatedStringNode::parts.
struct pm_node_list parts
InterpolatedSymbolNode::parts.
pm_location_t closing_loc
InterpolatedSymbolNode::closing_loc.
pm_location_t opening_loc
InterpolatedSymbolNode::opening_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
InterpolatedXStringNode::opening_loc.
pm_location_t closing_loc
InterpolatedXStringNode::closing_loc.
pm_node_t base
The embedded base node.
struct pm_node_list parts
InterpolatedXStringNode::parts.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node_list elements
KeywordHashNode::elements.
KeywordRestParameterNode.
pm_node_t base
The embedded base node.
pm_constant_id_t name
KeywordRestParameterNode::name.
pm_location_t operator_loc
KeywordRestParameterNode::operator_loc.
pm_location_t name_loc
KeywordRestParameterNode::name_loc.
pm_location_t closing_loc
LambdaNode::closing_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
LambdaNode::opening_loc.
pm_location_t operator_loc
LambdaNode::operator_loc.
pm_constant_id_list_t locals
LambdaNode::locals.
PM_NODE_ALIGNAS struct pm_node * body
LambdaNode::body.
PM_NODE_ALIGNAS struct pm_node * parameters
LambdaNode::parameters.
LocalVariableAndWriteNode.
pm_constant_id_t name
LocalVariableAndWriteNode::name.
pm_node_t base
The embedded base node.
uint32_t depth
LocalVariableAndWriteNode::depth.
pm_location_t operator_loc
LocalVariableAndWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableAndWriteNode::value.
pm_location_t name_loc
LocalVariableAndWriteNode::name_loc.
LocalVariableOperatorWriteNode.
uint32_t depth
LocalVariableOperatorWriteNode::depth.
pm_constant_id_t binary_operator
LocalVariableOperatorWriteNode::binary_operator.
pm_node_t base
The embedded base node.
pm_location_t name_loc
LocalVariableOperatorWriteNode::name_loc.
pm_location_t binary_operator_loc
LocalVariableOperatorWriteNode::binary_operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableOperatorWriteNode::value.
pm_constant_id_t name
LocalVariableOperatorWriteNode::name.
LocalVariableOrWriteNode.
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableOrWriteNode::value.
uint32_t depth
LocalVariableOrWriteNode::depth.
pm_location_t operator_loc
LocalVariableOrWriteNode::operator_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
LocalVariableOrWriteNode::name.
pm_location_t name_loc
LocalVariableOrWriteNode::name_loc.
uint32_t depth
LocalVariableReadNode::depth.
pm_constant_id_t name
LocalVariableReadNode::name.
pm_node_t base
The embedded base node.
uint32_t depth
LocalVariableTargetNode::depth.
pm_constant_id_t name
LocalVariableTargetNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableWriteNode::value.
pm_location_t operator_loc
LocalVariableWriteNode::operator_loc.
pm_location_t name_loc
LocalVariableWriteNode::name_loc.
pm_node_t base
The embedded base node.
uint32_t depth
LocalVariableWriteNode::depth.
pm_constant_id_t name
LocalVariableWriteNode::name.
This struct represents a slice in the source code, defined by an offset and a length.
uint32_t start
The offset of the location from the start of the source.
uint32_t length
The length of the location.
pm_location_t content_loc
MatchLastLineNode::content_loc.
pm_location_t opening_loc
MatchLastLineNode::opening_loc.
pm_location_t closing_loc
MatchLastLineNode::closing_loc.
pm_string_t unescaped
MatchLastLineNode::unescaped.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
MatchPredicateNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * pattern
MatchPredicateNode::pattern.
PM_NODE_ALIGNAS struct pm_node * value
MatchPredicateNode::value.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
MatchRequiredNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * pattern
MatchRequiredNode::pattern.
PM_NODE_ALIGNAS struct pm_node * value
MatchRequiredNode::value.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_call_node * call
MatchWriteNode::call.
struct pm_node_list targets
MatchWriteNode::targets.
pm_location_t end_keyword_loc
ModuleNode::end_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * constant_path
ModuleNode::constant_path.
PM_NODE_ALIGNAS struct pm_node * body
ModuleNode::body.
pm_constant_id_list_t locals
ModuleNode::locals.
pm_node_t base
The embedded base node.
pm_location_t module_keyword_loc
ModuleNode::module_keyword_loc.
pm_constant_id_t name
ModuleNode::name.
PM_NODE_ALIGNAS struct pm_node * rest
MultiTargetNode::rest.
pm_node_t base
The embedded base node.
pm_location_t lparen_loc
MultiTargetNode::lparen_loc.
struct pm_node_list lefts
MultiTargetNode::lefts.
pm_location_t rparen_loc
MultiTargetNode::rparen_loc.
struct pm_node_list rights
MultiTargetNode::rights.
pm_location_t rparen_loc
MultiWriteNode::rparen_loc.
PM_NODE_ALIGNAS struct pm_node * rest
MultiWriteNode::rest.
struct pm_node_list rights
MultiWriteNode::rights.
pm_location_t operator_loc
MultiWriteNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
MultiWriteNode::value.
pm_location_t lparen_loc
MultiWriteNode::lparen_loc.
struct pm_node_list lefts
MultiWriteNode::lefts.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
NextNode::arguments.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
NextNode::keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
NoBlockParameterNode::keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
NoBlockParameterNode::operator_loc.
pm_location_t keyword_loc
NoKeywordsParameterNode::keyword_loc.
pm_location_t operator_loc
NoKeywordsParameterNode::operator_loc.
pm_node_t base
The embedded base node.
A list of nodes in the source, most often used for lists of children.
size_t size
The number of nodes in the list.
struct pm_node ** nodes
The nodes in the list.
size_t capacity
The capacity of the list that has been allocated.
This is the base structure that represents a node in the syntax tree.
pm_node_type_t type
This represents the type of the node.
uint32_t node_id
The unique identifier for this node, which is deterministic based on the source.
pm_node_flags_t flags
This represents any flags on the node.
pm_location_t location
This is the location of the node in the source.
pm_node_t base
The embedded base node.
uint8_t maximum
NumberedParametersNode::maximum.
NumberedReferenceReadNode.
pm_node_t base
The embedded base node.
uint32_t number
NumberedReferenceReadNode::number.
OptionalKeywordParameterNode.
pm_node_t base
The embedded base node.
pm_constant_id_t name
OptionalKeywordParameterNode::name.
PM_NODE_ALIGNAS struct pm_node * value
OptionalKeywordParameterNode::value.
pm_location_t name_loc
OptionalKeywordParameterNode::name_loc.
pm_location_t name_loc
OptionalParameterNode::name_loc.
pm_constant_id_t name
OptionalParameterNode::name.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
OptionalParameterNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * value
OptionalParameterNode::value.
PM_NODE_ALIGNAS struct pm_node * right
OrNode::right.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * left
OrNode::left.
pm_location_t operator_loc
OrNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * block
ParametersNode::block.
struct pm_node_list requireds
ParametersNode::requireds.
struct pm_node_list optionals
ParametersNode::optionals.
struct pm_node_list posts
ParametersNode::posts.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * rest
ParametersNode::rest.
struct pm_node_list keywords
ParametersNode::keywords.
PM_NODE_ALIGNAS struct pm_node * keyword_rest
ParametersNode::keyword_rest.
pm_location_t closing_loc
ParenthesesNode::closing_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
ParenthesesNode::opening_loc.
PM_NODE_ALIGNAS struct pm_node * body
ParenthesesNode::body.
pm_node_t base
The embedded base node.
pm_location_t rparen_loc
PinnedExpressionNode::rparen_loc.
pm_location_t lparen_loc
PinnedExpressionNode::lparen_loc.
PM_NODE_ALIGNAS struct pm_node * expression
PinnedExpressionNode::expression.
pm_location_t operator_loc
PinnedExpressionNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * variable
PinnedVariableNode::variable.
pm_location_t operator_loc
PinnedVariableNode::operator_loc.
pm_location_t closing_loc
PostExecutionNode::closing_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
PostExecutionNode::opening_loc.
pm_location_t keyword_loc
PostExecutionNode::keyword_loc.
PM_NODE_ALIGNAS struct pm_statements_node * statements
PostExecutionNode::statements.
pm_location_t closing_loc
PreExecutionNode::closing_loc.
pm_location_t opening_loc
PreExecutionNode::opening_loc.
PM_NODE_ALIGNAS struct pm_statements_node * statements
PreExecutionNode::statements.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
PreExecutionNode::keyword_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_statements_node * statements
ProgramNode::statements.
pm_constant_id_list_t locals
ProgramNode::locals.
pm_location_t operator_loc
RangeNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * right
RangeNode::right.
PM_NODE_ALIGNAS struct pm_node * left
RangeNode::left.
pm_node_t base
The embedded base node.
pm_integer_t denominator
RationalNode::denominator.
pm_integer_t numerator
RationalNode::numerator.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
RegularExpressionNode::closing_loc.
pm_node_t base
The embedded base node.
pm_string_t unescaped
RegularExpressionNode::unescaped.
pm_location_t opening_loc
RegularExpressionNode::opening_loc.
pm_location_t content_loc
RegularExpressionNode::content_loc.
RequiredKeywordParameterNode.
pm_location_t name_loc
RequiredKeywordParameterNode::name_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
RequiredKeywordParameterNode::name.
pm_constant_id_t name
RequiredParameterNode::name.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * expression
RescueModifierNode::expression.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
RescueModifierNode::keyword_loc.
PM_NODE_ALIGNAS struct pm_node * rescue_expression
RescueModifierNode::rescue_expression.
PM_NODE_ALIGNAS struct pm_statements_node * statements
RescueNode::statements.
PM_NODE_ALIGNAS struct pm_rescue_node * subsequent
RescueNode::subsequent.
pm_location_t keyword_loc
RescueNode::keyword_loc.
PM_NODE_ALIGNAS struct pm_node * reference
RescueNode::reference.
pm_location_t then_keyword_loc
RescueNode::then_keyword_loc.
pm_location_t operator_loc
RescueNode::operator_loc.
struct pm_node_list exceptions
RescueNode::exceptions.
pm_node_t base
The embedded base node.
pm_constant_id_t name
RestParameterNode::name.
pm_location_t name_loc
RestParameterNode::name_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
RestParameterNode::operator_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
ReturnNode::arguments.
pm_location_t keyword_loc
ReturnNode::keyword_loc.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * write
ShareableConstantNode::write.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * body
SingletonClassNode::body.
pm_node_t base
The embedded base node.
pm_constant_id_list_t locals
SingletonClassNode::locals.
pm_location_t operator_loc
SingletonClassNode::operator_loc.
PM_NODE_ALIGNAS struct pm_node * expression
SingletonClassNode::expression.
pm_location_t end_keyword_loc
SingletonClassNode::end_keyword_loc.
pm_location_t class_keyword_loc
SingletonClassNode::class_keyword_loc.
pm_node_t base
The embedded base node.
pm_string_t filepath
SourceFileNode::filepath.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_node * expression
SplatNode::expression.
pm_location_t operator_loc
SplatNode::operator_loc.
struct pm_node_list body
StatementsNode::body.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_string_t unescaped
StringNode::unescaped.
pm_location_t content_loc
StringNode::content_loc.
pm_location_t closing_loc
StringNode::closing_loc.
pm_location_t opening_loc
StringNode::opening_loc.
A generic string type that can have various ownership semantics.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
SuperNode::arguments.
pm_location_t lparen_loc
SuperNode::lparen_loc.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
SuperNode::keyword_loc.
pm_location_t rparen_loc
SuperNode::rparen_loc.
PM_NODE_ALIGNAS struct pm_node * block
SuperNode::block.
pm_location_t opening_loc
SymbolNode::opening_loc.
pm_location_t value_loc
SymbolNode::value_loc.
pm_location_t closing_loc
SymbolNode::closing_loc.
pm_string_t unescaped
SymbolNode::unescaped.
pm_node_t base
The embedded base node.
This struct represents a token in the Ruby source.
const uint8_t * end
A pointer to the end location of the token in the source.
const uint8_t * start
A pointer to the start location of the token in the source.
pm_token_type_t type
The type of the token.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
UndefNode::keyword_loc.
struct pm_node_list names
UndefNode::names.
pm_location_t keyword_loc
UnlessNode::keyword_loc.
pm_location_t then_keyword_loc
UnlessNode::then_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * predicate
UnlessNode::predicate.
PM_NODE_ALIGNAS struct pm_statements_node * statements
UnlessNode::statements.
pm_location_t end_keyword_loc
UnlessNode::end_keyword_loc.
PM_NODE_ALIGNAS struct pm_else_node * else_clause
UnlessNode::else_clause.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
UntilNode::closing_loc.
pm_location_t keyword_loc
UntilNode::keyword_loc.
pm_node_t base
The embedded base node.
PM_NODE_ALIGNAS struct pm_statements_node * statements
UntilNode::statements.
pm_location_t do_keyword_loc
UntilNode::do_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * predicate
UntilNode::predicate.
pm_node_t base
The embedded base node.
pm_location_t then_keyword_loc
WhenNode::then_keyword_loc.
pm_location_t keyword_loc
WhenNode::keyword_loc.
PM_NODE_ALIGNAS struct pm_statements_node * statements
WhenNode::statements.
struct pm_node_list conditions
WhenNode::conditions.
PM_NODE_ALIGNAS struct pm_statements_node * statements
WhileNode::statements.
pm_location_t closing_loc
WhileNode::closing_loc.
pm_location_t keyword_loc
WhileNode::keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t do_keyword_loc
WhileNode::do_keyword_loc.
PM_NODE_ALIGNAS struct pm_node * predicate
WhileNode::predicate.
pm_location_t closing_loc
XStringNode::closing_loc.
pm_location_t opening_loc
XStringNode::opening_loc.
pm_location_t content_loc
XStringNode::content_loc.
pm_string_t unescaped
XStringNode::unescaped.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
YieldNode::keyword_loc.
pm_location_t lparen_loc
YieldNode::lparen_loc.
pm_node_t base
The embedded base node.
pm_location_t rparen_loc
YieldNode::rparen_loc.
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
YieldNode::arguments.