pub struct Expr<'src> {
pub kind: ExprKind<'src>,
pub span: Span,
}Expand description
Expression node in the AST with source location.
Fields§
§kind: ExprKind<'src>§span: SpanImplementations§
Source§impl<'src> Expr<'src>
impl<'src> Expr<'src>
pub fn literal(value: Number, span: Span) -> Self
pub fn ident(name: &'src str, span: Span) -> Self
pub fn unary(op: UnOp, expr: Expr<'src>, span: Span) -> Self
pub fn binary( op: BinOp, left: Expr<'src>, right: Expr<'src>, span: Span, ) -> Self
pub fn call(name: &'src str, args: Vec<Expr<'src>>, span: Span) -> Self
pub fn if_expr( cond: Expr<'src>, then_branch: Expr<'src>, else_branch: Expr<'src>, span: Span, ) -> Self
pub fn let_expr( decls: Vec<(&'src str, Expr<'src>)>, body: Expr<'src>, span: Span, ) -> Self
Trait Implementations§
Auto Trait Implementations§
impl<'src> Freeze for Expr<'src>
impl<'src> RefUnwindSafe for Expr<'src>
impl<'src> Send for Expr<'src>
impl<'src> Sync for Expr<'src>
impl<'src> Unpin for Expr<'src>
impl<'src> UnwindSafe for Expr<'src>
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