Represents an abstract type.

unops:Array<{postFix:Bool, op:Unop, field:ClassField}>

The defined unary operators of the abstract.

type:Type

The underlying type of the abstract.

to:Array<{t:Type, field:Null<ClassField>}>

The available implicit to-casts of the abstract.

See also:

resolveWrite:Null<ClassField>

The method used for resolving unknown field access, if available.

resolve:Null<ClassField>

The method used for resolving unknown field access, if available.

pos:Position

The position of the type.

params:Array<TypeParameter>

The type parameters of the type.

pack:Array<String>

The package of the type.

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.

isPrivate:Bool

Whether or not the type is private.

isExtern:Bool

Whether or not the type is extern.

impl:Null<Ref<ClassType>>

The implementation class of the abstract, if available.

from:Array<{t:Type, field:Null<ClassField>}>

The available implicit from-casts of the abstract.

See also:

exclude():Void

Allows excluding the type from compilation.

doc:Null<String>

The associated documentation of the class field.

binops:Array<{op:Binop, field:ClassField}>

The defined binary operators of the abstract.

array:Array<ClassField>

The defined array-access fields of the abstract.