pub trait InstructionMapper {
Show 14 methods
// Required methods
fn map_value(&mut self, value: Value) -> Value;
fn map_value_list(&mut self, value_list: ValueList) -> ValueList;
fn map_global_value(&mut self, global_value: GlobalValue) -> GlobalValue;
fn map_jump_table(&mut self, jump_table: JumpTable) -> JumpTable;
fn map_exception_table(
&mut self,
exception_table: ExceptionTable,
) -> ExceptionTable;
fn map_block_call(&mut self, block_call: BlockCall) -> BlockCall;
fn map_block(&mut self, block: Block) -> Block;
fn map_func_ref(&mut self, func_ref: FuncRef) -> FuncRef;
fn map_sig_ref(&mut self, sig_ref: SigRef) -> SigRef;
fn map_stack_slot(&mut self, stack_slot: StackSlot) -> StackSlot;
fn map_dynamic_stack_slot(
&mut self,
dynamic_stack_slot: DynamicStackSlot,
) -> DynamicStackSlot;
fn map_constant(&mut self, constant: Constant) -> Constant;
fn map_immediate(&mut self, immediate: Immediate) -> Immediate;
// Provided method
fn map_mem_flags(&mut self, flags: MemFlags) -> MemFlags { ... }
}Expand description
A trait to map some functions over each of the entities within an
instruction, when paired with InstructionData::map.
Required Methods§
Sourcefn map_value_list(&mut self, value_list: ValueList) -> ValueList
fn map_value_list(&mut self, value_list: ValueList) -> ValueList
Map a function over a ValueList.
Sourcefn map_global_value(&mut self, global_value: GlobalValue) -> GlobalValue
fn map_global_value(&mut self, global_value: GlobalValue) -> GlobalValue
Map a function over a GlobalValue.
Sourcefn map_jump_table(&mut self, jump_table: JumpTable) -> JumpTable
fn map_jump_table(&mut self, jump_table: JumpTable) -> JumpTable
Map a function over a JumpTable.
Sourcefn map_exception_table(
&mut self,
exception_table: ExceptionTable,
) -> ExceptionTable
fn map_exception_table( &mut self, exception_table: ExceptionTable, ) -> ExceptionTable
Map a function over an ExceptionTable.
Sourcefn map_block_call(&mut self, block_call: BlockCall) -> BlockCall
fn map_block_call(&mut self, block_call: BlockCall) -> BlockCall
Map a function over a BlockCall.
Sourcefn map_func_ref(&mut self, func_ref: FuncRef) -> FuncRef
fn map_func_ref(&mut self, func_ref: FuncRef) -> FuncRef
Map a function over a FuncRef.
Sourcefn map_sig_ref(&mut self, sig_ref: SigRef) -> SigRef
fn map_sig_ref(&mut self, sig_ref: SigRef) -> SigRef
Map a function over a SigRef.
Sourcefn map_stack_slot(&mut self, stack_slot: StackSlot) -> StackSlot
fn map_stack_slot(&mut self, stack_slot: StackSlot) -> StackSlot
Map a function over a StackSlot.
Sourcefn map_dynamic_stack_slot(
&mut self,
dynamic_stack_slot: DynamicStackSlot,
) -> DynamicStackSlot
fn map_dynamic_stack_slot( &mut self, dynamic_stack_slot: DynamicStackSlot, ) -> DynamicStackSlot
Map a function over a DynamicStackSlot.
Sourcefn map_constant(&mut self, constant: Constant) -> Constant
fn map_constant(&mut self, constant: Constant) -> Constant
Map a function over a Constant.
Sourcefn map_immediate(&mut self, immediate: Immediate) -> Immediate
fn map_immediate(&mut self, immediate: Immediate) -> Immediate
Map a function over an Immediate.
Provided Methods§
Sourcefn map_mem_flags(&mut self, flags: MemFlags) -> MemFlags
fn map_mem_flags(&mut self, flags: MemFlags) -> MemFlags
Map a function over a MemFlags entity.
The default implementation returns the flags unchanged, which is correct for mappers within a single function. Override this when mapping between functions (e.g. inlining) to re-insert the flags data into the target DFG.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".