Struct wasmtime_environ::Module [−][src]
pub struct Module {Show fields
pub parent: Option<usize>,
pub name: Option<String>,
pub initializers: Vec<Initializer>,
pub exports: IndexMap<String, EntityIndex>,
pub start_func: Option<FuncIndex>,
pub table_elements: Vec<TableElements>,
pub passive_elements: HashMap<ElemIndex, Box<[FuncIndex]>>,
pub passive_data: HashMap<DataIndex, Arc<[u8]>>,
pub func_names: HashMap<FuncIndex, String>,
pub types: PrimaryMap<TypeIndex, ModuleType>,
pub num_imported_funcs: usize,
pub num_imported_tables: usize,
pub num_imported_memories: usize,
pub num_imported_globals: usize,
pub functions: PrimaryMap<FuncIndex, SignatureIndex>,
pub table_plans: PrimaryMap<TableIndex, TablePlan>,
pub memory_plans: PrimaryMap<MemoryIndex, MemoryPlan>,
pub globals: PrimaryMap<GlobalIndex, Global>,
pub instances: PrimaryMap<InstanceIndex, InstanceTypeIndex>,
pub modules: PrimaryMap<ModuleIndex, ModuleTypeIndex>,
}A translated WebAssembly module, excluding the function bodies and memory initializers.
Fields
parent: Option<usize>The parent index of this module, used for the module linking proposal.
This index is into the list of modules returned from compilation of a single wasm file with nested modules.
name: Option<String>The name of this wasm module, often found in the wasm file.
initializers: Vec<Initializer>All import records, in the order they are declared in the module.
exports: IndexMap<String, EntityIndex>Exported entities.
start_func: Option<FuncIndex>The module “start” function, if present.
table_elements: Vec<TableElements>WebAssembly table initializers.
passive_elements: HashMap<ElemIndex, Box<[FuncIndex]>>WebAssembly passive elements.
passive_data: HashMap<DataIndex, Arc<[u8]>>WebAssembly passive data segments.
func_names: HashMap<FuncIndex, String>WebAssembly table initializers.
types: PrimaryMap<TypeIndex, ModuleType>Types declared in the wasm module.
num_imported_funcs: usizeNumber of imported or aliased functions in the module.
num_imported_tables: usizeNumber of imported or aliased tables in the module.
num_imported_memories: usizeNumber of imported or aliased memories in the module.
num_imported_globals: usizeNumber of imported or aliased globals in the module.
functions: PrimaryMap<FuncIndex, SignatureIndex>Types of functions, imported and local.
table_plans: PrimaryMap<TableIndex, TablePlan>WebAssembly tables.
memory_plans: PrimaryMap<MemoryIndex, MemoryPlan>WebAssembly linear memory plans.
globals: PrimaryMap<GlobalIndex, Global>WebAssembly global variables.
instances: PrimaryMap<InstanceIndex, InstanceTypeIndex>The type of each wasm instance this module defines.
modules: PrimaryMap<ModuleIndex, ModuleTypeIndex>The type of each nested wasm module this module contains.
Implementations
impl Module[src]
impl Module[src]pub fn new() -> Self[src]
Allocates the module data structures.
pub fn get_passive_element(&self, index: ElemIndex) -> Option<&[FuncIndex]>[src]
Get the given passive element, if it exists.
pub fn func_index(&self, defined_func: DefinedFuncIndex) -> FuncIndex[src]
Convert a DefinedFuncIndex into a FuncIndex.
pub fn defined_func_index(&self, func: FuncIndex) -> Option<DefinedFuncIndex>[src]
Convert a FuncIndex into a DefinedFuncIndex. Returns None if the
index is an imported function.
pub fn is_imported_function(&self, index: FuncIndex) -> bool[src]
Test whether the given function index is for an imported function.
pub fn table_index(&self, defined_table: DefinedTableIndex) -> TableIndex[src]
Convert a DefinedTableIndex into a TableIndex.
pub fn defined_table_index(
&self,
table: TableIndex
) -> Option<DefinedTableIndex>[src]
&self,
table: TableIndex
) -> Option<DefinedTableIndex>
Convert a TableIndex into a DefinedTableIndex. Returns None if the
index is an imported table.
pub fn is_imported_table(&self, index: TableIndex) -> bool[src]
Test whether the given table index is for an imported table.
pub fn memory_index(&self, defined_memory: DefinedMemoryIndex) -> MemoryIndex[src]
Convert a DefinedMemoryIndex into a MemoryIndex.
pub fn defined_memory_index(
&self,
memory: MemoryIndex
) -> Option<DefinedMemoryIndex>[src]
&self,
memory: MemoryIndex
) -> Option<DefinedMemoryIndex>
Convert a MemoryIndex into a DefinedMemoryIndex. Returns None if the
index is an imported memory.
pub fn is_imported_memory(&self, index: MemoryIndex) -> bool[src]
Test whether the given memory index is for an imported memory.
pub fn global_index(&self, defined_global: DefinedGlobalIndex) -> GlobalIndex[src]
Convert a DefinedGlobalIndex into a GlobalIndex.
pub fn defined_global_index(
&self,
global: GlobalIndex
) -> Option<DefinedGlobalIndex>[src]
&self,
global: GlobalIndex
) -> Option<DefinedGlobalIndex>
Convert a GlobalIndex into a DefinedGlobalIndex. Returns None if the
index is an imported global.
pub fn is_imported_global(&self, index: GlobalIndex) -> bool[src]
Test whether the given global index is for an imported global.
pub fn imports(&self) -> impl Iterator<Item = (&str, Option<&str>, EntityType)>[src]
Returns an iterator of all the imports in this module, along with their module name, field name, and type that’s being imported.
pub fn type_of(&self, index: EntityIndex) -> EntityType[src]
Returns the type of an item based on its index
Trait Implementations
impl<'de> Deserialize<'de> for Module[src]
impl<'de> Deserialize<'de> for Module[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,