dynamic apply()

in wasm/lib/src/module.dart [406:423]


  dynamic apply(List<dynamic> args) {
    if (args.length != _argTypes.length) {
      throw ArgumentError('Wrong number arguments for WASM function: $this');
    }
    for (var i = 0; i < args.length; ++i) {
      if (!_args.ref.data[i].fill(_argTypes[i], args[i])) {
        throw ArgumentError('Bad argument type for WASM function: $this');
      }
    }
    runtime.call(_func, _args, _results, toString());

    if (_returnType == wasmerValKindVoid) {
      return null;
    }
    final result = _results.ref.data[0];
    assert(_returnType == result.kind);
    return result.toDynamic;
  }