pub trait WasmModuleResources {
    type FuncType: WasmFuncType;

    // Required methods
    fn table_at(&self, at: u32) -> Option<TableType>;
    fn memory_at(&self, at: u32) -> Option<MemoryType>;
    fn tag_at(&self, at: u32) -> Option<&Self::FuncType>;
    fn global_at(&self, at: u32) -> Option<GlobalType>;
    fn func_type_at(&self, type_idx: u32) -> Option<&Self::FuncType>;
    fn type_of_function(&self, func_idx: u32) -> Option<&Self::FuncType>;
    fn element_type_at(&self, at: u32) -> Option<ValType>;
    fn element_count(&self) -> u32;
    fn data_count(&self) -> Option<u32>;
    fn is_function_referenced(&self, idx: u32) -> bool;
}
Expand description

Types that qualify as Wasm validation database.

Note

The wasmparser crate provides a builtin validation framework but allows users of this crate to also feed the parsed Wasm into their own data structure while parsing and also validate at the same time without the need of an additional parsing or validation step or copying data around.

Required Associated Types§

source

type FuncType: WasmFuncType

The function type used for validation.

Required Methods§

source

fn table_at(&self, at: u32) -> Option<TableType>

Returns the table at given index if any.

source

fn memory_at(&self, at: u32) -> Option<MemoryType>

Returns the linear memory at given index.

source

fn tag_at(&self, at: u32) -> Option<&Self::FuncType>

Returns the tag at given index.

source

fn global_at(&self, at: u32) -> Option<GlobalType>

Returns the global variable at given index.

source

fn func_type_at(&self, type_idx: u32) -> Option<&Self::FuncType>

Returns the FuncType associated with the given type index.

source

fn type_of_function(&self, func_idx: u32) -> Option<&Self::FuncType>

Returns the FuncType associated with the given function index.

source

fn element_type_at(&self, at: u32) -> Option<ValType>

Returns the element type at the given index.

source

fn element_count(&self) -> u32

Returns the number of elements.

source

fn data_count(&self) -> Option<u32>

Returns the number of bytes in the Wasm data section.

source

fn is_function_referenced(&self, idx: u32) -> bool

Returns whether the function index is referenced in the module anywhere outside of the start/function sections.

Implementations on Foreign Types§

source§

impl<T> WasmModuleResources for &Twhere T: ?Sized + WasmModuleResources,

source§

impl<T> WasmModuleResources for Arc<T>where T: WasmModuleResources,

§

type FuncType = <T as WasmModuleResources>::FuncType

source§

fn table_at(&self, at: u32) -> Option<TableType>

source§

fn memory_at(&self, at: u32) -> Option<MemoryType>

source§

fn tag_at(&self, at: u32) -> Option<&Self::FuncType>

source§

fn global_at(&self, at: u32) -> Option<GlobalType>

source§

fn func_type_at(&self, type_idx: u32) -> Option<&Self::FuncType>

source§

fn type_of_function(&self, func_idx: u32) -> Option<&Self::FuncType>

source§

fn element_type_at(&self, at: u32) -> Option<ValType>

source§

fn element_count(&self) -> u32

source§

fn data_count(&self) -> Option<u32>

source§

fn is_function_referenced(&self, idx: u32) -> bool

Implementors§