Enum doomdooz_lib::types::Node
source · pub enum Node {
Show 124 variants
Alias(Alias),
And(And),
AndAsgn(AndAsgn),
Arg(Arg),
Args(Args),
Array(Array),
ArrayPattern(ArrayPattern),
ArrayPatternWithTail(ArrayPatternWithTail),
BackRef(BackRef),
Begin(Begin),
Block(Block),
Blockarg(Blockarg),
BlockPass(BlockPass),
Break(Break),
Case(Case),
CaseMatch(CaseMatch),
Casgn(Casgn),
Cbase(Cbase),
Class(Class),
Complex(Complex),
Const(Const),
ConstPattern(ConstPattern),
CSend(CSend),
Cvar(Cvar),
Cvasgn(Cvasgn),
Def(Def),
Defined(Defined),
Defs(Defs),
Dstr(Dstr),
Dsym(Dsym),
EFlipFlop(EFlipFlop),
EmptyElse(EmptyElse),
Encoding(Encoding),
Ensure(Ensure),
Erange(Erange),
False(False),
File(File),
FindPattern(FindPattern),
Float(Float),
For(For),
ForwardArg(ForwardArg),
ForwardedArgs(ForwardedArgs),
Gvar(Gvar),
Gvasgn(Gvasgn),
Hash(Hash),
HashPattern(HashPattern),
Heredoc(Heredoc),
If(If),
IfGuard(IfGuard),
IFlipFlop(IFlipFlop),
IfMod(IfMod),
IfTernary(IfTernary),
Index(Index),
IndexAsgn(IndexAsgn),
InPattern(InPattern),
Int(Int),
Irange(Irange),
Ivar(Ivar),
Ivasgn(Ivasgn),
Kwarg(Kwarg),
Kwargs(Kwargs),
KwBegin(KwBegin),
Kwnilarg(Kwnilarg),
Kwoptarg(Kwoptarg),
Kwrestarg(Kwrestarg),
Kwsplat(Kwsplat),
Lambda(Lambda),
Line(Line),
Lvar(Lvar),
Lvasgn(Lvasgn),
Masgn(Masgn),
MatchAlt(MatchAlt),
MatchAs(MatchAs),
MatchCurrentLine(MatchCurrentLine),
MatchNilPattern(MatchNilPattern),
MatchPattern(MatchPattern),
MatchPatternP(MatchPatternP),
MatchRest(MatchRest),
MatchVar(MatchVar),
MatchWithLvasgn(MatchWithLvasgn),
Mlhs(Mlhs),
Module(Module),
Next(Next),
Nil(Nil),
NthRef(NthRef),
Numblock(Numblock),
OpAsgn(OpAsgn),
Optarg(Optarg),
Or(Or),
OrAsgn(OrAsgn),
Pair(Pair),
Pin(Pin),
Postexe(Postexe),
Preexe(Preexe),
Procarg0(Procarg0),
Rational(Rational),
Redo(Redo),
Regexp(Regexp),
RegOpt(RegOpt),
Rescue(Rescue),
RescueBody(RescueBody),
Restarg(Restarg),
Retry(Retry),
Return(Return),
SClass(SClass),
Self_(Self_),
Send(Send),
Shadowarg(Shadowarg),
Splat(Splat),
Str(Str),
Super(Super),
Sym(Sym),
True(True),
Undef(Undef),
UnlessGuard(UnlessGuard),
Until(Until),
UntilPost(UntilPost),
When(When),
While(While),
WhilePost(WhilePost),
XHeredoc(XHeredoc),
Xstr(Xstr),
Yield(Yield),
ZSuper(ZSuper),
}Expand description
Generic combination of all known nodes.
Variants§
Alias(Alias)
And(And)
AndAsgn(AndAsgn)
Arg(Arg)
Args(Args)
Array(Array)
ArrayPattern(ArrayPattern)
ArrayPatternWithTail(ArrayPatternWithTail)
BackRef(BackRef)
Begin(Begin)
Block(Block)
Blockarg(Blockarg)
BlockPass(BlockPass)
Break(Break)
Case(Case)
CaseMatch(CaseMatch)
Casgn(Casgn)
Cbase(Cbase)
Class(Class)
Complex(Complex)
Const(Const)
ConstPattern(ConstPattern)
CSend(CSend)
Cvar(Cvar)
Cvasgn(Cvasgn)
Def(Def)
Defined(Defined)
Defs(Defs)
Dstr(Dstr)
Dsym(Dsym)
EFlipFlop(EFlipFlop)
EmptyElse(EmptyElse)
Encoding(Encoding)
Ensure(Ensure)
Erange(Erange)
False(False)
File(File)
FindPattern(FindPattern)
Float(Float)
For(For)
ForwardArg(ForwardArg)
ForwardedArgs(ForwardedArgs)
Gvar(Gvar)
Gvasgn(Gvasgn)
Hash(Hash)
HashPattern(HashPattern)
Heredoc(Heredoc)
If(If)
IfGuard(IfGuard)
IFlipFlop(IFlipFlop)
IfMod(IfMod)
IfTernary(IfTernary)
Index(Index)
IndexAsgn(IndexAsgn)
InPattern(InPattern)
Int(Int)
Irange(Irange)
Ivar(Ivar)
Ivasgn(Ivasgn)
Kwarg(Kwarg)
Kwargs(Kwargs)
KwBegin(KwBegin)
Kwnilarg(Kwnilarg)
Kwoptarg(Kwoptarg)
Kwrestarg(Kwrestarg)
Kwsplat(Kwsplat)
Lambda(Lambda)
Line(Line)
Lvar(Lvar)
Lvasgn(Lvasgn)
Masgn(Masgn)
MatchAlt(MatchAlt)
MatchAs(MatchAs)
MatchCurrentLine(MatchCurrentLine)
MatchNilPattern(MatchNilPattern)
MatchPattern(MatchPattern)
MatchPatternP(MatchPatternP)
MatchRest(MatchRest)
MatchVar(MatchVar)
MatchWithLvasgn(MatchWithLvasgn)
Mlhs(Mlhs)
Module(Module)
Next(Next)
Nil(Nil)
NthRef(NthRef)
Numblock(Numblock)
OpAsgn(OpAsgn)
Optarg(Optarg)
Or(Or)
OrAsgn(OrAsgn)
Pair(Pair)
Pin(Pin)
Postexe(Postexe)
Preexe(Preexe)
Procarg0(Procarg0)
Rational(Rational)
Redo(Redo)
Regexp(Regexp)
RegOpt(RegOpt)
Rescue(Rescue)
RescueBody(RescueBody)
Restarg(Restarg)
Retry(Retry)
Return(Return)
SClass(SClass)
Self_(Self_)
Send(Send)
Shadowarg(Shadowarg)
Splat(Splat)
Str(Str)
Super(Super)
Sym(Sym)
True(True)
Undef(Undef)
UnlessGuard(UnlessGuard)
Until(Until)
UntilPost(UntilPost)
When(When)
While(While)
WhilePost(WhilePost)
XHeredoc(XHeredoc)
Xstr(Xstr)
Yield(Yield)
ZSuper(ZSuper)
Implementations§
source§impl Node
impl Node
sourcepub fn inspect(&self, indent: usize) -> String
pub fn inspect(&self, indent: usize) -> String
Returs a whitequark/parser -like representation of self.
Used in tests and example scripts
sourcepub fn expression(&self) -> &Loc
pub fn expression(&self) -> &Loc
Returns location of the full node expression
sourcepub fn str_type(&self) -> &'static str
pub fn str_type(&self) -> &'static str
Returns a whitequark/parser -like node name.
Used in tests and example scripts
sourcepub fn print_with_locs(&self)
pub fn print_with_locs(&self)
Prints itself + location information