asFunction<DF extends Function> method
DF
asFunction<DF extends Function>()
Convert to Dart function, automatically marshalling the arguments and return value.
There are several rules that apply for the return type of DF
, see
the list of allowed return types.
If marshalling failes, a MarshallingException is thrown.
If this is called on a pointer that does not point to a function, a ArgumentError is thrown.
Implementation
DF asFunction<DF extends Function>() {
WasmSymbol symbol = symbolByAddress(boundMemory, address);
if (symbol is FunctionDescription) {
return marshall<NF, DF>(symbol.function, boundMemory);
} else {
throw ArgumentError(
'No function at address $address was found (but a global symbol)!');
}
}