# haxe.macro

.. |
AbstractType | Represents an abstract type.
AnonType | Represents information for anonymous structure types.
BaseType | The information that all types (`ClassType`, `EnumType`, `DefType`, `AbstractType`) have in common.
Case | Represents a switch case.
Catch | Represents a catch in the AST. @https://haxe.org/manual/expression-try-catch.html
ClassField | Represents a class field.
ClassType | Represents a class type.
DefType | Represents a typedef.
EnumField | Represents an enum constructor.
EnumType | Represents an enum type.
Expr | Represents a node in the AST.
ExprOf | Represents a AST node identical to `Expr`, but it allows constraining the type of accepted expressions.
Field | Represents a field in the AST.
Function | Represents a function in the AST.
FunctionArg | Represents a function argument in the AST.
ImportExpr | Represents the import expression.
IncludePosition |
JSGenApi | This is the api that is passed to the custom JS generator.
MetaAccess | MetaAccess is a wrapper for the `Metadata` array. It can be used to add metadata to and remove metadata from its origin.
Metadata | Represents metadata in the AST.
MetadataEntry | Represents a metadata entry in the AST.
Position | Represents a position in a file.
Ref | Represents a reference to internal compiler structure. It exists to avoid expensive encoding if it is not required and to ensure that physical equality remains intact.
TFunc | Represents a function in the typed AST.
TVar | Represents a variable in the typed AST.
TypeDefinition | Represents a type definition.
TypeParamDecl | Represents a type parameter declaration in the AST.
TypeParameter | Represents the declaration of type parameters.
TypePath | Represents a type path in the AST.
TypedExpr | Represents a typed AST node.
Var | Represents a variable in the AST.