pub struct ModuleInfo<'src> {
pub import_info: ImportInfo,
pub wasm: InputModule<'src>,
pub export_map: HashMap<(isize, usize), (Id<Export<'static>>, &'src str)>,
pub symbols: SymbolMap<'src>,
pub indirect_function_table_id: (Id<Table<'static>>, Id<Element<'static>>),
pub indirect_function_list: Vec<Id<InputFunction<'static>>>,
}Expand description
Provides a additional info about module. Like ordered_data_symbols - ordered by offsets where symbol is defined (relative to module start) and info about imported functions
Fields§
§import_info: ImportInfo§wasm: InputModule<'src>§export_map: HashMap<(isize, usize), (Id<Export<'static>>, &'src str)>§symbols: SymbolMap<'src>§indirect_function_table_id: (Id<Table<'static>>, Id<Element<'static>>)§indirect_function_list: Vec<Id<InputFunction<'static>>>Implementations§
Source§impl<'src> ModuleInfo<'src>
impl<'src> ModuleInfo<'src>
pub fn from_wasm_bytes(wasm_bytes: &'src [u8]) -> Result<Self>
pub fn from_raw_module(module: InputModule<'src>) -> Result<Self>
pub fn function_id_iter<'any>( &'any self, ) -> impl Iterator<Item = Id<InputFunction<'static>>> + use<'any, 'src>
pub fn is_imported_function(&self, func_id: Id<InputFunction<'static>>) -> bool
pub fn as_defined_function_id( &self, func_id: Id<InputFunction<'static>>, ) -> Option<Id<FunctionWithBody<'static>>>
pub fn get_function_type_id( &self, func_id: Id<InputFunction<'static>>, ) -> Id<FuncType>
pub fn get_function_import_id( &self, func_id: Id<InputFunction<'static>>, ) -> Option<Id<Import<'static>>>
pub fn get_global_import_id( &self, global_id: Id<Global<'static>>, ) -> Option<Id<Import<'static>>>
pub fn find_function_id_by_name( &self, name: &str, ) -> Option<Id<InputFunction<'static>>>
pub fn find_global_id_by_name(&self, name: &str) -> Option<Id<Global<'static>>>
pub fn find_function_id_containing_range( &self, range: Range<usize>, ) -> Result<Id<InputFunction<'static>>>
Trait Implementations§
Auto Trait Implementations§
impl<'src> Freeze for ModuleInfo<'src>
impl<'src> RefUnwindSafe for ModuleInfo<'src>
impl<'src> Send for ModuleInfo<'src>
impl<'src> Sync for ModuleInfo<'src>
impl<'src> Unpin for ModuleInfo<'src>
impl<'src> UnsafeUnpin for ModuleInfo<'src>
impl<'src> UnwindSafe for ModuleInfo<'src>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more