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 Freeze for Expr
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