Enum pm_node_type

Source
#[non_exhaustive]
#[repr(u32)]
pub enum pm_node_type {
Show 152 variants PM_ALIAS_GLOBAL_VARIABLE_NODE = 1, PM_ALIAS_METHOD_NODE = 2, PM_ALTERNATION_PATTERN_NODE = 3, PM_AND_NODE = 4, PM_ARGUMENTS_NODE = 5, PM_ARRAY_NODE = 6, PM_ARRAY_PATTERN_NODE = 7, PM_ASSOC_NODE = 8, PM_ASSOC_SPLAT_NODE = 9, PM_BACK_REFERENCE_READ_NODE = 10, PM_BEGIN_NODE = 11, PM_BLOCK_ARGUMENT_NODE = 12, PM_BLOCK_LOCAL_VARIABLE_NODE = 13, PM_BLOCK_NODE = 14, PM_BLOCK_PARAMETER_NODE = 15, PM_BLOCK_PARAMETERS_NODE = 16, PM_BREAK_NODE = 17, PM_CALL_AND_WRITE_NODE = 18, PM_CALL_NODE = 19, PM_CALL_OPERATOR_WRITE_NODE = 20, PM_CALL_OR_WRITE_NODE = 21, PM_CALL_TARGET_NODE = 22, PM_CAPTURE_PATTERN_NODE = 23, PM_CASE_MATCH_NODE = 24, PM_CASE_NODE = 25, PM_CLASS_NODE = 26, PM_CLASS_VARIABLE_AND_WRITE_NODE = 27, PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE = 28, PM_CLASS_VARIABLE_OR_WRITE_NODE = 29, PM_CLASS_VARIABLE_READ_NODE = 30, PM_CLASS_VARIABLE_TARGET_NODE = 31, PM_CLASS_VARIABLE_WRITE_NODE = 32, PM_CONSTANT_AND_WRITE_NODE = 33, PM_CONSTANT_OPERATOR_WRITE_NODE = 34, PM_CONSTANT_OR_WRITE_NODE = 35, PM_CONSTANT_PATH_AND_WRITE_NODE = 36, PM_CONSTANT_PATH_NODE = 37, PM_CONSTANT_PATH_OPERATOR_WRITE_NODE = 38, PM_CONSTANT_PATH_OR_WRITE_NODE = 39, PM_CONSTANT_PATH_TARGET_NODE = 40, PM_CONSTANT_PATH_WRITE_NODE = 41, PM_CONSTANT_READ_NODE = 42, PM_CONSTANT_TARGET_NODE = 43, PM_CONSTANT_WRITE_NODE = 44, PM_DEF_NODE = 45, PM_DEFINED_NODE = 46, PM_ELSE_NODE = 47, PM_EMBEDDED_STATEMENTS_NODE = 48, PM_EMBEDDED_VARIABLE_NODE = 49, PM_ENSURE_NODE = 50, PM_FALSE_NODE = 51, PM_FIND_PATTERN_NODE = 52, PM_FLIP_FLOP_NODE = 53, PM_FLOAT_NODE = 54, PM_FOR_NODE = 55, PM_FORWARDING_ARGUMENTS_NODE = 56, PM_FORWARDING_PARAMETER_NODE = 57, PM_FORWARDING_SUPER_NODE = 58, PM_GLOBAL_VARIABLE_AND_WRITE_NODE = 59, PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE = 60, PM_GLOBAL_VARIABLE_OR_WRITE_NODE = 61, PM_GLOBAL_VARIABLE_READ_NODE = 62, PM_GLOBAL_VARIABLE_TARGET_NODE = 63, PM_GLOBAL_VARIABLE_WRITE_NODE = 64, PM_HASH_NODE = 65, PM_HASH_PATTERN_NODE = 66, PM_IF_NODE = 67, PM_IMAGINARY_NODE = 68, PM_IMPLICIT_NODE = 69, PM_IMPLICIT_REST_NODE = 70, PM_IN_NODE = 71, PM_INDEX_AND_WRITE_NODE = 72, PM_INDEX_OPERATOR_WRITE_NODE = 73, PM_INDEX_OR_WRITE_NODE = 74, PM_INDEX_TARGET_NODE = 75, PM_INSTANCE_VARIABLE_AND_WRITE_NODE = 76, PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE = 77, PM_INSTANCE_VARIABLE_OR_WRITE_NODE = 78, PM_INSTANCE_VARIABLE_READ_NODE = 79, PM_INSTANCE_VARIABLE_TARGET_NODE = 80, PM_INSTANCE_VARIABLE_WRITE_NODE = 81, PM_INTEGER_NODE = 82, PM_INTERPOLATED_MATCH_LAST_LINE_NODE = 83, PM_INTERPOLATED_REGULAR_EXPRESSION_NODE = 84, PM_INTERPOLATED_STRING_NODE = 85, PM_INTERPOLATED_SYMBOL_NODE = 86, PM_INTERPOLATED_X_STRING_NODE = 87, PM_IT_LOCAL_VARIABLE_READ_NODE = 88, PM_IT_PARAMETERS_NODE = 89, PM_KEYWORD_HASH_NODE = 90, PM_KEYWORD_REST_PARAMETER_NODE = 91, PM_LAMBDA_NODE = 92, PM_LOCAL_VARIABLE_AND_WRITE_NODE = 93, PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE = 94, PM_LOCAL_VARIABLE_OR_WRITE_NODE = 95, PM_LOCAL_VARIABLE_READ_NODE = 96, PM_LOCAL_VARIABLE_TARGET_NODE = 97, PM_LOCAL_VARIABLE_WRITE_NODE = 98, PM_MATCH_LAST_LINE_NODE = 99, PM_MATCH_PREDICATE_NODE = 100, PM_MATCH_REQUIRED_NODE = 101, PM_MATCH_WRITE_NODE = 102, PM_MISSING_NODE = 103, PM_MODULE_NODE = 104, PM_MULTI_TARGET_NODE = 105, PM_MULTI_WRITE_NODE = 106, PM_NEXT_NODE = 107, PM_NIL_NODE = 108, PM_NO_KEYWORDS_PARAMETER_NODE = 109, PM_NUMBERED_PARAMETERS_NODE = 110, PM_NUMBERED_REFERENCE_READ_NODE = 111, PM_OPTIONAL_KEYWORD_PARAMETER_NODE = 112, PM_OPTIONAL_PARAMETER_NODE = 113, PM_OR_NODE = 114, PM_PARAMETERS_NODE = 115, PM_PARENTHESES_NODE = 116, PM_PINNED_EXPRESSION_NODE = 117, PM_PINNED_VARIABLE_NODE = 118, PM_POST_EXECUTION_NODE = 119, PM_PRE_EXECUTION_NODE = 120, PM_PROGRAM_NODE = 121, PM_RANGE_NODE = 122, PM_RATIONAL_NODE = 123, PM_REDO_NODE = 124, PM_REGULAR_EXPRESSION_NODE = 125, PM_REQUIRED_KEYWORD_PARAMETER_NODE = 126, PM_REQUIRED_PARAMETER_NODE = 127, PM_RESCUE_MODIFIER_NODE = 128, PM_RESCUE_NODE = 129, PM_REST_PARAMETER_NODE = 130, PM_RETRY_NODE = 131, PM_RETURN_NODE = 132, PM_SELF_NODE = 133, PM_SHAREABLE_CONSTANT_NODE = 134, PM_SINGLETON_CLASS_NODE = 135, PM_SOURCE_ENCODING_NODE = 136, PM_SOURCE_FILE_NODE = 137, PM_SOURCE_LINE_NODE = 138, PM_SPLAT_NODE = 139, PM_STATEMENTS_NODE = 140, PM_STRING_NODE = 141, PM_SUPER_NODE = 142, PM_SYMBOL_NODE = 143, PM_TRUE_NODE = 144, PM_UNDEF_NODE = 145, PM_UNLESS_NODE = 146, PM_UNTIL_NODE = 147, PM_WHEN_NODE = 148, PM_WHILE_NODE = 149, PM_X_STRING_NODE = 150, PM_YIELD_NODE = 151, PM_SCOPE_NODE = 152,
}
Expand description

This enum represents every type of node in the Ruby syntax tree.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

PM_ALIAS_GLOBAL_VARIABLE_NODE = 1

AliasGlobalVariableNode

§

PM_ALIAS_METHOD_NODE = 2

AliasMethodNode

§

PM_ALTERNATION_PATTERN_NODE = 3

AlternationPatternNode

§

PM_AND_NODE = 4

AndNode

§

PM_ARGUMENTS_NODE = 5

ArgumentsNode

§

PM_ARRAY_NODE = 6

ArrayNode

§

PM_ARRAY_PATTERN_NODE = 7

ArrayPatternNode

§

PM_ASSOC_NODE = 8

AssocNode

§

PM_ASSOC_SPLAT_NODE = 9

AssocSplatNode

§

PM_BACK_REFERENCE_READ_NODE = 10

BackReferenceReadNode

§

PM_BEGIN_NODE = 11

BeginNode

§

PM_BLOCK_ARGUMENT_NODE = 12

BlockArgumentNode

§

PM_BLOCK_LOCAL_VARIABLE_NODE = 13

BlockLocalVariableNode

§

PM_BLOCK_NODE = 14

BlockNode

§

PM_BLOCK_PARAMETER_NODE = 15

BlockParameterNode

§

PM_BLOCK_PARAMETERS_NODE = 16

BlockParametersNode

§

PM_BREAK_NODE = 17

BreakNode

§

PM_CALL_AND_WRITE_NODE = 18

CallAndWriteNode

§

PM_CALL_NODE = 19

CallNode

§

PM_CALL_OPERATOR_WRITE_NODE = 20

CallOperatorWriteNode

§

PM_CALL_OR_WRITE_NODE = 21

CallOrWriteNode

§

PM_CALL_TARGET_NODE = 22

CallTargetNode

§

PM_CAPTURE_PATTERN_NODE = 23

CapturePatternNode

§

PM_CASE_MATCH_NODE = 24

CaseMatchNode

§

PM_CASE_NODE = 25

CaseNode

§

PM_CLASS_NODE = 26

ClassNode

§

PM_CLASS_VARIABLE_AND_WRITE_NODE = 27

ClassVariableAndWriteNode

§

PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE = 28

ClassVariableOperatorWriteNode

§

PM_CLASS_VARIABLE_OR_WRITE_NODE = 29

ClassVariableOrWriteNode

§

PM_CLASS_VARIABLE_READ_NODE = 30

ClassVariableReadNode

§

PM_CLASS_VARIABLE_TARGET_NODE = 31

ClassVariableTargetNode

§

PM_CLASS_VARIABLE_WRITE_NODE = 32

ClassVariableWriteNode

§

PM_CONSTANT_AND_WRITE_NODE = 33

ConstantAndWriteNode

§

PM_CONSTANT_OPERATOR_WRITE_NODE = 34

ConstantOperatorWriteNode

§

PM_CONSTANT_OR_WRITE_NODE = 35

ConstantOrWriteNode

§

PM_CONSTANT_PATH_AND_WRITE_NODE = 36

ConstantPathAndWriteNode

§

PM_CONSTANT_PATH_NODE = 37

ConstantPathNode

§

PM_CONSTANT_PATH_OPERATOR_WRITE_NODE = 38

ConstantPathOperatorWriteNode

§

PM_CONSTANT_PATH_OR_WRITE_NODE = 39

ConstantPathOrWriteNode

§

PM_CONSTANT_PATH_TARGET_NODE = 40

ConstantPathTargetNode

§

PM_CONSTANT_PATH_WRITE_NODE = 41

ConstantPathWriteNode

§

PM_CONSTANT_READ_NODE = 42

ConstantReadNode

§

PM_CONSTANT_TARGET_NODE = 43

ConstantTargetNode

§

PM_CONSTANT_WRITE_NODE = 44

ConstantWriteNode

§

PM_DEF_NODE = 45

DefNode

§

PM_DEFINED_NODE = 46

DefinedNode

§

PM_ELSE_NODE = 47

ElseNode

§

PM_EMBEDDED_STATEMENTS_NODE = 48

EmbeddedStatementsNode

§

PM_EMBEDDED_VARIABLE_NODE = 49

EmbeddedVariableNode

§

PM_ENSURE_NODE = 50

EnsureNode

§

PM_FALSE_NODE = 51

FalseNode

§

PM_FIND_PATTERN_NODE = 52

FindPatternNode

§

PM_FLIP_FLOP_NODE = 53

FlipFlopNode

§

PM_FLOAT_NODE = 54

FloatNode

§

PM_FOR_NODE = 55

ForNode

§

PM_FORWARDING_ARGUMENTS_NODE = 56

ForwardingArgumentsNode

§

PM_FORWARDING_PARAMETER_NODE = 57

ForwardingParameterNode

§

PM_FORWARDING_SUPER_NODE = 58

ForwardingSuperNode

§

PM_GLOBAL_VARIABLE_AND_WRITE_NODE = 59

GlobalVariableAndWriteNode

§

PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE = 60

GlobalVariableOperatorWriteNode

§

PM_GLOBAL_VARIABLE_OR_WRITE_NODE = 61

GlobalVariableOrWriteNode

§

PM_GLOBAL_VARIABLE_READ_NODE = 62

GlobalVariableReadNode

§

PM_GLOBAL_VARIABLE_TARGET_NODE = 63

GlobalVariableTargetNode

§

PM_GLOBAL_VARIABLE_WRITE_NODE = 64

GlobalVariableWriteNode

§

PM_HASH_NODE = 65

HashNode

§

PM_HASH_PATTERN_NODE = 66

HashPatternNode

§

PM_IF_NODE = 67

IfNode

§

PM_IMAGINARY_NODE = 68

ImaginaryNode

§

PM_IMPLICIT_NODE = 69

ImplicitNode

§

PM_IMPLICIT_REST_NODE = 70

ImplicitRestNode

§

PM_IN_NODE = 71

InNode

§

PM_INDEX_AND_WRITE_NODE = 72

IndexAndWriteNode

§

PM_INDEX_OPERATOR_WRITE_NODE = 73

IndexOperatorWriteNode

§

PM_INDEX_OR_WRITE_NODE = 74

IndexOrWriteNode

§

PM_INDEX_TARGET_NODE = 75

IndexTargetNode

§

PM_INSTANCE_VARIABLE_AND_WRITE_NODE = 76

InstanceVariableAndWriteNode

§

PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE = 77

InstanceVariableOperatorWriteNode

§

PM_INSTANCE_VARIABLE_OR_WRITE_NODE = 78

InstanceVariableOrWriteNode

§

PM_INSTANCE_VARIABLE_READ_NODE = 79

InstanceVariableReadNode

§

PM_INSTANCE_VARIABLE_TARGET_NODE = 80

InstanceVariableTargetNode

§

PM_INSTANCE_VARIABLE_WRITE_NODE = 81

InstanceVariableWriteNode

§

PM_INTEGER_NODE = 82

IntegerNode

§

PM_INTERPOLATED_MATCH_LAST_LINE_NODE = 83

InterpolatedMatchLastLineNode

§

PM_INTERPOLATED_REGULAR_EXPRESSION_NODE = 84

InterpolatedRegularExpressionNode

§

PM_INTERPOLATED_STRING_NODE = 85

InterpolatedStringNode

§

PM_INTERPOLATED_SYMBOL_NODE = 86

InterpolatedSymbolNode

§

PM_INTERPOLATED_X_STRING_NODE = 87

InterpolatedXStringNode

§

PM_IT_LOCAL_VARIABLE_READ_NODE = 88

ItLocalVariableReadNode

§

PM_IT_PARAMETERS_NODE = 89

ItParametersNode

§

PM_KEYWORD_HASH_NODE = 90

KeywordHashNode

§

PM_KEYWORD_REST_PARAMETER_NODE = 91

KeywordRestParameterNode

§

PM_LAMBDA_NODE = 92

LambdaNode

§

PM_LOCAL_VARIABLE_AND_WRITE_NODE = 93

LocalVariableAndWriteNode

§

PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE = 94

LocalVariableOperatorWriteNode

§

PM_LOCAL_VARIABLE_OR_WRITE_NODE = 95

LocalVariableOrWriteNode

§

PM_LOCAL_VARIABLE_READ_NODE = 96

LocalVariableReadNode

§

PM_LOCAL_VARIABLE_TARGET_NODE = 97

LocalVariableTargetNode

§

PM_LOCAL_VARIABLE_WRITE_NODE = 98

LocalVariableWriteNode

§

PM_MATCH_LAST_LINE_NODE = 99

MatchLastLineNode

§

PM_MATCH_PREDICATE_NODE = 100

MatchPredicateNode

§

PM_MATCH_REQUIRED_NODE = 101

MatchRequiredNode

§

PM_MATCH_WRITE_NODE = 102

MatchWriteNode

§

PM_MISSING_NODE = 103

MissingNode

§

PM_MODULE_NODE = 104

ModuleNode

§

PM_MULTI_TARGET_NODE = 105

MultiTargetNode

§

PM_MULTI_WRITE_NODE = 106

MultiWriteNode

§

PM_NEXT_NODE = 107

NextNode

§

PM_NIL_NODE = 108

NilNode

§

PM_NO_KEYWORDS_PARAMETER_NODE = 109

NoKeywordsParameterNode

§

PM_NUMBERED_PARAMETERS_NODE = 110

NumberedParametersNode

§

PM_NUMBERED_REFERENCE_READ_NODE = 111

NumberedReferenceReadNode

§

PM_OPTIONAL_KEYWORD_PARAMETER_NODE = 112

OptionalKeywordParameterNode

§

PM_OPTIONAL_PARAMETER_NODE = 113

OptionalParameterNode

§

PM_OR_NODE = 114

OrNode

§

PM_PARAMETERS_NODE = 115

ParametersNode

§

PM_PARENTHESES_NODE = 116

ParenthesesNode

§

PM_PINNED_EXPRESSION_NODE = 117

PinnedExpressionNode

§

PM_PINNED_VARIABLE_NODE = 118

PinnedVariableNode

§

PM_POST_EXECUTION_NODE = 119

PostExecutionNode

§

PM_PRE_EXECUTION_NODE = 120

PreExecutionNode

§

PM_PROGRAM_NODE = 121

ProgramNode

§

PM_RANGE_NODE = 122

RangeNode

§

PM_RATIONAL_NODE = 123

RationalNode

§

PM_REDO_NODE = 124

RedoNode

§

PM_REGULAR_EXPRESSION_NODE = 125

RegularExpressionNode

§

PM_REQUIRED_KEYWORD_PARAMETER_NODE = 126

RequiredKeywordParameterNode

§

PM_REQUIRED_PARAMETER_NODE = 127

RequiredParameterNode

§

PM_RESCUE_MODIFIER_NODE = 128

RescueModifierNode

§

PM_RESCUE_NODE = 129

RescueNode

§

PM_REST_PARAMETER_NODE = 130

RestParameterNode

§

PM_RETRY_NODE = 131

RetryNode

§

PM_RETURN_NODE = 132

ReturnNode

§

PM_SELF_NODE = 133

SelfNode

§

PM_SHAREABLE_CONSTANT_NODE = 134

ShareableConstantNode

§

PM_SINGLETON_CLASS_NODE = 135

SingletonClassNode

§

PM_SOURCE_ENCODING_NODE = 136

SourceEncodingNode

§

PM_SOURCE_FILE_NODE = 137

SourceFileNode

§

PM_SOURCE_LINE_NODE = 138

SourceLineNode

§

PM_SPLAT_NODE = 139

SplatNode

§

PM_STATEMENTS_NODE = 140

StatementsNode

§

PM_STRING_NODE = 141

StringNode

§

PM_SUPER_NODE = 142

SuperNode

§

PM_SYMBOL_NODE = 143

SymbolNode

§

PM_TRUE_NODE = 144

TrueNode

§

PM_UNDEF_NODE = 145

UndefNode

§

PM_UNLESS_NODE = 146

UnlessNode

§

PM_UNTIL_NODE = 147

UntilNode

§

PM_WHEN_NODE = 148

WhenNode

§

PM_WHILE_NODE = 149

WhileNode

§

PM_X_STRING_NODE = 150

XStringNode

§

PM_YIELD_NODE = 151

YieldNode

§

PM_SCOPE_NODE = 152

A special kind of node used for compilation.

Trait Implementations§

Source§

impl Clone for pm_node_type

Source§

fn clone(&self) -> pm_node_type

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for pm_node_type

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for pm_node_type

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for pm_node_type

Source§

fn eq(&self, other: &pm_node_type) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for pm_node_type

Source§

impl Eq for pm_node_type

Source§

impl StructuralPartialEq for pm_node_type

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.