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.