Represents a class type.

Properties

constructor:Null<Ref<ClassField>>

The constructor of the class, if available.

doc:Null<String>

The associated documentation of the class field.

fields:Ref<Array<ClassField>>

The member fields of the class.

init:Null<TypedExpr>

The __init__ expression of the class, if available.

interfaces:Array<{t:Ref<ClassType>, params:Array<Type>}>

The implemented interfaces and their type parameters.

isExtern:Bool

Whether or not the type is extern.

isInterface:Bool

If true the type is an interface, otherwise it is a class.

isPrivate:Bool

Whether or not the type is private.

kind:ClassKind

The kind of the class.

meta:MetaAccess

The metadata of the type.

module:String

The module name of the type, which might be different.

name:String

The name of the type.

overrides:Array<Ref<ClassField>>

The list of fields that have override status.

pack:Array<String>

The package of the type.

params:Array<TypeParameter>

The type parameters of the type.

pos:Position

The position of the type.

statics:Ref<Array<ClassField>>

The static fields of the class.

superClass:Null<{t:Ref<ClassType>, params:Array<Type>}>

The parent class and its type parameters, if available.

exclude ():Void

Allows excluding the type from compilation.