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