1053#define PM_NODE_TYPE(node) ((enum pm_node_type) (node)->type)
1058#define PM_NODE_TYPE_P(node, type) (PM_NODE_TYPE(node) == (type))
1063#define PM_NODE_FLAG_P(node, flag) ((((pm_node_t *)(node))->flags & (flag)) != 0)
7946#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.
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.
@ PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE
mutable by virtue of a frozen_string_literal: false comment or --disable-frozen-string-literal; only ...
@ PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal: true comment or --enable-frozen-string-literal; only for...
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.
@ PM_RANGE_FLAGS_EXCLUDE_END
... operator
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.
@ PM_DEFINED_NODE
DefinedNode.
@ PM_PRE_EXECUTION_NODE
PreExecutionNode.
@ PM_RETRY_NODE
RetryNode.
@ PM_CONSTANT_PATH_WRITE_NODE
ConstantPathWriteNode.
@ PM_INDEX_AND_WRITE_NODE
IndexAndWriteNode.
@ PM_SOURCE_LINE_NODE
SourceLineNode.
@ PM_UNLESS_NODE
UnlessNode.
@ PM_EMBEDDED_VARIABLE_NODE
EmbeddedVariableNode.
@ PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
GlobalVariableOperatorWriteNode.
@ PM_GLOBAL_VARIABLE_READ_NODE
GlobalVariableReadNode.
@ PM_RATIONAL_NODE
RationalNode.
@ PM_YIELD_NODE
YieldNode.
@ PM_LOCAL_VARIABLE_AND_WRITE_NODE
LocalVariableAndWriteNode.
@ PM_CONSTANT_AND_WRITE_NODE
ConstantAndWriteNode.
@ PM_CLASS_NODE
ClassNode.
@ PM_FIND_PATTERN_NODE
FindPatternNode.
@ PM_CALL_OPERATOR_WRITE_NODE
CallOperatorWriteNode.
@ PM_MATCH_WRITE_NODE
MatchWriteNode.
@ PM_ARRAY_NODE
ArrayNode.
@ PM_CONSTANT_PATH_TARGET_NODE
ConstantPathTargetNode.
@ PM_PROGRAM_NODE
ProgramNode.
@ PM_MULTI_WRITE_NODE
MultiWriteNode.
@ PM_IMPLICIT_NODE
ImplicitNode.
@ PM_ARGUMENTS_NODE
ArgumentsNode.
@ PM_FORWARDING_SUPER_NODE
ForwardingSuperNode.
@ PM_WHILE_NODE
WhileNode.
@ PM_INTERPOLATED_STRING_NODE
InterpolatedStringNode.
@ PM_FALSE_NODE
FalseNode.
@ PM_FORWARDING_PARAMETER_NODE
ForwardingParameterNode.
@ PM_BLOCK_LOCAL_VARIABLE_NODE
BlockLocalVariableNode.
@ PM_UNTIL_NODE
UntilNode.
@ PM_MATCH_PREDICATE_NODE
MatchPredicateNode.
@ PM_X_STRING_NODE
XStringNode.
@ PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
LocalVariableOperatorWriteNode.
@ PM_LOCAL_VARIABLE_OR_WRITE_NODE
LocalVariableOrWriteNode.
@ PM_INSTANCE_VARIABLE_AND_WRITE_NODE
InstanceVariableAndWriteNode.
@ PM_GLOBAL_VARIABLE_TARGET_NODE
GlobalVariableTargetNode.
@ PM_CONSTANT_TARGET_NODE
ConstantTargetNode.
@ PM_IT_LOCAL_VARIABLE_READ_NODE
ItLocalVariableReadNode.
@ PM_CONSTANT_PATH_AND_WRITE_NODE
ConstantPathAndWriteNode.
@ PM_BLOCK_PARAMETER_NODE
BlockParameterNode.
@ PM_CAPTURE_PATTERN_NODE
CapturePatternNode.
@ PM_SOURCE_FILE_NODE
SourceFileNode.
@ PM_NO_KEYWORDS_PARAMETER_NODE
NoKeywordsParameterNode.
@ PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
ConstantPathOperatorWriteNode.
@ PM_MULTI_TARGET_NODE
MultiTargetNode.
@ PM_SPLAT_NODE
SplatNode.
@ PM_LAMBDA_NODE
LambdaNode.
@ PM_CLASS_VARIABLE_READ_NODE
ClassVariableReadNode.
@ PM_REQUIRED_KEYWORD_PARAMETER_NODE
RequiredKeywordParameterNode.
@ PM_CALL_TARGET_NODE
CallTargetNode.
@ PM_INTERPOLATED_MATCH_LAST_LINE_NODE
InterpolatedMatchLastLineNode.
@ PM_NUMBERED_PARAMETERS_NODE
NumberedParametersNode.
@ PM_SYMBOL_NODE
SymbolNode.
@ PM_RESCUE_MODIFIER_NODE
RescueModifierNode.
@ PM_ALIAS_METHOD_NODE
AliasMethodNode.
@ PM_MATCH_REQUIRED_NODE
MatchRequiredNode.
@ PM_FORWARDING_ARGUMENTS_NODE
ForwardingArgumentsNode.
@ PM_BACK_REFERENCE_READ_NODE
BackReferenceReadNode.
@ PM_SCOPE_NODE
A special kind of node used for compilation.
@ PM_BLOCK_ARGUMENT_NODE
BlockArgumentNode.
@ PM_MISSING_NODE
MissingNode.
@ PM_IMPLICIT_REST_NODE
ImplicitRestNode.
@ PM_ASSOC_SPLAT_NODE
AssocSplatNode.
@ PM_CLASS_VARIABLE_AND_WRITE_NODE
ClassVariableAndWriteNode.
@ PM_RANGE_NODE
RangeNode.
@ PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
InstanceVariableOperatorWriteNode.
@ PM_LOCAL_VARIABLE_READ_NODE
LocalVariableReadNode.
@ PM_SHAREABLE_CONSTANT_NODE
ShareableConstantNode.
@ PM_INSTANCE_VARIABLE_OR_WRITE_NODE
InstanceVariableOrWriteNode.
@ PM_REGULAR_EXPRESSION_NODE
RegularExpressionNode.
@ PM_CLASS_VARIABLE_OR_WRITE_NODE
ClassVariableOrWriteNode.
@ PM_BLOCK_PARAMETERS_NODE
BlockParametersNode.
@ PM_CONSTANT_WRITE_NODE
ConstantWriteNode.
@ PM_HASH_PATTERN_NODE
HashPatternNode.
@ PM_INDEX_OPERATOR_WRITE_NODE
IndexOperatorWriteNode.
@ PM_UNDEF_NODE
UndefNode.
@ PM_ALTERNATION_PATTERN_NODE
AlternationPatternNode.
@ PM_ENSURE_NODE
EnsureNode.
@ PM_LOCAL_VARIABLE_WRITE_NODE
LocalVariableWriteNode.
@ PM_SINGLETON_CLASS_NODE
SingletonClassNode.
@ PM_KEYWORD_HASH_NODE
KeywordHashNode.
@ PM_PARENTHESES_NODE
ParenthesesNode.
@ PM_CLASS_VARIABLE_WRITE_NODE
ClassVariableWriteNode.
@ PM_POST_EXECUTION_NODE
PostExecutionNode.
@ PM_CONSTANT_OPERATOR_WRITE_NODE
ConstantOperatorWriteNode.
@ PM_RETURN_NODE
ReturnNode.
@ PM_MODULE_NODE
ModuleNode.
@ PM_ARRAY_PATTERN_NODE
ArrayPatternNode.
@ PM_SUPER_NODE
SuperNode.
@ PM_MATCH_LAST_LINE_NODE
MatchLastLineNode.
@ PM_CONSTANT_PATH_NODE
ConstantPathNode.
@ PM_INTERPOLATED_SYMBOL_NODE
InterpolatedSymbolNode.
@ PM_CALL_AND_WRITE_NODE
CallAndWriteNode.
@ PM_OPTIONAL_KEYWORD_PARAMETER_NODE
OptionalKeywordParameterNode.
@ PM_CLASS_VARIABLE_TARGET_NODE
ClassVariableTargetNode.
@ PM_CASE_MATCH_NODE
CaseMatchNode.
@ PM_BREAK_NODE
BreakNode.
@ PM_CALL_OR_WRITE_NODE
CallOrWriteNode.
@ PM_IMAGINARY_NODE
ImaginaryNode.
@ PM_CONSTANT_READ_NODE
ConstantReadNode.
@ PM_GLOBAL_VARIABLE_WRITE_NODE
GlobalVariableWriteNode.
@ PM_SOURCE_ENCODING_NODE
SourceEncodingNode.
@ PM_BEGIN_NODE
BeginNode.
@ PM_INTERPOLATED_X_STRING_NODE
InterpolatedXStringNode.
@ PM_INSTANCE_VARIABLE_READ_NODE
InstanceVariableReadNode.
@ PM_FLIP_FLOP_NODE
FlipFlopNode.
@ PM_PINNED_VARIABLE_NODE
PinnedVariableNode.
@ PM_REQUIRED_PARAMETER_NODE
RequiredParameterNode.
@ PM_INSTANCE_VARIABLE_WRITE_NODE
InstanceVariableWriteNode.
@ PM_INSTANCE_VARIABLE_TARGET_NODE
InstanceVariableTargetNode.
@ PM_GLOBAL_VARIABLE_AND_WRITE_NODE
GlobalVariableAndWriteNode.
@ PM_RESCUE_NODE
RescueNode.
@ PM_FLOAT_NODE
FloatNode.
@ PM_ASSOC_NODE
AssocNode.
@ PM_IT_PARAMETERS_NODE
ItParametersNode.
@ PM_INTEGER_NODE
IntegerNode.
@ PM_LOCAL_VARIABLE_TARGET_NODE
LocalVariableTargetNode.
@ PM_STRING_NODE
StringNode.
@ PM_INDEX_OR_WRITE_NODE
IndexOrWriteNode.
@ PM_ALIAS_GLOBAL_VARIABLE_NODE
AliasGlobalVariableNode.
@ PM_PARAMETERS_NODE
ParametersNode.
@ PM_NUMBERED_REFERENCE_READ_NODE
NumberedReferenceReadNode.
@ PM_CONSTANT_PATH_OR_WRITE_NODE
ConstantPathOrWriteNode.
@ PM_GLOBAL_VARIABLE_OR_WRITE_NODE
GlobalVariableOrWriteNode.
@ PM_CONSTANT_OR_WRITE_NODE
ConstantOrWriteNode.
@ PM_STATEMENTS_NODE
StatementsNode.
@ PM_OPTIONAL_PARAMETER_NODE
OptionalParameterNode.
@ PM_PINNED_EXPRESSION_NODE
PinnedExpressionNode.
@ PM_BLOCK_NODE
BlockNode.
@ PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
ClassVariableOperatorWriteNode.
@ PM_REST_PARAMETER_NODE
RestParameterNode.
@ PM_EMBEDDED_STATEMENTS_NODE
EmbeddedStatementsNode.
@ PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
InterpolatedRegularExpressionNode.
@ PM_INDEX_TARGET_NODE
IndexTargetNode.
@ PM_KEYWORD_REST_PARAMETER_NODE
KeywordRestParameterNode.
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.
static const pm_node_flags_t PM_NODE_FLAG_NEWLINE
We store the flags enum in every node in the tree.
pm_symbol_flags
Flags for symbol nodes.
@ PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
@ PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
internal bytes forced the encoding to US-ASCII
@ PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
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.
@ PM_STRING_FLAGS_FROZEN
frozen by virtue of a frozen_string_literal: true comment or --enable-frozen-string-literal
@ PM_STRING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
@ PM_STRING_FLAGS_MUTABLE
mutable by virtue of a frozen_string_literal: false comment or --disable-frozen-string-literal
@ PM_STRING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
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.
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT
if the arguments contain a splat
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING
if the arguments contain forwarding
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS
if the arguments contain keywords
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
if the arguments contain a keyword splat
@ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS
if the arguments contain multiple splats
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.
@ PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
if array contains splat nodes
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.
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.
@ PM_INTEGER_BASE_FLAGS_HEXADECIMAL
0x prefix
@ PM_INTEGER_BASE_FLAGS_OCTAL
0o or 0 prefix
@ PM_INTEGER_BASE_FLAGS_DECIMAL
0d or no prefix
@ PM_INTEGER_BASE_FLAGS_BINARY
0b prefix
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.
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.
@ PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
a call that ignores method visibility
@ PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
&.
@ PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
a call that is an attribute write, so the value being written should be returned
@ PM_CALL_NODE_FLAGS_VARIABLE_CALL
a call that could have been a local variable
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.
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING
constant writes that should be modified with shareable constant value experimental everything
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL
constant writes that should be modified with shareable constant value literal
@ PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY
constant writes that should be modified with shareable constant value experimental copy
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.
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.
@ 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...
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.
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
internal bytes forced the encoding to US-ASCII
@ PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
e - forces the EUC-JP encoding
@ PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
i - ignores the case of characters when matching
@ PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
@ PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
n - forces the ASCII-8BIT encoding
@ PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
m - allows $ to match the end of lines within strings
@ PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
x - ignores whitespace and allows comments in regular expressions
@ PM_REGULAR_EXPRESSION_FLAGS_ONCE
o - only interpolates values into the regular expression once
@ PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
s - forces the Windows-31J encoding
@ PM_REGULAR_EXPRESSION_FLAGS_UTF_8
u - forces the UTF-8 encoding
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.
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.
@ PM_TOKEN_DOT_DOT_DOT
the ... range operator or forwarding parameter
@ PM_TOKEN_IGNORED_NEWLINE
an ignored newline
@ PM_TOKEN_KEYWORD___FILE__
FILE
@ PM_TOKEN_KEYWORD_WHEN
when
@ PM_TOKEN_FLOAT
a floating point number
@ PM_TOKEN_UDOT_DOT
unary .
@ PM_TOKEN_AMPERSAND_DOT
&.
@ PM_TOKEN_NEWLINE
a newline character outside of other tokens
@ PM_TOKEN_NUMBERED_REFERENCE
a numbered reference to a capture group in the previous regular expression match
@ PM_TOKEN_KEYWORD_YIELD
yield
@ PM_TOKEN_KEYWORD_END
end
@ PM_TOKEN_KEYWORD_UNTIL_MODIFIER
until in the modifier form
@ PM_TOKEN_EQUAL_EQUAL_EQUAL
===
@ PM_TOKEN_INTEGER_RATIONAL
an integer with a rational suffix
@ PM_TOKEN_KEYWORD___ENCODING__
ENCODING
@ PM_TOKEN_REGEXP_END
the end of a regular expression
@ PM_TOKEN_KEYWORD_UNTIL
until
@ PM_TOKEN_MAXIMUM
The maximum token value.
@ PM_TOKEN_INTEGER
an integer (any base)
@ PM_TOKEN_UMINUS_NUM
-@ for a number
@ PM_TOKEN_KEYWORD_UNLESS_MODIFIER
unless in the modifier form
@ PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
an integer with a rational and imaginary suffix
@ PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
a floating pointer number with a rational and imaginary suffix
@ PM_TOKEN_BRACKET_LEFT_RIGHT
[]
@ PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
&&=
@ PM_TOKEN_KEYWORD_CLASS
class
@ PM_TOKEN_KEYWORD_BEGIN
begin
@ PM_TOKEN_NOT_PROVIDED
a token that was not present but it is okay
@ PM_TOKEN_USTAR_STAR
unary **
@ PM_TOKEN_GREATER_GREATER_EQUAL
@ PM_TOKEN_PERCENT_EQUAL
%=
@ PM_TOKEN_KEYWORD_NOT
not
@ PM_TOKEN_BRACKET_LEFT_ARRAY
[ for the beginning of an array
@ PM_TOKEN_HEREDOC_END
the end of a heredoc
@ PM_TOKEN_HEREDOC_START
the start of a heredoc
@ PM_TOKEN_KEYWORD_DEFINED
defined?
@ PM_TOKEN_UCOLON_COLON
unary ::
@ PM_TOKEN_LABEL_END
the end of a label
@ PM_TOKEN_EQUAL_GREATER
=>
@ PM_TOKEN_KEYWORD_UNLESS
unless
@ PM_TOKEN_KEYWORD_ENSURE
ensure
@ PM_TOKEN_AMPERSAND_EQUAL
&=
@ PM_TOKEN_FLOAT_IMAGINARY
a floating pointer number with an imaginary suffix
@ PM_TOKEN_KEYWORD_BEGIN_UPCASE
BEGIN.
@ PM_TOKEN_LESS_EQUAL_GREATER
<=>
@ PM_TOKEN_KEYWORD_RESCUE_MODIFIER
rescue in the modifier form
@ PM_TOKEN_MISSING
a token that was expected but not found
@ PM_TOKEN_MINUS_GREATER
->
@ PM_TOKEN_KEYWORD_FALSE
false
@ PM_TOKEN_PIPE_PIPE_EQUAL
||=
@ PM_TOKEN_EMBEXPR_BEGIN
#{
@ PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
( for a parentheses node
@ PM_TOKEN_EMBDOC_END
=end
@ PM_TOKEN_KEYWORD_ELSE
else
@ PM_TOKEN_BACK_REFERENCE
a back reference
@ PM_TOKEN_EOF
final token in the file
@ PM_TOKEN_KEYWORD_NIL
nil
@ PM_TOKEN_PERCENT_UPPER_W
W
@ PM_TOKEN_KEYWORD_RETURN
return
@ PM_TOKEN_CLASS_VARIABLE
a class variable
@ PM_TOKEN_PARENTHESIS_LEFT
(
@ PM_TOKEN_PARENTHESIS_RIGHT
)
@ PM_TOKEN_KEYWORD_RESCUE
rescue
@ PM_TOKEN_INSTANCE_VARIABLE
an instance variable
@ PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
[]=
@ PM_TOKEN_UAMPERSAND
unary &
@ PM_TOKEN_CONSTANT
a constant
@ PM_TOKEN_IDENTIFIER
an identifier
@ PM_TOKEN_EMBDOC_BEGIN
=begin
@ PM_TOKEN_KEYWORD_AND
and
@ PM_TOKEN_KEYWORD_BREAK
break
@ PM_TOKEN_PERCENT_LOWER_W
w
@ PM_TOKEN_SYMBOL_BEGIN
the beginning of a symbol
@ PM_TOKEN_METHOD_NAME
a method name
@ PM_TOKEN_KEYWORD_CASE
case
@ PM_TOKEN_WORDS_SEP
a separator between words in a list
@ PM_TOKEN_FLOAT_RATIONAL
a floating pointer number with a rational suffix
@ PM_TOKEN_LESS_LESS_EQUAL
<<=
@ PM_TOKEN_EMBDOC_LINE
a line inside of embedded documentation
@ PM_TOKEN_KEYWORD_SUPER
super
@ PM_TOKEN_KEYWORD_REDO
redo
@ PM_TOKEN_KEYWORD_END_UPCASE
END.
@ PM_TOKEN_KEYWORD___LINE__
LINE
@ PM_TOKEN_STRING_END
the end of a string
@ PM_TOKEN_STRING_CONTENT
the contents of a string
@ PM_TOKEN_GREATER_GREATER
@ PM_TOKEN_PERCENT_LOWER_X
x
@ PM_TOKEN_KEYWORD_SELF
self
@ PM_TOKEN_PERCENT_LOWER_I
i
@ PM_TOKEN_KEYWORD_ALIAS
alias
@ PM_TOKEN_GLOBAL_VARIABLE
a global variable
@ PM_TOKEN_KEYWORD_IF_MODIFIER
if in the modifier form
@ PM_TOKEN_KEYWORD_RETRY
retry
@ PM_TOKEN_KEYWORD_UNDEF
undef
@ PM_TOKEN_BRACKET_RIGHT
]
@ PM_TOKEN_KEYWORD_FOR
for
@ PM_TOKEN_KEYWORD_THEN
then
@ PM_TOKEN_QUESTION_MARK
?
@ PM_TOKEN___END__
marker for the point in the file at which the parser should stop
@ PM_TOKEN_KEYWORD_WHILE
while
@ PM_TOKEN_KEYWORD_DEF
def
@ PM_TOKEN_UDOT_DOT_DOT
unary ... operator
@ PM_TOKEN_KEYWORD_WHILE_MODIFIER
while in the modifier form
@ PM_TOKEN_KEYWORD_TRUE
true
@ PM_TOKEN_REGEXP_BEGIN
the beginning of a regular expression
@ PM_TOKEN_PERCENT_UPPER_I
I
@ PM_TOKEN_KEYWORD_DO_LOOP
do keyword for a predicate in a while, until, or for loop
@ PM_TOKEN_KEYWORD_MODULE
module
@ PM_TOKEN_KEYWORD_NEXT
next
@ PM_TOKEN_INTEGER_IMAGINARY
an integer with an imaginary suffix
@ PM_TOKEN_STAR_STAR_EQUAL
**=
@ PM_TOKEN_CHARACTER_LITERAL
a character literal
@ PM_TOKEN_AMPERSAND_AMPERSAND
&&
@ PM_TOKEN_GREATER_EQUAL
>=
@ PM_TOKEN_COMMENT
a comment
@ PM_TOKEN_KEYWORD_ELSIF
elsif
@ PM_TOKEN_STRING_BEGIN
the beginning of a string
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.
@ PM_PARAMETER_FLAGS_REPEATED_PARAMETER
a parameter name that has been repeated in the method signature
pm_encoding_flags
Flags for nodes that have unescaped content.
@ PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
internal bytes forced the encoding to binary
@ PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
internal bytes forced the encoding to UTF-8
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.
@ PM_LOOP_FLAGS_BEGIN_MODIFIER
a loop after a begin statement, so the body is executed first before the condition
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.
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.
This module provides functions for working with arbitrary-sized integers.
A generic string type that can have various ownership semantics.
Macro definitions used throughout the prism library.
struct pm_node * old_name
AliasGlobalVariableNode#old_name.
pm_node_t base
The embedded base node.
struct pm_node * new_name
AliasGlobalVariableNode#new_name.
pm_location_t keyword_loc
AliasGlobalVariableNode#keyword_loc.
struct pm_node * old_name
AliasMethodNode#old_name.
struct pm_node * new_name
AliasMethodNode#new_name.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
AliasMethodNode#keyword_loc.
pm_location_t operator_loc
AlternationPatternNode#operator_loc.
struct pm_node * left
AlternationPatternNode#left.
struct pm_node * right
AlternationPatternNode#right.
pm_node_t base
The embedded base node.
struct pm_node * left
AndNode#left.
struct pm_node * right
AndNode#right.
pm_location_t operator_loc
AndNode#operator_loc.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node_list arguments
ArgumentsNode#arguments.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
ArrayNode#closing_loc.
struct pm_node_list elements
ArrayNode#elements.
pm_location_t opening_loc
ArrayNode#opening_loc.
struct pm_node_list requireds
ArrayPatternNode#requireds.
struct pm_node * rest
ArrayPatternNode#rest.
struct pm_node * constant
ArrayPatternNode#constant.
pm_location_t opening_loc
ArrayPatternNode#opening_loc.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
ArrayPatternNode#closing_loc.
struct pm_node_list posts
ArrayPatternNode#posts.
pm_node_t base
The embedded base node.
struct pm_node * value
AssocNode#value.
struct pm_node * key
AssocNode#key.
pm_location_t operator_loc
AssocNode#operator_loc.
struct pm_node * value
AssocSplatNode#value.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
AssocSplatNode#operator_loc.
pm_constant_id_t name
BackReferenceReadNode#name.
pm_node_t base
The embedded base node.
struct pm_ensure_node * ensure_clause
BeginNode#ensure_clause.
struct pm_rescue_node * rescue_clause
BeginNode#rescue_clause.
struct pm_statements_node * statements
BeginNode#statements.
pm_node_t base
The embedded base node.
pm_location_t end_keyword_loc
BeginNode#end_keyword_loc.
pm_location_t begin_keyword_loc
BeginNode#begin_keyword_loc.
struct pm_else_node * else_clause
BeginNode#else_clause.
pm_node_t base
The embedded base node.
struct pm_node * expression
BlockArgumentNode#expression.
pm_location_t operator_loc
BlockArgumentNode#operator_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
BlockLocalVariableNode#name.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
BlockNode#closing_loc.
struct pm_node * parameters
BlockNode#parameters.
pm_location_t opening_loc
BlockNode#opening_loc.
struct pm_node * body
BlockNode#body.
pm_constant_id_list_t locals
BlockNode#locals.
pm_location_t operator_loc
BlockParameterNode#operator_loc.
pm_location_t name_loc
BlockParameterNode#name_loc.
pm_constant_id_t name
BlockParameterNode#name.
pm_node_t base
The embedded base node.
struct pm_parameters_node * parameters
BlockParametersNode#parameters.
pm_node_t base
The embedded base node.
struct pm_node_list locals
BlockParametersNode#locals.
pm_location_t closing_loc
BlockParametersNode#closing_loc.
pm_location_t opening_loc
BlockParametersNode#opening_loc.
struct pm_arguments_node * arguments
BreakNode#arguments.
pm_location_t keyword_loc
BreakNode#keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
CallAndWriteNode#operator_loc.
struct pm_node * value
CallAndWriteNode#value.
pm_node_t base
The embedded base node.
pm_location_t call_operator_loc
CallAndWriteNode#call_operator_loc.
pm_location_t message_loc
CallAndWriteNode#message_loc.
pm_constant_id_t read_name
CallAndWriteNode#read_name.
pm_constant_id_t write_name
CallAndWriteNode#write_name.
struct pm_node * receiver
CallAndWriteNode#receiver.
pm_location_t opening_loc
CallNode#opening_loc.
pm_location_t closing_loc
CallNode#closing_loc.
struct pm_node * receiver
CallNode#receiver.
pm_constant_id_t name
CallNode::name.
pm_node_t base
The embedded base node.
pm_location_t call_operator_loc
CallNode#call_operator_loc.
pm_location_t message_loc
CallNode#message_loc.
struct pm_arguments_node * arguments
CallNode#arguments.
struct pm_node * block
CallNode#block.
pm_constant_id_t read_name
CallOperatorWriteNode#read_name.
pm_constant_id_t binary_operator
CallOperatorWriteNode#binary_operator.
pm_location_t binary_operator_loc
CallOperatorWriteNode#binary_operator_loc.
struct pm_node * receiver
CallOperatorWriteNode#receiver.
pm_node_t base
The embedded base node.
pm_constant_id_t write_name
CallOperatorWriteNode#write_name.
pm_location_t message_loc
CallOperatorWriteNode#message_loc.
struct pm_node * value
CallOperatorWriteNode#value.
pm_location_t call_operator_loc
CallOperatorWriteNode#call_operator_loc.
pm_location_t operator_loc
CallOrWriteNode#operator_loc.
pm_location_t call_operator_loc
CallOrWriteNode#call_operator_loc.
pm_node_t base
The embedded base node.
struct pm_node * receiver
CallOrWriteNode#receiver.
struct pm_node * value
CallOrWriteNode#value.
pm_constant_id_t write_name
CallOrWriteNode#write_name.
pm_constant_id_t read_name
CallOrWriteNode#read_name.
pm_location_t message_loc
CallOrWriteNode#message_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
CallTargetNode#name.
struct pm_node * receiver
CallTargetNode#receiver.
pm_location_t call_operator_loc
CallTargetNode#call_operator_loc.
pm_location_t message_loc
CallTargetNode#message_loc.
struct pm_local_variable_target_node * target
CapturePatternNode#target.
pm_location_t operator_loc
CapturePatternNode#operator_loc.
struct pm_node * value
CapturePatternNode#value.
pm_node_t base
The embedded base node.
pm_location_t end_keyword_loc
CaseMatchNode#end_keyword_loc.
struct pm_node_list conditions
CaseMatchNode#conditions.
pm_node_t base
The embedded base node.
pm_location_t case_keyword_loc
CaseMatchNode#case_keyword_loc.
struct pm_else_node * else_clause
CaseMatchNode#else_clause.
struct pm_node * predicate
CaseMatchNode#predicate.
struct pm_node * predicate
CaseNode#predicate.
struct pm_else_node * else_clause
CaseNode#else_clause.
struct pm_node_list conditions
CaseNode#conditions.
pm_node_t base
The embedded base node.
pm_location_t case_keyword_loc
CaseNode#case_keyword_loc.
pm_location_t end_keyword_loc
CaseNode#end_keyword_loc.
pm_location_t class_keyword_loc
ClassNode#class_keyword_loc.
pm_location_t end_keyword_loc
ClassNode#end_keyword_loc.
struct pm_node * constant_path
ClassNode#constant_path.
pm_constant_id_list_t locals
ClassNode#locals.
pm_location_t inheritance_operator_loc
ClassNode#inheritance_operator_loc.
pm_constant_id_t name
ClassNode#name.
pm_node_t base
The embedded base node.
struct pm_node * body
ClassNode#body.
struct pm_node * superclass
ClassNode#superclass.
ClassVariableAndWriteNode.
struct pm_node * value
ClassVariableAndWriteNode#value.
pm_constant_id_t name
ClassVariableAndWriteNode#name.
pm_location_t operator_loc
ClassVariableAndWriteNode#operator_loc.
pm_node_t base
The embedded base node.
pm_location_t name_loc
ClassVariableAndWriteNode#name_loc.
ClassVariableOperatorWriteNode.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ClassVariableOperatorWriteNode#name.
pm_location_t name_loc
ClassVariableOperatorWriteNode#name_loc.
pm_constant_id_t binary_operator
ClassVariableOperatorWriteNode#binary_operator.
struct pm_node * value
ClassVariableOperatorWriteNode#value.
pm_location_t binary_operator_loc
ClassVariableOperatorWriteNode#binary_operator_loc.
ClassVariableOrWriteNode.
pm_node_t base
The embedded base node.
pm_location_t name_loc
ClassVariableOrWriteNode#name_loc.
pm_location_t operator_loc
ClassVariableOrWriteNode#operator_loc.
pm_constant_id_t name
ClassVariableOrWriteNode#name.
struct pm_node * value
ClassVariableOrWriteNode#value.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ClassVariableReadNode#name.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ClassVariableTargetNode#name.
pm_location_t name_loc
ClassVariableWriteNode#name_loc.
pm_node_t base
The embedded base node.
struct pm_node * value
ClassVariableWriteNode#value.
pm_location_t operator_loc
ClassVariableWriteNode#operator_loc.
pm_constant_id_t name
ClassVariableWriteNode#name.
pm_location_t operator_loc
ConstantAndWriteNode#operator_loc.
pm_location_t name_loc
ConstantAndWriteNode#name_loc.
pm_constant_id_t name
ConstantAndWriteNode#name.
struct pm_node * value
ConstantAndWriteNode#value.
pm_node_t base
The embedded base node.
ConstantOperatorWriteNode.
pm_constant_id_t name
ConstantOperatorWriteNode#name.
pm_location_t name_loc
ConstantOperatorWriteNode#name_loc.
pm_constant_id_t binary_operator
ConstantOperatorWriteNode#binary_operator.
pm_location_t binary_operator_loc
ConstantOperatorWriteNode#binary_operator_loc.
struct pm_node * value
ConstantOperatorWriteNode#value.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
ConstantOrWriteNode#operator_loc.
pm_location_t name_loc
ConstantOrWriteNode#name_loc.
pm_constant_id_t name
ConstantOrWriteNode#name.
pm_node_t base
The embedded base node.
struct pm_node * value
ConstantOrWriteNode#value.
ConstantPathAndWriteNode.
pm_node_t base
The embedded base node.
struct pm_constant_path_node * target
ConstantPathAndWriteNode#target.
pm_location_t operator_loc
ConstantPathAndWriteNode#operator_loc.
struct pm_node * value
ConstantPathAndWriteNode#value.
pm_location_t delimiter_loc
ConstantPathNode#delimiter_loc.
pm_node_t base
The embedded base node.
pm_location_t name_loc
ConstantPathNode#name_loc.
pm_constant_id_t name
ConstantPathNode#name.
struct pm_node * parent
ConstantPathNode#parent.
ConstantPathOperatorWriteNode.
struct pm_constant_path_node * target
ConstantPathOperatorWriteNode#target.
struct pm_node * value
ConstantPathOperatorWriteNode#value.
pm_constant_id_t binary_operator
ConstantPathOperatorWriteNode#binary_operator.
pm_node_t base
The embedded base node.
pm_location_t binary_operator_loc
ConstantPathOperatorWriteNode#binary_operator_loc.
pm_location_t operator_loc
ConstantPathOrWriteNode#operator_loc.
pm_node_t base
The embedded base node.
struct pm_node * value
ConstantPathOrWriteNode#value.
struct pm_constant_path_node * target
ConstantPathOrWriteNode#target.
pm_node_t base
The embedded base node.
struct pm_node * parent
ConstantPathTargetNode#parent.
pm_location_t delimiter_loc
ConstantPathTargetNode#delimiter_loc.
pm_constant_id_t name
ConstantPathTargetNode#name.
pm_location_t name_loc
ConstantPathTargetNode#name_loc.
struct pm_constant_path_node * target
ConstantPathWriteNode#target.
pm_location_t operator_loc
ConstantPathWriteNode#operator_loc.
pm_node_t base
The embedded base node.
struct pm_node * value
ConstantPathWriteNode#value.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ConstantReadNode#name.
pm_node_t base
The embedded base node.
pm_constant_id_t name
ConstantTargetNode#name.
pm_node_t base
The embedded base node.
struct pm_node * value
ConstantWriteNode#value.
pm_constant_id_t name
ConstantWriteNode#name.
pm_location_t name_loc
ConstantWriteNode#name_loc.
pm_location_t operator_loc
ConstantWriteNode#operator_loc.
struct pm_parameters_node * parameters
DefNode#parameters.
pm_location_t end_keyword_loc
DefNode#end_keyword_loc.
pm_constant_id_t name
DefNode#name.
pm_location_t name_loc
DefNode#name_loc.
pm_location_t rparen_loc
DefNode#rparen_loc.
struct pm_node * body
DefNode#body.
pm_location_t equal_loc
DefNode#equal_loc.
pm_location_t def_keyword_loc
DefNode#def_keyword_loc.
struct pm_node * receiver
DefNode#receiver.
pm_node_t base
The embedded base node.
pm_location_t lparen_loc
DefNode#lparen_loc.
pm_location_t operator_loc
DefNode#operator_loc.
pm_constant_id_list_t locals
DefNode#locals.
pm_location_t lparen_loc
DefinedNode#lparen_loc.
pm_node_t base
The embedded base node.
pm_location_t rparen_loc
DefinedNode#rparen_loc.
pm_location_t keyword_loc
DefinedNode#keyword_loc.
struct pm_node * value
DefinedNode#value.
struct pm_statements_node * statements
ElseNode#statements.
pm_location_t else_keyword_loc
ElseNode#else_keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t end_keyword_loc
ElseNode#end_keyword_loc.
pm_location_t closing_loc
EmbeddedStatementsNode#closing_loc.
struct pm_statements_node * statements
EmbeddedStatementsNode#statements.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
EmbeddedStatementsNode#opening_loc.
struct pm_node * variable
EmbeddedVariableNode#variable.
pm_location_t operator_loc
EmbeddedVariableNode#operator_loc.
pm_node_t base
The embedded base node.
struct pm_statements_node * statements
EnsureNode#statements.
pm_node_t base
The embedded base node.
pm_location_t ensure_keyword_loc
EnsureNode#ensure_keyword_loc.
pm_location_t end_keyword_loc
EnsureNode#end_keyword_loc.
pm_node_t base
The embedded base node.
struct pm_node * constant
FindPatternNode#constant.
struct pm_node * right
FindPatternNode#right.
pm_location_t opening_loc
FindPatternNode#opening_loc.
pm_node_t base
The embedded base node.
struct pm_node_list requireds
FindPatternNode#requireds.
struct pm_splat_node * left
FindPatternNode#left.
pm_location_t closing_loc
FindPatternNode#closing_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
FlipFlopNode#operator_loc.
struct pm_node * left
FlipFlopNode#left.
struct pm_node * right
FlipFlopNode#right.
double value
FloatNode#value.
pm_node_t base
The embedded base node.
struct pm_statements_node * statements
ForNode#statements.
struct pm_node * index
ForNode#index.
struct pm_node * collection
ForNode#collection.
pm_node_t base
The embedded base node.
pm_location_t end_keyword_loc
ForNode#end_keyword_loc.
pm_location_t for_keyword_loc
ForNode#for_keyword_loc.
pm_location_t do_keyword_loc
ForNode#do_keyword_loc.
pm_location_t in_keyword_loc
ForNode#in_keyword_loc.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_block_node * block
ForwardingSuperNode#block.
GlobalVariableAndWriteNode.
pm_location_t operator_loc
GlobalVariableAndWriteNode#operator_loc.
pm_node_t base
The embedded base node.
pm_location_t name_loc
GlobalVariableAndWriteNode#name_loc.
struct pm_node * value
GlobalVariableAndWriteNode#value.
pm_constant_id_t name
GlobalVariableAndWriteNode#name.
GlobalVariableOperatorWriteNode.
pm_constant_id_t name
GlobalVariableOperatorWriteNode#name.
pm_constant_id_t binary_operator
GlobalVariableOperatorWriteNode#binary_operator.
struct pm_node * value
GlobalVariableOperatorWriteNode#value.
pm_location_t name_loc
GlobalVariableOperatorWriteNode#name_loc.
pm_node_t base
The embedded base node.
pm_location_t binary_operator_loc
GlobalVariableOperatorWriteNode#binary_operator_loc.
GlobalVariableOrWriteNode.
pm_constant_id_t name
GlobalVariableOrWriteNode#name.
pm_location_t name_loc
GlobalVariableOrWriteNode#name_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
GlobalVariableOrWriteNode#operator_loc.
struct pm_node * value
GlobalVariableOrWriteNode#value.
pm_node_t base
The embedded base node.
pm_constant_id_t name
GlobalVariableReadNode#name.
GlobalVariableTargetNode.
pm_constant_id_t name
GlobalVariableTargetNode#name.
pm_node_t base
The embedded base node.
struct pm_node * value
GlobalVariableWriteNode#value.
pm_location_t name_loc
GlobalVariableWriteNode#name_loc.
pm_location_t operator_loc
GlobalVariableWriteNode#operator_loc.
pm_constant_id_t name
GlobalVariableWriteNode#name.
pm_node_t base
The embedded base node.
struct pm_node_list elements
HashNode#elements.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
HashNode#closing_loc.
pm_location_t opening_loc
HashNode#opening_loc.
struct pm_node_list elements
HashPatternNode#elements.
pm_location_t opening_loc
HashPatternNode#opening_loc.
pm_node_t base
The embedded base node.
struct pm_node * rest
HashPatternNode#rest.
pm_location_t closing_loc
HashPatternNode#closing_loc.
struct pm_node * constant
HashPatternNode#constant.
struct pm_node * predicate
IfNode#predicate.
pm_location_t end_keyword_loc
IfNode#end_keyword_loc.
pm_location_t if_keyword_loc
IfNode#if_keyword_loc.
struct pm_statements_node * statements
IfNode#statements.
pm_node_t base
The embedded base node.
struct pm_node * subsequent
IfNode#subsequent.
pm_location_t then_keyword_loc
IfNode#then_keyword_loc.
struct pm_node * numeric
ImaginaryNode#numeric.
pm_node_t base
The embedded base node.
struct pm_node * value
ImplicitNode#value.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_statements_node * statements
InNode#statements.
struct pm_node * pattern
InNode#pattern.
pm_node_t base
The embedded base node.
pm_location_t then_loc
InNode#then_loc.
pm_location_t in_loc
InNode#in_loc.
struct pm_arguments_node * arguments
IndexAndWriteNode#arguments.
struct pm_node * receiver
IndexAndWriteNode#receiver.
pm_node_t base
The embedded base node.
struct pm_block_argument_node * block
IndexAndWriteNode#block.
struct pm_node * value
IndexAndWriteNode#value.
pm_location_t operator_loc
IndexAndWriteNode#operator_loc.
pm_location_t closing_loc
IndexAndWriteNode#closing_loc.
pm_location_t opening_loc
IndexAndWriteNode#opening_loc.
pm_location_t call_operator_loc
IndexAndWriteNode#call_operator_loc.
pm_node_t base
The embedded base node.
struct pm_block_argument_node * block
IndexOperatorWriteNode#block.
pm_location_t binary_operator_loc
IndexOperatorWriteNode#binary_operator_loc.
struct pm_node * value
IndexOperatorWriteNode#value.
pm_location_t opening_loc
IndexOperatorWriteNode#opening_loc.
pm_location_t call_operator_loc
IndexOperatorWriteNode#call_operator_loc.
pm_location_t closing_loc
IndexOperatorWriteNode#closing_loc.
struct pm_arguments_node * arguments
IndexOperatorWriteNode#arguments.
pm_constant_id_t binary_operator
IndexOperatorWriteNode#binary_operator.
struct pm_node * receiver
IndexOperatorWriteNode#receiver.
pm_location_t closing_loc
IndexOrWriteNode#closing_loc.
pm_location_t call_operator_loc
IndexOrWriteNode#call_operator_loc.
pm_node_t base
The embedded base node.
struct pm_block_argument_node * block
IndexOrWriteNode#block.
pm_location_t operator_loc
IndexOrWriteNode#operator_loc.
struct pm_node * receiver
IndexOrWriteNode#receiver.
pm_location_t opening_loc
IndexOrWriteNode#opening_loc.
struct pm_node * value
IndexOrWriteNode#value.
struct pm_arguments_node * arguments
IndexOrWriteNode#arguments.
pm_node_t base
The embedded base node.
struct pm_node * receiver
IndexTargetNode#receiver.
pm_location_t closing_loc
IndexTargetNode#closing_loc.
struct pm_arguments_node * arguments
IndexTargetNode#arguments.
pm_location_t opening_loc
IndexTargetNode#opening_loc.
struct pm_block_argument_node * block
IndexTargetNode#block.
InstanceVariableAndWriteNode.
pm_location_t operator_loc
InstanceVariableAndWriteNode#operator_loc.
pm_location_t name_loc
InstanceVariableAndWriteNode#name_loc.
struct pm_node * value
InstanceVariableAndWriteNode#value.
pm_node_t base
The embedded base node.
pm_constant_id_t name
InstanceVariableAndWriteNode#name.
InstanceVariableOperatorWriteNode.
struct pm_node * value
InstanceVariableOperatorWriteNode#value.
pm_constant_id_t binary_operator
InstanceVariableOperatorWriteNode#binary_operator.
pm_location_t binary_operator_loc
InstanceVariableOperatorWriteNode#binary_operator_loc.
pm_constant_id_t name
InstanceVariableOperatorWriteNode#name.
pm_node_t base
The embedded base node.
pm_location_t name_loc
InstanceVariableOperatorWriteNode#name_loc.
InstanceVariableOrWriteNode.
pm_location_t operator_loc
InstanceVariableOrWriteNode#operator_loc.
struct pm_node * value
InstanceVariableOrWriteNode#value.
pm_node_t base
The embedded base node.
pm_location_t name_loc
InstanceVariableOrWriteNode#name_loc.
pm_constant_id_t name
InstanceVariableOrWriteNode#name.
InstanceVariableReadNode.
pm_constant_id_t name
InstanceVariableReadNode#name.
pm_node_t base
The embedded base node.
InstanceVariableTargetNode.
pm_constant_id_t name
InstanceVariableTargetNode#name.
pm_node_t base
The embedded base node.
InstanceVariableWriteNode.
pm_location_t operator_loc
InstanceVariableWriteNode#operator_loc.
pm_constant_id_t name
InstanceVariableWriteNode#name.
pm_node_t base
The embedded base node.
struct pm_node * value
InstanceVariableWriteNode#value.
pm_location_t name_loc
InstanceVariableWriteNode#name_loc.
pm_integer_t value
IntegerNode#value.
pm_node_t base
The embedded base node.
A structure represents an arbitrary-sized integer.
InterpolatedMatchLastLineNode.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
InterpolatedMatchLastLineNode#closing_loc.
struct pm_node_list parts
InterpolatedMatchLastLineNode#parts.
pm_location_t opening_loc
InterpolatedMatchLastLineNode#opening_loc.
InterpolatedRegularExpressionNode.
pm_location_t opening_loc
InterpolatedRegularExpressionNode#opening_loc.
struct pm_node_list parts
InterpolatedRegularExpressionNode#parts.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
InterpolatedRegularExpressionNode#closing_loc.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
InterpolatedStringNode#closing_loc.
pm_location_t opening_loc
InterpolatedStringNode#opening_loc.
struct pm_node_list parts
InterpolatedStringNode#parts.
struct pm_node_list parts
InterpolatedSymbolNode#parts.
pm_location_t closing_loc
InterpolatedSymbolNode#closing_loc.
pm_location_t opening_loc
InterpolatedSymbolNode#opening_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
InterpolatedXStringNode#opening_loc.
pm_location_t closing_loc
InterpolatedXStringNode#closing_loc.
pm_node_t base
The embedded base node.
struct pm_node_list parts
InterpolatedXStringNode#parts.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node_list elements
KeywordHashNode#elements.
KeywordRestParameterNode.
pm_node_t base
The embedded base node.
pm_constant_id_t name
KeywordRestParameterNode#name.
pm_location_t operator_loc
KeywordRestParameterNode#operator_loc.
pm_location_t name_loc
KeywordRestParameterNode#name_loc.
pm_location_t closing_loc
LambdaNode#closing_loc.
pm_node_t base
The embedded base node.
struct pm_node * body
LambdaNode#body.
pm_location_t opening_loc
LambdaNode#opening_loc.
struct pm_node * parameters
LambdaNode#parameters.
pm_location_t operator_loc
LambdaNode#operator_loc.
pm_constant_id_list_t locals
LambdaNode#locals.
LocalVariableAndWriteNode.
pm_constant_id_t name
LocalVariableAndWriteNode#name.
pm_node_t base
The embedded base node.
uint32_t depth
LocalVariableAndWriteNode#depth.
pm_location_t operator_loc
LocalVariableAndWriteNode#operator_loc.
struct pm_node * value
LocalVariableAndWriteNode#value.
pm_location_t name_loc
LocalVariableAndWriteNode#name_loc.
LocalVariableOperatorWriteNode.
uint32_t depth
LocalVariableOperatorWriteNode#depth.
pm_constant_id_t binary_operator
LocalVariableOperatorWriteNode#binary_operator.
pm_node_t base
The embedded base node.
struct pm_node * value
LocalVariableOperatorWriteNode#value.
pm_location_t name_loc
LocalVariableOperatorWriteNode#name_loc.
pm_location_t binary_operator_loc
LocalVariableOperatorWriteNode#binary_operator_loc.
pm_constant_id_t name
LocalVariableOperatorWriteNode#name.
LocalVariableOrWriteNode.
uint32_t depth
LocalVariableOrWriteNode#depth.
pm_location_t operator_loc
LocalVariableOrWriteNode#operator_loc.
struct pm_node * value
LocalVariableOrWriteNode#value.
pm_node_t base
The embedded base node.
pm_constant_id_t name
LocalVariableOrWriteNode#name.
pm_location_t name_loc
LocalVariableOrWriteNode#name_loc.
uint32_t depth
LocalVariableReadNode#depth.
pm_constant_id_t name
LocalVariableReadNode#name.
pm_node_t base
The embedded base node.
uint32_t depth
LocalVariableTargetNode#depth.
pm_constant_id_t name
LocalVariableTargetNode#name.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
LocalVariableWriteNode#operator_loc.
pm_location_t name_loc
LocalVariableWriteNode#name_loc.
pm_node_t base
The embedded base node.
struct pm_node * value
LocalVariableWriteNode#value.
uint32_t depth
LocalVariableWriteNode#depth.
pm_constant_id_t name
LocalVariableWriteNode#name.
This represents a range of bytes in the source string to which a node or token corresponds.
const uint8_t * start
A pointer to the start location of the range in the source.
const uint8_t * end
A pointer to the end location of the range in the source.
pm_location_t content_loc
MatchLastLineNode#content_loc.
pm_location_t opening_loc
MatchLastLineNode#opening_loc.
pm_location_t closing_loc
MatchLastLineNode#closing_loc.
pm_string_t unescaped
MatchLastLineNode#unescaped.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
MatchPredicateNode#operator_loc.
struct pm_node * pattern
MatchPredicateNode#pattern.
struct pm_node * value
MatchPredicateNode#value.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
MatchRequiredNode#operator_loc.
struct pm_node * value
MatchRequiredNode#value.
struct pm_node * pattern
MatchRequiredNode#pattern.
pm_node_t base
The embedded base node.
struct pm_node_list targets
MatchWriteNode#targets.
struct pm_call_node * call
MatchWriteNode#call.
pm_node_t base
The embedded base node.
pm_location_t end_keyword_loc
ModuleNode#end_keyword_loc.
struct pm_node * constant_path
ModuleNode#constant_path.
struct pm_node * body
ModuleNode#body.
pm_constant_id_list_t locals
ModuleNode#locals.
pm_node_t base
The embedded base node.
pm_location_t module_keyword_loc
ModuleNode#module_keyword_loc.
pm_constant_id_t name
ModuleNode#name.
pm_node_t base
The embedded base node.
pm_location_t lparen_loc
MultiTargetNode#lparen_loc.
struct pm_node_list lefts
MultiTargetNode#lefts.
struct pm_node * rest
MultiTargetNode#rest.
pm_location_t rparen_loc
MultiTargetNode#rparen_loc.
struct pm_node_list rights
MultiTargetNode#rights.
pm_location_t rparen_loc
MultiWriteNode#rparen_loc.
struct pm_node * value
MultiWriteNode#value.
struct pm_node * rest
MultiWriteNode#rest.
struct pm_node_list rights
MultiWriteNode#rights.
pm_location_t operator_loc
MultiWriteNode#operator_loc.
pm_location_t lparen_loc
MultiWriteNode#lparen_loc.
struct pm_node_list lefts
MultiWriteNode#lefts.
pm_node_t base
The embedded base node.
struct pm_arguments_node * arguments
NextNode#arguments.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
NextNode#keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
NoKeywordsParameterNode#keyword_loc.
pm_location_t operator_loc
NoKeywordsParameterNode#operator_loc.
pm_node_t base
The embedded base node.
A list of nodes in the source, most often used for lists of children.
size_t size
The number of nodes in the list.
struct pm_node ** nodes
The nodes in the list.
size_t capacity
The capacity of the list that has been allocated.
This is the base structure that represents a node in the syntax tree.
pm_node_type_t type
This represents the type of the node.
uint32_t node_id
The unique identifier for this node, which is deterministic based on the source.
pm_node_flags_t flags
This represents any flags on the node.
pm_location_t location
This is the location of the node in the source.
pm_node_t base
The embedded base node.
uint8_t maximum
NumberedParametersNode#maximum.
NumberedReferenceReadNode.
pm_node_t base
The embedded base node.
uint32_t number
NumberedReferenceReadNode#number.
OptionalKeywordParameterNode.
pm_node_t base
The embedded base node.
pm_constant_id_t name
OptionalKeywordParameterNode#name.
struct pm_node * value
OptionalKeywordParameterNode#value.
pm_location_t name_loc
OptionalKeywordParameterNode#name_loc.
pm_location_t name_loc
OptionalParameterNode#name_loc.
struct pm_node * value
OptionalParameterNode#value.
pm_constant_id_t name
OptionalParameterNode#name.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
OptionalParameterNode#operator_loc.
struct pm_node * left
OrNode#left.
struct pm_node * right
OrNode#right.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
OrNode#operator_loc.
struct pm_node * rest
ParametersNode#rest.
struct pm_node_list requireds
ParametersNode#requireds.
struct pm_block_parameter_node * block
ParametersNode#block.
struct pm_node_list optionals
ParametersNode#optionals.
struct pm_node_list posts
ParametersNode#posts.
pm_node_t base
The embedded base node.
struct pm_node * keyword_rest
ParametersNode#keyword_rest.
struct pm_node_list keywords
ParametersNode#keywords.
struct pm_node * body
ParenthesesNode#body.
pm_location_t closing_loc
ParenthesesNode#closing_loc.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
ParenthesesNode#opening_loc.
pm_node_t base
The embedded base node.
pm_location_t rparen_loc
PinnedExpressionNode#rparen_loc.
struct pm_node * expression
PinnedExpressionNode#expression.
pm_location_t lparen_loc
PinnedExpressionNode#lparen_loc.
pm_location_t operator_loc
PinnedExpressionNode#operator_loc.
struct pm_node * variable
PinnedVariableNode#variable.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
PinnedVariableNode#operator_loc.
pm_location_t closing_loc
PostExecutionNode#closing_loc.
struct pm_statements_node * statements
PostExecutionNode#statements.
pm_node_t base
The embedded base node.
pm_location_t opening_loc
PostExecutionNode#opening_loc.
pm_location_t keyword_loc
PostExecutionNode#keyword_loc.
struct pm_statements_node * statements
PreExecutionNode#statements.
pm_location_t closing_loc
PreExecutionNode#closing_loc.
pm_location_t opening_loc
PreExecutionNode#opening_loc.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
PreExecutionNode#keyword_loc.
struct pm_statements_node * statements
ProgramNode#statements.
pm_node_t base
The embedded base node.
pm_constant_id_list_t locals
ProgramNode#locals.
struct pm_node * right
RangeNode#right.
pm_location_t operator_loc
RangeNode#operator_loc.
pm_node_t base
The embedded base node.
struct pm_node * left
RangeNode#left.
pm_node_t base
The embedded base node.
pm_integer_t denominator
RationalNode#denominator.
pm_integer_t numerator
RationalNode#numerator.
pm_node_t base
The embedded base node.
pm_location_t closing_loc
RegularExpressionNode#closing_loc.
pm_node_t base
The embedded base node.
pm_string_t unescaped
RegularExpressionNode#unescaped.
pm_location_t opening_loc
RegularExpressionNode#opening_loc.
pm_location_t content_loc
RegularExpressionNode#content_loc.
RequiredKeywordParameterNode.
pm_location_t name_loc
RequiredKeywordParameterNode#name_loc.
pm_node_t base
The embedded base node.
pm_constant_id_t name
RequiredKeywordParameterNode#name.
pm_constant_id_t name
RequiredParameterNode#name.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node * rescue_expression
RescueModifierNode#rescue_expression.
pm_location_t keyword_loc
RescueModifierNode#keyword_loc.
struct pm_node * expression
RescueModifierNode#expression.
pm_location_t keyword_loc
RescueNode#keyword_loc.
struct pm_rescue_node * subsequent
RescueNode#subsequent.
pm_location_t operator_loc
RescueNode#operator_loc.
struct pm_node * reference
RescueNode#reference.
struct pm_node_list exceptions
RescueNode#exceptions.
struct pm_statements_node * statements
RescueNode#statements.
pm_node_t base
The embedded base node.
pm_constant_id_t name
RestParameterNode#name.
pm_location_t name_loc
RestParameterNode#name_loc.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
RestParameterNode#operator_loc.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
ReturnNode#keyword_loc.
pm_node_t base
The embedded base node.
struct pm_arguments_node * arguments
ReturnNode#arguments.
pm_node_t base
The embedded base node.
struct pm_node * write
ShareableConstantNode#write.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_constant_id_list_t locals
SingletonClassNode#locals.
pm_location_t operator_loc
SingletonClassNode#operator_loc.
struct pm_node * expression
SingletonClassNode#expression.
pm_location_t end_keyword_loc
SingletonClassNode#end_keyword_loc.
pm_location_t class_keyword_loc
SingletonClassNode#class_keyword_loc.
struct pm_node * body
SingletonClassNode#body.
pm_node_t base
The embedded base node.
pm_string_t filepath
SourceFileNode#filepath.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
struct pm_node * expression
SplatNode#expression.
pm_node_t base
The embedded base node.
pm_location_t operator_loc
SplatNode#operator_loc.
struct pm_node_list body
StatementsNode#body.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_string_t unescaped
StringNode#unescaped.
pm_location_t content_loc
StringNode#content_loc.
pm_location_t closing_loc
StringNode#closing_loc.
pm_location_t opening_loc
StringNode#opening_loc.
A generic string type that can have various ownership semantics.
struct pm_arguments_node * arguments
SuperNode#arguments.
pm_location_t lparen_loc
SuperNode#lparen_loc.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
SuperNode#keyword_loc.
pm_location_t rparen_loc
SuperNode#rparen_loc.
struct pm_node * block
SuperNode#block.
pm_location_t opening_loc
SymbolNode#opening_loc.
pm_location_t value_loc
SymbolNode#value_loc.
pm_location_t closing_loc
SymbolNode#closing_loc.
pm_string_t unescaped
SymbolNode#unescaped.
pm_node_t base
The embedded base node.
This struct represents a token in the Ruby source.
const uint8_t * end
A pointer to the end location of the token in the source.
const uint8_t * start
A pointer to the start location of the token in the source.
pm_token_type_t type
The type of the token.
pm_node_t base
The embedded base node.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
UndefNode#keyword_loc.
struct pm_node_list names
UndefNode#names.
pm_location_t keyword_loc
UnlessNode#keyword_loc.
pm_location_t then_keyword_loc
UnlessNode#then_keyword_loc.
pm_location_t end_keyword_loc
UnlessNode#end_keyword_loc.
pm_node_t base
The embedded base node.
struct pm_statements_node * statements
UnlessNode#statements.
struct pm_node * predicate
UnlessNode#predicate.
struct pm_else_node * else_clause
UnlessNode#else_clause.
struct pm_statements_node * statements
UntilNode#statements.
pm_location_t closing_loc
UntilNode#closing_loc.
struct pm_node * predicate
UntilNode#predicate.
pm_location_t keyword_loc
UntilNode#keyword_loc.
pm_node_t base
The embedded base node.
pm_location_t do_keyword_loc
UntilNode#do_keyword_loc.
struct pm_statements_node * statements
WhenNode#statements.
pm_node_t base
The embedded base node.
pm_location_t then_keyword_loc
WhenNode#then_keyword_loc.
pm_location_t keyword_loc
WhenNode#keyword_loc.
struct pm_node_list conditions
WhenNode#conditions.
pm_location_t closing_loc
WhileNode#closing_loc.
pm_location_t keyword_loc
WhileNode#keyword_loc.
struct pm_statements_node * statements
WhileNode#statements.
pm_node_t base
The embedded base node.
pm_location_t do_keyword_loc
WhileNode#do_keyword_loc.
struct pm_node * predicate
WhileNode#predicate.
pm_location_t closing_loc
XStringNode#closing_loc.
pm_location_t opening_loc
XStringNode#opening_loc.
pm_location_t content_loc
XStringNode#content_loc.
pm_string_t unescaped
XStringNode#unescaped.
pm_node_t base
The embedded base node.
pm_location_t keyword_loc
YieldNode#keyword_loc.
pm_location_t lparen_loc
YieldNode#lparen_loc.
pm_node_t base
The embedded base node.
pm_location_t rparen_loc
YieldNode#rparen_loc.
struct pm_arguments_node * arguments
YieldNode#arguments.