Struct cranelift_wasm::wasmparser::types::TypesRef
source · pub struct TypesRef<'a> { /* private fields */ }
Expand description
Represents the types known to a crate::Validator
during validation.
Retrieved via the crate::Validator::types
method.
Implementations§
source§impl<'a> TypesRef<'a>
impl<'a> TypesRef<'a>
sourcepub fn get(&self, id: TypeId) -> Option<&'a Type>
pub fn get(&self, id: TypeId) -> Option<&'a Type>
Gets a type based on its type id.
Returns None
if the type id is unknown.
sourcepub fn core_type_at(&self, index: u32) -> TypeId
pub fn core_type_at(&self, index: u32) -> TypeId
Gets a core WebAssembly type id from a type index.
Note that this is in contrast to TypesRef::component_type_at
which
gets a component type from its index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn component_type_at(&self, index: u32) -> TypeId
pub fn component_type_at(&self, index: u32) -> TypeId
Gets a type id from a type index.
Panics
Panics if index
is not a valid function index or if this type
information represents a core module.
sourcepub fn core_type_count(&self) -> u32
pub fn core_type_count(&self) -> u32
Returns the number of core types defined so far.
sourcepub fn component_type_count(&self) -> u32
pub fn component_type_count(&self) -> u32
Returns the number of component types defined so far.
sourcepub fn table_at(&self, index: u32) -> TableType
pub fn table_at(&self, index: u32) -> TableType
Gets the type of a table at the given table index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn table_count(&self) -> u32
pub fn table_count(&self) -> u32
Returns the number of tables defined so far.
sourcepub fn memory_at(&self, index: u32) -> MemoryType
pub fn memory_at(&self, index: u32) -> MemoryType
Gets the type of a memory at the given memory index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn memory_count(&self) -> u32
pub fn memory_count(&self) -> u32
Returns the number of memories defined so far.
sourcepub fn global_at(&self, index: u32) -> GlobalType
pub fn global_at(&self, index: u32) -> GlobalType
Gets the type of a global at the given global index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn global_count(&self) -> u32
pub fn global_count(&self) -> u32
Returns the number of globals defined so far.
sourcepub fn tag_at(&self, index: u32) -> TypeId
pub fn tag_at(&self, index: u32) -> TypeId
Gets the type of a tag at the given tag index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn function_at(&self, index: u32) -> TypeId
pub fn function_at(&self, index: u32) -> TypeId
Gets the type of a core function at the given function index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn function_count(&self) -> u32
pub fn function_count(&self) -> u32
Gets the count of core functions defined so far.
Note that this includes imported functions, defined functions, and for components lowered/aliased functions.
sourcepub fn element_at(&self, index: u32) -> RefType
pub fn element_at(&self, index: u32) -> RefType
Gets the type of an element segment at the given element segment index.
Panics
This will panic if the index
provided is out of bounds.
sourcepub fn element_count(&self) -> u32
pub fn element_count(&self) -> u32
Returns the number of elements defined so far.
sourcepub fn component_function_at(&self, index: u32) -> TypeId
pub fn component_function_at(&self, index: u32) -> TypeId
Gets the type of a component function at the given function index.
Panics
This will panic if the index
provided is out of bounds or if this type
information represents a core module.
sourcepub fn component_function_count(&self) -> u32
pub fn component_function_count(&self) -> u32
Returns the number of component functions defined so far.
sourcepub fn module_at(&self, index: u32) -> TypeId
pub fn module_at(&self, index: u32) -> TypeId
Gets the type of a module at the given module index.
Panics
This will panic if the index
provided is out of bounds or if this type
information represents a core module.
sourcepub fn module_count(&self) -> u32
pub fn module_count(&self) -> u32
Returns the number of core wasm modules defined so far.
sourcepub fn instance_at(&self, index: u32) -> TypeId
pub fn instance_at(&self, index: u32) -> TypeId
Gets the type of a module instance at the given module instance index.
Panics
This will panic if the index
provided is out of bounds or if this type
information represents a core module.
sourcepub fn instance_count(&self) -> u32
pub fn instance_count(&self) -> u32
Returns the number of core wasm instances defined so far.
sourcepub fn component_at(&self, index: u32) -> TypeId
pub fn component_at(&self, index: u32) -> TypeId
Gets the type of a component at the given component index.
Panics
This will panic if the index
provided is out of bounds or if this type
information represents a core module.
sourcepub fn component_count(&self) -> u32
pub fn component_count(&self) -> u32
Returns the number of components defined so far.
sourcepub fn component_instance_at(&self, index: u32) -> TypeId
pub fn component_instance_at(&self, index: u32) -> TypeId
Gets the type of an component instance at the given component instance index.
Panics
This will panic if the index
provided is out of bounds or if this type
information represents a core module.
sourcepub fn component_instance_count(&self) -> u32
pub fn component_instance_count(&self) -> u32
Returns the number of component instances defined so far.
sourcepub fn value_at(&self, index: u32) -> ComponentValType
pub fn value_at(&self, index: u32) -> ComponentValType
Gets the type of a value at the given value index.
Panics
This will panic if the index
provided is out of bounds or if this type
information represents a core module.
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 for 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_of_import(
&self,
name: &str
) -> Option<ComponentEntityType>
pub fn component_entity_type_of_import( &self, name: &str ) -> Option<ComponentEntityType>
Gets the component entity type for the given component import.
sourcepub fn component_entity_type_of_export(
&self,
name: &str
) -> Option<ComponentEntityType>
pub fn component_entity_type_of_export( &self, name: &str ) -> Option<ComponentEntityType>
Gets the component entity type for the given component export.