[−][src]Struct wasmer_vm::ModuleInfo
A translated WebAssembly module, excluding the function bodies and memory initializers.
Fields
id: ModuleId
A 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: usize
Number of imported functions in the module.
num_imported_tables: usize
Number of imported tables in the module.
num_imported_memories: usize
Number of imported memories in the module.
num_imported_globals: usize
Number 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,
pub 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.
pub 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>,