9.3.2 Type Reification
Type reification is used to create instances of haxe.macro.Expr.ComplexType
in a convenient way. It is identified by a macro : Type
, where Type
can be any valid type path expression. This is similar to explicit type hints in normal code, e.g. for variables in the form of var x:Type
.
Each constructor of ComplexType
has a distinct syntax:
TPath
:macro : pack.Type
TFunction
:macro : Arg1 -> Arg2 -> Return
TAnonymous
:macro : { field: Type }
TParent
:macro : (Type)
TExtend
:macro : {> Type, field: Type }
TOptional
:macro : ?Type