[−][src]Struct wasmer_vm::ModuleInfo
A translated WebAssembly module, excluding the function bodies and memory initializers.
Fields
id: ModuleIdA unique identifier (within this process) for this module.
We skip serialization/deserialization of this field, as it should be computed by the process.
name: Option<String>The name of this wasm module, often found in the wasm file.
imports: IndexMap<(String, String, u32), ImportIndex>Imported entities with the (module, field, index_of_the_import)
Keeping the index_of_the_import is important, as there can be
two same references to the same import, and we don't want to confuse
them.
exports: IndexMap<String, ExportIndex>Exported entities.
start_function: Option<FunctionIndex>The module "start" function, if present.
table_initializers: Vec<TableInitializer>WebAssembly table initializers.
passive_elements: HashMap<ElemIndex, Box<[FunctionIndex]>>WebAssembly passive elements.
passive_data: HashMap<DataIndex, Arc<[u8]>>WebAssembly passive data segments.
global_initializers: PrimaryMap<LocalGlobalIndex, GlobalInit>WebAssembly global initializers.
function_names: HashMap<FunctionIndex, String>WebAssembly function names.
signatures: PrimaryMap<SignatureIndex, FunctionType>WebAssembly function signatures.
functions: PrimaryMap<FunctionIndex, SignatureIndex>WebAssembly functions (imported and local).
tables: PrimaryMap<TableIndex, TableType>WebAssembly tables (imported and local).
memories: PrimaryMap<MemoryIndex, MemoryType>WebAssembly linear memories (imported and local).
globals: PrimaryMap<GlobalIndex, GlobalType>WebAssembly global variables (imported and local).
custom_sections: IndexMap<String, CustomSectionIndex>Custom sections in the module.
custom_sections_data: PrimaryMap<CustomSectionIndex, Arc<[u8]>>The data for each CustomSection in the module.
num_imported_functions: usizeNumber of imported functions in the module.
num_imported_tables: usizeNumber of imported tables in the module.
num_imported_memories: usizeNumber of imported memories in the module.
num_imported_globals: usizeNumber of imported globals in the module.
Implementations
impl ModuleInfo[src]
pub fn new() -> Self[src]
Allocates the module data structures.
pub fn get_passive_element(&self, index: ElemIndex) -> Option<&[FunctionIndex]>[src]
Get the given passive element, if it exists.
pub fn exported_signatures(&self) -> Vec<FunctionType>[src]
Get the exported signatures of the module
pub fn exports<'a>(
&'a self
) -> ExportsIterator<impl Iterator<Item = ExportType> + 'a>ⓘNotable traits for ExportsIterator<I>
impl<I: Iterator<Item = ExportType> + Sized> Iterator for ExportsIterator<I> type Item = ExportType;[src]
&'a self
) -> ExportsIterator<impl Iterator<Item = ExportType> + 'a>ⓘ
Notable traits for ExportsIterator<I>
impl<I: Iterator<Item = ExportType> + Sized> Iterator for ExportsIterator<I> type Item = ExportType;Get the export types of the module
pub fn imports<'a>(
&'a self
) -> ImportsIterator<impl Iterator<Item = ImportType> + 'a>ⓘNotable traits for ImportsIterator<I>
impl<I: Iterator<Item = ImportType> + Sized> Iterator for ImportsIterator<I> type Item = ImportType;[src]
&'a self
) -> ImportsIterator<impl Iterator<Item = ImportType> + 'a>ⓘ
Notable traits for ImportsIterator<I>
impl<I: Iterator<Item = ImportType> + Sized> Iterator for ImportsIterator<I> type Item = ImportType;Get the export types of the module
pub fn custom_sections<'a>(
&'a self,
name: &'a str
) -> impl Iterator<Item = Arc<[u8]>> + 'a[src]
&'a self,
name: &'a str
) -> impl Iterator<Item = Arc<[u8]>> + 'a
Get the custom sections of the module given a name.
pub fn func_index(&self, local_func: LocalFunctionIndex) -> FunctionIndex[src]
Convert a LocalFunctionIndex into a FunctionIndex.
pub fn local_func_index(
&self,
func: FunctionIndex
) -> Option<LocalFunctionIndex>[src]
&self,
func: FunctionIndex
) -> Option<LocalFunctionIndex>
Convert a FunctionIndex into a LocalFunctionIndex. Returns None if the
index is an imported function.
pub fn is_imported_function(&self, index: FunctionIndex) -> bool[src]
Test whether the given function index is for an imported function.
pub fn table_index(&self, local_table: LocalTableIndex) -> TableIndex[src]
Convert a LocalTableIndex into a TableIndex.
pub fn local_table_index(&self, table: TableIndex) -> Option<LocalTableIndex>[src]
Convert a TableIndex into a LocalTableIndex. 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, local_memory: LocalMemoryIndex) -> MemoryIndex[src]
Convert a LocalMemoryIndex into a MemoryIndex.
pub fn local_memory_index(
&self,
memory: MemoryIndex
) -> Option<LocalMemoryIndex>[src]
&self,
memory: MemoryIndex
) -> Option<LocalMemoryIndex>
Convert a MemoryIndex into a LocalMemoryIndex. 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, local_global: LocalGlobalIndex) -> GlobalIndex[src]
Convert a LocalGlobalIndex into a GlobalIndex.
pub fn local_global_index(
&self,
global: GlobalIndex
) -> Option<LocalGlobalIndex>[src]
&self,
global: GlobalIndex
) -> Option<LocalGlobalIndex>
Convert a GlobalIndex into a LocalGlobalIndex. 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 name(&self) -> String[src]
Get the Module name
pub fn imported_function_types<'a>(
&'a self
) -> impl Iterator<Item = FunctionType> + 'a[src]
&'a self
) -> impl Iterator<Item = FunctionType> + 'a
Get the imported function types of the module.
Trait Implementations
impl Debug for ModuleInfo[src]
impl<'de> Deserialize<'de> for ModuleInfo[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,
impl Display for ModuleInfo[src]
impl Serialize for ModuleInfo[src]
Auto Trait Implementations
impl RefUnwindSafe for ModuleInfo
impl Send for ModuleInfo
impl Sync for ModuleInfo
impl Unpin for ModuleInfo
impl UnwindSafe for ModuleInfo
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,