pub enum ASTNode {
Show 56 variants
Integer(i64),
Float(f64),
Bool(bool),
String(String),
Label(String),
Name(String),
Paren(Box<ASTNode>),
Block(Vec<ASTNode>, Box<Option<ASTNode>>),
EmptyStatement,
Break,
Goto(Box<ASTNode>),
RetStat(Box<Option<ASTNode>>),
Add(Box<ASTNode>, Box<ASTNode>),
Sub(Box<ASTNode>, Box<ASTNode>),
Mul(Box<ASTNode>, Box<ASTNode>),
Div(Box<ASTNode>, Box<ASTNode>),
Exp(Box<ASTNode>, Box<ASTNode>),
FDiv(Box<ASTNode>, Box<ASTNode>),
Mod(Box<ASTNode>, Box<ASTNode>),
And(Box<ASTNode>, Box<ASTNode>),
Or(Box<ASTNode>, Box<ASTNode>),
Lt(Box<ASTNode>, Box<ASTNode>),
Le(Box<ASTNode>, Box<ASTNode>),
Gt(Box<ASTNode>, Box<ASTNode>),
Ge(Box<ASTNode>, Box<ASTNode>),
Eq(Box<ASTNode>, Box<ASTNode>),
Ne(Box<ASTNode>, Box<ASTNode>),
BitOr(Box<ASTNode>, Box<ASTNode>),
BitAnd(Box<ASTNode>, Box<ASTNode>),
BitXor(Box<ASTNode>, Box<ASTNode>),
Rsh(Box<ASTNode>, Box<ASTNode>),
Lsh(Box<ASTNode>, Box<ASTNode>),
BinNot(Box<ASTNode>),
Not(Box<ASTNode>),
Len(Box<ASTNode>),
UMin(Box<ASTNode>),
Concat(Box<ASTNode>, Box<ASTNode>),
PrefixExp(Box<ASTNode>),
Nil,
VarArg,
TableConstructor(Box<Option<ASTNode>>),
Function(Box<ASTNode>),
FunctionBody(Box<Option<ASTNode>>, Box<ASTNode>),
FunctionName(Box<ASTNode>, Option<Vec<ASTNode>>, Option<Box<ASTNode>>),
NamedFunction(Box<ASTNode>, Box<ASTNode>),
ExpList(Vec<ASTNode>),
VarList(Vec<ASTNode>),
NameList(Vec<ASTNode>),
FieldList(Vec<ASTNode>),
ParameterList(Box<Option<ASTNode>>, bool),
FieldSingle(Box<ASTNode>),
FieldAssign(Box<ASTNode>, Box<ASTNode>),
Local(Box<ASTNode>),
Var(Box<ASTNode>),
VarPrefixed(Box<ASTNode>, Box<ASTNode>),
VarListAccess(Box<ASTNode>, Box<ASTNode>),
}
Variants§
Integer(i64)
Float(f64)
Bool(bool)
String(String)
Label(String)
Name(String)
Paren(Box<ASTNode>)
Block(Vec<ASTNode>, Box<Option<ASTNode>>)
EmptyStatement
Break
Goto(Box<ASTNode>)
RetStat(Box<Option<ASTNode>>)
Add(Box<ASTNode>, Box<ASTNode>)
Sub(Box<ASTNode>, Box<ASTNode>)
Mul(Box<ASTNode>, Box<ASTNode>)
Div(Box<ASTNode>, Box<ASTNode>)
Exp(Box<ASTNode>, Box<ASTNode>)
FDiv(Box<ASTNode>, Box<ASTNode>)
Mod(Box<ASTNode>, Box<ASTNode>)
And(Box<ASTNode>, Box<ASTNode>)
Or(Box<ASTNode>, Box<ASTNode>)
Lt(Box<ASTNode>, Box<ASTNode>)
Le(Box<ASTNode>, Box<ASTNode>)
Gt(Box<ASTNode>, Box<ASTNode>)
Ge(Box<ASTNode>, Box<ASTNode>)
Eq(Box<ASTNode>, Box<ASTNode>)
Ne(Box<ASTNode>, Box<ASTNode>)
BitOr(Box<ASTNode>, Box<ASTNode>)
BitAnd(Box<ASTNode>, Box<ASTNode>)
BitXor(Box<ASTNode>, Box<ASTNode>)
Rsh(Box<ASTNode>, Box<ASTNode>)
Lsh(Box<ASTNode>, Box<ASTNode>)
BinNot(Box<ASTNode>)
Not(Box<ASTNode>)
Len(Box<ASTNode>)
UMin(Box<ASTNode>)
Concat(Box<ASTNode>, Box<ASTNode>)
PrefixExp(Box<ASTNode>)
Takes one of Var FunctionCall Exp
Nil
VarArg
TableConstructor(Box<Option<ASTNode>>)
Function(Box<ASTNode>)
Takes a FunctionBody
FunctionBody(Box<Option<ASTNode>>, Box<ASTNode>)
Takes a ParameterList and a Block
FunctionName(Box<ASTNode>, Option<Vec<ASTNode>>, Option<Box<ASTNode>>)
Has 3 parameters the example: log.ms:al would produce Name log Name ms Name al
NamedFunction(Box<ASTNode>, Box<ASTNode>)
Takes a Name and a FunctionBody
ExpList(Vec<ASTNode>)
VarList(Vec<ASTNode>)
NameList(Vec<ASTNode>)
FieldList(Vec<ASTNode>)
ParameterList(Box<Option<ASTNode>>, bool)
Takes a list of parameters and is vararg
FieldSingle(Box<ASTNode>)
Contains an expr
FieldAssign(Box<ASTNode>, Box<ASTNode>)
The first node may be an expr to be resolved or a Name The second node is the assigned expr
Local(Box<ASTNode>)
Var(Box<ASTNode>)
Takes a Name
VarPrefixed(Box<ASTNode>, Box<ASTNode>)
Takes a prefixexp and a exp
VarListAccess(Box<ASTNode>, Box<ASTNode>)
Takes a prefixexp and a Name
Trait Implementations§
impl StructuralPartialEq for ASTNode
Auto Trait Implementations§
impl Freeze for ASTNode
impl RefUnwindSafe for ASTNode
impl Send for ASTNode
impl Sync for ASTNode
impl Unpin for ASTNode
impl UnwindSafe for ASTNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more