ammer

List of annotations

Metadata which do not correspond to a configuration flag are listed here.


@: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.

« Previous: List of configuration flags Next: amlib »