pub enum Expr {
Show 36 variants
Number {
value: i32,
line: usize,
col: usize,
},
NumberFloat {
value: f64,
line: usize,
col: usize,
},
StrLit {
value: String,
line: usize,
col: usize,
},
Bool {
value: bool,
line: usize,
col: usize,
},
Ident {
name: String,
line: usize,
col: usize,
},
Placeholder {
line: usize,
col: usize,
},
BracketedArray {
items: Vec<Expr>,
line: usize,
col: usize,
},
KeyedArray {
pairs: Vec<(String, Expr)>,
line: usize,
col: usize,
},
FunctionCall {
callee: Box<Expr>,
args: Vec<Expr>,
line: usize,
col: usize,
},
Index {
base: Box<Expr>,
index: Box<Expr>,
line: usize,
col: usize,
},
Gt {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Lt {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
EqEq {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Le {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Ge {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Add {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Sub {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Mul {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Div {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Mod {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Ternary {
cond: Box<Expr>,
if_true: Box<Expr>,
if_false: Box<Expr>,
line: usize,
col: usize,
},
InlineLambdaAST {
params: Vec<LambdaParam>,
body: Box<Expr>,
line: usize,
col: usize,
},
Block {
stmts: Vec<Stmt>,
line: usize,
col: usize,
},
UnaryMinus {
expr: Box<Expr>,
line: usize,
col: usize,
},
AndAnd {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
UnaryNot {
expr: Box<Expr>,
line: usize,
col: usize,
},
Ne {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
BitAnd {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
OrOr {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Shl {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Shr {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
BitXor {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
BitTilde {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
BitOr {
left: Box<Expr>,
right: Box<Expr>,
line: usize,
col: usize,
},
Ref {
expr: Box<Expr>,
line: usize,
col: usize,
},
RegexLit {
pattern: String,
flags: String,
line: usize,
col: usize,
},
}Variants§
Number
NumberFloat
StrLit
Bool
Ident
Placeholder
BracketedArray
KeyedArray
FunctionCall
Index
Gt
Lt
EqEq
Le
Ge
Add
Sub
Mul
Div
Mod
Ternary
InlineLambdaAST
Block
UnaryMinus
AndAnd
UnaryNot
Ne
BitAnd
OrOr
Shl
Shr
BitXor
BitTilde
BitOr
Ref
RegexLit
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