pub enum Expr {
Show 22 variants
Bad(Rc<BadExpr, Global>),
Ident(IdentKey),
Ellipsis(Rc<Ellipsis, Global>),
BasicLit(Rc<BasicLit, Global>),
FuncLit(Rc<FuncLit, Global>),
CompositeLit(Rc<CompositeLit, Global>),
Paren(Rc<ParenExpr, Global>),
Selector(Rc<SelectorExpr, Global>),
Index(Rc<IndexExpr, Global>),
Slice(Rc<SliceExpr, Global>),
TypeAssert(Rc<TypeAssertExpr, Global>),
Call(Rc<CallExpr, Global>),
Star(Rc<StarExpr, Global>),
Unary(Rc<UnaryExpr, Global>),
Binary(Rc<BinaryExpr, Global>),
KeyValue(Rc<KeyValueExpr, Global>),
Array(Rc<ArrayType, Global>),
Struct(Rc<StructType, Global>),
Func(FuncTypeKey),
Interface(Rc<InterfaceType, Global>),
Map(Rc<MapType, Global>),
Chan(Rc<ChanType, Global>),
}
Variants§
Bad(Rc<BadExpr, Global>)
Ident(IdentKey)
Ellipsis(Rc<Ellipsis, Global>)
BasicLit(Rc<BasicLit, Global>)
FuncLit(Rc<FuncLit, Global>)
CompositeLit(Rc<CompositeLit, Global>)
Paren(Rc<ParenExpr, Global>)
Selector(Rc<SelectorExpr, Global>)
Index(Rc<IndexExpr, Global>)
Slice(Rc<SliceExpr, Global>)
TypeAssert(Rc<TypeAssertExpr, Global>)
Call(Rc<CallExpr, Global>)
Star(Rc<StarExpr, Global>)
Unary(Rc<UnaryExpr, Global>)
Binary(Rc<BinaryExpr, Global>)
KeyValue(Rc<KeyValueExpr, Global>)
Array(Rc<ArrayType, Global>)
Struct(Rc<StructType, Global>)
Func(FuncTypeKey)
Interface(Rc<InterfaceType, Global>)
Map(Rc<MapType, Global>)
Chan(Rc<ChanType, Global>)
Implementations§
source§impl Expr
impl Expr
pub fn new_bad(from: usize, to: usize) -> Expr
pub fn new_selector(x: Expr, sel: IdentKey) -> Expr
pub fn new_ellipsis(pos: usize, x: Option<Expr>) -> Expr
pub fn new_basic_lit(pos: usize, token: Token) -> Expr
pub fn new_unary_expr(pos: usize, op: Token, expr: Expr) -> Expr
pub fn box_func_type(ft: FuncType, objs: &mut AstObjects) -> Expr
pub fn clone_ident(&self) -> Option<Expr>
pub fn try_as_ident(&self) -> Option<&IdentKey>
pub fn is_bad(&self) -> bool
pub fn is_type_switch_assert(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
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