# typedef AbstractType

#### package haxe.macro

#### import haxe.macro.Type

Available on Neko

Represents an abstract type.

### Properties

###

`array:Array<ClassField>`

The defined array-access fields of the abstract.

###

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

The defined binary operators of the abstract.

###

`doc:Null<String>`

The associated documentation of the class field.

###

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

The available implicit from-casts of the abstract.

See:

https://haxe.org/manual/types-abstract-implicit-casts.html

###

`impl:Null<Ref<ClassType>>`

The implementation class of the abstract, if available.

###

`isExtern:Bool`

Whether or not the type is extern.

###

`isPrivate:Bool`

Whether or not the type is private.

###

`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.

###

`pack:Array<String>`

The package of the type.

###

`params:Array<TypeParameter>`

The type parameters of the type.

###

`pos:Position`

The position of the type.

###

`resolve:Null<ClassField>`

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

###

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

The available implicit to-casts of the abstract.

See:

https://haxe.org/manual/types-abstract-implicit-casts.html

###

`type:Type`

The underlying type of the abstract.

###

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

The defined unary operators of the abstract.

###

`exclude ():Void`

Allows excluding the type from compilation.