List of annotations
Metadata which do not correspond to a configuration flag are listed here.
@:ammer.alloc
@:ammer.c.cast
@:ammer.c.macroCall
@:ammer.c.prereturn
@:ammer.c.return
@:ammer.derive
@:ammer.gen.alloc
@:ammer.gen.free
@:ammer.gen.nullPtr
@:ammer.haxe
@:ammer.native
@:ammer.nativePrefix
@:ammer.ret.derive
@:ammer.skip
@:ammer.sub
@:ammer.alloc
Allows allocation and deallocation of the annotated struct type using ammer.Lib.allocStruct
and ammer.Lib.freeStruct
, respectively. See allocation and deallocation.
@:ammer.c.cast(type:String)
Marks that the annotated argument should be cast to the given C type before being passed to the native call.
@:ammer.c.macroCall
(Alias: @:ammer.macroCall
)
Marks the annotated function as a macro call. See macro calls.
@:ammer.c.prereturn(code:String)
Adds the given C code into the native function, before the return expression. The arguments to the native call are available in the _arg0
, ..., _argN
local variables. See customising the C code.
@:ammer.c.return(code:String)
Uses the given C expression instead of the return expression. The arguments to the native call are available in the _arg0
, ..., _argN
local variables. The string %CALL%
, if used in code
, will be replaced with the original return expression. See customising the C code.
@:ammer.derive(e:Expr)
@:ammer.gen.alloc(name:String)
Specifies the name for the generated static allocation function. See allocation and deallocation.
@:ammer.gen.free(name:String)
Specifies the name for the generated instance deallocation function. See allocation and deallocation.
@:ammer.gen.nullPtr(name:String)
Specifies the name for the generated static null pointer function. See allocation and deallocation.
@:ammer.haxe
Allows the annotated function to have a Haxe body, skipping ammer
processing. See pure Haxe functions.
@:ammer.native(name:String)
Specifies the native name of the annotated function or field.
@:ammer.nativePrefix(prefix:String)
Specifies the prefix for native names. The native name will be derived as "prefix" + "the field name", unless overridden on the field itself with @:ammer.native
.
@:ammer.ret.derive(e:Expr, ct:Type)
@:ammer.skip
Marks the given function argument to be skipped for the underlying native call.
@:ammer.sub(sub:Type)
Marks the given type sub
as a "subdefinition" of the annotated library. See linking subdefinitions.