Enum xlang_syntax::ast::Expr
source · [−]pub enum Expr<'input> {
Show 14 variants
None(None),
Bool(Bool<'input>),
Num(Num<'input>),
Ident(Ident<'input>),
Atom(Atom<'input>),
Str(Str<'input>),
Binary(Binary<'input>),
Call(Call<'input>),
Unary(Unary<'input>),
Assign(Assign<'input>),
If(If<'input>),
InlineFun(InlineFun<'input>),
Fun(Fun<'input>),
Block(Block<'input>),
}Expand description
An xlang expression.
Variants
None(None)
Bool(Bool<'input>)
Num(Num<'input>)
Ident(Ident<'input>)
Atom(Atom<'input>)
Str(Str<'input>)
Binary(Binary<'input>)
Call(Call<'input>)
Unary(Unary<'input>)
Assign(Assign<'input>)
If(If<'input>)
InlineFun(InlineFun<'input>)
Fun(Fun<'input>)
Block(Block<'input>)
Implementations
sourceimpl<'input> Expr<'input>
impl<'input> Expr<'input>
sourcepub fn float(loc: Loc, value: &'input str) -> Self
pub fn float(loc: Loc, value: &'input str) -> Self
Creates a new floating point number expression.
sourcepub fn binary(loc: Loc, left: Self, op: BinaryOp, right: Self) -> Self
pub fn binary(loc: Loc, left: Self, op: BinaryOp, right: Self) -> Self
Creates a new binary operation.
sourcepub fn call(loc: Loc, fun: Self, args: Vec<Self>) -> Self
pub fn call(loc: Loc, fun: Self, args: Vec<Self>) -> Self
Creates a new function call operation.
Trait Implementations
sourceimpl<'input> PartialEq<Expr<'input>> for Expr<'input>
impl<'input> PartialEq<Expr<'input>> for Expr<'input>
impl<'input> StructuralPartialEq for Expr<'input>
Auto Trait Implementations
impl<'input> RefUnwindSafe for Expr<'input>
impl<'input> Send for Expr<'input>
impl<'input> Sync for Expr<'input>
impl<'input> Unpin for Expr<'input>
impl<'input> UnwindSafe for Expr<'input>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more