lib_ruby_parser_ast/nodes/
node_enum.rs

1// This file is autogenerated by codegen/node_enum.liquid
2
3use crate::nodes::InnerNode;
4use crate::nodes::*;
5
6/// Generic combination of all known nodes.
7#[allow(missing_docs)]
8#[derive(Debug, Clone, PartialEq)]
9#[repr(C)]
10pub enum Node {
11    Alias(Alias),
12    And(And),
13    AndAsgn(AndAsgn),
14    Arg(Arg),
15    Args(Args),
16    Array(Array),
17    ArrayPattern(ArrayPattern),
18    ArrayPatternWithTail(ArrayPatternWithTail),
19    BackRef(BackRef),
20    Begin(Begin),
21    Block(Block),
22    Blockarg(Blockarg),
23    BlockPass(BlockPass),
24    Break(Break),
25    Case(Case),
26    CaseMatch(CaseMatch),
27    Casgn(Casgn),
28    Cbase(Cbase),
29    Class(Class),
30    Complex(Complex),
31    Const(Const),
32    ConstPattern(ConstPattern),
33    CSend(CSend),
34    Cvar(Cvar),
35    Cvasgn(Cvasgn),
36    Def(Def),
37    Defined(Defined),
38    Defs(Defs),
39    Dstr(Dstr),
40    Dsym(Dsym),
41    EFlipFlop(EFlipFlop),
42    EmptyElse(EmptyElse),
43    Encoding(Encoding),
44    Ensure(Ensure),
45    Erange(Erange),
46    False(False),
47    File(File),
48    FindPattern(FindPattern),
49    Float(Float),
50    For(For),
51    ForwardArg(ForwardArg),
52    ForwardedArgs(ForwardedArgs),
53    Gvar(Gvar),
54    Gvasgn(Gvasgn),
55    Hash(Hash),
56    HashPattern(HashPattern),
57    Heredoc(Heredoc),
58    If(If),
59    IfGuard(IfGuard),
60    IFlipFlop(IFlipFlop),
61    IfMod(IfMod),
62    IfTernary(IfTernary),
63    Index(Index),
64    IndexAsgn(IndexAsgn),
65    InPattern(InPattern),
66    Int(Int),
67    Irange(Irange),
68    Ivar(Ivar),
69    Ivasgn(Ivasgn),
70    Kwarg(Kwarg),
71    Kwargs(Kwargs),
72    KwBegin(KwBegin),
73    Kwnilarg(Kwnilarg),
74    Kwoptarg(Kwoptarg),
75    Kwrestarg(Kwrestarg),
76    Kwsplat(Kwsplat),
77    Lambda(Lambda),
78    Line(Line),
79    Lvar(Lvar),
80    Lvasgn(Lvasgn),
81    Masgn(Masgn),
82    MatchAlt(MatchAlt),
83    MatchAs(MatchAs),
84    MatchCurrentLine(MatchCurrentLine),
85    MatchNilPattern(MatchNilPattern),
86    MatchPattern(MatchPattern),
87    MatchPatternP(MatchPatternP),
88    MatchRest(MatchRest),
89    MatchVar(MatchVar),
90    MatchWithLvasgn(MatchWithLvasgn),
91    Mlhs(Mlhs),
92    Module(Module),
93    Next(Next),
94    Nil(Nil),
95    NthRef(NthRef),
96    Numblock(Numblock),
97    OpAsgn(OpAsgn),
98    Optarg(Optarg),
99    Or(Or),
100    OrAsgn(OrAsgn),
101    Pair(Pair),
102    Pin(Pin),
103    Postexe(Postexe),
104    Preexe(Preexe),
105    Procarg0(Procarg0),
106    Rational(Rational),
107    Redo(Redo),
108    Regexp(Regexp),
109    RegOpt(RegOpt),
110    Rescue(Rescue),
111    RescueBody(RescueBody),
112    Restarg(Restarg),
113    Retry(Retry),
114    Return(Return),
115    SClass(SClass),
116    Self_(Self_),
117    Send(Send),
118    Shadowarg(Shadowarg),
119    Splat(Splat),
120    Str(Str),
121    Super(Super),
122    Sym(Sym),
123    True(True),
124    Undef(Undef),
125    UnlessGuard(UnlessGuard),
126    Until(Until),
127    UntilPost(UntilPost),
128    When(When),
129    While(While),
130    WhilePost(WhilePost),
131    XHeredoc(XHeredoc),
132    Xstr(Xstr),
133    Yield(Yield),
134    ZSuper(ZSuper),
135}
136
137impl Node {
138    pub(crate) fn inner_ref(&self) -> &dyn InnerNode {
139        match &self {
140            Node::Alias(inner) => inner,
141            Node::And(inner) => inner,
142            Node::AndAsgn(inner) => inner,
143            Node::Arg(inner) => inner,
144            Node::Args(inner) => inner,
145            Node::Array(inner) => inner,
146            Node::ArrayPattern(inner) => inner,
147            Node::ArrayPatternWithTail(inner) => inner,
148            Node::BackRef(inner) => inner,
149            Node::Begin(inner) => inner,
150            Node::Block(inner) => inner,
151            Node::Blockarg(inner) => inner,
152            Node::BlockPass(inner) => inner,
153            Node::Break(inner) => inner,
154            Node::Case(inner) => inner,
155            Node::CaseMatch(inner) => inner,
156            Node::Casgn(inner) => inner,
157            Node::Cbase(inner) => inner,
158            Node::Class(inner) => inner,
159            Node::Complex(inner) => inner,
160            Node::Const(inner) => inner,
161            Node::ConstPattern(inner) => inner,
162            Node::CSend(inner) => inner,
163            Node::Cvar(inner) => inner,
164            Node::Cvasgn(inner) => inner,
165            Node::Def(inner) => inner,
166            Node::Defined(inner) => inner,
167            Node::Defs(inner) => inner,
168            Node::Dstr(inner) => inner,
169            Node::Dsym(inner) => inner,
170            Node::EFlipFlop(inner) => inner,
171            Node::EmptyElse(inner) => inner,
172            Node::Encoding(inner) => inner,
173            Node::Ensure(inner) => inner,
174            Node::Erange(inner) => inner,
175            Node::False(inner) => inner,
176            Node::File(inner) => inner,
177            Node::FindPattern(inner) => inner,
178            Node::Float(inner) => inner,
179            Node::For(inner) => inner,
180            Node::ForwardArg(inner) => inner,
181            Node::ForwardedArgs(inner) => inner,
182            Node::Gvar(inner) => inner,
183            Node::Gvasgn(inner) => inner,
184            Node::Hash(inner) => inner,
185            Node::HashPattern(inner) => inner,
186            Node::Heredoc(inner) => inner,
187            Node::If(inner) => inner,
188            Node::IfGuard(inner) => inner,
189            Node::IFlipFlop(inner) => inner,
190            Node::IfMod(inner) => inner,
191            Node::IfTernary(inner) => inner,
192            Node::Index(inner) => inner,
193            Node::IndexAsgn(inner) => inner,
194            Node::InPattern(inner) => inner,
195            Node::Int(inner) => inner,
196            Node::Irange(inner) => inner,
197            Node::Ivar(inner) => inner,
198            Node::Ivasgn(inner) => inner,
199            Node::Kwarg(inner) => inner,
200            Node::Kwargs(inner) => inner,
201            Node::KwBegin(inner) => inner,
202            Node::Kwnilarg(inner) => inner,
203            Node::Kwoptarg(inner) => inner,
204            Node::Kwrestarg(inner) => inner,
205            Node::Kwsplat(inner) => inner,
206            Node::Lambda(inner) => inner,
207            Node::Line(inner) => inner,
208            Node::Lvar(inner) => inner,
209            Node::Lvasgn(inner) => inner,
210            Node::Masgn(inner) => inner,
211            Node::MatchAlt(inner) => inner,
212            Node::MatchAs(inner) => inner,
213            Node::MatchCurrentLine(inner) => inner,
214            Node::MatchNilPattern(inner) => inner,
215            Node::MatchPattern(inner) => inner,
216            Node::MatchPatternP(inner) => inner,
217            Node::MatchRest(inner) => inner,
218            Node::MatchVar(inner) => inner,
219            Node::MatchWithLvasgn(inner) => inner,
220            Node::Mlhs(inner) => inner,
221            Node::Module(inner) => inner,
222            Node::Next(inner) => inner,
223            Node::Nil(inner) => inner,
224            Node::NthRef(inner) => inner,
225            Node::Numblock(inner) => inner,
226            Node::OpAsgn(inner) => inner,
227            Node::Optarg(inner) => inner,
228            Node::Or(inner) => inner,
229            Node::OrAsgn(inner) => inner,
230            Node::Pair(inner) => inner,
231            Node::Pin(inner) => inner,
232            Node::Postexe(inner) => inner,
233            Node::Preexe(inner) => inner,
234            Node::Procarg0(inner) => inner,
235            Node::Rational(inner) => inner,
236            Node::Redo(inner) => inner,
237            Node::Regexp(inner) => inner,
238            Node::RegOpt(inner) => inner,
239            Node::Rescue(inner) => inner,
240            Node::RescueBody(inner) => inner,
241            Node::Restarg(inner) => inner,
242            Node::Retry(inner) => inner,
243            Node::Return(inner) => inner,
244            Node::SClass(inner) => inner,
245            Node::Self_(inner) => inner,
246            Node::Send(inner) => inner,
247            Node::Shadowarg(inner) => inner,
248            Node::Splat(inner) => inner,
249            Node::Str(inner) => inner,
250            Node::Super(inner) => inner,
251            Node::Sym(inner) => inner,
252            Node::True(inner) => inner,
253            Node::Undef(inner) => inner,
254            Node::UnlessGuard(inner) => inner,
255            Node::Until(inner) => inner,
256            Node::UntilPost(inner) => inner,
257            Node::When(inner) => inner,
258            Node::While(inner) => inner,
259            Node::WhilePost(inner) => inner,
260            Node::XHeredoc(inner) => inner,
261            Node::Xstr(inner) => inner,
262            Node::Yield(inner) => inner,
263            Node::ZSuper(inner) => inner,
264        }
265    }
266}