Struct wasmparser::types::Types
source · pub struct Types { /* private fields */ }
Expand description
Represents the types known to a crate::Validator
once validation has completed.
The type information is returned via the crate::Validator::end
method.
Implementations§
source§impl Types
impl Types
sourcepub fn type_from_id(&self, id: TypeId) -> Option<&Type>
pub fn type_from_id(&self, id: TypeId) -> Option<&Type>
Gets a type based on its type id.
Returns None
if the type id is unknown.
sourcepub fn id_from_type_index(&self, index: u32, core: bool) -> Option<TypeId>
pub fn id_from_type_index(&self, index: u32, core: bool) -> Option<TypeId>
Gets a type id from a type index.
Returns None
if the type index is out of bounds.
sourcepub fn type_at(&self, index: u32, core: bool) -> Option<&Type>
pub fn type_at(&self, index: u32, core: bool) -> Option<&Type>
Gets a type at the given type index.
Returns None
if the index is out of bounds.
sourcepub fn func_type_at(&self, index: u32) -> Option<&FuncType>
pub fn func_type_at(&self, index: u32) -> Option<&FuncType>
Gets a defined core function type at the given type index.
Returns None
if the index is out of bounds.
sourcepub fn type_count(&self) -> usize
pub fn type_count(&self) -> usize
Gets the count of core types.
sourcepub fn table_at(&self, index: u32) -> Option<TableType>
pub fn table_at(&self, index: u32) -> Option<TableType>
Gets the type of a table at the given table index.
Returns None
if the index is out of bounds.
sourcepub fn table_count(&self) -> usize
pub fn table_count(&self) -> usize
Gets the count of imported and defined tables.
sourcepub fn memory_at(&self, index: u32) -> Option<MemoryType>
pub fn memory_at(&self, index: u32) -> Option<MemoryType>
Gets the type of a memory at the given memory index.
Returns None
if the index is out of bounds.
sourcepub fn memory_count(&self) -> usize
pub fn memory_count(&self) -> usize
Gets the count of imported and defined memories.
sourcepub fn global_at(&self, index: u32) -> Option<GlobalType>
pub fn global_at(&self, index: u32) -> Option<GlobalType>
Gets the type of a global at the given global index.
Returns None
if the index is out of bounds.
sourcepub fn global_count(&self) -> usize
pub fn global_count(&self) -> usize
Gets the count of imported and defined globals.
sourcepub fn tag_at(&self, index: u32) -> Option<&FuncType>
pub fn tag_at(&self, index: u32) -> Option<&FuncType>
Gets the type of a tag at the given tag index.
Returns None
if the index is out of bounds.
sourcepub fn function_at(&self, index: u32) -> Option<&FuncType>
pub fn function_at(&self, index: u32) -> Option<&FuncType>
Gets the type of a core function at the given function index.
Returns None
if the index is out of bounds.
sourcepub fn function_count(&self) -> usize
pub fn function_count(&self) -> usize
Gets the count of imported and defined core functions.
The count also includes aliased core functions in components.
sourcepub fn element_at(&self, index: u32) -> Option<ValType>
pub fn element_at(&self, index: u32) -> Option<ValType>
Gets the type of an element segment at the given element segment index.
Returns None
if the index is out of bounds.
sourcepub fn element_count(&self) -> usize
pub fn element_count(&self) -> usize
Gets the count of element segments.
sourcepub fn component_function_at(&self, index: u32) -> Option<&ComponentFuncType>
pub fn component_function_at(&self, index: u32) -> Option<&ComponentFuncType>
Gets the type of a component function at the given function index.
Returns None
if the index is out of bounds.
sourcepub fn component_function_count(&self) -> usize
pub fn component_function_count(&self) -> usize
Gets the count of imported, exported, or aliased component functions.
sourcepub fn module_at(&self, index: u32) -> Option<&ModuleType>
pub fn module_at(&self, index: u32) -> Option<&ModuleType>
Gets the type of a module at the given module index.
Returns None
if the index is out of bounds.
sourcepub fn module_count(&self) -> usize
pub fn module_count(&self) -> usize
Gets the count of imported, exported, or aliased modules.
sourcepub fn instance_at(&self, index: u32) -> Option<&InstanceType>
pub fn instance_at(&self, index: u32) -> Option<&InstanceType>
Gets the type of a module instance at the given module instance index.
Returns None
if the index is out of bounds.
sourcepub fn instance_count(&self) -> usize
pub fn instance_count(&self) -> usize
Gets the count of imported, exported, or aliased core module instances.
sourcepub fn component_at(&self, index: u32) -> Option<&ComponentType>
pub fn component_at(&self, index: u32) -> Option<&ComponentType>
Gets the type of a component at the given component index.
Returns None
if the index is out of bounds.
sourcepub fn component_count(&self) -> usize
pub fn component_count(&self) -> usize
Gets the count of imported, exported, or aliased components.
sourcepub fn component_instance_at(
&self,
index: u32
) -> Option<&ComponentInstanceType>
pub fn component_instance_at( &self, index: u32 ) -> Option<&ComponentInstanceType>
Gets the type of an component instance at the given component instance index.
Returns None
if the index is out of bounds.
sourcepub fn component_instance_count(&self) -> usize
pub fn component_instance_count(&self) -> usize
Gets the count of imported, exported, or aliased component instances.
sourcepub fn value_at(&self, index: u32) -> Option<ComponentValType>
pub fn value_at(&self, index: u32) -> Option<ComponentValType>
Gets the type of a value at the given value index.
Returns None
if the index is out of bounds.
sourcepub fn value_count(&self) -> usize
pub fn value_count(&self) -> usize
Gets the count of imported, exported, or aliased values.
sourcepub fn entity_type_from_import(&self, import: &Import<'_>) -> Option<EntityType>
pub fn entity_type_from_import(&self, import: &Import<'_>) -> Option<EntityType>
Gets the entity type from the given import.
sourcepub fn entity_type_from_export(&self, export: &Export<'_>) -> Option<EntityType>
pub fn entity_type_from_export(&self, export: &Export<'_>) -> Option<EntityType>
Gets the entity type from the given export.
sourcepub fn component_entity_type_from_import(
&self,
import: &ComponentImport<'_>
) -> Option<ComponentEntityType>
pub fn component_entity_type_from_import( &self, import: &ComponentImport<'_> ) -> Option<ComponentEntityType>
Gets the component entity type for the given component import.
sourcepub fn component_entity_type_from_export(
&self,
export: &ComponentExport<'_>
) -> Option<ComponentEntityType>
pub fn component_entity_type_from_export( &self, export: &ComponentExport<'_> ) -> Option<ComponentEntityType>
Gets the component entity type from the given component export.