pub trait VisitOperator<'a> {
type Output: 'a;
Show 364 methods
// Required methods
fn visit_unreachable(&mut self) -> Self::Output;
fn visit_nop(&mut self) -> Self::Output;
fn visit_block(&mut self, blockty: BlockType) -> Self::Output;
fn visit_loop(&mut self, blockty: BlockType) -> Self::Output;
fn visit_if(&mut self, blockty: BlockType) -> Self::Output;
fn visit_else(&mut self) -> Self::Output;
fn visit_end(&mut self) -> Self::Output;
fn visit_br(&mut self, relative_depth: u32) -> Self::Output;
fn visit_br_if(&mut self, relative_depth: u32) -> Self::Output;
fn visit_br_table(&mut self, targets: BrTable<'a>) -> Self::Output;
fn visit_return(&mut self) -> Self::Output;
fn visit_call(&mut self, function_index: u32) -> Self::Output;
fn visit_call_indirect(
&mut self,
type_index: u32,
table_index: u32,
) -> Self::Output;
fn visit_drop(&mut self) -> Self::Output;
fn visit_select(&mut self) -> Self::Output;
fn visit_local_get(&mut self, local_index: u32) -> Self::Output;
fn visit_local_set(&mut self, local_index: u32) -> Self::Output;
fn visit_local_tee(&mut self, local_index: u32) -> Self::Output;
fn visit_global_get(&mut self, global_index: u32) -> Self::Output;
fn visit_global_set(&mut self, global_index: u32) -> Self::Output;
fn visit_i32_load(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load(&mut self, memarg: MemArg) -> Self::Output;
fn visit_f32_load(&mut self, memarg: MemArg) -> Self::Output;
fn visit_f64_load(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_load8_s(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_load8_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_load16_s(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_load16_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load8_s(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load8_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load16_s(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load16_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load32_s(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_load32_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_store(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_store(&mut self, memarg: MemArg) -> Self::Output;
fn visit_f32_store(&mut self, memarg: MemArg) -> Self::Output;
fn visit_f64_store(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_store8(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_store16(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_store8(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_store16(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_store32(&mut self, memarg: MemArg) -> Self::Output;
fn visit_memory_size(&mut self, mem: u32) -> Self::Output;
fn visit_memory_grow(&mut self, mem: u32) -> Self::Output;
fn visit_i32_const(&mut self, value: i32) -> Self::Output;
fn visit_i64_const(&mut self, value: i64) -> Self::Output;
fn visit_f32_const(&mut self, value: Ieee32) -> Self::Output;
fn visit_f64_const(&mut self, value: Ieee64) -> Self::Output;
fn visit_i32_eqz(&mut self) -> Self::Output;
fn visit_i32_eq(&mut self) -> Self::Output;
fn visit_i32_ne(&mut self) -> Self::Output;
fn visit_i32_lt_s(&mut self) -> Self::Output;
fn visit_i32_lt_u(&mut self) -> Self::Output;
fn visit_i32_gt_s(&mut self) -> Self::Output;
fn visit_i32_gt_u(&mut self) -> Self::Output;
fn visit_i32_le_s(&mut self) -> Self::Output;
fn visit_i32_le_u(&mut self) -> Self::Output;
fn visit_i32_ge_s(&mut self) -> Self::Output;
fn visit_i32_ge_u(&mut self) -> Self::Output;
fn visit_i64_eqz(&mut self) -> Self::Output;
fn visit_i64_eq(&mut self) -> Self::Output;
fn visit_i64_ne(&mut self) -> Self::Output;
fn visit_i64_lt_s(&mut self) -> Self::Output;
fn visit_i64_lt_u(&mut self) -> Self::Output;
fn visit_i64_gt_s(&mut self) -> Self::Output;
fn visit_i64_gt_u(&mut self) -> Self::Output;
fn visit_i64_le_s(&mut self) -> Self::Output;
fn visit_i64_le_u(&mut self) -> Self::Output;
fn visit_i64_ge_s(&mut self) -> Self::Output;
fn visit_i64_ge_u(&mut self) -> Self::Output;
fn visit_f32_eq(&mut self) -> Self::Output;
fn visit_f32_ne(&mut self) -> Self::Output;
fn visit_f32_lt(&mut self) -> Self::Output;
fn visit_f32_gt(&mut self) -> Self::Output;
fn visit_f32_le(&mut self) -> Self::Output;
fn visit_f32_ge(&mut self) -> Self::Output;
fn visit_f64_eq(&mut self) -> Self::Output;
fn visit_f64_ne(&mut self) -> Self::Output;
fn visit_f64_lt(&mut self) -> Self::Output;
fn visit_f64_gt(&mut self) -> Self::Output;
fn visit_f64_le(&mut self) -> Self::Output;
fn visit_f64_ge(&mut self) -> Self::Output;
fn visit_i32_clz(&mut self) -> Self::Output;
fn visit_i32_ctz(&mut self) -> Self::Output;
fn visit_i32_popcnt(&mut self) -> Self::Output;
fn visit_i32_add(&mut self) -> Self::Output;
fn visit_i32_sub(&mut self) -> Self::Output;
fn visit_i32_mul(&mut self) -> Self::Output;
fn visit_i32_div_s(&mut self) -> Self::Output;
fn visit_i32_div_u(&mut self) -> Self::Output;
fn visit_i32_rem_s(&mut self) -> Self::Output;
fn visit_i32_rem_u(&mut self) -> Self::Output;
fn visit_i32_and(&mut self) -> Self::Output;
fn visit_i32_or(&mut self) -> Self::Output;
fn visit_i32_xor(&mut self) -> Self::Output;
fn visit_i32_shl(&mut self) -> Self::Output;
fn visit_i32_shr_s(&mut self) -> Self::Output;
fn visit_i32_shr_u(&mut self) -> Self::Output;
fn visit_i32_rotl(&mut self) -> Self::Output;
fn visit_i32_rotr(&mut self) -> Self::Output;
fn visit_i64_clz(&mut self) -> Self::Output;
fn visit_i64_ctz(&mut self) -> Self::Output;
fn visit_i64_popcnt(&mut self) -> Self::Output;
fn visit_i64_add(&mut self) -> Self::Output;
fn visit_i64_sub(&mut self) -> Self::Output;
fn visit_i64_mul(&mut self) -> Self::Output;
fn visit_i64_div_s(&mut self) -> Self::Output;
fn visit_i64_div_u(&mut self) -> Self::Output;
fn visit_i64_rem_s(&mut self) -> Self::Output;
fn visit_i64_rem_u(&mut self) -> Self::Output;
fn visit_i64_and(&mut self) -> Self::Output;
fn visit_i64_or(&mut self) -> Self::Output;
fn visit_i64_xor(&mut self) -> Self::Output;
fn visit_i64_shl(&mut self) -> Self::Output;
fn visit_i64_shr_s(&mut self) -> Self::Output;
fn visit_i64_shr_u(&mut self) -> Self::Output;
fn visit_i64_rotl(&mut self) -> Self::Output;
fn visit_i64_rotr(&mut self) -> Self::Output;
fn visit_f32_abs(&mut self) -> Self::Output;
fn visit_f32_neg(&mut self) -> Self::Output;
fn visit_f32_ceil(&mut self) -> Self::Output;
fn visit_f32_floor(&mut self) -> Self::Output;
fn visit_f32_trunc(&mut self) -> Self::Output;
fn visit_f32_nearest(&mut self) -> Self::Output;
fn visit_f32_sqrt(&mut self) -> Self::Output;
fn visit_f32_add(&mut self) -> Self::Output;
fn visit_f32_sub(&mut self) -> Self::Output;
fn visit_f32_mul(&mut self) -> Self::Output;
fn visit_f32_div(&mut self) -> Self::Output;
fn visit_f32_min(&mut self) -> Self::Output;
fn visit_f32_max(&mut self) -> Self::Output;
fn visit_f32_copysign(&mut self) -> Self::Output;
fn visit_f64_abs(&mut self) -> Self::Output;
fn visit_f64_neg(&mut self) -> Self::Output;
fn visit_f64_ceil(&mut self) -> Self::Output;
fn visit_f64_floor(&mut self) -> Self::Output;
fn visit_f64_trunc(&mut self) -> Self::Output;
fn visit_f64_nearest(&mut self) -> Self::Output;
fn visit_f64_sqrt(&mut self) -> Self::Output;
fn visit_f64_add(&mut self) -> Self::Output;
fn visit_f64_sub(&mut self) -> Self::Output;
fn visit_f64_mul(&mut self) -> Self::Output;
fn visit_f64_div(&mut self) -> Self::Output;
fn visit_f64_min(&mut self) -> Self::Output;
fn visit_f64_max(&mut self) -> Self::Output;
fn visit_f64_copysign(&mut self) -> Self::Output;
fn visit_i32_wrap_i64(&mut self) -> Self::Output;
fn visit_i32_trunc_f32_s(&mut self) -> Self::Output;
fn visit_i32_trunc_f32_u(&mut self) -> Self::Output;
fn visit_i32_trunc_f64_s(&mut self) -> Self::Output;
fn visit_i32_trunc_f64_u(&mut self) -> Self::Output;
fn visit_i64_extend_i32_s(&mut self) -> Self::Output;
fn visit_i64_extend_i32_u(&mut self) -> Self::Output;
fn visit_i64_trunc_f32_s(&mut self) -> Self::Output;
fn visit_i64_trunc_f32_u(&mut self) -> Self::Output;
fn visit_i64_trunc_f64_s(&mut self) -> Self::Output;
fn visit_i64_trunc_f64_u(&mut self) -> Self::Output;
fn visit_f32_convert_i32_s(&mut self) -> Self::Output;
fn visit_f32_convert_i32_u(&mut self) -> Self::Output;
fn visit_f32_convert_i64_s(&mut self) -> Self::Output;
fn visit_f32_convert_i64_u(&mut self) -> Self::Output;
fn visit_f32_demote_f64(&mut self) -> Self::Output;
fn visit_f64_convert_i32_s(&mut self) -> Self::Output;
fn visit_f64_convert_i32_u(&mut self) -> Self::Output;
fn visit_f64_convert_i64_s(&mut self) -> Self::Output;
fn visit_f64_convert_i64_u(&mut self) -> Self::Output;
fn visit_f64_promote_f32(&mut self) -> Self::Output;
fn visit_i32_reinterpret_f32(&mut self) -> Self::Output;
fn visit_i64_reinterpret_f64(&mut self) -> Self::Output;
fn visit_f32_reinterpret_i32(&mut self) -> Self::Output;
fn visit_f64_reinterpret_i64(&mut self) -> Self::Output;
fn visit_i32_extend8_s(&mut self) -> Self::Output;
fn visit_i32_extend16_s(&mut self) -> Self::Output;
fn visit_i64_extend8_s(&mut self) -> Self::Output;
fn visit_i64_extend16_s(&mut self) -> Self::Output;
fn visit_i64_extend32_s(&mut self) -> Self::Output;
fn visit_ref_eq(&mut self) -> Self::Output;
fn visit_struct_new(&mut self, struct_type_index: u32) -> Self::Output;
fn visit_struct_new_default(
&mut self,
struct_type_index: u32,
) -> Self::Output;
fn visit_struct_get(
&mut self,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_get_s(
&mut self,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_get_u(
&mut self,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_set(
&mut self,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_array_new(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_new_default(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_new_fixed(
&mut self,
array_type_index: u32,
array_size: u32,
) -> Self::Output;
fn visit_array_new_data(
&mut self,
array_type_index: u32,
array_data_index: u32,
) -> Self::Output;
fn visit_array_new_elem(
&mut self,
array_type_index: u32,
array_elem_index: u32,
) -> Self::Output;
fn visit_array_get(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_get_s(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_get_u(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_set(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_len(&mut self) -> Self::Output;
fn visit_array_fill(&mut self, array_type_index: u32) -> Self::Output;
fn visit_array_copy(
&mut self,
array_type_index_dst: u32,
array_type_index_src: u32,
) -> Self::Output;
fn visit_array_init_data(
&mut self,
array_type_index: u32,
array_data_index: u32,
) -> Self::Output;
fn visit_array_init_elem(
&mut self,
array_type_index: u32,
array_elem_index: u32,
) -> Self::Output;
fn visit_ref_test_non_null(&mut self, hty: HeapType) -> Self::Output;
fn visit_ref_test_nullable(&mut self, hty: HeapType) -> Self::Output;
fn visit_ref_cast_non_null(&mut self, hty: HeapType) -> Self::Output;
fn visit_ref_cast_nullable(&mut self, hty: HeapType) -> Self::Output;
fn visit_br_on_cast(
&mut self,
relative_depth: u32,
from_ref_type: RefType,
to_ref_type: RefType,
) -> Self::Output;
fn visit_br_on_cast_fail(
&mut self,
relative_depth: u32,
from_ref_type: RefType,
to_ref_type: RefType,
) -> Self::Output;
fn visit_any_convert_extern(&mut self) -> Self::Output;
fn visit_extern_convert_any(&mut self) -> Self::Output;
fn visit_ref_i31(&mut self) -> Self::Output;
fn visit_i31_get_s(&mut self) -> Self::Output;
fn visit_i31_get_u(&mut self) -> Self::Output;
fn visit_i32_trunc_sat_f32_s(&mut self) -> Self::Output;
fn visit_i32_trunc_sat_f32_u(&mut self) -> Self::Output;
fn visit_i32_trunc_sat_f64_s(&mut self) -> Self::Output;
fn visit_i32_trunc_sat_f64_u(&mut self) -> Self::Output;
fn visit_i64_trunc_sat_f32_s(&mut self) -> Self::Output;
fn visit_i64_trunc_sat_f32_u(&mut self) -> Self::Output;
fn visit_i64_trunc_sat_f64_s(&mut self) -> Self::Output;
fn visit_i64_trunc_sat_f64_u(&mut self) -> Self::Output;
fn visit_memory_init(&mut self, data_index: u32, mem: u32) -> Self::Output;
fn visit_data_drop(&mut self, data_index: u32) -> Self::Output;
fn visit_memory_copy(&mut self, dst_mem: u32, src_mem: u32) -> Self::Output;
fn visit_memory_fill(&mut self, mem: u32) -> Self::Output;
fn visit_table_init(&mut self, elem_index: u32, table: u32) -> Self::Output;
fn visit_elem_drop(&mut self, elem_index: u32) -> Self::Output;
fn visit_table_copy(
&mut self,
dst_table: u32,
src_table: u32,
) -> Self::Output;
fn visit_typed_select(&mut self, ty: ValType) -> Self::Output;
fn visit_ref_null(&mut self, hty: HeapType) -> Self::Output;
fn visit_ref_is_null(&mut self) -> Self::Output;
fn visit_ref_func(&mut self, function_index: u32) -> Self::Output;
fn visit_table_fill(&mut self, table: u32) -> Self::Output;
fn visit_table_get(&mut self, table: u32) -> Self::Output;
fn visit_table_set(&mut self, table: u32) -> Self::Output;
fn visit_table_grow(&mut self, table: u32) -> Self::Output;
fn visit_table_size(&mut self, table: u32) -> Self::Output;
fn visit_return_call(&mut self, function_index: u32) -> Self::Output;
fn visit_return_call_indirect(
&mut self,
type_index: u32,
table_index: u32,
) -> Self::Output;
fn visit_memory_discard(&mut self, mem: u32) -> Self::Output;
fn visit_memory_atomic_notify(&mut self, memarg: MemArg) -> Self::Output;
fn visit_memory_atomic_wait32(&mut self, memarg: MemArg) -> Self::Output;
fn visit_memory_atomic_wait64(&mut self, memarg: MemArg) -> Self::Output;
fn visit_atomic_fence(&mut self) -> Self::Output;
fn visit_i32_atomic_load(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_load(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_load8_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_load16_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_load8_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_load16_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_load32_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_store(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_store(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_store8(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_store16(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_store8(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_store16(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_store32(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_add(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_add(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_add_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw16_add_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw8_add_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw16_add_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw32_add_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_sub(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_sub(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_sub_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw16_sub_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw8_sub_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw16_sub_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw32_sub_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_and(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_and(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_and_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw16_and_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw8_and_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw16_and_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw32_and_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_or(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_or(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_or_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw16_or_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw8_or_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw16_or_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw32_or_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_xor(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_xor(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_xor_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw16_xor_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw8_xor_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw16_xor_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw32_xor_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_xchg(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_xchg(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_xchg_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw16_xchg_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw8_xchg_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw16_xchg_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw32_xchg_u(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw_cmpxchg(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i64_atomic_rmw_cmpxchg(&mut self, memarg: MemArg) -> Self::Output;
fn visit_i32_atomic_rmw8_cmpxchg_u(
&mut self,
memarg: MemArg,
) -> Self::Output;
fn visit_i32_atomic_rmw16_cmpxchg_u(
&mut self,
memarg: MemArg,
) -> Self::Output;
fn visit_i64_atomic_rmw8_cmpxchg_u(
&mut self,
memarg: MemArg,
) -> Self::Output;
fn visit_i64_atomic_rmw16_cmpxchg_u(
&mut self,
memarg: MemArg,
) -> Self::Output;
fn visit_i64_atomic_rmw32_cmpxchg_u(
&mut self,
memarg: MemArg,
) -> Self::Output;
fn visit_try_table(&mut self, try_table: TryTable) -> Self::Output;
fn visit_throw(&mut self, tag_index: u32) -> Self::Output;
fn visit_throw_ref(&mut self) -> Self::Output;
fn visit_try(&mut self, blockty: BlockType) -> Self::Output;
fn visit_catch(&mut self, tag_index: u32) -> Self::Output;
fn visit_rethrow(&mut self, relative_depth: u32) -> Self::Output;
fn visit_delegate(&mut self, relative_depth: u32) -> Self::Output;
fn visit_catch_all(&mut self) -> Self::Output;
fn visit_global_atomic_get(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_set(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_add(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_sub(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_and(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_or(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_xor(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_xchg(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_global_atomic_rmw_cmpxchg(
&mut self,
ordering: Ordering,
global_index: u32,
) -> Self::Output;
fn visit_table_atomic_get(
&mut self,
ordering: Ordering,
table_index: u32,
) -> Self::Output;
fn visit_table_atomic_set(
&mut self,
ordering: Ordering,
table_index: u32,
) -> Self::Output;
fn visit_table_atomic_rmw_xchg(
&mut self,
ordering: Ordering,
table_index: u32,
) -> Self::Output;
fn visit_table_atomic_rmw_cmpxchg(
&mut self,
ordering: Ordering,
table_index: u32,
) -> Self::Output;
fn visit_struct_atomic_get(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_get_s(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_get_u(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_set(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_add(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_sub(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_and(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_or(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_xor(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_xchg(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_struct_atomic_rmw_cmpxchg(
&mut self,
ordering: Ordering,
struct_type_index: u32,
field_index: u32,
) -> Self::Output;
fn visit_array_atomic_get(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_get_s(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_get_u(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_set(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_add(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_sub(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_and(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_or(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_xor(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_xchg(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_array_atomic_rmw_cmpxchg(
&mut self,
ordering: Ordering,
array_type_index: u32,
) -> Self::Output;
fn visit_ref_i31_shared(&mut self) -> Self::Output;
fn visit_call_ref(&mut self, type_index: u32) -> Self::Output;
fn visit_return_call_ref(&mut self, type_index: u32) -> Self::Output;
fn visit_ref_as_non_null(&mut self) -> Self::Output;
fn visit_br_on_null(&mut self, relative_depth: u32) -> Self::Output;
fn visit_br_on_non_null(&mut self, relative_depth: u32) -> Self::Output;
fn visit_cont_new(&mut self, cont_type_index: u32) -> Self::Output;
fn visit_cont_bind(
&mut self,
argument_index: u32,
result_index: u32,
) -> Self::Output;
fn visit_suspend(&mut self, tag_index: u32) -> Self::Output;
fn visit_resume(
&mut self,
cont_type_index: u32,
resume_table: ResumeTable,
) -> Self::Output;
fn visit_resume_throw(
&mut self,
cont_type_index: u32,
tag_index: u32,
resume_table: ResumeTable,
) -> Self::Output;
fn visit_switch(
&mut self,
cont_type_index: u32,
tag_index: u32,
) -> Self::Output;
fn visit_i64_add128(&mut self) -> Self::Output;
fn visit_i64_sub128(&mut self) -> Self::Output;
fn visit_i64_mul_wide_s(&mut self) -> Self::Output;
fn visit_i64_mul_wide_u(&mut self) -> Self::Output;
// Provided methods
fn visit_operator(&mut self, op: &Operator<'a>) -> Self::Output { ... }
fn simd_visitor(
&mut self,
) -> Option<&mut dyn VisitSimdOperator<'a, Output = Self::Output>> { ... }
}
Expand description
Trait implemented by types that can visit all Operator
variants.
Required Associated Types§
Required Methods§
fn visit_unreachable(&mut self) -> Self::Output
fn visit_nop(&mut self) -> Self::Output
fn visit_block(&mut self, blockty: BlockType) -> Self::Output
fn visit_loop(&mut self, blockty: BlockType) -> Self::Output
fn visit_if(&mut self, blockty: BlockType) -> Self::Output
fn visit_else(&mut self) -> Self::Output
fn visit_end(&mut self) -> Self::Output
fn visit_br(&mut self, relative_depth: u32) -> Self::Output
fn visit_br_if(&mut self, relative_depth: u32) -> Self::Output
fn visit_br_table(&mut self, targets: BrTable<'a>) -> Self::Output
fn visit_return(&mut self) -> Self::Output
fn visit_call(&mut self, function_index: u32) -> Self::Output
fn visit_call_indirect( &mut self, type_index: u32, table_index: u32, ) -> Self::Output
fn visit_drop(&mut self) -> Self::Output
fn visit_select(&mut self) -> Self::Output
fn visit_local_get(&mut self, local_index: u32) -> Self::Output
fn visit_local_set(&mut self, local_index: u32) -> Self::Output
fn visit_local_tee(&mut self, local_index: u32) -> Self::Output
fn visit_global_get(&mut self, global_index: u32) -> Self::Output
fn visit_global_set(&mut self, global_index: u32) -> Self::Output
fn visit_i32_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_f32_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_f64_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load8_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load16_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load8_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load16_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load32_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load32_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_f32_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_f64_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store32(&mut self, memarg: MemArg) -> Self::Output
fn visit_memory_size(&mut self, mem: u32) -> Self::Output
fn visit_memory_grow(&mut self, mem: u32) -> Self::Output
fn visit_i32_const(&mut self, value: i32) -> Self::Output
fn visit_i64_const(&mut self, value: i64) -> Self::Output
fn visit_f32_const(&mut self, value: Ieee32) -> Self::Output
fn visit_f64_const(&mut self, value: Ieee64) -> Self::Output
fn visit_i32_eqz(&mut self) -> Self::Output
fn visit_i32_eq(&mut self) -> Self::Output
fn visit_i32_ne(&mut self) -> Self::Output
fn visit_i32_lt_s(&mut self) -> Self::Output
fn visit_i32_lt_u(&mut self) -> Self::Output
fn visit_i32_gt_s(&mut self) -> Self::Output
fn visit_i32_gt_u(&mut self) -> Self::Output
fn visit_i32_le_s(&mut self) -> Self::Output
fn visit_i32_le_u(&mut self) -> Self::Output
fn visit_i32_ge_s(&mut self) -> Self::Output
fn visit_i32_ge_u(&mut self) -> Self::Output
fn visit_i64_eqz(&mut self) -> Self::Output
fn visit_i64_eq(&mut self) -> Self::Output
fn visit_i64_ne(&mut self) -> Self::Output
fn visit_i64_lt_s(&mut self) -> Self::Output
fn visit_i64_lt_u(&mut self) -> Self::Output
fn visit_i64_gt_s(&mut self) -> Self::Output
fn visit_i64_gt_u(&mut self) -> Self::Output
fn visit_i64_le_s(&mut self) -> Self::Output
fn visit_i64_le_u(&mut self) -> Self::Output
fn visit_i64_ge_s(&mut self) -> Self::Output
fn visit_i64_ge_u(&mut self) -> Self::Output
fn visit_f32_eq(&mut self) -> Self::Output
fn visit_f32_ne(&mut self) -> Self::Output
fn visit_f32_lt(&mut self) -> Self::Output
fn visit_f32_gt(&mut self) -> Self::Output
fn visit_f32_le(&mut self) -> Self::Output
fn visit_f32_ge(&mut self) -> Self::Output
fn visit_f64_eq(&mut self) -> Self::Output
fn visit_f64_ne(&mut self) -> Self::Output
fn visit_f64_lt(&mut self) -> Self::Output
fn visit_f64_gt(&mut self) -> Self::Output
fn visit_f64_le(&mut self) -> Self::Output
fn visit_f64_ge(&mut self) -> Self::Output
fn visit_i32_clz(&mut self) -> Self::Output
fn visit_i32_ctz(&mut self) -> Self::Output
fn visit_i32_popcnt(&mut self) -> Self::Output
fn visit_i32_add(&mut self) -> Self::Output
fn visit_i32_sub(&mut self) -> Self::Output
fn visit_i32_mul(&mut self) -> Self::Output
fn visit_i32_div_s(&mut self) -> Self::Output
fn visit_i32_div_u(&mut self) -> Self::Output
fn visit_i32_rem_s(&mut self) -> Self::Output
fn visit_i32_rem_u(&mut self) -> Self::Output
fn visit_i32_and(&mut self) -> Self::Output
fn visit_i32_or(&mut self) -> Self::Output
fn visit_i32_xor(&mut self) -> Self::Output
fn visit_i32_shl(&mut self) -> Self::Output
fn visit_i32_shr_s(&mut self) -> Self::Output
fn visit_i32_shr_u(&mut self) -> Self::Output
fn visit_i32_rotl(&mut self) -> Self::Output
fn visit_i32_rotr(&mut self) -> Self::Output
fn visit_i64_clz(&mut self) -> Self::Output
fn visit_i64_ctz(&mut self) -> Self::Output
fn visit_i64_popcnt(&mut self) -> Self::Output
fn visit_i64_add(&mut self) -> Self::Output
fn visit_i64_sub(&mut self) -> Self::Output
fn visit_i64_mul(&mut self) -> Self::Output
fn visit_i64_div_s(&mut self) -> Self::Output
fn visit_i64_div_u(&mut self) -> Self::Output
fn visit_i64_rem_s(&mut self) -> Self::Output
fn visit_i64_rem_u(&mut self) -> Self::Output
fn visit_i64_and(&mut self) -> Self::Output
fn visit_i64_or(&mut self) -> Self::Output
fn visit_i64_xor(&mut self) -> Self::Output
fn visit_i64_shl(&mut self) -> Self::Output
fn visit_i64_shr_s(&mut self) -> Self::Output
fn visit_i64_shr_u(&mut self) -> Self::Output
fn visit_i64_rotl(&mut self) -> Self::Output
fn visit_i64_rotr(&mut self) -> Self::Output
fn visit_f32_abs(&mut self) -> Self::Output
fn visit_f32_neg(&mut self) -> Self::Output
fn visit_f32_ceil(&mut self) -> Self::Output
fn visit_f32_floor(&mut self) -> Self::Output
fn visit_f32_trunc(&mut self) -> Self::Output
fn visit_f32_nearest(&mut self) -> Self::Output
fn visit_f32_sqrt(&mut self) -> Self::Output
fn visit_f32_add(&mut self) -> Self::Output
fn visit_f32_sub(&mut self) -> Self::Output
fn visit_f32_mul(&mut self) -> Self::Output
fn visit_f32_div(&mut self) -> Self::Output
fn visit_f32_min(&mut self) -> Self::Output
fn visit_f32_max(&mut self) -> Self::Output
fn visit_f32_copysign(&mut self) -> Self::Output
fn visit_f64_abs(&mut self) -> Self::Output
fn visit_f64_neg(&mut self) -> Self::Output
fn visit_f64_ceil(&mut self) -> Self::Output
fn visit_f64_floor(&mut self) -> Self::Output
fn visit_f64_trunc(&mut self) -> Self::Output
fn visit_f64_nearest(&mut self) -> Self::Output
fn visit_f64_sqrt(&mut self) -> Self::Output
fn visit_f64_add(&mut self) -> Self::Output
fn visit_f64_sub(&mut self) -> Self::Output
fn visit_f64_mul(&mut self) -> Self::Output
fn visit_f64_div(&mut self) -> Self::Output
fn visit_f64_min(&mut self) -> Self::Output
fn visit_f64_max(&mut self) -> Self::Output
fn visit_f64_copysign(&mut self) -> Self::Output
fn visit_i32_wrap_i64(&mut self) -> Self::Output
fn visit_i32_trunc_f32_s(&mut self) -> Self::Output
fn visit_i32_trunc_f32_u(&mut self) -> Self::Output
fn visit_i32_trunc_f64_s(&mut self) -> Self::Output
fn visit_i32_trunc_f64_u(&mut self) -> Self::Output
fn visit_i64_extend_i32_s(&mut self) -> Self::Output
fn visit_i64_extend_i32_u(&mut self) -> Self::Output
fn visit_i64_trunc_f32_s(&mut self) -> Self::Output
fn visit_i64_trunc_f32_u(&mut self) -> Self::Output
fn visit_i64_trunc_f64_s(&mut self) -> Self::Output
fn visit_i64_trunc_f64_u(&mut self) -> Self::Output
fn visit_f32_convert_i32_s(&mut self) -> Self::Output
fn visit_f32_convert_i32_u(&mut self) -> Self::Output
fn visit_f32_convert_i64_s(&mut self) -> Self::Output
fn visit_f32_convert_i64_u(&mut self) -> Self::Output
fn visit_f32_demote_f64(&mut self) -> Self::Output
fn visit_f64_convert_i32_s(&mut self) -> Self::Output
fn visit_f64_convert_i32_u(&mut self) -> Self::Output
fn visit_f64_convert_i64_s(&mut self) -> Self::Output
fn visit_f64_convert_i64_u(&mut self) -> Self::Output
fn visit_f64_promote_f32(&mut self) -> Self::Output
fn visit_i32_reinterpret_f32(&mut self) -> Self::Output
fn visit_i64_reinterpret_f64(&mut self) -> Self::Output
fn visit_f32_reinterpret_i32(&mut self) -> Self::Output
fn visit_f64_reinterpret_i64(&mut self) -> Self::Output
fn visit_i32_extend8_s(&mut self) -> Self::Output
fn visit_i32_extend16_s(&mut self) -> Self::Output
fn visit_i64_extend8_s(&mut self) -> Self::Output
fn visit_i64_extend16_s(&mut self) -> Self::Output
fn visit_i64_extend32_s(&mut self) -> Self::Output
fn visit_ref_eq(&mut self) -> Self::Output
fn visit_struct_new(&mut self, struct_type_index: u32) -> Self::Output
fn visit_struct_new_default(&mut self, struct_type_index: u32) -> Self::Output
fn visit_struct_get( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_get_s( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_get_u( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_set( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_array_new(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_new_default(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_new_fixed( &mut self, array_type_index: u32, array_size: u32, ) -> Self::Output
fn visit_array_new_data( &mut self, array_type_index: u32, array_data_index: u32, ) -> Self::Output
fn visit_array_new_elem( &mut self, array_type_index: u32, array_elem_index: u32, ) -> Self::Output
fn visit_array_get(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_get_s(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_get_u(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_set(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_len(&mut self) -> Self::Output
fn visit_array_fill(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_copy( &mut self, array_type_index_dst: u32, array_type_index_src: u32, ) -> Self::Output
fn visit_array_init_data( &mut self, array_type_index: u32, array_data_index: u32, ) -> Self::Output
fn visit_array_init_elem( &mut self, array_type_index: u32, array_elem_index: u32, ) -> Self::Output
fn visit_ref_test_non_null(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_test_nullable(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_cast_non_null(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_cast_nullable(&mut self, hty: HeapType) -> Self::Output
fn visit_br_on_cast( &mut self, relative_depth: u32, from_ref_type: RefType, to_ref_type: RefType, ) -> Self::Output
fn visit_br_on_cast_fail( &mut self, relative_depth: u32, from_ref_type: RefType, to_ref_type: RefType, ) -> Self::Output
fn visit_any_convert_extern(&mut self) -> Self::Output
fn visit_extern_convert_any(&mut self) -> Self::Output
fn visit_ref_i31(&mut self) -> Self::Output
fn visit_i31_get_s(&mut self) -> Self::Output
fn visit_i31_get_u(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f32_s(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f32_u(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f64_s(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f64_u(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f32_s(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f32_u(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f64_s(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f64_u(&mut self) -> Self::Output
fn visit_memory_init(&mut self, data_index: u32, mem: u32) -> Self::Output
fn visit_data_drop(&mut self, data_index: u32) -> Self::Output
fn visit_memory_copy(&mut self, dst_mem: u32, src_mem: u32) -> Self::Output
fn visit_memory_fill(&mut self, mem: u32) -> Self::Output
fn visit_table_init(&mut self, elem_index: u32, table: u32) -> Self::Output
fn visit_elem_drop(&mut self, elem_index: u32) -> Self::Output
fn visit_table_copy(&mut self, dst_table: u32, src_table: u32) -> Self::Output
fn visit_typed_select(&mut self, ty: ValType) -> Self::Output
fn visit_ref_null(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_is_null(&mut self) -> Self::Output
fn visit_ref_func(&mut self, function_index: u32) -> Self::Output
fn visit_table_fill(&mut self, table: u32) -> Self::Output
fn visit_table_get(&mut self, table: u32) -> Self::Output
fn visit_table_set(&mut self, table: u32) -> Self::Output
fn visit_table_grow(&mut self, table: u32) -> Self::Output
fn visit_table_size(&mut self, table: u32) -> Self::Output
fn visit_return_call(&mut self, function_index: u32) -> Self::Output
fn visit_return_call_indirect( &mut self, type_index: u32, table_index: u32, ) -> Self::Output
fn visit_memory_discard(&mut self, mem: u32) -> Self::Output
fn visit_memory_atomic_notify(&mut self, memarg: MemArg) -> Self::Output
fn visit_memory_atomic_wait32(&mut self, memarg: MemArg) -> Self::Output
fn visit_memory_atomic_wait64(&mut self, memarg: MemArg) -> Self::Output
fn visit_atomic_fence(&mut self) -> Self::Output
fn visit_i32_atomic_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load32_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store32(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_add(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_add(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_sub(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_sub(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_and(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_and(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_or(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_or(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_xor(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_xor(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_xchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_xchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_cmpxchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_cmpxchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_try_table(&mut self, try_table: TryTable) -> Self::Output
fn visit_throw(&mut self, tag_index: u32) -> Self::Output
fn visit_throw_ref(&mut self) -> Self::Output
fn visit_try(&mut self, blockty: BlockType) -> Self::Output
fn visit_catch(&mut self, tag_index: u32) -> Self::Output
fn visit_rethrow(&mut self, relative_depth: u32) -> Self::Output
fn visit_delegate(&mut self, relative_depth: u32) -> Self::Output
fn visit_catch_all(&mut self) -> Self::Output
fn visit_global_atomic_get( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_set( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_add( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_sub( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_and( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_or( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_xor( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_xchg( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_table_atomic_get( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_table_atomic_set( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_table_atomic_rmw_xchg( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_table_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_struct_atomic_get( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_get_s( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_get_u( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_set( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_add( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_sub( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_and( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_or( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_xor( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_xchg( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_array_atomic_get( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_get_s( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_get_u( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_set( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_add( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_sub( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_and( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_or( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_xor( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_xchg( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_call_ref(&mut self, type_index: u32) -> Self::Output
fn visit_return_call_ref(&mut self, type_index: u32) -> Self::Output
fn visit_ref_as_non_null(&mut self) -> Self::Output
fn visit_br_on_null(&mut self, relative_depth: u32) -> Self::Output
fn visit_br_on_non_null(&mut self, relative_depth: u32) -> Self::Output
fn visit_cont_new(&mut self, cont_type_index: u32) -> Self::Output
fn visit_cont_bind( &mut self, argument_index: u32, result_index: u32, ) -> Self::Output
fn visit_suspend(&mut self, tag_index: u32) -> Self::Output
fn visit_resume( &mut self, cont_type_index: u32, resume_table: ResumeTable, ) -> Self::Output
fn visit_resume_throw( &mut self, cont_type_index: u32, tag_index: u32, resume_table: ResumeTable, ) -> Self::Output
fn visit_switch(&mut self, cont_type_index: u32, tag_index: u32) -> Self::Output
fn visit_i64_add128(&mut self) -> Self::Output
fn visit_i64_sub128(&mut self) -> Self::Output
fn visit_i64_mul_wide_s(&mut self) -> Self::Output
fn visit_i64_mul_wide_u(&mut self) -> Self::Output
Provided Methods§
Sourcefn visit_operator(&mut self, op: &Operator<'a>) -> Self::Output
fn visit_operator(&mut self, op: &Operator<'a>) -> Self::Output
Visits the Operator
op
using the given offset
.
§Note
This is a convenience method that is intended for non-performance
critical use cases. For performance critical implementations users
are recommended to directly use the respective visit
methods or
implement VisitOperator
on their own.
Sourcefn simd_visitor(
&mut self,
) -> Option<&mut dyn VisitSimdOperator<'a, Output = Self::Output>>
Available on crate feature simd
only.
fn simd_visitor( &mut self, ) -> Option<&mut dyn VisitSimdOperator<'a, Output = Self::Output>>
simd
only.Returns a mutable reference to a VisitSimdOperator
visitor.
- If an implementer does not want to support Wasm
simd
proposal nothing has to be done since the default implementation already suffices. - If an implementer does want to support Wasm
simd
proposal this method usually is implemented asSome(self)
where the implementing type (Self
) typically also implementsVisitSimdOperator
.
§Example
pub struct MyVisitor;
impl<'a> VisitOperator<'a> for MyVisitor {
type Output = ();
fn simd_visitor(&mut self) -> Option<&mut dyn VisitSimdOperator<'a, Output = Self::Output>> {
Some(self)
}
// implement remaining visitation methods here ...
}
impl VisitSimdOperator<'_> for MyVisitor {
// implement SIMD visitation methods here ...
}
Implementations on Foreign Types§
Source§impl<'a, 'b, V: VisitOperator<'a> + ?Sized> VisitOperator<'a> for &'b mut V
impl<'a, 'b, V: VisitOperator<'a> + ?Sized> VisitOperator<'a> for &'b mut V
type Output = <V as VisitOperator<'a>>::Output
fn visit_operator(&mut self, op: &Operator<'a>) -> Self::Output
Source§fn simd_visitor(
&mut self,
) -> Option<&mut dyn VisitSimdOperator<'a, Output = V::Output>>
fn simd_visitor( &mut self, ) -> Option<&mut dyn VisitSimdOperator<'a, Output = V::Output>>
Available on crate feature
simd
only.fn visit_unreachable(&mut self) -> Self::Output
fn visit_nop(&mut self) -> Self::Output
fn visit_block(&mut self, blockty: BlockType) -> Self::Output
fn visit_loop(&mut self, blockty: BlockType) -> Self::Output
fn visit_if(&mut self, blockty: BlockType) -> Self::Output
fn visit_else(&mut self) -> Self::Output
fn visit_end(&mut self) -> Self::Output
fn visit_br(&mut self, relative_depth: u32) -> Self::Output
fn visit_br_if(&mut self, relative_depth: u32) -> Self::Output
fn visit_br_table(&mut self, targets: BrTable<'a>) -> Self::Output
fn visit_return(&mut self) -> Self::Output
fn visit_call(&mut self, function_index: u32) -> Self::Output
fn visit_call_indirect( &mut self, type_index: u32, table_index: u32, ) -> Self::Output
fn visit_drop(&mut self) -> Self::Output
fn visit_select(&mut self) -> Self::Output
fn visit_local_get(&mut self, local_index: u32) -> Self::Output
fn visit_local_set(&mut self, local_index: u32) -> Self::Output
fn visit_local_tee(&mut self, local_index: u32) -> Self::Output
fn visit_global_get(&mut self, global_index: u32) -> Self::Output
fn visit_global_set(&mut self, global_index: u32) -> Self::Output
fn visit_i32_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_f32_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_f64_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load8_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load16_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load8_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load16_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load32_s(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_load32_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_f32_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_f64_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_store32(&mut self, memarg: MemArg) -> Self::Output
fn visit_memory_size(&mut self, mem: u32) -> Self::Output
fn visit_memory_grow(&mut self, mem: u32) -> Self::Output
fn visit_i32_const(&mut self, value: i32) -> Self::Output
fn visit_i64_const(&mut self, value: i64) -> Self::Output
fn visit_f32_const(&mut self, value: Ieee32) -> Self::Output
fn visit_f64_const(&mut self, value: Ieee64) -> Self::Output
fn visit_i32_eqz(&mut self) -> Self::Output
fn visit_i32_eq(&mut self) -> Self::Output
fn visit_i32_ne(&mut self) -> Self::Output
fn visit_i32_lt_s(&mut self) -> Self::Output
fn visit_i32_lt_u(&mut self) -> Self::Output
fn visit_i32_gt_s(&mut self) -> Self::Output
fn visit_i32_gt_u(&mut self) -> Self::Output
fn visit_i32_le_s(&mut self) -> Self::Output
fn visit_i32_le_u(&mut self) -> Self::Output
fn visit_i32_ge_s(&mut self) -> Self::Output
fn visit_i32_ge_u(&mut self) -> Self::Output
fn visit_i64_eqz(&mut self) -> Self::Output
fn visit_i64_eq(&mut self) -> Self::Output
fn visit_i64_ne(&mut self) -> Self::Output
fn visit_i64_lt_s(&mut self) -> Self::Output
fn visit_i64_lt_u(&mut self) -> Self::Output
fn visit_i64_gt_s(&mut self) -> Self::Output
fn visit_i64_gt_u(&mut self) -> Self::Output
fn visit_i64_le_s(&mut self) -> Self::Output
fn visit_i64_le_u(&mut self) -> Self::Output
fn visit_i64_ge_s(&mut self) -> Self::Output
fn visit_i64_ge_u(&mut self) -> Self::Output
fn visit_f32_eq(&mut self) -> Self::Output
fn visit_f32_ne(&mut self) -> Self::Output
fn visit_f32_lt(&mut self) -> Self::Output
fn visit_f32_gt(&mut self) -> Self::Output
fn visit_f32_le(&mut self) -> Self::Output
fn visit_f32_ge(&mut self) -> Self::Output
fn visit_f64_eq(&mut self) -> Self::Output
fn visit_f64_ne(&mut self) -> Self::Output
fn visit_f64_lt(&mut self) -> Self::Output
fn visit_f64_gt(&mut self) -> Self::Output
fn visit_f64_le(&mut self) -> Self::Output
fn visit_f64_ge(&mut self) -> Self::Output
fn visit_i32_clz(&mut self) -> Self::Output
fn visit_i32_ctz(&mut self) -> Self::Output
fn visit_i32_popcnt(&mut self) -> Self::Output
fn visit_i32_add(&mut self) -> Self::Output
fn visit_i32_sub(&mut self) -> Self::Output
fn visit_i32_mul(&mut self) -> Self::Output
fn visit_i32_div_s(&mut self) -> Self::Output
fn visit_i32_div_u(&mut self) -> Self::Output
fn visit_i32_rem_s(&mut self) -> Self::Output
fn visit_i32_rem_u(&mut self) -> Self::Output
fn visit_i32_and(&mut self) -> Self::Output
fn visit_i32_or(&mut self) -> Self::Output
fn visit_i32_xor(&mut self) -> Self::Output
fn visit_i32_shl(&mut self) -> Self::Output
fn visit_i32_shr_s(&mut self) -> Self::Output
fn visit_i32_shr_u(&mut self) -> Self::Output
fn visit_i32_rotl(&mut self) -> Self::Output
fn visit_i32_rotr(&mut self) -> Self::Output
fn visit_i64_clz(&mut self) -> Self::Output
fn visit_i64_ctz(&mut self) -> Self::Output
fn visit_i64_popcnt(&mut self) -> Self::Output
fn visit_i64_add(&mut self) -> Self::Output
fn visit_i64_sub(&mut self) -> Self::Output
fn visit_i64_mul(&mut self) -> Self::Output
fn visit_i64_div_s(&mut self) -> Self::Output
fn visit_i64_div_u(&mut self) -> Self::Output
fn visit_i64_rem_s(&mut self) -> Self::Output
fn visit_i64_rem_u(&mut self) -> Self::Output
fn visit_i64_and(&mut self) -> Self::Output
fn visit_i64_or(&mut self) -> Self::Output
fn visit_i64_xor(&mut self) -> Self::Output
fn visit_i64_shl(&mut self) -> Self::Output
fn visit_i64_shr_s(&mut self) -> Self::Output
fn visit_i64_shr_u(&mut self) -> Self::Output
fn visit_i64_rotl(&mut self) -> Self::Output
fn visit_i64_rotr(&mut self) -> Self::Output
fn visit_f32_abs(&mut self) -> Self::Output
fn visit_f32_neg(&mut self) -> Self::Output
fn visit_f32_ceil(&mut self) -> Self::Output
fn visit_f32_floor(&mut self) -> Self::Output
fn visit_f32_trunc(&mut self) -> Self::Output
fn visit_f32_nearest(&mut self) -> Self::Output
fn visit_f32_sqrt(&mut self) -> Self::Output
fn visit_f32_add(&mut self) -> Self::Output
fn visit_f32_sub(&mut self) -> Self::Output
fn visit_f32_mul(&mut self) -> Self::Output
fn visit_f32_div(&mut self) -> Self::Output
fn visit_f32_min(&mut self) -> Self::Output
fn visit_f32_max(&mut self) -> Self::Output
fn visit_f32_copysign(&mut self) -> Self::Output
fn visit_f64_abs(&mut self) -> Self::Output
fn visit_f64_neg(&mut self) -> Self::Output
fn visit_f64_ceil(&mut self) -> Self::Output
fn visit_f64_floor(&mut self) -> Self::Output
fn visit_f64_trunc(&mut self) -> Self::Output
fn visit_f64_nearest(&mut self) -> Self::Output
fn visit_f64_sqrt(&mut self) -> Self::Output
fn visit_f64_add(&mut self) -> Self::Output
fn visit_f64_sub(&mut self) -> Self::Output
fn visit_f64_mul(&mut self) -> Self::Output
fn visit_f64_div(&mut self) -> Self::Output
fn visit_f64_min(&mut self) -> Self::Output
fn visit_f64_max(&mut self) -> Self::Output
fn visit_f64_copysign(&mut self) -> Self::Output
fn visit_i32_wrap_i64(&mut self) -> Self::Output
fn visit_i32_trunc_f32_s(&mut self) -> Self::Output
fn visit_i32_trunc_f32_u(&mut self) -> Self::Output
fn visit_i32_trunc_f64_s(&mut self) -> Self::Output
fn visit_i32_trunc_f64_u(&mut self) -> Self::Output
fn visit_i64_extend_i32_s(&mut self) -> Self::Output
fn visit_i64_extend_i32_u(&mut self) -> Self::Output
fn visit_i64_trunc_f32_s(&mut self) -> Self::Output
fn visit_i64_trunc_f32_u(&mut self) -> Self::Output
fn visit_i64_trunc_f64_s(&mut self) -> Self::Output
fn visit_i64_trunc_f64_u(&mut self) -> Self::Output
fn visit_f32_convert_i32_s(&mut self) -> Self::Output
fn visit_f32_convert_i32_u(&mut self) -> Self::Output
fn visit_f32_convert_i64_s(&mut self) -> Self::Output
fn visit_f32_convert_i64_u(&mut self) -> Self::Output
fn visit_f32_demote_f64(&mut self) -> Self::Output
fn visit_f64_convert_i32_s(&mut self) -> Self::Output
fn visit_f64_convert_i32_u(&mut self) -> Self::Output
fn visit_f64_convert_i64_s(&mut self) -> Self::Output
fn visit_f64_convert_i64_u(&mut self) -> Self::Output
fn visit_f64_promote_f32(&mut self) -> Self::Output
fn visit_i32_reinterpret_f32(&mut self) -> Self::Output
fn visit_i64_reinterpret_f64(&mut self) -> Self::Output
fn visit_f32_reinterpret_i32(&mut self) -> Self::Output
fn visit_f64_reinterpret_i64(&mut self) -> Self::Output
fn visit_i32_extend8_s(&mut self) -> Self::Output
fn visit_i32_extend16_s(&mut self) -> Self::Output
fn visit_i64_extend8_s(&mut self) -> Self::Output
fn visit_i64_extend16_s(&mut self) -> Self::Output
fn visit_i64_extend32_s(&mut self) -> Self::Output
fn visit_ref_eq(&mut self) -> Self::Output
fn visit_struct_new(&mut self, struct_type_index: u32) -> Self::Output
fn visit_struct_new_default(&mut self, struct_type_index: u32) -> Self::Output
fn visit_struct_get( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_get_s( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_get_u( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_set( &mut self, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_array_new(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_new_default(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_new_fixed( &mut self, array_type_index: u32, array_size: u32, ) -> Self::Output
fn visit_array_new_data( &mut self, array_type_index: u32, array_data_index: u32, ) -> Self::Output
fn visit_array_new_elem( &mut self, array_type_index: u32, array_elem_index: u32, ) -> Self::Output
fn visit_array_get(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_get_s(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_get_u(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_set(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_len(&mut self) -> Self::Output
fn visit_array_fill(&mut self, array_type_index: u32) -> Self::Output
fn visit_array_copy( &mut self, array_type_index_dst: u32, array_type_index_src: u32, ) -> Self::Output
fn visit_array_init_data( &mut self, array_type_index: u32, array_data_index: u32, ) -> Self::Output
fn visit_array_init_elem( &mut self, array_type_index: u32, array_elem_index: u32, ) -> Self::Output
fn visit_ref_test_non_null(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_test_nullable(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_cast_non_null(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_cast_nullable(&mut self, hty: HeapType) -> Self::Output
fn visit_br_on_cast( &mut self, relative_depth: u32, from_ref_type: RefType, to_ref_type: RefType, ) -> Self::Output
fn visit_br_on_cast_fail( &mut self, relative_depth: u32, from_ref_type: RefType, to_ref_type: RefType, ) -> Self::Output
fn visit_any_convert_extern(&mut self) -> Self::Output
fn visit_extern_convert_any(&mut self) -> Self::Output
fn visit_ref_i31(&mut self) -> Self::Output
fn visit_i31_get_s(&mut self) -> Self::Output
fn visit_i31_get_u(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f32_s(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f32_u(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f64_s(&mut self) -> Self::Output
fn visit_i32_trunc_sat_f64_u(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f32_s(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f32_u(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f64_s(&mut self) -> Self::Output
fn visit_i64_trunc_sat_f64_u(&mut self) -> Self::Output
fn visit_memory_init(&mut self, data_index: u32, mem: u32) -> Self::Output
fn visit_data_drop(&mut self, data_index: u32) -> Self::Output
fn visit_memory_copy(&mut self, dst_mem: u32, src_mem: u32) -> Self::Output
fn visit_memory_fill(&mut self, mem: u32) -> Self::Output
fn visit_table_init(&mut self, elem_index: u32, table: u32) -> Self::Output
fn visit_elem_drop(&mut self, elem_index: u32) -> Self::Output
fn visit_table_copy(&mut self, dst_table: u32, src_table: u32) -> Self::Output
fn visit_typed_select(&mut self, ty: ValType) -> Self::Output
fn visit_ref_null(&mut self, hty: HeapType) -> Self::Output
fn visit_ref_is_null(&mut self) -> Self::Output
fn visit_ref_func(&mut self, function_index: u32) -> Self::Output
fn visit_table_fill(&mut self, table: u32) -> Self::Output
fn visit_table_get(&mut self, table: u32) -> Self::Output
fn visit_table_set(&mut self, table: u32) -> Self::Output
fn visit_table_grow(&mut self, table: u32) -> Self::Output
fn visit_table_size(&mut self, table: u32) -> Self::Output
fn visit_return_call(&mut self, function_index: u32) -> Self::Output
fn visit_return_call_indirect( &mut self, type_index: u32, table_index: u32, ) -> Self::Output
fn visit_memory_discard(&mut self, mem: u32) -> Self::Output
fn visit_memory_atomic_notify(&mut self, memarg: MemArg) -> Self::Output
fn visit_memory_atomic_wait32(&mut self, memarg: MemArg) -> Self::Output
fn visit_memory_atomic_wait64(&mut self, memarg: MemArg) -> Self::Output
fn visit_atomic_fence(&mut self) -> Self::Output
fn visit_i32_atomic_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load8_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load16_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_load32_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store8(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store16(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_store32(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_add(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_add(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_add_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_sub(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_sub(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_sub_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_and(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_and(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_and_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_or(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_or(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_or_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_xor(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_xor(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_xor_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_xchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_xchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_xchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw_cmpxchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw_cmpxchg(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw8_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i32_atomic_rmw16_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw8_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw16_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_i64_atomic_rmw32_cmpxchg_u(&mut self, memarg: MemArg) -> Self::Output
fn visit_try_table(&mut self, try_table: TryTable) -> Self::Output
fn visit_throw(&mut self, tag_index: u32) -> Self::Output
fn visit_throw_ref(&mut self) -> Self::Output
fn visit_try(&mut self, blockty: BlockType) -> Self::Output
fn visit_catch(&mut self, tag_index: u32) -> Self::Output
fn visit_rethrow(&mut self, relative_depth: u32) -> Self::Output
fn visit_delegate(&mut self, relative_depth: u32) -> Self::Output
fn visit_catch_all(&mut self) -> Self::Output
fn visit_global_atomic_get( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_set( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_add( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_sub( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_and( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_or( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_xor( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_xchg( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_global_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, global_index: u32, ) -> Self::Output
fn visit_table_atomic_get( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_table_atomic_set( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_table_atomic_rmw_xchg( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_table_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, table_index: u32, ) -> Self::Output
fn visit_struct_atomic_get( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_get_s( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_get_u( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_set( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_add( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_sub( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_and( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_or( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_xor( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_xchg( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_struct_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, struct_type_index: u32, field_index: u32, ) -> Self::Output
fn visit_array_atomic_get( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_get_s( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_get_u( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_set( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_add( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_sub( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_and( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_or( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_xor( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_xchg( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_array_atomic_rmw_cmpxchg( &mut self, ordering: Ordering, array_type_index: u32, ) -> Self::Output
fn visit_call_ref(&mut self, type_index: u32) -> Self::Output
fn visit_return_call_ref(&mut self, type_index: u32) -> Self::Output
fn visit_ref_as_non_null(&mut self) -> Self::Output
fn visit_br_on_null(&mut self, relative_depth: u32) -> Self::Output
fn visit_br_on_non_null(&mut self, relative_depth: u32) -> Self::Output
fn visit_cont_new(&mut self, cont_type_index: u32) -> Self::Output
fn visit_cont_bind( &mut self, argument_index: u32, result_index: u32, ) -> Self::Output
fn visit_suspend(&mut self, tag_index: u32) -> Self::Output
fn visit_resume( &mut self, cont_type_index: u32, resume_table: ResumeTable, ) -> Self::Output
fn visit_resume_throw( &mut self, cont_type_index: u32, tag_index: u32, resume_table: ResumeTable, ) -> Self::Output
fn visit_switch(&mut self, cont_type_index: u32, tag_index: u32) -> Self::Output
fn visit_i64_add128(&mut self) -> Self::Output
fn visit_i64_sub128(&mut self) -> Self::Output
fn visit_i64_mul_wide_s(&mut self) -> Self::Output
fn visit_i64_mul_wide_u(&mut self) -> Self::Output
Source§impl<'a, V: VisitOperator<'a> + ?Sized> VisitOperator<'a> for Box<V>
impl<'a, V: VisitOperator<'a> + ?Sized> VisitOperator<'a> for Box<V>
type Output = <V as VisitOperator<'a>>::Output
fn visit_operator(&mut self, op: &Operator<'a>) -> Self::Output
Source§fn simd_visitor(
&mut self,
) -> Option<&mut dyn VisitSimdOperator<'a, Output = V::Output>>
fn simd_visitor( &mut self, ) -> Option<&mut dyn VisitSimdOperator<'a, Output = V::Output>>
Available on crate feature
simd
only.