pub enum Expr {
Show 17 variants
Int(i64),
Float(f64),
String(String),
TemplateString(String),
Bool(bool),
Null,
Ident(String),
Binary {
left: Box<Expr>,
op: BinaryOp,
right: Box<Expr>,
},
Unary {
op: UnaryOp,
expr: Box<Expr>,
},
Call {
callee: Box<Expr>,
args: Vec<Expr>,
},
MethodCall {
object: Box<Expr>,
method: String,
args: Vec<Expr>,
},
Array(Vec<Expr>),
Map(Vec<(String, Expr)>),
Index {
object: Box<Expr>,
index: Box<Expr>,
},
If {
condition: Box<Expr>,
then_branch: Box<Expr>,
else_branch: Option<Box<Expr>>,
},
Block(Vec<Stmt>),
Assign {
name: String,
value: Box<Expr>,
},
}Expand description
Expression enum representing all expression types
Variants§
Int(i64)
Float(f64)
String(String)
TemplateString(String)
Bool(bool)
Null
Ident(String)
Binary
Unary
Call
MethodCall
Array(Vec<Expr>)
Map(Vec<(String, Expr)>)
Index
If
Block(Vec<Stmt>)
Assign
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 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