Struct cranelift_wasm::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<RefType>
pub fn element_at(&self, index: u32) -> Option<RefType>
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_of_extern(
&self,
name: &str,
) -> Option<ComponentEntityType>
pub fn component_entity_type_of_extern( &self, name: &str, ) -> Option<ComponentEntityType>
Gets the component entity type for the given component import or export name.
sourcepub fn peel_alias(&self, ty: TypeId) -> Option<TypeId>
pub fn peel_alias(&self, ty: TypeId) -> Option<TypeId>
Attempts to lookup the type id that ty
is an alias of.
Returns None
if ty
wasn’t listed as aliasing a prior type.
Auto Trait Implementations§
impl Freeze for Types
impl RefUnwindSafe for Types
impl Send for Types
impl Sync for Types
impl Unpin for Types
impl UnwindSafe for Types
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
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more