Represents a class type.
superClass:Null<{t:Ref<ClassType>, params:Array<Type>}>
The parent class and its type parameters, if available.
statics:Ref<Array<ClassField>>
The static fields of the class.
pos:Position
The position of the type.
params:Array<TypeParameter>
The type parameters of the type.
pack:Array<String>
The package of the type.
overrides:Array<Ref<ClassField>>
The list of fields that have override status.
name:String
The name of the type.
module:String
The module name of the type, which might be different.
meta:MetaAccess
The metadata of the type.
kind:ClassKind
The kind of the class.
isPrivate:Bool
Whether or not the type is private.
isInterface:Bool
If true the type is an interface, otherwise it is a class.
isFinal:Bool
If true the class is final and cannot be extended.
isExtern:Bool
Whether or not the type is extern.
isAbstract:Bool
If true the class is abstract and cannot be instantiated directly.
interfaces:Array<{t:Ref<ClassType>, params:Array<Type>}>
The implemented interfaces and their type parameters.
init:Null<TypedExpr>
The __init__ expression of the class, if available.
__init__
fields:Ref<Array<ClassField>>
The member fields of the class.
exclude():Void
Allows excluding the type from compilation.
doc:Null<String>
The associated documentation of the class field.
constructor:Null<Ref<ClassField>>
The constructor of the class, if available.