using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace Wasmtime.Exports
{
///
/// Represents a function exported from a WebAssembly module.
///
public class FunctionExport : Export
{
internal FunctionExport(IntPtr exportType, IntPtr externType) : base(exportType)
{
Debug.Assert(Interop.wasm_externtype_kind(externType) == Interop.wasm_externkind_t.WASM_EXTERN_FUNC);
unsafe
{
var funcType = Interop.wasm_externtype_as_functype_const(externType);
Parameters = Interop.ToValueKindList(Interop.wasm_functype_params(funcType));
Results = Interop.ToValueKindList(Interop.wasm_functype_results(funcType));
}
}
///
/// The parameter of the exported WebAssembly function.
///
public IReadOnlyList Parameters { get; private set; }
///
/// The results of the exported WebAssembly function.
///
public IReadOnlyList Results { get; private set; }
}
}