pub trait WasmModuleResources {
type FuncType: WasmFuncType;
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.
Associated Types
type FuncType: WasmFuncType
type FuncType: WasmFuncType
The function type used for validation.
Required methods
fn memory_at(&self, at: u32) -> Option<MemoryType>
fn memory_at(&self, at: u32) -> Option<MemoryType>
Returns the linear memory at given index.
fn global_at(&self, at: u32) -> Option<GlobalType>
fn global_at(&self, at: u32) -> Option<GlobalType>
Returns the global variable at given index.
fn func_type_at(&self, type_idx: u32) -> Option<&Self::FuncType>
fn func_type_at(&self, type_idx: u32) -> Option<&Self::FuncType>
Returns the FuncType
associated with the given type index.
fn type_of_function(&self, func_idx: u32) -> Option<&Self::FuncType>
fn type_of_function(&self, func_idx: u32) -> Option<&Self::FuncType>
Returns the FuncType
associated with the given function index.
fn element_type_at(&self, at: u32) -> Option<ValType>
fn element_type_at(&self, at: u32) -> Option<ValType>
Returns the element type at the given index.
fn element_count(&self) -> u32
fn element_count(&self) -> u32
Returns the number of elements.
fn data_count(&self) -> Option<u32>
fn data_count(&self) -> Option<u32>
Returns the number of bytes in the Wasm data section.
fn is_function_referenced(&self, idx: u32) -> bool
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.