pub enum InsnKind<'s> {
Show 175 variants Block { label: Option<&'s str>, ty: Option<ValType>, body: Vec<Instruction<'s>>, id: Option<&'s str>, }, Loop { label: Option<&'s str>, ty: Option<ValType>, body: Vec<Instruction<'s>>, id: Option<&'s str>, }, If { label: Option<&'s str>, ty: Option<ValType>, then_body: Vec<Instruction<'s>>, else_id: Option<&'s str>, else_body: Vec<Instruction<'s>>, end_id: Option<&'s str>, }, Unreachable, Nop, Br(Index<'s>), BrIf(Index<'s>), BrTable { labels: Vec<Index<'s>>, default_label: Index<'s>, }, Return, Call(Index<'s>), CallIndirect(TypeUse<'s>), Drop, Select, LocalGet(Index<'s>), LocalSet(Index<'s>), LocalTee(Index<'s>), GlobalGet(Index<'s>), GlobalSet(Index<'s>), I32Load(Mem), I64Load(Mem), F32Load(Mem), F64Load(Mem), I32Load8S(Mem), I32Load8U(Mem), I32Load16S(Mem), I32Load16U(Mem), I64Load8S(Mem), I64Load8U(Mem), I64Load16S(Mem), I64Load16U(Mem), I64Load32S(Mem), I64Load32U(Mem), I32Store(Mem), I64Store(Mem), F32Store(Mem), F64Store(Mem), I32Store8(Mem), I32Store16(Mem), I64Store8(Mem), I64Store16(Mem), I64Store32(Mem), MemorySize, MemoryGrow, I32Const(i32), I64Const(i64), F32Const(f32), F64Const(f64), I32Clz, I32Ctz, I32Popcnt, I32Add, I32Sub, I32Mul, I32DivS, I32DivU, I32RemS, I32RemU, I32And, I32Or, I32Xor, I32Shl, I32ShrS, I32ShrU, I32Rotl, I32Rotr, I64Clz, I64Ctz, I64Popcnt, I64Add, I64Sub, I64Mul, I64DivS, I64DivU, I64RemS, I64RemU, I64And, I64Or, I64Xor, I64Shl, I64ShrS, I64ShrU, I64Rotl, I64Rotr, F32Abs, F32Neg, F32Ceil, F32Floor, F32Trunc, F32Nearest, F32Sqrt, F32Add, F32Sub, F32Mul, F32Div, F32Min, F32Max, F32Copysign, F64Abs, F64Neg, F64Ceil, F64Floor, F64Trunc, F64Nearest, F64Sqrt, F64Add, F64Sub, F64Mul, F64Div, F64Min, F64Max, F64Copysign, I32Eqz, I32Eq, I32Ne, I32LtS, I32LtU, I32GtS, I32GtU, I32LeS, I32LeU, I32GeS, I32GeU, I64Eqz, I64Eq, I64Ne, I64LtS, I64LtU, I64GtS, I64GtU, I64LeS, I64LeU, I64GeS, I64GeU, F32Eq, F32Ne, F32Lt, F32Gt, F32Le, F32Ge, F64Eq, F64Ne, F64Lt, F64Gt, F64Le, F64Ge, I32WrapI64, I32TruncF32S, I32TruncF32U, I32TruncF64S, I32TruncF64U, I64ExtendI32S, I64ExtendI32U, I64TruncF32S, I64TruncF32U, I64TruncF64S, I64TruncF64U, F32ConvertI32S, F32ConvertI32U, F32ConvertI64S, F32ConvertI64U, F32DemoteF64, F64ConvertI32S, F64ConvertI32U, F64ConvertI64S, F64ConvertI64U, F64PromoteF32, I32ReinterpretF32, I64ReinterpretF64, F32ReinterpretI32, F64ReinterpretI64, I32Extend8S, I32Extend16S, I64Extend8S, I64Extend16S, I64Extend32S,
}

Variants§

§

Block

Fields

§label: Option<&'s str>
§body: Vec<Instruction<'s>>
§id: Option<&'s str>
§

Loop

Fields

§label: Option<&'s str>
§body: Vec<Instruction<'s>>
§id: Option<&'s str>
§

If

Fields

§label: Option<&'s str>
§then_body: Vec<Instruction<'s>>
§else_id: Option<&'s str>
§else_body: Vec<Instruction<'s>>
§end_id: Option<&'s str>
§

Unreachable

§

Nop

§

Br(Index<'s>)

§

BrIf(Index<'s>)

§

BrTable

Fields

§labels: Vec<Index<'s>>
§default_label: Index<'s>
§

Return

§

Call(Index<'s>)

§

CallIndirect(TypeUse<'s>)

§

Drop

§

Select

§

LocalGet(Index<'s>)

§

LocalSet(Index<'s>)

§

LocalTee(Index<'s>)

§

GlobalGet(Index<'s>)

§

GlobalSet(Index<'s>)

§

I32Load(Mem)

§

I64Load(Mem)

§

F32Load(Mem)

§

F64Load(Mem)

§

I32Load8S(Mem)

§

I32Load8U(Mem)

§

I32Load16S(Mem)

§

I32Load16U(Mem)

§

I64Load8S(Mem)

§

I64Load8U(Mem)

§

I64Load16S(Mem)

§

I64Load16U(Mem)

§

I64Load32S(Mem)

§

I64Load32U(Mem)

§

I32Store(Mem)

§

I64Store(Mem)

§

F32Store(Mem)

§

F64Store(Mem)

§

I32Store8(Mem)

§

I32Store16(Mem)

§

I64Store8(Mem)

§

I64Store16(Mem)

§

I64Store32(Mem)

§

MemorySize

§

MemoryGrow

§

I32Const(i32)

§

I64Const(i64)

§

F32Const(f32)

§

F64Const(f64)

§

I32Clz

§

I32Ctz

§

I32Popcnt

§

I32Add

§

I32Sub

§

I32Mul

§

I32DivS

§

I32DivU

§

I32RemS

§

I32RemU

§

I32And

§

I32Or

§

I32Xor

§

I32Shl

§

I32ShrS

§

I32ShrU

§

I32Rotl

§

I32Rotr

§

I64Clz

§

I64Ctz

§

I64Popcnt

§

I64Add

§

I64Sub

§

I64Mul

§

I64DivS

§

I64DivU

§

I64RemS

§

I64RemU

§

I64And

§

I64Or

§

I64Xor

§

I64Shl

§

I64ShrS

§

I64ShrU

§

I64Rotl

§

I64Rotr

§

F32Abs

§

F32Neg

§

F32Ceil

§

F32Floor

§

F32Trunc

§

F32Nearest

§

F32Sqrt

§

F32Add

§

F32Sub

§

F32Mul

§

F32Div

§

F32Min

§

F32Max

§

F32Copysign

§

F64Abs

§

F64Neg

§

F64Ceil

§

F64Floor

§

F64Trunc

§

F64Nearest

§

F64Sqrt

§

F64Add

§

F64Sub

§

F64Mul

§

F64Div

§

F64Min

§

F64Max

§

F64Copysign

§

I32Eqz

§

I32Eq

§

I32Ne

§

I32LtS

§

I32LtU

§

I32GtS

§

I32GtU

§

I32LeS

§

I32LeU

§

I32GeS

§

I32GeU

§

I64Eqz

§

I64Eq

§

I64Ne

§

I64LtS

§

I64LtU

§

I64GtS

§

I64GtU

§

I64LeS

§

I64LeU

§

I64GeS

§

I64GeU

§

F32Eq

§

F32Ne

§

F32Lt

§

F32Gt

§

F32Le

§

F32Ge

§

F64Eq

§

F64Ne

§

F64Lt

§

F64Gt

§

F64Le

§

F64Ge

§

I32WrapI64

§

I32TruncF32S

§

I32TruncF32U

§

I32TruncF64S

§

I32TruncF64U

§

I64ExtendI32S

§

I64ExtendI32U

§

I64TruncF32S

§

I64TruncF32U

§

I64TruncF64S

§

I64TruncF64U

§

F32ConvertI32S

§

F32ConvertI32U

§

F32ConvertI64S

§

F32ConvertI64U

§

F32DemoteF64

§

F64ConvertI32S

§

F64ConvertI32U

§

F64ConvertI64S

§

F64ConvertI64U

§

F64PromoteF32

§

I32ReinterpretF32

§

I64ReinterpretF64

§

F32ReinterpretI32

§

F64ReinterpretI64

§

I32Extend8S

§

I32Extend16S

§

I64Extend8S

§

I64Extend16S

§

I64Extend32S

Implementations§

source§

impl<'s> InsnKind<'s>

source

pub fn is_block(&self) -> bool

Auto Trait Implementations§

§

impl<'s> RefUnwindSafe for InsnKind<'s>

§

impl<'s> Send for InsnKind<'s>

§

impl<'s> Sync for InsnKind<'s>

§

impl<'s> Unpin for InsnKind<'s>

§

impl<'s> UnwindSafe for InsnKind<'s>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.