pub enum ExprDesc {
Show 34 variants
Nil,
Bool(bool),
Number(f64),
String(RcStr),
Name(RcStr),
List(Vec<Expr>),
Map(Vec<(Expr, Expr)>),
Parentheses(Box<Expr>),
Block(Vec<Expr>),
Switch(Box<Expr>, Vec<(Expr, Expr)>, Option<Box<Expr>>),
If(Vec<(Expr, Expr)>, Option<Box<Expr>>),
For(AssignTarget, Box<Expr>, Box<Expr>),
While(Box<Expr>, Box<Expr>),
Binop(Binop, Box<Expr>, Box<Expr>),
LogicalBinop(LogicalBinop, Box<Expr>, Box<Expr>),
Unop(Unop, Box<Expr>),
Subscript(Box<Expr>, Box<Expr>),
Slice(Box<Expr>, Option<Box<Expr>>, Option<Box<Expr>>),
Attr(Box<Expr>, RcStr),
CallFunction(Box<Expr>, Args),
CallMethod(Box<Expr>, RcStr, Args),
Assign(AssignTarget, Box<Expr>),
AugAssign(AssignTarget, Binop, Box<Expr>),
NonlocalAssign(RcStr, Box<Expr>),
Nonlocal(Vec<RcStr>),
New(Option<RcStr>, Vec<(RcStr, Expr)>),
Del(RcStr),
Yield(Box<Expr>),
Return(Option<Box<Expr>>),
Import(RcStr),
BreakPoint,
AssignDoc(Box<Expr>, RcStr, RcStr),
Function {
is_generator: bool,
name: Option<RcStr>,
params: ArgSpec,
docstr: Option<RcStr>,
body: Box<Expr>,
varspec: Option<VarSpec>,
},
Class {
name: RcStr,
bases: Vec<Expr>,
docstr: Option<RcStr>,
methods: Vec<(RcStr, Expr)>,
static_methods: Vec<(RcStr, Expr)>,
hidden_name: Option<RcStr>,
},
}
Variants§
Nil
Bool(bool)
Number(f64)
String(RcStr)
Name(RcStr)
List(Vec<Expr>)
Map(Vec<(Expr, Expr)>)
Parentheses(Box<Expr>)
Block(Vec<Expr>)
Switch(Box<Expr>, Vec<(Expr, Expr)>, Option<Box<Expr>>)
If(Vec<(Expr, Expr)>, Option<Box<Expr>>)
For(AssignTarget, Box<Expr>, Box<Expr>)
While(Box<Expr>, Box<Expr>)
Binop(Binop, Box<Expr>, Box<Expr>)
LogicalBinop(LogicalBinop, Box<Expr>, Box<Expr>)
Unop(Unop, Box<Expr>)
Subscript(Box<Expr>, Box<Expr>)
Slice(Box<Expr>, Option<Box<Expr>>, Option<Box<Expr>>)
Attr(Box<Expr>, RcStr)
CallFunction(Box<Expr>, Args)
CallMethod(Box<Expr>, RcStr, Args)
Assign(AssignTarget, Box<Expr>)
AugAssign(AssignTarget, Binop, Box<Expr>)
NonlocalAssign(RcStr, Box<Expr>)
Nonlocal(Vec<RcStr>)
New(Option<RcStr>, Vec<(RcStr, Expr)>)
Del(RcStr)
Yield(Box<Expr>)
Return(Option<Box<Expr>>)
Import(RcStr)
BreakPoint
AssignDoc(Box<Expr>, RcStr, RcStr)
AssignDoc at runtime is more or less a nop. However, it attaches docstrings to field assignments (the first ‘Expr’ parameter should always be an Assign)
Function
Fields
Class
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ExprDesc
impl !RefUnwindSafe for ExprDesc
impl !Send for ExprDesc
impl !Sync for ExprDesc
impl Unpin for ExprDesc
impl UnwindSafe for ExprDesc
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