using System;
using System.Diagnostics;
namespace Wasmtime.Imports
{
///
/// Represents a memory imported to a WebAssembly module.
///
public class MemoryImport : Import
{
internal MemoryImport(IntPtr importType, IntPtr externType) : base(importType)
{
Debug.Assert(Interop.wasm_externtype_kind(externType) == Interop.wasm_externkind_t.WASM_EXTERN_MEMORY);
var memoryType = Interop.wasm_externtype_as_memorytype_const(externType);
unsafe
{
var limits = Interop.wasm_memorytype_limits(memoryType);
Minimum = limits->min;
Maximum = limits->max;
}
}
///
/// The minimum memory size (in WebAssembly page units).
///
public uint Minimum { get; private set; }
///
/// The maximum memory size (in WebAssembly page units).
///
public uint Maximum { get; private set; }
}
}