package haxe.macro

..
AbstractType

Represents an abstract type.

Access

Represents an access modifier.

AnonStatus

Represents the kind of the anonymous structure type.

AnonType

Represents information for anonymous structure types.

BaseType

The information that all types (ClassType, EnumType, DefType, AbstractType) have in common.

Binop

A binary operator.

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.

ClassKind

Represents the kind of a class.

ClassType

Represents a class type.

CompilationServer

This class provides some methods which can be invoked from command line using --macro server.field(args).

Compiler

All these methods can be called for compiler configuration macros.

ComplexType

Represents a type syntax in the AST.

ComplexTypeTools

This class provides some utility methods to work with AST-level types. It is best used through using haxe.macro.ComplexTypeTools syntax and then provides additional methods on haxe.macro.ComplexType instances.

Constant

Represents a constant.

Context

Context provides an API for macro programming.

ContextOptions

DefType

Represents a typedef.

EnumField

Represents an enum constructor.

EnumType

Represents an enum type.

Error

This error can be used to handle or produce compilation errors in macros.

ExampleJSGenerator

Expr

Represents a node in the AST.

ExprArrayTools

This class provides functions on expression arrays for convenience. For a detailed reference on each method, see the documentation of ExprTools.

ExprDef

Represents the kind of a node in the AST.

ExprOf

Represents a AST node identical to Expr, but it allows constraining the type of accepted expressions.

ExprTools

This class provides some utility methods to work with expressions. It is best used through 'using haxe.macro.ExprTools' syntax and then provides additional methods on haxe.macro.Expr instances.

Field

Represents a field in the AST.

FieldAccess

Represents the kind of field access in the typed AST.

FieldKind

Represents a field kind.

FieldType

Represents the field type in the AST.

Format

The actual macro implemented for Std.format

Function

Represents a function in the AST.

FunctionArg

Represents a function argument in the AST.

ImportExpr

Represents the import expression.

ImportMode

Represents the import mode.

IncludePosition

JSGenApi

This is the api that is passed to the custom JS generator.

MacroStringTools

This class provides some utility methods to work with strings in macro context.

MacroType

This type is meant to be used to generate custom types using a macro. For instance by doing MacroType<[my.Class.myMacro(55)]>

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.

MethodKind

Represents the method kind.

ModuleCheckPolicy

ModuleType

Represents a module type. These are the types that can be declared in a Haxe module and which are passed to the generators (except TTypeDecl).

Position

Represents a position in a file.

PositionTools

Printer

This class provides some utility methods to convert elements from the macro context to a human-readable String representation.

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.

TConstant

Represents typed constant.

TFunc

Represents a function in the typed AST.

TVar

Represents a variable in the typed AST.

Type

Represents a type.

TypeDefKind

Represents a type definition kind.

TypeDefinition

Represents a type definition.

TypeParam

Represents a concrete type parameter in the AST.

TypeParamDecl

Represents a type parameter declaration in the AST.

TypeParameter

Represents the declaration of type parameters.

TypePath

Represents a type path in the AST.

TypeTools

This class provides some utility methods to work with types. It is best used through 'using haxe.macro.TypeTools' syntax and then provides additional methods on haxe.macro.Type instances.

TypedExpr

Represents a typed AST node.

TypedExprDef

Represents kind of a node in the typed AST.

TypedExprTools

This class provides some utility methods to work with typed expressions. It is best used through 'using haxe.macro.TypedExprTools' syntax and then provides additional methods on haxe.macro.TypedExpr instances.

Unop

A unary operator.

Var

Represents a variable in the AST.

VarAccess

Represents the variable accessor.