1084#define PM_NODE_UPCAST(node_) ((pm_node_t *) (node_))
1090#define PM_NODE_TYPE(node_) ((enum pm_node_type) (node_)->type)
1095#define PM_NODE_TYPE_P(node_, type_) (PM_NODE_TYPE(node_) == (type_))
1100#define PM_NODE_FLAGS(node_) (PM_NODE_UPCAST(node_)->flags)
1105#define PM_NODE_FLAG_P(node_, flag_) ((PM_NODE_FLAGS(node_) & (flag_)) != 0)
1111#define PM_NODE_ALIGNAS __declspec(align(8))
1113#define PM_NODE_ALIGNAS PRISM_ALIGNAS(PRISM_ALIGNOF(void *))
7885 PM_ARGUMENTS_NODE_FLAGS_LAST,
7895 PM_ARRAY_NODE_FLAGS_LAST,
7914 PM_CALL_NODE_FLAGS_LAST,
7927 PM_ENCODING_FLAGS_LAST,
7946 PM_INTEGER_BASE_FLAGS_LAST,
7959 PM_INTERPOLATED_STRING_NODE_FLAGS_LAST,
7969 PM_KEYWORD_HASH_NODE_FLAGS_LAST,
7989 PM_PARAMETER_FLAGS_LAST,
7999 PM_PARENTHESES_NODE_FLAGS_LAST,
8009 PM_RANGE_FLAGS_LAST,
8049 PM_REGULAR_EXPRESSION_FLAGS_LAST,
8065 PM_SHAREABLE_CONSTANT_NODE_FLAGS_LAST,
8084 PM_STRING_FLAGS_LAST,
8100 PM_SYMBOL_FLAGS_LAST,
8109#define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS 0
struct pm_block_parameter_node pm_block_parameter_node_t
BlockParameterNode.
struct pm_call_target_node pm_call_target_node_t
CallTargetNode.
struct pm_else_node pm_else_node_t
ElseNode.
struct pm_assoc_node pm_assoc_node_t
AssocNode.
struct pm_undef_node pm_undef_node_t
UndefNode.
struct pm_class_variable_and_write_node pm_class_variable_and_write_node_t
ClassVariableAndWriteNode.
struct pm_index_and_write_node pm_index_and_write_node_t
IndexAndWriteNode.
struct pm_index_target_node pm_index_target_node_t
IndexTargetNode.
struct pm_local_variable_target_node pm_local_variable_target_node_t
LocalVariableTargetNode.
struct pm_constant_path_or_write_node pm_constant_path_or_write_node_t
ConstantPathOrWriteNode.
struct pm_missing_node pm_missing_node_t
MissingNode.
struct pm_embedded_statements_node pm_embedded_statements_node_t
EmbeddedStatementsNode.
struct pm_block_node pm_block_node_t
BlockNode.
struct pm_hash_pattern_node pm_hash_pattern_node_t
HashPatternNode.
struct pm_optional_parameter_node pm_optional_parameter_node_t
OptionalParameterNode.
struct pm_x_string_node pm_x_string_node_t
XStringNode.
struct pm_forwarding_super_node pm_forwarding_super_node_t
ForwardingSuperNode.
#define PM_NODE_ALIGNAS
The alignment required for a child node within a parent node.
Definition ast.h:1113
struct pm_self_node pm_self_node_t
SelfNode.
struct pm_numbered_reference_read_node pm_numbered_reference_read_node_t
NumberedReferenceReadNode.
struct pm_embedded_variable_node pm_embedded_variable_node_t
EmbeddedVariableNode.
struct pm_class_variable_write_node pm_class_variable_write_node_t
ClassVariableWriteNode.
struct pm_interpolated_string_node pm_interpolated_string_node_t
InterpolatedStringNode.
struct pm_class_variable_or_write_node pm_class_variable_or_write_node_t
ClassVariableOrWriteNode.
struct pm_optional_keyword_parameter_node pm_optional_keyword_parameter_node_t
OptionalKeywordParameterNode.
struct pm_call_or_write_node pm_call_or_write_node_t
CallOrWriteNode.
struct pm_call_node pm_call_node_t
CallNode.
struct pm_class_variable_read_node pm_class_variable_read_node_t
ClassVariableReadNode.
struct pm_match_required_node pm_match_required_node_t
MatchRequiredNode.
struct pm_shareable_constant_node pm_shareable_constant_node_t
ShareableConstantNode.
struct pm_constant_and_write_node pm_constant_and_write_node_t
ConstantAndWriteNode.
pm_interpolated_string_node_flags
Flags for interpolated string nodes that indicated mutability if they are also marked as literals.
Definition ast.h:7952
@ PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE
mutable by virtue of a frozen_string_literal: false comment or --disable-frozen-string-literal; only ...
Definition ast.h:7957
@ PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal: true comment or --enable-frozen-string-literal; only for...
Definition ast.h:7954
struct pm_constant_path_operator_write_node pm_constant_path_operator_write_node_t
ConstantPathOperatorWriteNode.
struct pm_implicit_rest_node pm_implicit_rest_node_t
ImplicitRestNode.
pm_range_flags
Flags for range and flip-flop nodes.
Definition ast.h:8005
@ PM_RANGE_FLAGS_EXCLUDE_END
... operator
Definition ast.h:8007
struct pm_local_variable_or_write_node pm_local_variable_or_write_node_t
LocalVariableOrWriteNode.
struct pm_local_variable_read_node pm_local_variable_read_node_t
LocalVariableReadNode.
struct pm_global_variable_and_write_node pm_global_variable_and_write_node_t
GlobalVariableAndWriteNode.
struct pm_arguments_node pm_arguments_node_t
ArgumentsNode.
pm_node_type
This enum represents every type of node in the Ruby syntax tree.
Definition ast.h:574
@ PM_DEFINED_NODE
DefinedNode.
Definition ast.h:711
@ PM_PRE_EXECUTION_NODE
PreExecutionNode.
Definition ast.h:933
@ PM_RETRY_NODE
RetryNode.
Definition ast.h:966
@ PM_REDO_NODE
RedoNode.
Definition ast.h:945
@ PM_CONSTANT_PATH_WRITE_NODE
ConstantPathWriteNode.
Definition ast.h:696
@ PM_INDEX_AND_WRITE_NODE
IndexAndWriteNode.
Definition ast.h:789
@ PM_SOURCE_LINE_NODE
SourceLineNode.
Definition ast.h:987
@ PM_UNLESS_NODE
UnlessNode.
Definition ast.h:1011
@ PM_EMBEDDED_VARIABLE_NODE
EmbeddedVariableNode.
Definition ast.h:720
@ PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
GlobalVariableOperatorWriteNode.
Definition ast.h:753
@ PM_CALL_NODE
CallNode.
Definition ast.h:630
@ PM_NIL_NODE
NilNode.
Definition ast.h:897
@ PM_GLOBAL_VARIABLE_READ_NODE
GlobalVariableReadNode.
Definition ast.h:759
@ PM_RATIONAL_NODE
RationalNode.
Definition ast.h:942
@ PM_YIELD_NODE
YieldNode.
Definition ast.h:1026
@ PM_LOCAL_VARIABLE_AND_WRITE_NODE
LocalVariableAndWriteNode.
Definition ast.h:852
@ PM_CONSTANT_AND_WRITE_NODE
ConstantAndWriteNode.
Definition ast.h:672
@ PM_CLASS_NODE
ClassNode.
Definition ast.h:651
@ PM_FIND_PATTERN_NODE
FindPatternNode.
Definition ast.h:729
@ PM_CALL_OPERATOR_WRITE_NODE
CallOperatorWriteNode.
Definition ast.h:633
@ PM_MATCH_WRITE_NODE
MatchWriteNode.
Definition ast.h:879
@ PM_ARRAY_NODE
ArrayNode.
Definition ast.h:591
@ PM_CONSTANT_PATH_TARGET_NODE
ConstantPathTargetNode.
Definition ast.h:693
@ PM_PROGRAM_NODE
ProgramNode.
Definition ast.h:936
@ PM_OR_NODE
OrNode.
Definition ast.h:915
@ PM_MULTI_WRITE_NODE
MultiWriteNode.
Definition ast.h:891
@ PM_IF_NODE
IfNode.
Definition ast.h:774
@ PM_IMPLICIT_NODE
ImplicitNode.
Definition ast.h:780
@ PM_ARGUMENTS_NODE
ArgumentsNode.
Definition ast.h:588
@ PM_FORWARDING_SUPER_NODE
ForwardingSuperNode.
Definition ast.h:747
@ PM_WHILE_NODE
WhileNode.
Definition ast.h:1020
@ PM_INTERPOLATED_STRING_NODE
InterpolatedStringNode.
Definition ast.h:828
@ PM_FALSE_NODE
FalseNode.
Definition ast.h:726
@ PM_FORWARDING_PARAMETER_NODE
ForwardingParameterNode.
Definition ast.h:744
@ PM_BLOCK_LOCAL_VARIABLE_NODE
BlockLocalVariableNode.
Definition ast.h:612
@ PM_HASH_NODE
HashNode.
Definition ast.h:768
@ PM_UNTIL_NODE
UntilNode.
Definition ast.h:1014
@ PM_MATCH_PREDICATE_NODE
MatchPredicateNode.
Definition ast.h:873
@ PM_X_STRING_NODE
XStringNode.
Definition ast.h:1023
@ PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
LocalVariableOperatorWriteNode.
Definition ast.h:855
@ PM_LOCAL_VARIABLE_OR_WRITE_NODE
LocalVariableOrWriteNode.
Definition ast.h:858
@ PM_INSTANCE_VARIABLE_AND_WRITE_NODE
InstanceVariableAndWriteNode.
Definition ast.h:801
@ PM_GLOBAL_VARIABLE_TARGET_NODE
GlobalVariableTargetNode.
Definition ast.h:762
@ PM_AND_NODE
AndNode.
Definition ast.h:585
@ PM_CONSTANT_TARGET_NODE
ConstantTargetNode.
Definition ast.h:702
@ PM_IT_LOCAL_VARIABLE_READ_NODE
ItLocalVariableReadNode.
Definition ast.h:837
@ PM_CONSTANT_PATH_AND_WRITE_NODE
ConstantPathAndWriteNode.
Definition ast.h:681
@ PM_IN_NODE
InNode.
Definition ast.h:786
@ PM_BLOCK_PARAMETER_NODE
BlockParameterNode.
Definition ast.h:618
@ PM_CAPTURE_PATTERN_NODE
CapturePatternNode.
Definition ast.h:642
@ PM_SOURCE_FILE_NODE
SourceFileNode.
Definition ast.h:984
@ PM_NO_KEYWORDS_PARAMETER_NODE
NoKeywordsParameterNode.
Definition ast.h:900
@ PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
ConstantPathOperatorWriteNode.
Definition ast.h:687
@ PM_MULTI_TARGET_NODE
MultiTargetNode.
Definition ast.h:888
@ PM_SPLAT_NODE
SplatNode.
Definition ast.h:990
@ PM_LAMBDA_NODE
LambdaNode.
Definition ast.h:849
@ PM_CLASS_VARIABLE_READ_NODE
ClassVariableReadNode.
Definition ast.h:663
@ PM_REQUIRED_KEYWORD_PARAMETER_NODE
RequiredKeywordParameterNode.
Definition ast.h:951
@ PM_CALL_TARGET_NODE
CallTargetNode.
Definition ast.h:639
@ PM_ELSE_NODE
ElseNode.
Definition ast.h:714
@ PM_INTERPOLATED_MATCH_LAST_LINE_NODE
InterpolatedMatchLastLineNode.
Definition ast.h:822
@ PM_WHEN_NODE
WhenNode.
Definition ast.h:1017
@ PM_NUMBERED_PARAMETERS_NODE
NumberedParametersNode.
Definition ast.h:903
@ PM_SYMBOL_NODE
SymbolNode.
Definition ast.h:1002
@ PM_RESCUE_MODIFIER_NODE
RescueModifierNode.
Definition ast.h:957
@ PM_ALIAS_METHOD_NODE
AliasMethodNode.
Definition ast.h:579
@ PM_MATCH_REQUIRED_NODE
MatchRequiredNode.
Definition ast.h:876
@ PM_FORWARDING_ARGUMENTS_NODE
ForwardingArgumentsNode.
Definition ast.h:741
@ PM_BACK_REFERENCE_READ_NODE
BackReferenceReadNode.
Definition ast.h:603
@ PM_SCOPE_NODE
A special kind of node used for compilation.
Definition ast.h:1029
@ PM_BLOCK_ARGUMENT_NODE
BlockArgumentNode.
Definition ast.h:609
@ PM_MISSING_NODE
MissingNode.
Definition ast.h:882
@ PM_SELF_NODE
SelfNode.
Definition ast.h:972
@ PM_IMPLICIT_REST_NODE
ImplicitRestNode.
Definition ast.h:783
@ PM_TRUE_NODE
TrueNode.
Definition ast.h:1005
@ PM_ASSOC_SPLAT_NODE
AssocSplatNode.
Definition ast.h:600
@ PM_CLASS_VARIABLE_AND_WRITE_NODE
ClassVariableAndWriteNode.
Definition ast.h:654
@ PM_RANGE_NODE
RangeNode.
Definition ast.h:939
@ PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
InstanceVariableOperatorWriteNode.
Definition ast.h:804
@ PM_LOCAL_VARIABLE_READ_NODE
LocalVariableReadNode.
Definition ast.h:861
@ PM_SHAREABLE_CONSTANT_NODE
ShareableConstantNode.
Definition ast.h:975
@ PM_NEXT_NODE
NextNode.
Definition ast.h:894
@ PM_INSTANCE_VARIABLE_OR_WRITE_NODE
InstanceVariableOrWriteNode.
Definition ast.h:807
@ PM_REGULAR_EXPRESSION_NODE
RegularExpressionNode.
Definition ast.h:948
@ PM_CLASS_VARIABLE_OR_WRITE_NODE
ClassVariableOrWriteNode.
Definition ast.h:660
@ PM_BLOCK_PARAMETERS_NODE
BlockParametersNode.
Definition ast.h:621
@ PM_CONSTANT_WRITE_NODE
ConstantWriteNode.
Definition ast.h:705
@ PM_HASH_PATTERN_NODE
HashPatternNode.
Definition ast.h:771
@ PM_INDEX_OPERATOR_WRITE_NODE
IndexOperatorWriteNode.
Definition ast.h:792
@ PM_UNDEF_NODE
UndefNode.
Definition ast.h:1008
@ PM_ALTERNATION_PATTERN_NODE
AlternationPatternNode.
Definition ast.h:582
@ PM_ENSURE_NODE
EnsureNode.
Definition ast.h:723
@ PM_LOCAL_VARIABLE_WRITE_NODE
LocalVariableWriteNode.
Definition ast.h:867
@ PM_SINGLETON_CLASS_NODE
SingletonClassNode.
Definition ast.h:978
@ PM_KEYWORD_HASH_NODE
KeywordHashNode.
Definition ast.h:843
@ PM_PARENTHESES_NODE
ParenthesesNode.
Definition ast.h:921
@ PM_FOR_NODE
ForNode.
Definition ast.h:738
@ PM_CLASS_VARIABLE_WRITE_NODE
ClassVariableWriteNode.
Definition ast.h:669
@ PM_POST_EXECUTION_NODE
PostExecutionNode.
Definition ast.h:930
@ PM_CONSTANT_OPERATOR_WRITE_NODE
ConstantOperatorWriteNode.
Definition ast.h:675
@ PM_RETURN_NODE
ReturnNode.
Definition ast.h:969
@ PM_MODULE_NODE
ModuleNode.
Definition ast.h:885
@ PM_ARRAY_PATTERN_NODE
ArrayPatternNode.
Definition ast.h:594
@ PM_SUPER_NODE
SuperNode.
Definition ast.h:999
@ PM_MATCH_LAST_LINE_NODE
MatchLastLineNode.
Definition ast.h:870
@ PM_CONSTANT_PATH_NODE
ConstantPathNode.
Definition ast.h:684
@ PM_INTERPOLATED_SYMBOL_NODE
InterpolatedSymbolNode.
Definition ast.h:831
@ PM_CALL_AND_WRITE_NODE
CallAndWriteNode.
Definition ast.h:627
@ PM_OPTIONAL_KEYWORD_PARAMETER_NODE
OptionalKeywordParameterNode.
Definition ast.h:909
@ PM_CLASS_VARIABLE_TARGET_NODE
ClassVariableTargetNode.
Definition ast.h:666
@ PM_CASE_MATCH_NODE
CaseMatchNode.
Definition ast.h:645
@ PM_BREAK_NODE
BreakNode.
Definition ast.h:624
@ PM_CALL_OR_WRITE_NODE
CallOrWriteNode.
Definition ast.h:636
@ PM_IMAGINARY_NODE
ImaginaryNode.
Definition ast.h:777
@ PM_DEF_NODE
DefNode.
Definition ast.h:708
@ PM_CONSTANT_READ_NODE
ConstantReadNode.
Definition ast.h:699
@ PM_GLOBAL_VARIABLE_WRITE_NODE
GlobalVariableWriteNode.
Definition ast.h:765
@ PM_SOURCE_ENCODING_NODE
SourceEncodingNode.
Definition ast.h:981
@ PM_BEGIN_NODE
BeginNode.
Definition ast.h:606
@ PM_INTERPOLATED_X_STRING_NODE
InterpolatedXStringNode.
Definition ast.h:834
@ PM_INSTANCE_VARIABLE_READ_NODE
InstanceVariableReadNode.
Definition ast.h:810
@ PM_FLIP_FLOP_NODE
FlipFlopNode.
Definition ast.h:732
@ PM_PINNED_VARIABLE_NODE
PinnedVariableNode.
Definition ast.h:927
@ PM_REQUIRED_PARAMETER_NODE
RequiredParameterNode.
Definition ast.h:954
@ PM_INSTANCE_VARIABLE_WRITE_NODE
InstanceVariableWriteNode.
Definition ast.h:816
@ PM_INSTANCE_VARIABLE_TARGET_NODE
InstanceVariableTargetNode.
Definition ast.h:813
@ PM_GLOBAL_VARIABLE_AND_WRITE_NODE
GlobalVariableAndWriteNode.
Definition ast.h:750
@ PM_CASE_NODE
CaseNode.
Definition ast.h:648
@ PM_RESCUE_NODE
RescueNode.
Definition ast.h:960
@ PM_FLOAT_NODE
FloatNode.
Definition ast.h:735
@ PM_ASSOC_NODE
AssocNode.
Definition ast.h:597
@ PM_IT_PARAMETERS_NODE
ItParametersNode.
Definition ast.h:840
@ PM_INTEGER_NODE
IntegerNode.
Definition ast.h:819
@ PM_LOCAL_VARIABLE_TARGET_NODE
LocalVariableTargetNode.
Definition ast.h:864
@ PM_STRING_NODE
StringNode.
Definition ast.h:996
@ PM_INDEX_OR_WRITE_NODE
IndexOrWriteNode.
Definition ast.h:795
@ PM_ALIAS_GLOBAL_VARIABLE_NODE
AliasGlobalVariableNode.
Definition ast.h:576
@ PM_PARAMETERS_NODE
ParametersNode.
Definition ast.h:918
@ PM_NUMBERED_REFERENCE_READ_NODE
NumberedReferenceReadNode.
Definition ast.h:906
@ PM_CONSTANT_PATH_OR_WRITE_NODE
ConstantPathOrWriteNode.
Definition ast.h:690
@ PM_GLOBAL_VARIABLE_OR_WRITE_NODE
GlobalVariableOrWriteNode.
Definition ast.h:756
@ PM_CONSTANT_OR_WRITE_NODE
ConstantOrWriteNode.
Definition ast.h:678
@ PM_STATEMENTS_NODE
StatementsNode.
Definition ast.h:993
@ PM_OPTIONAL_PARAMETER_NODE
OptionalParameterNode.
Definition ast.h:912
@ PM_PINNED_EXPRESSION_NODE
PinnedExpressionNode.
Definition ast.h:924
@ PM_BLOCK_NODE
BlockNode.
Definition ast.h:615
@ PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
ClassVariableOperatorWriteNode.
Definition ast.h:657
@ PM_REST_PARAMETER_NODE
RestParameterNode.
Definition ast.h:963
@ PM_EMBEDDED_STATEMENTS_NODE
EmbeddedStatementsNode.
Definition ast.h:717
@ PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
InterpolatedRegularExpressionNode.
Definition ast.h:825
@ PM_INDEX_TARGET_NODE
IndexTargetNode.
Definition ast.h:798
@ PM_KEYWORD_REST_PARAMETER_NODE
KeywordRestParameterNode.
Definition ast.h:846
struct pm_nil_node pm_nil_node_t
NilNode.
struct pm_begin_node pm_begin_node_t
BeginNode.
struct pm_statements_node pm_statements_node_t
StatementsNode.
struct pm_instance_variable_write_node pm_instance_variable_write_node_t
InstanceVariableWriteNode.
struct pm_false_node pm_false_node_t
FalseNode.
struct pm_keyword_hash_node pm_keyword_hash_node_t
KeywordHashNode.
struct pm_return_node pm_return_node_t
ReturnNode.
pm_symbol_flags
Flags for symbol nodes.
Definition ast.h:8090
@ PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:8092
@ PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
internal bytes forced the encoding to US-ASCII
Definition ast.h:8098
@ PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:8095
struct pm_it_parameters_node pm_it_parameters_node_t
ItParametersNode.
struct pm_constant_path_node pm_constant_path_node_t
ConstantPathNode.
struct pm_local_variable_write_node pm_local_variable_write_node_t
LocalVariableWriteNode.
pm_string_flags
Flags for string nodes.
Definition ast.h:8071
@ PM_STRING_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal: true comment or --enable-frozen-string-literal
Definition ast.h:8079
@ PM_STRING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:8076
@ PM_STRING_FLAGS_MUTABLE
mutable by virtue of a frozen_string_literal: false comment or --disable-frozen-string-literal
Definition ast.h:8082
@ PM_STRING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:8073
struct pm_implicit_node pm_implicit_node_t
ImplicitNode.
struct pm_yield_node pm_yield_node_t
YieldNode.
pm_arguments_node_flags
Flags for arguments nodes.
Definition ast.h:7869
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT
if the arguments contain a splat
Definition ast.h:7880
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING
if the arguments contain forwarding
Definition ast.h:7871
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS
if the arguments contain keywords
Definition ast.h:7874
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
if the arguments contain a keyword splat
Definition ast.h:7877
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS
if the arguments contain multiple splats
Definition ast.h:7883
enum pm_symbol_flags pm_symbol_flags_t
Flags for symbol nodes.
enum pm_encoding_flags pm_encoding_flags_t
Flags for nodes that have unescaped content.
struct pm_local_variable_and_write_node pm_local_variable_and_write_node_t
LocalVariableAndWriteNode.
struct pm_parameters_node pm_parameters_node_t
ParametersNode.
enum pm_integer_base_flags pm_integer_base_flags_t
Flags for integer nodes that correspond to the base of the integer.
struct pm_lambda_node pm_lambda_node_t
LambdaNode.
struct pm_module_node pm_module_node_t
ModuleNode.
struct pm_case_node pm_case_node_t
CaseNode.
struct pm_in_node pm_in_node_t
InNode.
struct pm_if_node pm_if_node_t
IfNode.
struct pm_constant_path_write_node pm_constant_path_write_node_t
ConstantPathWriteNode.
struct pm_pre_execution_node pm_pre_execution_node_t
PreExecutionNode.
struct pm_rescue_modifier_node pm_rescue_modifier_node_t
RescueModifierNode.
struct pm_splat_node pm_splat_node_t
SplatNode.
struct pm_match_write_node pm_match_write_node_t
MatchWriteNode.
enum pm_call_node_flags pm_call_node_flags_t
Flags for call nodes.
struct pm_multi_write_node pm_multi_write_node_t
MultiWriteNode.
struct pm_local_variable_operator_write_node pm_local_variable_operator_write_node_t
LocalVariableOperatorWriteNode.
struct pm_block_argument_node pm_block_argument_node_t
BlockArgumentNode.
enum pm_shareable_constant_node_flags pm_shareable_constant_node_flags_t
Flags for shareable constant nodes.
struct pm_interpolated_x_string_node pm_interpolated_x_string_node_t
InterpolatedXStringNode.
struct pm_constant_write_node pm_constant_write_node_t
ConstantWriteNode.
struct pm_flip_flop_node pm_flip_flop_node_t
FlipFlopNode.
struct pm_required_keyword_parameter_node pm_required_keyword_parameter_node_t
RequiredKeywordParameterNode.
struct pm_no_keywords_parameter_node pm_no_keywords_parameter_node_t
NoKeywordsParameterNode.
struct pm_alias_global_variable_node pm_alias_global_variable_node_t
AliasGlobalVariableNode.
struct pm_post_execution_node pm_post_execution_node_t
PostExecutionNode.
pm_array_node_flags
Flags for array nodes.
Definition ast.h:7891
@ PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
if array contains splat nodes
Definition ast.h:7893
enum pm_string_flags pm_string_flags_t
Flags for string nodes.
struct pm_alias_method_node pm_alias_method_node_t
AliasMethodNode.
struct pm_keyword_rest_parameter_node pm_keyword_rest_parameter_node_t
KeywordRestParameterNode.
struct pm_global_variable_read_node pm_global_variable_read_node_t
GlobalVariableReadNode.
struct pm_back_reference_read_node pm_back_reference_read_node_t
BackReferenceReadNode.
enum pm_regular_expression_flags pm_regular_expression_flags_t
Flags for regular expression and match last line nodes.
struct pm_match_last_line_node pm_match_last_line_node_t
MatchLastLineNode.
enum pm_parentheses_node_flags pm_parentheses_node_flags_t
Flags for parentheses nodes.
struct pm_hash_node pm_hash_node_t
HashNode.
struct pm_block_local_variable_node pm_block_local_variable_node_t
BlockLocalVariableNode.
struct pm_multi_target_node pm_multi_target_node_t
MultiTargetNode.
pm_integer_base_flags
Flags for integer nodes that correspond to the base of the integer.
Definition ast.h:7933
@ PM_INTEGER_BASE_FLAGS_HEXADECIMAL
0x prefix
Definition ast.h:7944
@ PM_INTEGER_BASE_FLAGS_OCTAL
0o or 0 prefix
Definition ast.h:7941
@ PM_INTEGER_BASE_FLAGS_DECIMAL
0d or no prefix
Definition ast.h:7938
@ PM_INTEGER_BASE_FLAGS_BINARY
0b prefix
Definition ast.h:7935
enum pm_interpolated_string_node_flags pm_interpolated_string_node_flags_t
Flags for interpolated string nodes that indicated mutability if they are also marked as literals.
struct pm_rational_node pm_rational_node_t
RationalNode.
struct pm_class_node pm_class_node_t
ClassNode.
struct pm_pinned_expression_node pm_pinned_expression_node_t
PinnedExpressionNode.
struct pm_constant_operator_write_node pm_constant_operator_write_node_t
ConstantOperatorWriteNode.
enum pm_loop_flags pm_loop_flags_t
Flags for while and until loop nodes.
struct pm_ensure_node pm_ensure_node_t
EnsureNode.
struct pm_index_or_write_node pm_index_or_write_node_t
IndexOrWriteNode.
struct pm_forwarding_parameter_node pm_forwarding_parameter_node_t
ForwardingParameterNode.
struct pm_constant_or_write_node pm_constant_or_write_node_t
ConstantOrWriteNode.
struct pm_index_operator_write_node pm_index_operator_write_node_t
IndexOperatorWriteNode.
struct pm_when_node pm_when_node_t
WhenNode.
enum pm_token_type pm_token_type_t
This enum represents every type of token in the Ruby source.
struct pm_super_node pm_super_node_t
SuperNode.
struct pm_range_node pm_range_node_t
RangeNode.
struct pm_and_node pm_and_node_t
AndNode.
enum pm_arguments_node_flags pm_arguments_node_flags_t
Flags for arguments nodes.
struct pm_constant_path_and_write_node pm_constant_path_and_write_node_t
ConstantPathAndWriteNode.
pm_parentheses_node_flags
Flags for parentheses nodes.
Definition ast.h:7995
@ PM_PARENTHESES_NODE_FLAGS_MULTIPLE_STATEMENTS
parentheses that contain multiple potentially void statements
Definition ast.h:7997
struct pm_rest_parameter_node pm_rest_parameter_node_t
RestParameterNode.
struct pm_assoc_splat_node pm_assoc_splat_node_t
AssocSplatNode.
pm_call_node_flags
Flags for call nodes.
Definition ast.h:7901
@ PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
a call that ignores method visibility
Definition ast.h:7912
@ PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
&.
Definition ast.h:7903
@ PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
a call that is an attribute write, so the value being written should be returned
Definition ast.h:7909
@ PM_CALL_NODE_FLAGS_VARIABLE_CALL
a call that could have been a local variable
Definition ast.h:7906
struct pm_constant_read_node pm_constant_read_node_t
ConstantReadNode.
struct pm_match_predicate_node pm_match_predicate_node_t
MatchPredicateNode.
struct pm_or_node pm_or_node_t
OrNode.
struct pm_case_match_node pm_case_match_node_t
CaseMatchNode.
struct pm_call_and_write_node pm_call_and_write_node_t
CallAndWriteNode.
pm_shareable_constant_node_flags
Flags for shareable constant nodes.
Definition ast.h:8055
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING
constant writes that should be modified with shareable constant value experimental everything
Definition ast.h:8060
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL
constant writes that should be modified with shareable constant value literal
Definition ast.h:8057
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY
constant writes that should be modified with shareable constant value experimental copy
Definition ast.h:8063
struct pm_until_node pm_until_node_t
UntilNode.
struct pm_retry_node pm_retry_node_t
RetryNode.
uint16_t pm_node_type_t
This is the type of node embedded in the node struct.
Definition ast.h:1036
struct pm_imaginary_node pm_imaginary_node_t
ImaginaryNode.
struct pm_array_pattern_node pm_array_pattern_node_t
ArrayPatternNode.
pm_keyword_hash_node_flags
Flags for keyword hash nodes.
Definition ast.h:7965
@ PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS
a keyword hash which only has AssocNode elements all with symbol keys, which means the elements can b...
Definition ast.h:7967
enum pm_keyword_hash_node_flags pm_keyword_hash_node_flags_t
Flags for keyword hash nodes.
struct pm_redo_node pm_redo_node_t
RedoNode.
struct pm_source_encoding_node pm_source_encoding_node_t
SourceEncodingNode.
struct pm_true_node pm_true_node_t
TrueNode.
struct pm_break_node pm_break_node_t
BreakNode.
struct pm_integer_node pm_integer_node_t
IntegerNode.
struct pm_constant_path_target_node pm_constant_path_target_node_t
ConstantPathTargetNode.
struct pm_call_operator_write_node pm_call_operator_write_node_t
CallOperatorWriteNode.
struct pm_for_node pm_for_node_t
ForNode.
enum pm_range_flags pm_range_flags_t
Flags for range and flip-flop nodes.
struct pm_global_variable_target_node pm_global_variable_target_node_t
GlobalVariableTargetNode.
struct pm_node_list pm_node_list_t
A list of nodes in the source, most often used for lists of children.
struct pm_required_parameter_node pm_required_parameter_node_t
RequiredParameterNode.
struct pm_symbol_node pm_symbol_node_t
SymbolNode.
struct pm_block_parameters_node pm_block_parameters_node_t
BlockParametersNode.
struct pm_alternation_pattern_node pm_alternation_pattern_node_t
AlternationPatternNode.
struct pm_parentheses_node pm_parentheses_node_t
ParenthesesNode.
pm_regular_expression_flags
Flags for regular expression and match last line nodes.
Definition ast.h:8015
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:8044
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
internal bytes forced the encoding to US-ASCII
Definition ast.h:8047
@ PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
e - forces the EUC-JP encoding
Definition ast.h:8029
@ PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
i - ignores the case of characters when matching
Definition ast.h:8017
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:8041
@ PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
n - forces the ASCII-8BIT encoding
Definition ast.h:8032
@ PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
m - allows $ to match the end of lines within strings
Definition ast.h:8023
@ PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
x - ignores whitespace and allows comments in regular expressions
Definition ast.h:8020
@ PM_REGULAR_EXPRESSION_FLAGS_ONCE
o - only interpolates values into the regular expression once
Definition ast.h:8026
@ PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
s - forces the Windows-31J encoding
Definition ast.h:8035
@ PM_REGULAR_EXPRESSION_FLAGS_UTF_8
u - forces the UTF-8 encoding
Definition ast.h:8038
struct pm_forwarding_arguments_node pm_forwarding_arguments_node_t
ForwardingArgumentsNode.
struct pm_instance_variable_read_node pm_instance_variable_read_node_t
InstanceVariableReadNode.
struct pm_constant_target_node pm_constant_target_node_t
ConstantTargetNode.
struct pm_node pm_node_t
This is the base structure that represents a node in the syntax tree.
struct pm_defined_node pm_defined_node_t
DefinedNode.
struct pm_it_local_variable_read_node pm_it_local_variable_read_node_t
ItLocalVariableReadNode.
struct pm_interpolated_symbol_node pm_interpolated_symbol_node_t
InterpolatedSymbolNode.
struct pm_class_variable_target_node pm_class_variable_target_node_t
ClassVariableTargetNode.
struct pm_def_node pm_def_node_t
DefNode.
struct pm_singleton_class_node pm_singleton_class_node_t
SingletonClassNode.
uint16_t pm_node_flags_t
These are the flags embedded in the node struct.
Definition ast.h:1042
struct pm_capture_pattern_node pm_capture_pattern_node_t
CapturePatternNode.
struct pm_source_file_node pm_source_file_node_t
SourceFileNode.
struct pm_regular_expression_node pm_regular_expression_node_t
RegularExpressionNode.
pm_token_type
This enum represents every type of token in the Ruby source.
Definition ast.h:33
@ PM_TOKEN_STAR_STAR
**
Definition ast.h:467
@ PM_TOKEN_DOT_DOT_DOT
the .
Definition ast.h:164
@ PM_TOKEN_MINUS_EQUAL
-=
Definition ast.h:395
@ PM_TOKEN_IGNORED_NEWLINE
an ignored newline
Definition ast.h:233
@ PM_TOKEN_BANG_EQUAL
!=
Definition ast.h:110
@ PM_TOKEN_KEYWORD___FILE__
__FILE__
Definition ast.h:359
@ PM_TOKEN_KEYWORD_WHEN
when
Definition ast.h:71
@ PM_TOKEN_FLOAT
a floating point number
Definition ast.h:197
@ PM_TOKEN_PLUS_EQUAL
+=
Definition ast.h:443
@ PM_TOKEN_DOT_DOT
the .
Definition ast.h:161
@ PM_TOKEN_UDOT_DOT
unary .
Definition ast.h:494
@ PM_TOKEN_AMPERSAND_DOT
&.
Definition ast.h:95
@ PM_TOKEN_NEWLINE
a newline character outside of other tokens
Definition ast.h:74
@ PM_TOKEN_NUMBERED_REFERENCE
a numbered reference to a capture group in the previous regular expression match
Definition ast.h:401
@ PM_TOKEN_AMPERSAND
&
Definition ast.h:86
@ PM_TOKEN_KEYWORD_YIELD
yield
Definition ast.h:353
@ PM_TOKEN_KEYWORD_END
end
Definition ast.h:56
@ PM_TOKEN_LAMBDA_BEGIN
{
Definition ast.h:371
@ PM_TOKEN_KEYWORD_UNTIL_MODIFIER
until in the modifier form
Definition ast.h:344
@ PM_TOKEN_EQUAL_EQUAL_EQUAL
===
Definition ast.h:188
@ PM_TOKEN_INTEGER_RATIONAL
an integer with a rational suffix
Definition ast.h:245
@ PM_TOKEN_USTAR
unary *
Definition ast.h:509
@ PM_TOKEN_TILDE
~ or ~@
Definition ast.h:485
@ PM_TOKEN_KEYWORD___ENCODING__
__ENCODING__
Definition ast.h:356
@ PM_TOKEN_REGEXP_END
the end of a regular expression
Definition ast.h:452
@ PM_TOKEN_KEYWORD_UNTIL
until
Definition ast.h:341
@ PM_TOKEN_COMMA
,
Definition ast.h:41
@ PM_TOKEN_MAXIMUM
The maximum token value.
Definition ast.h:521
@ PM_TOKEN_GREATER
>
Definition ast.h:212
@ PM_TOKEN_INTEGER
an integer (any base)
Definition ast.h:239
@ PM_TOKEN_SLASH_EQUAL
/=
Definition ast.h:458
@ PM_TOKEN_UMINUS_NUM
-@ for a number
Definition ast.h:503
@ PM_TOKEN_EMBVAR
#
Definition ast.h:179
@ PM_TOKEN_KEYWORD_UNLESS_MODIFIER
unless in the modifier form
Definition ast.h:338
@ PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
an integer with a rational and imaginary suffix
Definition ast.h:248
@ PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
a floating pointer number with a rational and imaginary suffix
Definition ast.h:206
@ PM_TOKEN_BRACKET_LEFT_RIGHT
[]
Definition ast.h:125
@ PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
&&=
Definition ast.h:92
@ PM_TOKEN_KEYWORD_CLASS
class
Definition ast.h:269
@ PM_TOKEN_KEYWORD_BEGIN
begin
Definition ast.h:257
@ PM_TOKEN_USTAR_STAR
unary **
Definition ast.h:512
@ PM_TOKEN_GREATER_GREATER_EQUAL
>>=
Definition ast.h:221
@ PM_TOKEN_PERCENT_EQUAL
%=
Definition ast.h:413
@ PM_TOKEN_PERCENT
%
Definition ast.h:410
@ PM_TOKEN_KEYWORD_IN
in
Definition ast.h:62
@ PM_TOKEN_BANG
! or !@
Definition ast.h:107
@ PM_TOKEN_KEYWORD_NOT
not
Definition ast.h:305
@ PM_TOKEN_BRACKET_LEFT_ARRAY
[ for the beginning of an array
Definition ast.h:122
@ PM_TOKEN_HEREDOC_END
the end of a heredoc
Definition ast.h:224
@ PM_TOKEN_HEREDOC_START
the start of a heredoc
Definition ast.h:227
@ PM_TOKEN_KEYWORD_DEFINED
defined?
Definition ast.h:275
@ PM_TOKEN_UCOLON_COLON
unary ::
Definition ast.h:491
@ PM_TOKEN_LABEL_END
the end of a label
Definition ast.h:368
@ PM_TOKEN_EQUAL_GREATER
=>
Definition ast.h:191
@ PM_TOKEN_KEYWORD_UNLESS
unless
Definition ast.h:335
@ PM_TOKEN_KEYWORD_ENSURE
ensure
Definition ast.h:59
@ PM_TOKEN_AMPERSAND_EQUAL
&=
Definition ast.h:98
@ PM_TOKEN_EQUAL_EQUAL
==
Definition ast.h:185
@ PM_TOKEN_UPLUS
+@
Definition ast.h:506
@ PM_TOKEN_FLOAT_IMAGINARY
a floating pointer number with an imaginary suffix
Definition ast.h:200
@ PM_TOKEN_KEYWORD_BEGIN_UPCASE
BEGIN.
Definition ast.h:260
@ PM_TOKEN_LESS_EQUAL_GREATER
<=>
Definition ast.h:380
@ PM_TOKEN_KEYWORD_RESCUE_MODIFIER
rescue in the modifier form
Definition ast.h:314
@ PM_TOKEN_MINUS_GREATER
->
Definition ast.h:398
@ PM_TOKEN_KEYWORD_FALSE
false
Definition ast.h:284
@ PM_TOKEN_PIPE_PIPE_EQUAL
||=
Definition ast.h:437
@ PM_TOKEN_KEYWORD_IF
if
Definition ast.h:290
@ PM_TOKEN_EMBEXPR_BEGIN
#{
Definition ast.h:176
@ PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
( for a parentheses node
Definition ast.h:407
@ PM_TOKEN_EMBDOC_END
=end
Definition ast.h:170
@ PM_TOKEN_KEYWORD_ELSE
else
Definition ast.h:50
@ PM_TOKEN_BACK_REFERENCE
a back reference
Definition ast.h:104
@ PM_TOKEN_BRACKET_LEFT
[
Definition ast.h:119
@ PM_TOKEN_EOF
final token in the file
Definition ast.h:35
@ PM_TOKEN_PIPE_PIPE
||
Definition ast.h:434
@ PM_TOKEN_KEYWORD_NIL
nil
Definition ast.h:302
@ PM_TOKEN_PERCENT_UPPER_W
%W
Definition ast.h:428
@ PM_TOKEN_KEYWORD_RETURN
return
Definition ast.h:320
@ PM_TOKEN_CLASS_VARIABLE
a class variable
Definition ast.h:143
@ PM_TOKEN_PIPE
|
Definition ast.h:80
@ PM_TOKEN_PARENTHESIS_LEFT
(
Definition ast.h:404
@ PM_TOKEN_BANG_TILDE
!~
Definition ast.h:113
@ PM_TOKEN_DOT
the .
Definition ast.h:158
@ PM_TOKEN_PARENTHESIS_RIGHT
)
Definition ast.h:77
@ PM_TOKEN_KEYWORD_RESCUE
rescue
Definition ast.h:65
@ PM_TOKEN_INSTANCE_VARIABLE
an instance variable
Definition ast.h:236
@ PM_TOKEN_PIPE_EQUAL
|=
Definition ast.h:431
@ PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
[]=
Definition ast.h:128
@ PM_TOKEN_UAMPERSAND
unary &
Definition ast.h:488
@ PM_TOKEN_MINUS
-
Definition ast.h:392
@ PM_TOKEN_CONSTANT
a constant
Definition ast.h:155
@ PM_TOKEN_IDENTIFIER
an identifier
Definition ast.h:230
@ PM_TOKEN_EMBDOC_BEGIN
=begin
Definition ast.h:167
@ PM_TOKEN_STAR_EQUAL
*=
Definition ast.h:464
@ PM_TOKEN_KEYWORD_OR
or
Definition ast.h:308
@ PM_TOKEN_KEYWORD_AND
and
Definition ast.h:254
@ PM_TOKEN_LESS
<
Definition ast.h:374
@ PM_TOKEN_KEYWORD_BREAK
break
Definition ast.h:263
@ PM_TOKEN_PERCENT_LOWER_W
%w
Definition ast.h:419
@ PM_TOKEN_SYMBOL_BEGIN
the beginning of a symbol
Definition ast.h:482
@ PM_TOKEN_METHOD_NAME
a method name
Definition ast.h:389
@ PM_TOKEN_KEYWORD_CASE
case
Definition ast.h:266
@ PM_TOKEN_WORDS_SEP
a separator between words in a list
Definition ast.h:515
@ PM_TOKEN_FLOAT_RATIONAL
a floating pointer number with a rational suffix
Definition ast.h:203
@ PM_TOKEN_LESS_LESS_EQUAL
<<=
Definition ast.h:386
@ PM_TOKEN_EMBDOC_LINE
a line inside of embedded documentation
Definition ast.h:173
@ PM_TOKEN_KEYWORD_SUPER
super
Definition ast.h:326
@ PM_TOKEN_KEYWORD_DO
do
Definition ast.h:47
@ PM_TOKEN_KEYWORD_REDO
redo
Definition ast.h:311
@ PM_TOKEN_EQUAL_TILDE
=~
Definition ast.h:194
@ PM_TOKEN_EMBEXPR_END
}
Definition ast.h:44
@ PM_TOKEN_KEYWORD_END_UPCASE
END.
Definition ast.h:281
@ PM_TOKEN_KEYWORD___LINE__
__LINE__
Definition ast.h:362
@ PM_TOKEN_STRING_END
the end of a string
Definition ast.h:479
@ PM_TOKEN_STRING_CONTENT
the contents of a string
Definition ast.h:476
@ PM_TOKEN_BRACE_LEFT
{
Definition ast.h:116
@ PM_TOKEN_COLON_COLON
::
Definition ast.h:149
@ PM_TOKEN_GREATER_GREATER
>>
Definition ast.h:218
@ PM_TOKEN_PERCENT_LOWER_X
%x
Definition ast.h:422
@ PM_TOKEN_KEYWORD_SELF
self
Definition ast.h:323
@ PM_TOKEN_PERCENT_LOWER_I
%i
Definition ast.h:416
@ PM_TOKEN_KEYWORD_ALIAS
alias
Definition ast.h:251
@ PM_TOKEN_GLOBAL_VARIABLE
a global variable
Definition ast.h:209
@ PM_TOKEN_KEYWORD_IF_MODIFIER
if in the modifier form
Definition ast.h:293
@ PM_TOKEN_SLASH
/
Definition ast.h:455
@ PM_TOKEN_KEYWORD_RETRY
retry
Definition ast.h:317
@ PM_TOKEN_COLON
:
Definition ast.h:146
@ PM_TOKEN_KEYWORD_UNDEF
undef
Definition ast.h:332
@ PM_TOKEN_BRACKET_RIGHT
]
Definition ast.h:131
@ PM_TOKEN_KEYWORD_FOR
for
Definition ast.h:287
@ PM_TOKEN_KEYWORD_THEN
then
Definition ast.h:68
@ PM_TOKEN_QUESTION_MARK
?
Definition ast.h:446
@ PM_TOKEN___END__
marker for the point in the file at which the parser should stop
Definition ast.h:518
@ PM_TOKEN_KEYWORD_WHILE
while
Definition ast.h:347
@ PM_TOKEN_EQUAL
=
Definition ast.h:182
@ PM_TOKEN_KEYWORD_DEF
def
Definition ast.h:272
@ PM_TOKEN_UDOT_DOT_DOT
unary .
Definition ast.h:497
@ PM_TOKEN_STAR
Definition ast.h:461
@ PM_TOKEN_KEYWORD_WHILE_MODIFIER
while in the modifier form
Definition ast.h:350
@ PM_TOKEN_KEYWORD_TRUE
true
Definition ast.h:329
@ PM_TOKEN_BRACE_RIGHT
}
Definition ast.h:38
@ PM_TOKEN_SEMICOLON
;
Definition ast.h:83
@ PM_TOKEN_REGEXP_BEGIN
the beginning of a regular expression
Definition ast.h:449
@ PM_TOKEN_CARET
^
Definition ast.h:134
@ PM_TOKEN_PERCENT_UPPER_I
%I
Definition ast.h:425
@ PM_TOKEN_KEYWORD_DO_LOOP
do keyword for a predicate in a while, until, or for loop
Definition ast.h:278
@ PM_TOKEN_KEYWORD_MODULE
module
Definition ast.h:296
@ PM_TOKEN_PLUS
+
Definition ast.h:440
@ PM_TOKEN_KEYWORD_NEXT
next
Definition ast.h:299
@ PM_TOKEN_BACKTICK
`
Definition ast.h:101
@ PM_TOKEN_INTEGER_IMAGINARY
an integer with an imaginary suffix
Definition ast.h:242
@ PM_TOKEN_LABEL
a label
Definition ast.h:365
@ PM_TOKEN_STAR_STAR_EQUAL
**=
Definition ast.h:470
@ PM_TOKEN_CHARACTER_LITERAL
a character literal
Definition ast.h:140
@ PM_TOKEN_AMPERSAND_AMPERSAND
&&
Definition ast.h:89
@ PM_TOKEN_UMINUS
-@
Definition ast.h:500
@ PM_TOKEN_LESS_LESS
<<
Definition ast.h:383
@ PM_TOKEN_GREATER_EQUAL
>=
Definition ast.h:215
@ PM_TOKEN_COMMENT
a comment
Definition ast.h:152
@ PM_TOKEN_CARET_EQUAL
^=
Definition ast.h:137
@ PM_TOKEN_KEYWORD_ELSIF
elsif
Definition ast.h:53
@ PM_TOKEN_STRING_BEGIN
the beginning of a string
Definition ast.h:473
@ PM_TOKEN_LESS_EQUAL
<=
Definition ast.h:377
struct pm_global_variable_or_write_node pm_global_variable_or_write_node_t
GlobalVariableOrWriteNode.
enum pm_array_node_flags pm_array_node_flags_t
Flags for array nodes.
struct pm_rescue_node pm_rescue_node_t
RescueNode.
struct pm_array_node pm_array_node_t
ArrayNode.
struct pm_while_node pm_while_node_t
WhileNode.
struct pm_global_variable_write_node pm_global_variable_write_node_t
GlobalVariableWriteNode.
struct pm_instance_variable_or_write_node pm_instance_variable_or_write_node_t
InstanceVariableOrWriteNode.
struct pm_source_line_node pm_source_line_node_t
SourceLineNode.
pm_parameter_flags
Flags for parameter nodes.
Definition ast.h:7985
@ PM_PARAMETER_FLAGS_REPEATED_PARAMETER
a parameter name that has been repeated in the method signature
Definition ast.h:7987
pm_encoding_flags
Flags for nodes that have unescaped content.
Definition ast.h:7920
@ PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
Definition ast.h:7925
@ PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
Definition ast.h:7922
struct pm_interpolated_match_last_line_node pm_interpolated_match_last_line_node_t
InterpolatedMatchLastLineNode.
struct pm_numbered_parameters_node pm_numbered_parameters_node_t
NumberedParametersNode.
struct pm_class_variable_operator_write_node pm_class_variable_operator_write_node_t
ClassVariableOperatorWriteNode.
struct pm_next_node pm_next_node_t
NextNode.
struct pm_unless_node pm_unless_node_t
UnlessNode.
struct pm_interpolated_regular_expression_node pm_interpolated_regular_expression_node_t
InterpolatedRegularExpressionNode.
struct pm_instance_variable_target_node pm_instance_variable_target_node_t
InstanceVariableTargetNode.
enum pm_parameter_flags pm_parameter_flags_t
Flags for parameter nodes.
struct pm_string_node pm_string_node_t
StringNode.
struct pm_float_node pm_float_node_t
FloatNode.
struct pm_global_variable_operator_write_node pm_global_variable_operator_write_node_t
GlobalVariableOperatorWriteNode.
struct pm_instance_variable_operator_write_node pm_instance_variable_operator_write_node_t
InstanceVariableOperatorWriteNode.
pm_loop_flags
Flags for while and until loop nodes.
Definition ast.h:7975
@ PM_LOOP_FLAGS_BEGIN_MODIFIER
a loop after a begin statement, so the body is executed first before the condition
Definition ast.h:7977
struct pm_pinned_variable_node pm_pinned_variable_node_t
PinnedVariableNode.
struct pm_instance_variable_and_write_node pm_instance_variable_and_write_node_t
InstanceVariableAndWriteNode.
struct pm_program_node pm_program_node_t
ProgramNode.
struct pm_find_pattern_node pm_find_pattern_node_t
FindPatternNode.
Macro definitions used throughout the prism library.
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.
Definition pm_constant_pool.h:31
This module provides functions for working with arbitrary-sized integers.
A generic string type that can have various ownership semantics.
AliasGlobalVariableNode.
Definition ast.h:1128
PM_NODE_ALIGNAS struct pm_node * new_name
AliasGlobalVariableNode::new_name.
Definition ast.h:1140
pm_node_t base
The embedded base node.
Definition ast.h:1130
pm_location_t keyword_loc
AliasGlobalVariableNode::keyword_loc.
Definition ast.h:1160
PM_NODE_ALIGNAS struct pm_node * old_name
AliasGlobalVariableNode::old_name.
Definition ast.h:1150
AliasMethodNode.
Definition ast.h:1175
PM_NODE_ALIGNAS struct pm_node * old_name
AliasMethodNode::old_name.
Definition ast.h:1209
pm_node_t base
The embedded base node.
Definition ast.h:1177
pm_location_t keyword_loc
AliasMethodNode::keyword_loc.
Definition ast.h:1219
PM_NODE_ALIGNAS struct pm_node * new_name
AliasMethodNode::new_name.
Definition ast.h:1193
AlternationPatternNode.
Definition ast.h:1234
pm_location_t operator_loc
AlternationPatternNode::operator_loc.
Definition ast.h:1266
PM_NODE_ALIGNAS struct pm_node * left
AlternationPatternNode::left.
Definition ast.h:1246
pm_node_t base
The embedded base node.
Definition ast.h:1236
PM_NODE_ALIGNAS struct pm_node * right
AlternationPatternNode::right.
Definition ast.h:1256
AndNode.
Definition ast.h:1281
PM_NODE_ALIGNAS struct pm_node * left
AndNode::left.
Definition ast.h:1296
PM_NODE_ALIGNAS struct pm_node * right
AndNode::right.
Definition ast.h:1309
pm_location_t operator_loc
AndNode::operator_loc.
Definition ast.h:1319
pm_node_t base
The embedded base node.
Definition ast.h:1283
ArgumentsNode.
Definition ast.h:1341
pm_node_t base
The embedded base node.
Definition ast.h:1343
struct pm_node_list arguments
ArgumentsNode::arguments.
Definition ast.h:1353
ArrayNode.
Definition ast.h:1371
pm_node_t base
The embedded base node.
Definition ast.h:1373
pm_location_t closing_loc
ArrayNode::closing_loc.
Definition ast.h:1404
struct pm_node_list elements
ArrayNode::elements.
Definition ast.h:1380
pm_location_t opening_loc
ArrayNode::opening_loc.
Definition ast.h:1392
ArrayPatternNode.
Definition ast.h:1431
struct pm_node_list requireds
ArrayPatternNode::requireds.
Definition ast.h:1459
PM_NODE_ALIGNAS struct pm_node * rest
ArrayPatternNode::rest.
Definition ast.h:1469
PM_NODE_ALIGNAS struct pm_node * constant
ArrayPatternNode::constant.
Definition ast.h:1449
pm_location_t opening_loc
ArrayPatternNode::opening_loc.
Definition ast.h:1489
pm_node_t base
The embedded base node.
Definition ast.h:1433
pm_location_t closing_loc
ArrayPatternNode::closing_loc.
Definition ast.h:1499
struct pm_node_list posts
ArrayPatternNode::posts.
Definition ast.h:1479
AssocNode.
Definition ast.h:1514
pm_node_t base
The embedded base node.
Definition ast.h:1516
PM_NODE_ALIGNAS struct pm_node * value
AssocNode::value.
Definition ast.h:1545
PM_NODE_ALIGNAS struct pm_node * key
AssocNode::key.
Definition ast.h:1532
pm_location_t operator_loc
AssocNode::operator_loc.
Definition ast.h:1555
AssocSplatNode.
Definition ast.h:1570
pm_node_t base
The embedded base node.
Definition ast.h:1572
pm_location_t operator_loc
AssocSplatNode::operator_loc.
Definition ast.h:1592
PM_NODE_ALIGNAS struct pm_node * value
AssocSplatNode::value.
Definition ast.h:1582
BackReferenceReadNode.
Definition ast.h:1607
pm_constant_id_t name
BackReferenceReadNode::name.
Definition ast.h:1620
pm_node_t base
The embedded base node.
Definition ast.h:1609
BeginNode.
Definition ast.h:1637
PM_NODE_ALIGNAS struct pm_else_node * else_clause
BeginNode::else_clause.
Definition ast.h:1679
PM_NODE_ALIGNAS struct pm_ensure_node * ensure_clause
BeginNode::ensure_clause.
Definition ast.h:1689
PM_NODE_ALIGNAS struct pm_statements_node * statements
BeginNode::statements.
Definition ast.h:1659
PM_NODE_ALIGNAS struct pm_rescue_node * rescue_clause
BeginNode::rescue_clause.
Definition ast.h:1669
pm_node_t base
The embedded base node.
Definition ast.h:1639
pm_location_t end_keyword_loc
BeginNode::end_keyword_loc.
Definition ast.h:1699
pm_location_t begin_keyword_loc
BeginNode::begin_keyword_loc.
Definition ast.h:1649
BlockArgumentNode.
Definition ast.h:1714
PM_NODE_ALIGNAS struct pm_node * expression
BlockArgumentNode::expression.
Definition ast.h:1726
pm_node_t base
The embedded base node.
Definition ast.h:1716
pm_location_t operator_loc
BlockArgumentNode::operator_loc.
Definition ast.h:1736
BlockLocalVariableNode.
Definition ast.h:1754
pm_node_t base
The embedded base node.
Definition ast.h:1756
pm_constant_id_t name
BlockLocalVariableNode::name.
Definition ast.h:1766
BlockNode.
Definition ast.h:1781
pm_node_t base
The embedded base node.
Definition ast.h:1783
pm_location_t closing_loc
BlockNode::closing_loc.
Definition ast.h:1837
PM_NODE_ALIGNAS struct pm_node * parameters
BlockNode::parameters.
Definition ast.h:1807
pm_location_t opening_loc
BlockNode::opening_loc.
Definition ast.h:1827
pm_constant_id_list_t locals
BlockNode::locals.
Definition ast.h:1793
PM_NODE_ALIGNAS struct pm_node * body
BlockNode::body.
Definition ast.h:1817
BlockParameterNode.
Definition ast.h:1856
pm_location_t operator_loc
BlockParameterNode::operator_loc.
Definition ast.h:1890
pm_location_t name_loc
BlockParameterNode::name_loc.
Definition ast.h:1879
pm_constant_id_t name
BlockParameterNode::name.
Definition ast.h:1869
pm_node_t base
The embedded base node.
Definition ast.h:1858
BlockParametersNode.
Definition ast.h:1909
pm_node_t base
The embedded base node.
Definition ast.h:1911
struct pm_node_list locals
BlockParametersNode::locals.
Definition ast.h:1939
PM_NODE_ALIGNAS struct pm_parameters_node * parameters
BlockParametersNode::parameters.
Definition ast.h:1925
pm_location_t closing_loc
BlockParametersNode::closing_loc.
Definition ast.h:1967
pm_location_t opening_loc
BlockParametersNode::opening_loc.
Definition ast.h:1953
BreakNode.
Definition ast.h:1982
pm_location_t keyword_loc
BreakNode::keyword_loc.
Definition ast.h:2004
pm_node_t base
The embedded base node.
Definition ast.h:1984
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
BreakNode::arguments.
Definition ast.h:1994
CallAndWriteNode.
Definition ast.h:2025
pm_location_t operator_loc
CallAndWriteNode::operator_loc.
Definition ast.h:2087
PM_NODE_ALIGNAS struct pm_node * receiver
CallAndWriteNode::receiver.
Definition ast.h:2037
pm_node_t base
The embedded base node.
Definition ast.h:2027
PM_NODE_ALIGNAS struct pm_node * value
CallAndWriteNode::value.
Definition ast.h:2097
pm_location_t call_operator_loc
CallAndWriteNode::call_operator_loc.
Definition ast.h:2047
pm_location_t message_loc
CallAndWriteNode::message_loc.
Definition ast.h:2057
pm_constant_id_t read_name
CallAndWriteNode::read_name.
Definition ast.h:2067
pm_constant_id_t write_name
CallAndWriteNode::write_name.
Definition ast.h:2077
CallNode.
Definition ast.h:2133
pm_location_t opening_loc
CallNode::opening_loc.
Definition ast.h:2194
pm_location_t closing_loc
CallNode::closing_loc.
Definition ast.h:2214
pm_constant_id_t name
CallNode::name.
Definition ast.h:2174
pm_node_t base
The embedded base node.
Definition ast.h:2135
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
CallNode::arguments.
Definition ast.h:2204
pm_location_t equal_loc
CallNode::equal_loc.
Definition ast.h:2227
pm_location_t call_operator_loc
CallNode::call_operator_loc.
Definition ast.h:2164
pm_location_t message_loc
CallNode::message_loc.
Definition ast.h:2184
PM_NODE_ALIGNAS struct pm_node * block
CallNode::block.
Definition ast.h:2237
PM_NODE_ALIGNAS struct pm_node * receiver
CallNode::receiver.
Definition ast.h:2151
CallOperatorWriteNode.
Definition ast.h:2258
pm_constant_id_t read_name
CallOperatorWriteNode::read_name.
Definition ast.h:2300
pm_constant_id_t binary_operator
CallOperatorWriteNode::binary_operator.
Definition ast.h:2320
pm_location_t binary_operator_loc
CallOperatorWriteNode::binary_operator_loc.
Definition ast.h:2330
pm_node_t base
The embedded base node.
Definition ast.h:2260
pm_constant_id_t write_name
CallOperatorWriteNode::write_name.
Definition ast.h:2310
pm_location_t message_loc
CallOperatorWriteNode::message_loc.
Definition ast.h:2290
PM_NODE_ALIGNAS struct pm_node * receiver
CallOperatorWriteNode::receiver.
Definition ast.h:2270
PM_NODE_ALIGNAS struct pm_node * value
CallOperatorWriteNode::value.
Definition ast.h:2340
pm_location_t call_operator_loc
CallOperatorWriteNode::call_operator_loc.
Definition ast.h:2280
CallOrWriteNode.
Definition ast.h:2361
pm_location_t operator_loc
CallOrWriteNode::operator_loc.
Definition ast.h:2423
pm_location_t call_operator_loc
CallOrWriteNode::call_operator_loc.
Definition ast.h:2383
PM_NODE_ALIGNAS struct pm_node * receiver
CallOrWriteNode::receiver.
Definition ast.h:2373
pm_node_t base
The embedded base node.
Definition ast.h:2363
PM_NODE_ALIGNAS struct pm_node * value
CallOrWriteNode::value.
Definition ast.h:2433
pm_constant_id_t write_name
CallOrWriteNode::write_name.
Definition ast.h:2413
pm_constant_id_t read_name
CallOrWriteNode::read_name.
Definition ast.h:2403
pm_location_t message_loc
CallOrWriteNode::message_loc.
Definition ast.h:2393
CallTargetNode.
Definition ast.h:2462
pm_node_t base
The embedded base node.
Definition ast.h:2464
pm_constant_id_t name
CallTargetNode::name.
Definition ast.h:2494
PM_NODE_ALIGNAS struct pm_node * receiver
CallTargetNode::receiver.
Definition ast.h:2474
pm_location_t call_operator_loc
CallTargetNode::call_operator_loc.
Definition ast.h:2484
pm_location_t message_loc
CallTargetNode::message_loc.
Definition ast.h:2504
CapturePatternNode.
Definition ast.h:2519
pm_location_t operator_loc
CapturePatternNode::operator_loc.
Definition ast.h:2551
pm_node_t base
The embedded base node.
Definition ast.h:2521
PM_NODE_ALIGNAS struct pm_node * value
CapturePatternNode::value.
Definition ast.h:2531
PM_NODE_ALIGNAS struct pm_local_variable_target_node * target
CapturePatternNode::target.
Definition ast.h:2541
CaseMatchNode.
Definition ast.h:2568
pm_location_t end_keyword_loc
CaseMatchNode::end_keyword_loc.
Definition ast.h:2620
struct pm_node_list conditions
CaseMatchNode::conditions.
Definition ast.h:2590
pm_node_t base
The embedded base node.
Definition ast.h:2570
pm_location_t case_keyword_loc
CaseMatchNode::case_keyword_loc.
Definition ast.h:2610
PM_NODE_ALIGNAS struct pm_node * predicate
CaseMatchNode::predicate.
Definition ast.h:2580
PM_NODE_ALIGNAS struct pm_else_node * else_clause
CaseMatchNode::else_clause.
Definition ast.h:2600
CaseNode.
Definition ast.h:2637
PM_NODE_ALIGNAS struct pm_else_node * else_clause
CaseNode::else_clause.
Definition ast.h:2669
struct pm_node_list conditions
CaseNode::conditions.
Definition ast.h:2659
PM_NODE_ALIGNAS struct pm_node * predicate
CaseNode::predicate.
Definition ast.h:2649
pm_node_t base
The embedded base node.
Definition ast.h:2639
pm_location_t case_keyword_loc
CaseNode::case_keyword_loc.
Definition ast.h:2679
pm_location_t end_keyword_loc
CaseNode::end_keyword_loc.
Definition ast.h:2689
ClassNode.
Definition ast.h:2704
pm_location_t class_keyword_loc
ClassNode::class_keyword_loc.
Definition ast.h:2721
pm_location_t end_keyword_loc
ClassNode::end_keyword_loc.
Definition ast.h:2767
pm_constant_id_list_t locals
ClassNode::locals.
Definition ast.h:2711
PM_NODE_ALIGNAS struct pm_node * superclass
ClassNode::superclass.
Definition ast.h:2746
pm_location_t inheritance_operator_loc
ClassNode::inheritance_operator_loc.
Definition ast.h:2736
pm_constant_id_t name
ClassNode::name.
Definition ast.h:2776
pm_node_t base
The embedded base node.
Definition ast.h:2706
PM_NODE_ALIGNAS struct pm_node * constant_path
ClassNode::constant_path.
Definition ast.h:2726
PM_NODE_ALIGNAS struct pm_node * body
ClassNode::body.
Definition ast.h:2757
ClassVariableAndWriteNode.
Definition ast.h:2791
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableAndWriteNode::value.
Definition ast.h:2833
pm_constant_id_t name
ClassVariableAndWriteNode::name.
Definition ast.h:2803
pm_location_t operator_loc
ClassVariableAndWriteNode::operator_loc.
Definition ast.h:2823
pm_node_t base
The embedded base node.
Definition ast.h:2793
pm_location_t name_loc
ClassVariableAndWriteNode::name_loc.
Definition ast.h:2813
ClassVariableOperatorWriteNode.
Definition ast.h:2848
pm_node_t base
The embedded base node.
Definition ast.h:2850
pm_constant_id_t name
ClassVariableOperatorWriteNode::name.
Definition ast.h:2855
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableOperatorWriteNode::value.
Definition ast.h:2870
pm_location_t name_loc
ClassVariableOperatorWriteNode::name_loc.
Definition ast.h:2860
pm_constant_id_t binary_operator
ClassVariableOperatorWriteNode::binary_operator.
Definition ast.h:2875
pm_location_t binary_operator_loc
ClassVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:2865
ClassVariableOrWriteNode.
Definition ast.h:2890
pm_node_t base
The embedded base node.
Definition ast.h:2892
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableOrWriteNode::value.
Definition ast.h:2912
pm_location_t name_loc
ClassVariableOrWriteNode::name_loc.
Definition ast.h:2902
pm_location_t operator_loc
ClassVariableOrWriteNode::operator_loc.
Definition ast.h:2907
pm_constant_id_t name
ClassVariableOrWriteNode::name.
Definition ast.h:2897
ClassVariableReadNode.
Definition ast.h:2927
pm_node_t base
The embedded base node.
Definition ast.h:2929
pm_constant_id_t name
ClassVariableReadNode::name.
Definition ast.h:2940
ClassVariableTargetNode.
Definition ast.h:2955
pm_node_t base
The embedded base node.
Definition ast.h:2957
pm_constant_id_t name
ClassVariableTargetNode::name.
Definition ast.h:2962
ClassVariableWriteNode.
Definition ast.h:2977
pm_location_t name_loc
ClassVariableWriteNode::name_loc.
Definition ast.h:3000
PM_NODE_ALIGNAS struct pm_node * value
ClassVariableWriteNode::value.
Definition ast.h:3013
pm_node_t base
The embedded base node.
Definition ast.h:2979
pm_location_t operator_loc
ClassVariableWriteNode::operator_loc.
Definition ast.h:3023
pm_constant_id_t name
ClassVariableWriteNode::name.
Definition ast.h:2990
ConstantAndWriteNode.
Definition ast.h:3038
pm_location_t operator_loc
ConstantAndWriteNode::operator_loc.
Definition ast.h:3055
PM_NODE_ALIGNAS struct pm_node * value
ConstantAndWriteNode::value.
Definition ast.h:3060
pm_location_t name_loc
ConstantAndWriteNode::name_loc.
Definition ast.h:3050
pm_constant_id_t name
ConstantAndWriteNode::name.
Definition ast.h:3045
pm_node_t base
The embedded base node.
Definition ast.h:3040
A list of constant IDs.
Definition pm_constant_pool.h:36
ConstantOperatorWriteNode.
Definition ast.h:3075
pm_constant_id_t name
ConstantOperatorWriteNode::name.
Definition ast.h:3082
pm_location_t name_loc
ConstantOperatorWriteNode::name_loc.
Definition ast.h:3087
pm_constant_id_t binary_operator
ConstantOperatorWriteNode::binary_operator.
Definition ast.h:3102
pm_location_t binary_operator_loc
ConstantOperatorWriteNode::binary_operator_loc.
Definition ast.h:3092
PM_NODE_ALIGNAS struct pm_node * value
ConstantOperatorWriteNode::value.
Definition ast.h:3097
pm_node_t base
The embedded base node.
Definition ast.h:3077
ConstantOrWriteNode.
Definition ast.h:3117
pm_location_t operator_loc
ConstantOrWriteNode::operator_loc.
Definition ast.h:3134
PM_NODE_ALIGNAS struct pm_node * value
ConstantOrWriteNode::value.
Definition ast.h:3139
pm_location_t name_loc
ConstantOrWriteNode::name_loc.
Definition ast.h:3129
pm_constant_id_t name
ConstantOrWriteNode::name.
Definition ast.h:3124
pm_node_t base
The embedded base node.
Definition ast.h:3119
ConstantPathAndWriteNode.
Definition ast.h:3154
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathAndWriteNode::target.
Definition ast.h:3161
pm_node_t base
The embedded base node.
Definition ast.h:3156
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathAndWriteNode::value.
Definition ast.h:3171
pm_location_t operator_loc
ConstantPathAndWriteNode::operator_loc.
Definition ast.h:3166
ConstantPathNode.
Definition ast.h:3186
pm_location_t delimiter_loc
ConstantPathNode::delimiter_loc.
Definition ast.h:3224
pm_node_t base
The embedded base node.
Definition ast.h:3188
PM_NODE_ALIGNAS struct pm_node * parent
ConstantPathNode::parent.
Definition ast.h:3204
pm_location_t name_loc
ConstantPathNode::name_loc.
Definition ast.h:3237
pm_constant_id_t name
ConstantPathNode::name.
Definition ast.h:3211
ConstantPathOperatorWriteNode.
Definition ast.h:3252
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathOperatorWriteNode::target.
Definition ast.h:3259
pm_constant_id_t binary_operator
ConstantPathOperatorWriteNode::binary_operator.
Definition ast.h:3274
pm_node_t base
The embedded base node.
Definition ast.h:3254
pm_location_t binary_operator_loc
ConstantPathOperatorWriteNode::binary_operator_loc.
Definition ast.h:3264
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathOperatorWriteNode::value.
Definition ast.h:3269
ConstantPathOrWriteNode.
Definition ast.h:3289
pm_location_t operator_loc
ConstantPathOrWriteNode::operator_loc.
Definition ast.h:3301
pm_node_t base
The embedded base node.
Definition ast.h:3291
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathOrWriteNode::value.
Definition ast.h:3306
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathOrWriteNode::target.
Definition ast.h:3296
ConstantPathTargetNode.
Definition ast.h:3321
pm_node_t base
The embedded base node.
Definition ast.h:3323
pm_location_t delimiter_loc
ConstantPathTargetNode::delimiter_loc.
Definition ast.h:3338
pm_constant_id_t name
ConstantPathTargetNode::name.
Definition ast.h:3333
PM_NODE_ALIGNAS struct pm_node * parent
ConstantPathTargetNode::parent.
Definition ast.h:3328
pm_location_t name_loc
ConstantPathTargetNode::name_loc.
Definition ast.h:3343
ConstantPathWriteNode.
Definition ast.h:3364
PM_NODE_ALIGNAS struct pm_node * value
ConstantPathWriteNode::value.
Definition ast.h:3399
pm_location_t operator_loc
ConstantPathWriteNode::operator_loc.
Definition ast.h:3389
pm_node_t base
The embedded base node.
Definition ast.h:3366
PM_NODE_ALIGNAS struct pm_constant_path_node * target
ConstantPathWriteNode::target.
Definition ast.h:3379
ConstantReadNode.
Definition ast.h:3414
pm_node_t base
The embedded base node.
Definition ast.h:3416
pm_constant_id_t name
ConstantReadNode::name.
Definition ast.h:3427
ConstantTargetNode.
Definition ast.h:3442
pm_node_t base
The embedded base node.
Definition ast.h:3444
pm_constant_id_t name
ConstantTargetNode::name.
Definition ast.h:3449
ConstantWriteNode.
Definition ast.h:3464
pm_node_t base
The embedded base node.
Definition ast.h:3466
PM_NODE_ALIGNAS struct pm_node * value
ConstantWriteNode::value.
Definition ast.h:3500
pm_constant_id_t name
ConstantWriteNode::name.
Definition ast.h:3477
pm_location_t name_loc
ConstantWriteNode::name_loc.
Definition ast.h:3487
pm_location_t operator_loc
ConstantWriteNode::operator_loc.
Definition ast.h:3510
DefNode.
Definition ast.h:3526
pm_location_t end_keyword_loc
DefNode::end_keyword_loc.
Definition ast.h:3588
pm_constant_id_t name
DefNode::name.
Definition ast.h:3533
pm_location_t name_loc
DefNode::name_loc.
Definition ast.h:3538
pm_location_t rparen_loc
DefNode::rparen_loc.
Definition ast.h:3578
PM_NODE_ALIGNAS struct pm_parameters_node * parameters
DefNode::parameters.
Definition ast.h:3548
pm_location_t equal_loc
DefNode::equal_loc.
Definition ast.h:3583
pm_location_t def_keyword_loc
DefNode::def_keyword_loc.
Definition ast.h:3563
pm_node_t base
The embedded base node.
Definition ast.h:3528
pm_location_t lparen_loc
DefNode::lparen_loc.
Definition ast.h:3573
PM_NODE_ALIGNAS struct pm_node * receiver
DefNode::receiver.
Definition ast.h:3543
PM_NODE_ALIGNAS struct pm_node * body
DefNode::body.
Definition ast.h:3553
pm_location_t operator_loc
DefNode::operator_loc.
Definition ast.h:3568
pm_constant_id_list_t locals
DefNode::locals.
Definition ast.h:3558
DefinedNode.
Definition ast.h:3603
PM_NODE_ALIGNAS struct pm_node * value
DefinedNode::value.
Definition ast.h:3615
pm_location_t lparen_loc
DefinedNode::lparen_loc.
Definition ast.h:3610
pm_node_t base
The embedded base node.
Definition ast.h:3605
pm_location_t rparen_loc
DefinedNode::rparen_loc.
Definition ast.h:3620
pm_location_t keyword_loc
DefinedNode::keyword_loc.
Definition ast.h:3625
ElseNode.
Definition ast.h:3640
pm_location_t else_keyword_loc
ElseNode::else_keyword_loc.
Definition ast.h:3647
pm_node_t base
The embedded base node.
Definition ast.h:3642
PM_NODE_ALIGNAS struct pm_statements_node * statements
ElseNode::statements.
Definition ast.h:3652
pm_location_t end_keyword_loc
ElseNode::end_keyword_loc.
Definition ast.h:3657
EmbeddedStatementsNode.
Definition ast.h:3672
PM_NODE_ALIGNAS struct pm_statements_node * statements
EmbeddedStatementsNode::statements.
Definition ast.h:3684
pm_location_t closing_loc
EmbeddedStatementsNode::closing_loc.
Definition ast.h:3689
pm_node_t base
The embedded base node.
Definition ast.h:3674
pm_location_t opening_loc
EmbeddedStatementsNode::opening_loc.
Definition ast.h:3679
EmbeddedVariableNode.
Definition ast.h:3704
PM_NODE_ALIGNAS struct pm_node * variable
EmbeddedVariableNode::variable.
Definition ast.h:3716
pm_location_t operator_loc
EmbeddedVariableNode::operator_loc.
Definition ast.h:3711
pm_node_t base
The embedded base node.
Definition ast.h:3706
EnsureNode.
Definition ast.h:3735
PM_NODE_ALIGNAS struct pm_statements_node * statements
EnsureNode::statements.
Definition ast.h:3747
pm_node_t base
The embedded base node.
Definition ast.h:3737
pm_location_t ensure_keyword_loc
EnsureNode::ensure_keyword_loc.
Definition ast.h:3742
pm_location_t end_keyword_loc
EnsureNode::end_keyword_loc.
Definition ast.h:3752
FalseNode.
Definition ast.h:3767
pm_node_t base
The embedded base node.
Definition ast.h:3769
FindPatternNode.
Definition ast.h:3793
PM_NODE_ALIGNAS struct pm_splat_node * left
FindPatternNode::left.
Definition ast.h:3818
pm_location_t opening_loc
FindPatternNode::opening_loc.
Definition ast.h:3857
pm_node_t base
The embedded base node.
Definition ast.h:3795
PM_NODE_ALIGNAS struct pm_node * constant
FindPatternNode::constant.
Definition ast.h:3805
struct pm_node_list requireds
FindPatternNode::requireds.
Definition ast.h:3831
pm_location_t closing_loc
FindPatternNode::closing_loc.
Definition ast.h:3870
PM_NODE_ALIGNAS struct pm_node * right
FindPatternNode::right.
Definition ast.h:3844
FlipFlopNode.
Definition ast.h:3888
PM_NODE_ALIGNAS struct pm_node * left
FlipFlopNode::left.
Definition ast.h:3895
pm_node_t base
The embedded base node.
Definition ast.h:3890
pm_location_t operator_loc
FlipFlopNode::operator_loc.
Definition ast.h:3905
PM_NODE_ALIGNAS struct pm_node * right
FlipFlopNode::right.
Definition ast.h:3900
FloatNode.
Definition ast.h:3920
double value
FloatNode::value.
Definition ast.h:3929
pm_node_t base
The embedded base node.
Definition ast.h:3922
ForNode.
Definition ast.h:3944
PM_NODE_ALIGNAS struct pm_node * index
ForNode::index.
Definition ast.h:3956
PM_NODE_ALIGNAS struct pm_node * collection
ForNode::collection.
Definition ast.h:3966
pm_node_t base
The embedded base node.
Definition ast.h:3946
PM_NODE_ALIGNAS struct pm_statements_node * statements
ForNode::statements.
Definition ast.h:3978
pm_location_t end_keyword_loc
ForNode::end_keyword_loc.
Definition ast.h:4018
pm_location_t for_keyword_loc
ForNode::for_keyword_loc.
Definition ast.h:3988
pm_location_t do_keyword_loc
ForNode::do_keyword_loc.
Definition ast.h:4008
pm_location_t in_keyword_loc
ForNode::in_keyword_loc.
Definition ast.h:3998
ForwardingArgumentsNode.
Definition ast.h:4035
pm_node_t base
The embedded base node.
Definition ast.h:4037
ForwardingParameterNode.
Definition ast.h:4053
pm_node_t base
The embedded base node.
Definition ast.h:4055
ForwardingSuperNode.
Definition ast.h:4075
pm_node_t base
The embedded base node.
Definition ast.h:4077
PM_NODE_ALIGNAS struct pm_block_node * block
ForwardingSuperNode::block.
Definition ast.h:4084
GlobalVariableAndWriteNode.
Definition ast.h:4099
pm_location_t operator_loc
GlobalVariableAndWriteNode::operator_loc.
Definition ast.h:4116
pm_node_t base
The embedded base node.
Definition ast.h:4101
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableAndWriteNode::value.
Definition ast.h:4121
pm_location_t name_loc
GlobalVariableAndWriteNode::name_loc.
Definition ast.h:4111
pm_constant_id_t name
GlobalVariableAndWriteNode::name.
Definition ast.h:4106
GlobalVariableOperatorWriteNode.
Definition ast.h:4136
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableOperatorWriteNode::value.
Definition ast.h:4158
pm_constant_id_t name
GlobalVariableOperatorWriteNode::name.
Definition ast.h:4143
pm_constant_id_t binary_operator
GlobalVariableOperatorWriteNode::binary_operator.
Definition ast.h:4163
pm_location_t name_loc
GlobalVariableOperatorWriteNode::name_loc.
Definition ast.h:4148
pm_node_t base
The embedded base node.
Definition ast.h:4138
pm_location_t binary_operator_loc
GlobalVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:4153
GlobalVariableOrWriteNode.
Definition ast.h:4178
pm_constant_id_t name
GlobalVariableOrWriteNode::name.
Definition ast.h:4185
pm_location_t name_loc
GlobalVariableOrWriteNode::name_loc.
Definition ast.h:4190
pm_node_t base
The embedded base node.
Definition ast.h:4180
pm_location_t operator_loc
GlobalVariableOrWriteNode::operator_loc.
Definition ast.h:4195
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableOrWriteNode::value.
Definition ast.h:4200
GlobalVariableReadNode.
Definition ast.h:4215
pm_node_t base
The embedded base node.
Definition ast.h:4217
pm_constant_id_t name
GlobalVariableReadNode::name.
Definition ast.h:4228
GlobalVariableTargetNode.
Definition ast.h:4243
pm_constant_id_t name
GlobalVariableTargetNode::name.
Definition ast.h:4250
pm_node_t base
The embedded base node.
Definition ast.h:4245
GlobalVariableWriteNode.
Definition ast.h:4265
pm_location_t name_loc
GlobalVariableWriteNode::name_loc.
Definition ast.h:4288
pm_location_t operator_loc
GlobalVariableWriteNode::operator_loc.
Definition ast.h:4311
pm_constant_id_t name
GlobalVariableWriteNode::name.
Definition ast.h:4278
pm_node_t base
The embedded base node.
Definition ast.h:4267
PM_NODE_ALIGNAS struct pm_node * value
GlobalVariableWriteNode::value.
Definition ast.h:4301
HashNode.
Definition ast.h:4326
struct pm_node_list elements
HashNode::elements.
Definition ast.h:4351
pm_node_t base
The embedded base node.
Definition ast.h:4328
pm_location_t closing_loc
HashNode::closing_loc.
Definition ast.h:4361
pm_location_t opening_loc
HashNode::opening_loc.
Definition ast.h:4338
HashPatternNode.
Definition ast.h:4385
PM_NODE_ALIGNAS struct pm_node * constant
HashPatternNode::constant.
Definition ast.h:4400
struct pm_node_list elements
HashPatternNode::elements.
Definition ast.h:4410
pm_location_t opening_loc
HashPatternNode::opening_loc.
Definition ast.h:4439
pm_node_t base
The embedded base node.
Definition ast.h:4387
pm_location_t closing_loc
HashPatternNode::closing_loc.
Definition ast.h:4452
PM_NODE_ALIGNAS struct pm_node * rest
HashPatternNode::rest.
Definition ast.h:4426
IfNode.
Definition ast.h:4473
PM_NODE_ALIGNAS struct pm_node * predicate
IfNode::predicate.
Definition ast.h:4505
pm_location_t end_keyword_loc
IfNode::end_keyword_loc.
Definition ast.h:4563
pm_location_t if_keyword_loc
IfNode::if_keyword_loc.
Definition ast.h:4487
PM_NODE_ALIGNAS struct pm_statements_node * statements
IfNode::statements.
Definition ast.h:4532
pm_node_t base
The embedded base node.
Definition ast.h:4475
pm_location_t then_keyword_loc
IfNode::then_keyword_loc.
Definition ast.h:4518
PM_NODE_ALIGNAS struct pm_node * subsequent
IfNode::subsequent.
Definition ast.h:4551
ImaginaryNode.
Definition ast.h:4578
pm_node_t base
The embedded base node.
Definition ast.h:4580
PM_NODE_ALIGNAS struct pm_node * numeric
ImaginaryNode::numeric.
Definition ast.h:4585
ImplicitNode.
Definition ast.h:4606
pm_node_t base
The embedded base node.
Definition ast.h:4608
PM_NODE_ALIGNAS struct pm_node * value
ImplicitNode::value.
Definition ast.h:4613
ImplicitRestNode.
Definition ast.h:4637
pm_node_t base
The embedded base node.
Definition ast.h:4639
InNode.
Definition ast.h:4654
PM_NODE_ALIGNAS struct pm_node * pattern
InNode::pattern.
Definition ast.h:4661
PM_NODE_ALIGNAS struct pm_statements_node * statements
InNode::statements.
Definition ast.h:4666
pm_node_t base
The embedded base node.
Definition ast.h:4656
pm_location_t then_loc
InNode::then_loc.
Definition ast.h:4676
pm_location_t in_loc
InNode::in_loc.
Definition ast.h:4671
IndexAndWriteNode.
Definition ast.h:4697
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexAndWriteNode::arguments.
Definition ast.h:4719
pm_node_t base
The embedded base node.
Definition ast.h:4699
pm_location_t operator_loc
IndexAndWriteNode::operator_loc.
Definition ast.h:4734
pm_location_t closing_loc
IndexAndWriteNode::closing_loc.
Definition ast.h:4724
pm_location_t opening_loc
IndexAndWriteNode::opening_loc.
Definition ast.h:4714
pm_location_t call_operator_loc
IndexAndWriteNode::call_operator_loc.
Definition ast.h:4709
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexAndWriteNode::block.
Definition ast.h:4729
PM_NODE_ALIGNAS struct pm_node * receiver
IndexAndWriteNode::receiver.
Definition ast.h:4704
PM_NODE_ALIGNAS struct pm_node * value
IndexAndWriteNode::value.
Definition ast.h:4739
IndexOperatorWriteNode.
Definition ast.h:4760
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexOperatorWriteNode::block.
Definition ast.h:4792
pm_node_t base
The embedded base node.
Definition ast.h:4762
PM_NODE_ALIGNAS struct pm_node * receiver
IndexOperatorWriteNode::receiver.
Definition ast.h:4767
pm_location_t binary_operator_loc
IndexOperatorWriteNode::binary_operator_loc.
Definition ast.h:4802
PM_NODE_ALIGNAS struct pm_node * value
IndexOperatorWriteNode::value.
Definition ast.h:4807
pm_location_t opening_loc
IndexOperatorWriteNode::opening_loc.
Definition ast.h:4777
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexOperatorWriteNode::arguments.
Definition ast.h:4782
pm_location_t call_operator_loc
IndexOperatorWriteNode::call_operator_loc.
Definition ast.h:4772
pm_location_t closing_loc
IndexOperatorWriteNode::closing_loc.
Definition ast.h:4787
pm_constant_id_t binary_operator
IndexOperatorWriteNode::binary_operator.
Definition ast.h:4797
IndexOrWriteNode.
Definition ast.h:4828
pm_location_t closing_loc
IndexOrWriteNode::closing_loc.
Definition ast.h:4855
pm_location_t call_operator_loc
IndexOrWriteNode::call_operator_loc.
Definition ast.h:4840
pm_node_t base
The embedded base node.
Definition ast.h:4830
pm_location_t operator_loc
IndexOrWriteNode::operator_loc.
Definition ast.h:4865
pm_location_t opening_loc
IndexOrWriteNode::opening_loc.
Definition ast.h:4845
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexOrWriteNode::arguments.
Definition ast.h:4850
PM_NODE_ALIGNAS struct pm_node * value
IndexOrWriteNode::value.
Definition ast.h:4870
PM_NODE_ALIGNAS struct pm_node * receiver
IndexOrWriteNode::receiver.
Definition ast.h:4835
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexOrWriteNode::block.
Definition ast.h:4860
IndexTargetNode.
Definition ast.h:4899
pm_node_t base
The embedded base node.
Definition ast.h:4901
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
IndexTargetNode::arguments.
Definition ast.h:4916
pm_location_t closing_loc
IndexTargetNode::closing_loc.
Definition ast.h:4921
PM_NODE_ALIGNAS struct pm_block_argument_node * block
IndexTargetNode::block.
Definition ast.h:4926
pm_location_t opening_loc
IndexTargetNode::opening_loc.
Definition ast.h:4911
PM_NODE_ALIGNAS struct pm_node * receiver
IndexTargetNode::receiver.
Definition ast.h:4906
InstanceVariableAndWriteNode.
Definition ast.h:4941
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableAndWriteNode::value.
Definition ast.h:4963
pm_location_t operator_loc
InstanceVariableAndWriteNode::operator_loc.
Definition ast.h:4958
pm_location_t name_loc
InstanceVariableAndWriteNode::name_loc.
Definition ast.h:4953
pm_node_t base
The embedded base node.
Definition ast.h:4943
pm_constant_id_t name
InstanceVariableAndWriteNode::name.
Definition ast.h:4948
InstanceVariableOperatorWriteNode.
Definition ast.h:4978
pm_constant_id_t binary_operator
InstanceVariableOperatorWriteNode::binary_operator.
Definition ast.h:5005
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableOperatorWriteNode::value.
Definition ast.h:5000
pm_location_t binary_operator_loc
InstanceVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:4995
pm_constant_id_t name
InstanceVariableOperatorWriteNode::name.
Definition ast.h:4985
pm_node_t base
The embedded base node.
Definition ast.h:4980
pm_location_t name_loc
InstanceVariableOperatorWriteNode::name_loc.
Definition ast.h:4990
InstanceVariableOrWriteNode.
Definition ast.h:5020
pm_location_t operator_loc
InstanceVariableOrWriteNode::operator_loc.
Definition ast.h:5037
pm_node_t base
The embedded base node.
Definition ast.h:5022
pm_location_t name_loc
InstanceVariableOrWriteNode::name_loc.
Definition ast.h:5032
pm_constant_id_t name
InstanceVariableOrWriteNode::name.
Definition ast.h:5027
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableOrWriteNode::value.
Definition ast.h:5042
InstanceVariableReadNode.
Definition ast.h:5057
pm_constant_id_t name
InstanceVariableReadNode::name.
Definition ast.h:5070
pm_node_t base
The embedded base node.
Definition ast.h:5059
InstanceVariableTargetNode.
Definition ast.h:5085
pm_constant_id_t name
InstanceVariableTargetNode::name.
Definition ast.h:5092
pm_node_t base
The embedded base node.
Definition ast.h:5087
InstanceVariableWriteNode.
Definition ast.h:5107
pm_location_t operator_loc
InstanceVariableWriteNode::operator_loc.
Definition ast.h:5153
PM_NODE_ALIGNAS struct pm_node * value
InstanceVariableWriteNode::value.
Definition ast.h:5143
pm_constant_id_t name
InstanceVariableWriteNode::name.
Definition ast.h:5120
pm_node_t base
The embedded base node.
Definition ast.h:5109
pm_location_t name_loc
InstanceVariableWriteNode::name_loc.
Definition ast.h:5130
IntegerNode.
Definition ast.h:5174
pm_integer_t value
IntegerNode::value.
Definition ast.h:5183
pm_node_t base
The embedded base node.
Definition ast.h:5176
A structure represents an arbitrary-sized integer.
Definition pm_integer.h:20
InterpolatedMatchLastLineNode.
Definition ast.h:5211
pm_node_t base
The embedded base node.
Definition ast.h:5213
pm_location_t closing_loc
InterpolatedMatchLastLineNode::closing_loc.
Definition ast.h:5228
struct pm_node_list parts
InterpolatedMatchLastLineNode::parts.
Definition ast.h:5223
pm_location_t opening_loc
InterpolatedMatchLastLineNode::opening_loc.
Definition ast.h:5218
InterpolatedRegularExpressionNode.
Definition ast.h:5256
pm_location_t opening_loc
InterpolatedRegularExpressionNode::opening_loc.
Definition ast.h:5263
struct pm_node_list parts
InterpolatedRegularExpressionNode::parts.
Definition ast.h:5268
pm_node_t base
The embedded base node.
Definition ast.h:5258
pm_location_t closing_loc
InterpolatedRegularExpressionNode::closing_loc.
Definition ast.h:5273
InterpolatedStringNode.
Definition ast.h:5292
pm_node_t base
The embedded base node.
Definition ast.h:5294
pm_location_t closing_loc
InterpolatedStringNode::closing_loc.
Definition ast.h:5309
pm_location_t opening_loc
InterpolatedStringNode::opening_loc.
Definition ast.h:5299
struct pm_node_list parts
InterpolatedStringNode::parts.
Definition ast.h:5304
InterpolatedSymbolNode.
Definition ast.h:5324
struct pm_node_list parts
InterpolatedSymbolNode::parts.
Definition ast.h:5336
pm_location_t closing_loc
InterpolatedSymbolNode::closing_loc.
Definition ast.h:5341
pm_location_t opening_loc
InterpolatedSymbolNode::opening_loc.
Definition ast.h:5331
pm_node_t base
The embedded base node.
Definition ast.h:5326
InterpolatedXStringNode.
Definition ast.h:5356
pm_location_t opening_loc
InterpolatedXStringNode::opening_loc.
Definition ast.h:5363
pm_location_t closing_loc
InterpolatedXStringNode::closing_loc.
Definition ast.h:5373
pm_node_t base
The embedded base node.
Definition ast.h:5358
struct pm_node_list parts
InterpolatedXStringNode::parts.
Definition ast.h:5368
ItLocalVariableReadNode.
Definition ast.h:5388
pm_node_t base
The embedded base node.
Definition ast.h:5390
ItParametersNode.
Definition ast.h:5405
pm_node_t base
The embedded base node.
Definition ast.h:5407
KeywordHashNode.
Definition ast.h:5425
pm_node_t base
The embedded base node.
Definition ast.h:5427
struct pm_node_list elements
KeywordHashNode::elements.
Definition ast.h:5432
KeywordRestParameterNode.
Definition ast.h:5451
pm_node_t base
The embedded base node.
Definition ast.h:5453
pm_constant_id_t name
KeywordRestParameterNode::name.
Definition ast.h:5458
pm_location_t operator_loc
KeywordRestParameterNode::operator_loc.
Definition ast.h:5468
pm_location_t name_loc
KeywordRestParameterNode::name_loc.
Definition ast.h:5463
LambdaNode.
Definition ast.h:5483
pm_location_t closing_loc
LambdaNode::closing_loc.
Definition ast.h:5505
pm_node_t base
The embedded base node.
Definition ast.h:5485
pm_location_t opening_loc
LambdaNode::opening_loc.
Definition ast.h:5500
pm_location_t operator_loc
LambdaNode::operator_loc.
Definition ast.h:5495
pm_constant_id_list_t locals
LambdaNode::locals.
Definition ast.h:5490
PM_NODE_ALIGNAS struct pm_node * body
LambdaNode::body.
Definition ast.h:5515
PM_NODE_ALIGNAS struct pm_node * parameters
LambdaNode::parameters.
Definition ast.h:5510
LocalVariableAndWriteNode.
Definition ast.h:5530
pm_constant_id_t name
LocalVariableAndWriteNode::name.
Definition ast.h:5552
pm_node_t base
The embedded base node.
Definition ast.h:5532
uint32_t depth
LocalVariableAndWriteNode::depth.
Definition ast.h:5557
pm_location_t operator_loc
LocalVariableAndWriteNode::operator_loc.
Definition ast.h:5542
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableAndWriteNode::value.
Definition ast.h:5547
pm_location_t name_loc
LocalVariableAndWriteNode::name_loc.
Definition ast.h:5537
LocalVariableOperatorWriteNode.
Definition ast.h:5572
uint32_t depth
LocalVariableOperatorWriteNode::depth.
Definition ast.h:5604
pm_constant_id_t binary_operator
LocalVariableOperatorWriteNode::binary_operator.
Definition ast.h:5599
pm_node_t base
The embedded base node.
Definition ast.h:5574
pm_location_t name_loc
LocalVariableOperatorWriteNode::name_loc.
Definition ast.h:5579
pm_location_t binary_operator_loc
LocalVariableOperatorWriteNode::binary_operator_loc.
Definition ast.h:5584
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableOperatorWriteNode::value.
Definition ast.h:5589
pm_constant_id_t name
LocalVariableOperatorWriteNode::name.
Definition ast.h:5594
LocalVariableOrWriteNode.
Definition ast.h:5619
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableOrWriteNode::value.
Definition ast.h:5636
uint32_t depth
LocalVariableOrWriteNode::depth.
Definition ast.h:5646
pm_location_t operator_loc
LocalVariableOrWriteNode::operator_loc.
Definition ast.h:5631
pm_node_t base
The embedded base node.
Definition ast.h:5621
pm_constant_id_t name
LocalVariableOrWriteNode::name.
Definition ast.h:5641
pm_location_t name_loc
LocalVariableOrWriteNode::name_loc.
Definition ast.h:5626
LocalVariableReadNode.
Definition ast.h:5661
uint32_t depth
LocalVariableReadNode::depth.
Definition ast.h:5691
pm_constant_id_t name
LocalVariableReadNode::name.
Definition ast.h:5678
pm_node_t base
The embedded base node.
Definition ast.h:5663
LocalVariableTargetNode.
Definition ast.h:5709
uint32_t depth
LocalVariableTargetNode::depth.
Definition ast.h:5721
pm_constant_id_t name
LocalVariableTargetNode::name.
Definition ast.h:5716
pm_node_t base
The embedded base node.
Definition ast.h:5711
LocalVariableWriteNode.
Definition ast.h:5736
PM_NODE_ALIGNAS struct pm_node * value
LocalVariableWriteNode::value.
Definition ast.h:5789
pm_location_t operator_loc
LocalVariableWriteNode::operator_loc.
Definition ast.h:5799
pm_location_t name_loc
LocalVariableWriteNode::name_loc.
Definition ast.h:5772
pm_node_t base
The embedded base node.
Definition ast.h:5738
uint32_t depth
LocalVariableWriteNode::depth.
Definition ast.h:5762
pm_constant_id_t name
LocalVariableWriteNode::name.
Definition ast.h:5749
This struct represents a slice in the source code, defined by an offset and a length.
Definition ast.h:547
uint32_t start
The offset of the location from the start of the source.
Definition ast.h:549
uint32_t length
The length of the location.
Definition ast.h:552
MatchLastLineNode.
Definition ast.h:5827
pm_location_t content_loc
MatchLastLineNode::content_loc.
Definition ast.h:5839
pm_location_t opening_loc
MatchLastLineNode::opening_loc.
Definition ast.h:5834
pm_location_t closing_loc
MatchLastLineNode::closing_loc.
Definition ast.h:5844
pm_string_t unescaped
MatchLastLineNode::unescaped.
Definition ast.h:5849
pm_node_t base
The embedded base node.
Definition ast.h:5829
MatchPredicateNode.
Definition ast.h:5864
pm_location_t operator_loc
MatchPredicateNode::operator_loc.
Definition ast.h:5881
PM_NODE_ALIGNAS struct pm_node * pattern
MatchPredicateNode::pattern.
Definition ast.h:5876
PM_NODE_ALIGNAS struct pm_node * value
MatchPredicateNode::value.
Definition ast.h:5871
pm_node_t base
The embedded base node.
Definition ast.h:5866
MatchRequiredNode.
Definition ast.h:5896
pm_node_t base
The embedded base node.
Definition ast.h:5898
pm_location_t operator_loc
MatchRequiredNode::operator_loc.
Definition ast.h:5967
PM_NODE_ALIGNAS struct pm_node * pattern
MatchRequiredNode::pattern.
Definition ast.h:5957
PM_NODE_ALIGNAS struct pm_node * value
MatchRequiredNode::value.
Definition ast.h:5908
MatchWriteNode.
Definition ast.h:5982
pm_node_t base
The embedded base node.
Definition ast.h:5984
PM_NODE_ALIGNAS struct pm_call_node * call
MatchWriteNode::call.
Definition ast.h:5989
struct pm_node_list targets
MatchWriteNode::targets.
Definition ast.h:5994
MissingNode.
Definition ast.h:6006
pm_node_t base
The embedded base node.
Definition ast.h:6008
ModuleNode.
Definition ast.h:6023
pm_location_t end_keyword_loc
ModuleNode::end_keyword_loc.
Definition ast.h:6050
PM_NODE_ALIGNAS struct pm_node * constant_path
ModuleNode::constant_path.
Definition ast.h:6040
PM_NODE_ALIGNAS struct pm_node * body
ModuleNode::body.
Definition ast.h:6045
pm_constant_id_list_t locals
ModuleNode::locals.
Definition ast.h:6030
pm_node_t base
The embedded base node.
Definition ast.h:6025
pm_location_t module_keyword_loc
ModuleNode::module_keyword_loc.
Definition ast.h:6035
pm_constant_id_t name
ModuleNode::name.
Definition ast.h:6055
MultiTargetNode.
Definition ast.h:6075
PM_NODE_ALIGNAS struct pm_node * rest
MultiTargetNode::rest.
Definition ast.h:6112
pm_node_t base
The embedded base node.
Definition ast.h:6077
pm_location_t lparen_loc
MultiTargetNode::lparen_loc.
Definition ast.h:6132
struct pm_node_list lefts
MultiTargetNode::lefts.
Definition ast.h:6092
pm_location_t rparen_loc
MultiTargetNode::rparen_loc.
Definition ast.h:6142
struct pm_node_list rights
MultiTargetNode::rights.
Definition ast.h:6122
MultiWriteNode.
Definition ast.h:6157
pm_location_t rparen_loc
MultiWriteNode::rparen_loc.
Definition ast.h:6224
PM_NODE_ALIGNAS struct pm_node * rest
MultiWriteNode::rest.
Definition ast.h:6194
struct pm_node_list rights
MultiWriteNode::rights.
Definition ast.h:6204
pm_location_t operator_loc
MultiWriteNode::operator_loc.
Definition ast.h:6234
PM_NODE_ALIGNAS struct pm_node * value
MultiWriteNode::value.
Definition ast.h:6244
pm_location_t lparen_loc
MultiWriteNode::lparen_loc.
Definition ast.h:6214
struct pm_node_list lefts
MultiWriteNode::lefts.
Definition ast.h:6174
pm_node_t base
The embedded base node.
Definition ast.h:6159
NextNode.
Definition ast.h:6259
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
NextNode::arguments.
Definition ast.h:6266
pm_node_t base
The embedded base node.
Definition ast.h:6261
pm_location_t keyword_loc
NextNode::keyword_loc.
Definition ast.h:6271
NilNode.
Definition ast.h:6286
pm_node_t base
The embedded base node.
Definition ast.h:6288
NoKeywordsParameterNode.
Definition ast.h:6304
pm_location_t keyword_loc
NoKeywordsParameterNode::keyword_loc.
Definition ast.h:6316
pm_location_t operator_loc
NoKeywordsParameterNode::operator_loc.
Definition ast.h:6311
pm_node_t base
The embedded base node.
Definition ast.h:6306
A list of nodes in the source, most often used for lists of children.
Definition ast.h:560
size_t size
The number of nodes in the list.
Definition ast.h:562
struct pm_node ** nodes
The nodes in the list.
Definition ast.h:568
size_t capacity
The capacity of the list that has been allocated.
Definition ast.h:565
This is the base structure that represents a node in the syntax tree.
Definition ast.h:1055
pm_node_type_t type
This represents the type of the node.
Definition ast.h:1060
uint32_t node_id
The unique identifier for this node, which is deterministic based on the source.
Definition ast.h:1072
pm_node_flags_t flags
This represents any flags on the node.
Definition ast.h:1066
pm_location_t location
This is the location of the node in the source.
Definition ast.h:1078
NumberedParametersNode.
Definition ast.h:6331
pm_node_t base
The embedded base node.
Definition ast.h:6333
uint8_t maximum
NumberedParametersNode::maximum.
Definition ast.h:6338
NumberedReferenceReadNode.
Definition ast.h:6353
pm_node_t base
The embedded base node.
Definition ast.h:6355
uint32_t number
NumberedReferenceReadNode::number.
Definition ast.h:6368
OptionalKeywordParameterNode.
Definition ast.h:6387
pm_node_t base
The embedded base node.
Definition ast.h:6389
pm_constant_id_t name
OptionalKeywordParameterNode::name.
Definition ast.h:6394
PM_NODE_ALIGNAS struct pm_node * value
OptionalKeywordParameterNode::value.
Definition ast.h:6404
pm_location_t name_loc
OptionalKeywordParameterNode::name_loc.
Definition ast.h:6399
OptionalParameterNode.
Definition ast.h:6423
pm_location_t name_loc
OptionalParameterNode::name_loc.
Definition ast.h:6435
pm_constant_id_t name
OptionalParameterNode::name.
Definition ast.h:6430
pm_node_t base
The embedded base node.
Definition ast.h:6425
pm_location_t operator_loc
OptionalParameterNode::operator_loc.
Definition ast.h:6440
PM_NODE_ALIGNAS struct pm_node * value
OptionalParameterNode::value.
Definition ast.h:6445
OrNode.
Definition ast.h:6460
PM_NODE_ALIGNAS struct pm_node * right
OrNode::right.
Definition ast.h:6488
pm_node_t base
The embedded base node.
Definition ast.h:6462
PM_NODE_ALIGNAS struct pm_node * left
OrNode::left.
Definition ast.h:6475
pm_location_t operator_loc
OrNode::operator_loc.
Definition ast.h:6498
ParametersNode.
Definition ast.h:6514
PM_NODE_ALIGNAS struct pm_block_parameter_node * block
ParametersNode::block.
Definition ast.h:6551
struct pm_node_list requireds
ParametersNode::requireds.
Definition ast.h:6521
struct pm_node_list optionals
ParametersNode::optionals.
Definition ast.h:6526
struct pm_node_list posts
ParametersNode::posts.
Definition ast.h:6536
pm_node_t base
The embedded base node.
Definition ast.h:6516
PM_NODE_ALIGNAS struct pm_node * rest
ParametersNode::rest.
Definition ast.h:6531
struct pm_node_list keywords
ParametersNode::keywords.
Definition ast.h:6541
PM_NODE_ALIGNAS struct pm_node * keyword_rest
ParametersNode::keyword_rest.
Definition ast.h:6546
ParenthesesNode.
Definition ast.h:6569
pm_location_t closing_loc
ParenthesesNode::closing_loc.
Definition ast.h:6586
pm_node_t base
The embedded base node.
Definition ast.h:6571
pm_location_t opening_loc
ParenthesesNode::opening_loc.
Definition ast.h:6581
PM_NODE_ALIGNAS struct pm_node * body
ParenthesesNode::body.
Definition ast.h:6576
PinnedExpressionNode.
Definition ast.h:6601
pm_node_t base
The embedded base node.
Definition ast.h:6603
pm_location_t rparen_loc
PinnedExpressionNode::rparen_loc.
Definition ast.h:6643
pm_location_t lparen_loc
PinnedExpressionNode::lparen_loc.
Definition ast.h:6633
PM_NODE_ALIGNAS struct pm_node * expression
PinnedExpressionNode::expression.
Definition ast.h:6613
pm_location_t operator_loc
PinnedExpressionNode::operator_loc.
Definition ast.h:6623
PinnedVariableNode.
Definition ast.h:6658
pm_node_t base
The embedded base node.
Definition ast.h:6660
PM_NODE_ALIGNAS struct pm_node * variable
PinnedVariableNode::variable.
Definition ast.h:6670
pm_location_t operator_loc
PinnedVariableNode::operator_loc.
Definition ast.h:6680
PostExecutionNode.
Definition ast.h:6695
pm_location_t closing_loc
PostExecutionNode::closing_loc.
Definition ast.h:6717
pm_node_t base
The embedded base node.
Definition ast.h:6697
pm_location_t opening_loc
PostExecutionNode::opening_loc.
Definition ast.h:6712
pm_location_t keyword_loc
PostExecutionNode::keyword_loc.
Definition ast.h:6707
PM_NODE_ALIGNAS struct pm_statements_node * statements
PostExecutionNode::statements.
Definition ast.h:6702
PreExecutionNode.
Definition ast.h:6732
pm_location_t closing_loc
PreExecutionNode::closing_loc.
Definition ast.h:6754
pm_location_t opening_loc
PreExecutionNode::opening_loc.
Definition ast.h:6749
PM_NODE_ALIGNAS struct pm_statements_node * statements
PreExecutionNode::statements.
Definition ast.h:6739
pm_node_t base
The embedded base node.
Definition ast.h:6734
pm_location_t keyword_loc
PreExecutionNode::keyword_loc.
Definition ast.h:6744
ProgramNode.
Definition ast.h:6766
pm_node_t base
The embedded base node.
Definition ast.h:6768
PM_NODE_ALIGNAS struct pm_statements_node * statements
ProgramNode::statements.
Definition ast.h:6778
pm_constant_id_list_t locals
ProgramNode::locals.
Definition ast.h:6773
RangeNode.
Definition ast.h:6799
pm_location_t operator_loc
RangeNode::operator_loc.
Definition ast.h:6835
pm_node_t base
The embedded base node.
Definition ast.h:6801
PM_NODE_ALIGNAS struct pm_node * right
RangeNode::right.
Definition ast.h:6828
PM_NODE_ALIGNAS struct pm_node * left
RangeNode::left.
Definition ast.h:6814
RationalNode.
Definition ast.h:6856
pm_node_t base
The embedded base node.
Definition ast.h:6858
pm_integer_t denominator
RationalNode::denominator.
Definition ast.h:6876
pm_integer_t numerator
RationalNode::numerator.
Definition ast.h:6867
RedoNode.
Definition ast.h:6891
pm_node_t base
The embedded base node.
Definition ast.h:6893
RegularExpressionNode.
Definition ast.h:6921
pm_location_t closing_loc
RegularExpressionNode::closing_loc.
Definition ast.h:6938
pm_node_t base
The embedded base node.
Definition ast.h:6923
pm_string_t unescaped
RegularExpressionNode::unescaped.
Definition ast.h:6943
pm_location_t opening_loc
RegularExpressionNode::opening_loc.
Definition ast.h:6928
pm_location_t content_loc
RegularExpressionNode::content_loc.
Definition ast.h:6933
RequiredKeywordParameterNode.
Definition ast.h:6962
pm_location_t name_loc
RequiredKeywordParameterNode::name_loc.
Definition ast.h:6974
pm_node_t base
The embedded base node.
Definition ast.h:6964
pm_constant_id_t name
RequiredKeywordParameterNode::name.
Definition ast.h:6969
RequiredParameterNode.
Definition ast.h:6993
pm_constant_id_t name
RequiredParameterNode::name.
Definition ast.h:7000
pm_node_t base
The embedded base node.
Definition ast.h:6995
RescueModifierNode.
Definition ast.h:7015
PM_NODE_ALIGNAS struct pm_node * expression
RescueModifierNode::expression.
Definition ast.h:7022
pm_node_t base
The embedded base node.
Definition ast.h:7017
pm_location_t keyword_loc
RescueModifierNode::keyword_loc.
Definition ast.h:7027
PM_NODE_ALIGNAS struct pm_node * rescue_expression
RescueModifierNode::rescue_expression.
Definition ast.h:7032
RescueNode.
Definition ast.h:7052
PM_NODE_ALIGNAS struct pm_statements_node * statements
RescueNode::statements.
Definition ast.h:7084
PM_NODE_ALIGNAS struct pm_rescue_node * subsequent
RescueNode::subsequent.
Definition ast.h:7089
pm_location_t keyword_loc
RescueNode::keyword_loc.
Definition ast.h:7059
PM_NODE_ALIGNAS struct pm_node * reference
RescueNode::reference.
Definition ast.h:7074
pm_location_t then_keyword_loc
RescueNode::then_keyword_loc.
Definition ast.h:7079
pm_location_t operator_loc
RescueNode::operator_loc.
Definition ast.h:7069
struct pm_node_list exceptions
RescueNode::exceptions.
Definition ast.h:7064
pm_node_t base
The embedded base node.
Definition ast.h:7054
RestParameterNode.
Definition ast.h:7108
pm_constant_id_t name
RestParameterNode::name.
Definition ast.h:7115
pm_location_t name_loc
RestParameterNode::name_loc.
Definition ast.h:7120
pm_node_t base
The embedded base node.
Definition ast.h:7110
pm_location_t operator_loc
RestParameterNode::operator_loc.
Definition ast.h:7125
RetryNode.
Definition ast.h:7140
pm_node_t base
The embedded base node.
Definition ast.h:7142
ReturnNode.
Definition ast.h:7157
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
ReturnNode::arguments.
Definition ast.h:7169
pm_location_t keyword_loc
ReturnNode::keyword_loc.
Definition ast.h:7164
pm_node_t base
The embedded base node.
Definition ast.h:7159
SelfNode.
Definition ast.h:7184
pm_node_t base
The embedded base node.
Definition ast.h:7186
ShareableConstantNode.
Definition ast.h:7207
PM_NODE_ALIGNAS struct pm_node * write
ShareableConstantNode::write.
Definition ast.h:7216
pm_node_t base
The embedded base node.
Definition ast.h:7209
SingletonClassNode.
Definition ast.h:7231
PM_NODE_ALIGNAS struct pm_node * body
SingletonClassNode::body.
Definition ast.h:7258
pm_node_t base
The embedded base node.
Definition ast.h:7233
pm_constant_id_list_t locals
SingletonClassNode::locals.
Definition ast.h:7238
pm_location_t operator_loc
SingletonClassNode::operator_loc.
Definition ast.h:7248
PM_NODE_ALIGNAS struct pm_node * expression
SingletonClassNode::expression.
Definition ast.h:7253
pm_location_t end_keyword_loc
SingletonClassNode::end_keyword_loc.
Definition ast.h:7263
pm_location_t class_keyword_loc
SingletonClassNode::class_keyword_loc.
Definition ast.h:7243
SourceEncodingNode.
Definition ast.h:7278
pm_node_t base
The embedded base node.
Definition ast.h:7280
SourceFileNode.
Definition ast.h:7301
pm_string_t filepath
SourceFileNode::filepath.
Definition ast.h:7310
pm_node_t base
The embedded base node.
Definition ast.h:7303
SourceLineNode.
Definition ast.h:7325
pm_node_t base
The embedded base node.
Definition ast.h:7327
SplatNode.
Definition ast.h:7342
pm_node_t base
The embedded base node.
Definition ast.h:7344
PM_NODE_ALIGNAS struct pm_node * expression
SplatNode::expression.
Definition ast.h:7354
pm_location_t operator_loc
SplatNode::operator_loc.
Definition ast.h:7349
StatementsNode.
Definition ast.h:7369
struct pm_node_list body
StatementsNode::body.
Definition ast.h:7376
pm_node_t base
The embedded base node.
Definition ast.h:7371
StringNode.
Definition ast.h:7403
pm_node_t base
The embedded base node.
Definition ast.h:7405
pm_string_t unescaped
StringNode::unescaped.
Definition ast.h:7425
pm_location_t content_loc
StringNode::content_loc.
Definition ast.h:7415
pm_location_t closing_loc
StringNode::closing_loc.
Definition ast.h:7420
pm_location_t opening_loc
StringNode::opening_loc.
Definition ast.h:7410
A generic string type that can have various ownership semantics.
Definition pm_string.h:33
SuperNode.
Definition ast.h:7445
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
SuperNode::arguments.
Definition ast.h:7464
pm_location_t lparen_loc
SuperNode::lparen_loc.
Definition ast.h:7457
pm_node_t base
The embedded base node.
Definition ast.h:7447
pm_location_t keyword_loc
SuperNode::keyword_loc.
Definition ast.h:7452
pm_location_t rparen_loc
SuperNode::rparen_loc.
Definition ast.h:7469
PM_NODE_ALIGNAS struct pm_node * block
SuperNode::block.
Definition ast.h:7474
SymbolNode.
Definition ast.h:7497
pm_location_t opening_loc
SymbolNode::opening_loc.
Definition ast.h:7504
pm_location_t value_loc
SymbolNode::value_loc.
Definition ast.h:7509
pm_location_t closing_loc
SymbolNode::closing_loc.
Definition ast.h:7514
pm_string_t unescaped
SymbolNode::unescaped.
Definition ast.h:7519
pm_node_t base
The embedded base node.
Definition ast.h:7499
This struct represents a token in the Ruby source.
Definition ast.h:528
const uint8_t * end
A pointer to the end location of the token in the source.
Definition ast.h:536
const uint8_t * start
A pointer to the start location of the token in the source.
Definition ast.h:533
pm_token_type_t type
The type of the token.
Definition ast.h:530
TrueNode.
Definition ast.h:7534
pm_node_t base
The embedded base node.
Definition ast.h:7536
UndefNode.
Definition ast.h:7551
pm_node_t base
The embedded base node.
Definition ast.h:7553
pm_location_t keyword_loc
UndefNode::keyword_loc.
Definition ast.h:7563
struct pm_node_list names
UndefNode::names.
Definition ast.h:7558
UnlessNode.
Definition ast.h:7581
pm_location_t keyword_loc
UnlessNode::keyword_loc.
Definition ast.h:7596
pm_location_t then_keyword_loc
UnlessNode::then_keyword_loc.
Definition ast.h:7619
PM_NODE_ALIGNAS struct pm_node * predicate
UnlessNode::predicate.
Definition ast.h:7609
PM_NODE_ALIGNAS struct pm_statements_node * statements
UnlessNode::statements.
Definition ast.h:7630
pm_location_t end_keyword_loc
UnlessNode::end_keyword_loc.
Definition ast.h:7650
PM_NODE_ALIGNAS struct pm_else_node * else_clause
UnlessNode::else_clause.
Definition ast.h:7640
pm_node_t base
The embedded base node.
Definition ast.h:7583
UntilNode.
Definition ast.h:7671
pm_location_t closing_loc
UntilNode::closing_loc.
Definition ast.h:7688
pm_location_t keyword_loc
UntilNode::keyword_loc.
Definition ast.h:7678
pm_node_t base
The embedded base node.
Definition ast.h:7673
PM_NODE_ALIGNAS struct pm_statements_node * statements
UntilNode::statements.
Definition ast.h:7698
pm_location_t do_keyword_loc
UntilNode::do_keyword_loc.
Definition ast.h:7683
PM_NODE_ALIGNAS struct pm_node * predicate
UntilNode::predicate.
Definition ast.h:7693
WhenNode.
Definition ast.h:7715
pm_node_t base
The embedded base node.
Definition ast.h:7717
pm_location_t then_keyword_loc
WhenNode::then_keyword_loc.
Definition ast.h:7732
pm_location_t keyword_loc
WhenNode::keyword_loc.
Definition ast.h:7722
PM_NODE_ALIGNAS struct pm_statements_node * statements
WhenNode::statements.
Definition ast.h:7737
struct pm_node_list conditions
WhenNode::conditions.
Definition ast.h:7727
WhileNode.
Definition ast.h:7758
PM_NODE_ALIGNAS struct pm_statements_node * statements
WhileNode::statements.
Definition ast.h:7785
pm_location_t closing_loc
WhileNode::closing_loc.
Definition ast.h:7775
pm_location_t keyword_loc
WhileNode::keyword_loc.
Definition ast.h:7765
pm_node_t base
The embedded base node.
Definition ast.h:7760
pm_location_t do_keyword_loc
WhileNode::do_keyword_loc.
Definition ast.h:7770
PM_NODE_ALIGNAS struct pm_node * predicate
WhileNode::predicate.
Definition ast.h:7780
XStringNode.
Definition ast.h:7804
pm_location_t closing_loc
XStringNode::closing_loc.
Definition ast.h:7821
pm_location_t opening_loc
XStringNode::opening_loc.
Definition ast.h:7811
pm_location_t content_loc
XStringNode::content_loc.
Definition ast.h:7816
pm_string_t unescaped
XStringNode::unescaped.
Definition ast.h:7826
pm_node_t base
The embedded base node.
Definition ast.h:7806
YieldNode.
Definition ast.h:7841
pm_location_t keyword_loc
YieldNode::keyword_loc.
Definition ast.h:7848
pm_location_t lparen_loc
YieldNode::lparen_loc.
Definition ast.h:7853
pm_node_t base
The embedded base node.
Definition ast.h:7843
pm_location_t rparen_loc
YieldNode::rparen_loc.
Definition ast.h:7863
PM_NODE_ALIGNAS struct pm_arguments_node * arguments
YieldNode::arguments.
Definition ast.h:7858