pub enum Expr {
Show 17 variants
Nil,
Bool(bool),
Number(NumLit),
StringLit(Vec<u8>),
VarArg,
Name(String),
Index(Box<Expr>, Box<Expr>),
Field(Box<Expr>, String),
MethodCall(Box<CallExpr>),
FuncCall(Box<CallExpr>),
BinOp(BinOp, Box<Expr>, Box<Expr>),
UnOp(UnOp, Box<Expr>),
FunctionDef(Box<Function>),
Table(Vec<TableField>),
Register(u32),
Upvalue(u32),
Global(String),
}Expand description
Lua expression.
Variants§
Nil
nil
Bool(bool)
true / false
Number(NumLit)
Numeric literal
StringLit(Vec<u8>)
String literal (raw bytes; emitter handles encoding)
VarArg
...
Name(String)
Variable reference by name
Index(Box<Expr>, Box<Expr>)
table[key] or table.field
Field(Box<Expr>, String)
table.name (syntactic sugar for Index with string key)
MethodCall(Box<CallExpr>)
prefix:method(args) (syntactic sugar)
FuncCall(Box<CallExpr>)
Function call f(args)
BinOp(BinOp, Box<Expr>, Box<Expr>)
Binary operation
UnOp(UnOp, Box<Expr>)
Unary operation
FunctionDef(Box<Function>)
function(...) ... end
Table(Vec<TableField>)
Table constructor { ... }
Register(u32)
Placeholder for registers not yet resolved.
Upvalue(u32)
Upvalue reference by index.
Global(String)
Global variable reference.
Trait Implementations§
impl StructuralPartialEq for Expr
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnsafeUnpin for Expr
impl UnwindSafe for Expr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
Source§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
Source§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more