class compiler::TypeDef
sys::Obj compiler::Node compiler::DefNode compiler::TypeDef : compiler::CType
TypeDef models a type definition for a class, mixin or enum
- addSlot
-
Void addSlot(CSlot s, Int? slotDefIndex := null)
Add a slot to the type definition. The method is used to add SlotDefs declared by this type as well as slots inherited by this type.
- base
-
virtual override CType? base
- baseSpecified
-
Bool baseSpecified := true
- closure
-
ClosureExpr? closure
- closures
-
ClosureExpr[] closures
- ctorDefs
-
MethodDef[] ctorDefs()
Get the constructor MethodDefs declared within this TypeDef.
- enumDef
-
Return EnumDef for specified name or null.
- enumDefs
-
EnumDef[] enumDefs
- fieldDef
-
Return FieldDef for specified name or null.
- fieldDefs
-
FieldDef[] fieldDefs()
Get the FieldDefs declared within this TypeDef.
- hasSlotDef
-
Return if this class has a slot definition for specified name.
- indexedFacets
-
FacetDef[]? indexedFacets
- instanceFieldDefs
-
FieldDef[] instanceFieldDefs()
Get the instance FieldDefs declared within this TypeDef.
- isClosure
-
Bool isClosure()
Return if this type is the anonymous class of a closure
- isGeneric
-
virtual override Bool isGeneric()
- isGenericParameter
-
virtual override Bool isGenericParameter()
- isNullable
-
virtual override Bool isNullable()
- isParameterized
-
virtual override Bool isParameterized()
- isVal
-
virtual const override Bool isVal
- make
-
new make(CNamespace ns, Loc loc, CompilationUnit unit, Str name, Int flags := 0)
- methodDef
-
MethodDef? methodDef(Str name)
Return MethodDef for specified name or null.
- methodDefs
-
MethodDef[] methodDefs()
Get the MethodDefs declared within this TypeDef.
- mixins
-
virtual override CType[] mixins
- name
-
virtual const override Str name
- normalizeStaticInits
-
Void normalizeStaticInits(MethodDef m)
If during parse we added any static initializer methods, now is the time to remove them all and replace them with a single collapsed MethodDef (processed in Normalize step)
- ns
-
virtual override CNamespace ns
- operators
-
virtual override COperators operators()
Cached COperators map
- pod
-
virtual override CPod pod
- qname
-
virtual const override Str qname
- replaceSlot
-
Void replaceSlot(CSlot oldSlot, CSlot newSlot)
Replace oldSlot with newSlot in my slot tables.
- signature
-
virtual override Str signature()
- slotDef
-
Return SlotDef for specified name or null.
- slotDefs
-
SlotDef[] slotDefs()
Get the SlotDefs declared within this TypeDef.
- slots
-
virtual override Str:CSlot slots()
Return all the all slots (inherited and defined)
- staticFieldDefs
-
FieldDef[] staticFieldDefs()
Get the static FieldDefs declared within this TypeDef.
- staticInit
-
MethodDef? staticInit()
Get static initializer if one is defined.
- toListOf
-
virtual override CType toListOf()
- toNullable
-
virtual override CType toNullable()
- unit
-
CompilationUnit unit
- walk
-
Void walk(Visitor v, VisitDepth depth)