Struct erg_compiler::hir::ClassDef
source · pub struct ClassDef {
pub obj: GenTypeObj,
pub sig: Signature,
pub require_or_sup: Option<Box<Expr>>,
pub need_to_gen_new: bool,
pub __new__: Type,
pub methods_list: Vec<Methods>,
}
Fields§
§obj: GenTypeObj
§sig: Signature
§require_or_sup: Option<Box<Expr>>
§need_to_gen_new: bool
The type of new
that is automatically defined if not defined
__new__: Type
§methods_list: Vec<Methods>
Implementations§
source§impl ClassDef
impl ClassDef
pub fn new( obj: GenTypeObj, sig: Signature, require_or_sup: Option<Expr>, need_to_gen_new: bool, __new__: Type, methods_list: Vec<Methods> ) -> Self
pub fn all_methods(&self) -> impl Iterator<Item = &Expr>
pub fn all_methods_mut(&mut self) -> impl Iterator<Item = &mut Expr>
pub fn take_all_methods(methods_list: Vec<Methods>) -> Block
Trait Implementations§
source§impl HasType for ClassDef
impl HasType for ClassDef
fn ref_t(&self) -> &Type
fn ref_mut_t(&mut self) -> Option<&mut Type>
fn signature_t(&self) -> Option<&Type>
fn signature_mut_t(&mut self) -> Option<&mut Type>
fn t(&self) -> Type
fn inner_ts(&self) -> Vec<Type>
fn lhs_t(&self) -> &Type
fn rhs_t(&self) -> &Type
source§impl Locational for ClassDef
impl Locational for ClassDef
source§impl NestedDisplay for ClassDef
impl NestedDisplay for ClassDef
source§impl NoTypeDisplay for ClassDef
impl NoTypeDisplay for ClassDef
fn to_string_notype(&self) -> String
source§impl PartialEq for ClassDef
impl PartialEq for ClassDef
impl Eq for ClassDef
impl StructuralPartialEq for ClassDef
Auto Trait Implementations§
impl RefUnwindSafe for ClassDef
impl Send for ClassDef
impl Sync for ClassDef
impl Unpin for ClassDef
impl UnwindSafe for ClassDef
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