binaryninja::low_level_il::instruction

Enum LowLevelILInstructionKind

source
pub enum LowLevelILInstructionKind<'func, M, F>{
Show 36 variants Nop(Operation<'func, M, F, NoArgs>), SetReg(Operation<'func, M, F, SetReg>), SetRegSsa(Operation<'func, M, F, SetRegSsa>), SetRegPartialSsa(Operation<'func, M, F, SetRegPartialSsa>), SetRegSplit(Operation<'func, M, F, SetRegSplit>), SetRegSplitSsa(Operation<'func, M, F, SetRegSplitSsa>), SetFlag(Operation<'func, M, F, SetFlag>), SetFlagSsa(Operation<'func, M, F, SetFlagSsa>), Store(Operation<'func, M, F, Store>), StoreSsa(Operation<'func, M, F, StoreSsa>), Push(Operation<'func, M, F, UnaryOp>), RegStackPush(Operation<'func, M, F, RegStackPush>), Jump(Operation<'func, M, F, Jump>), JumpTo(Operation<'func, M, F, JumpTo>), Call(Operation<'func, M, F, Call>), CallSsa(Operation<'func, M, F, CallSsa>), TailCall(Operation<'func, M, F, Call>), TailCallSsa(Operation<'func, M, F, CallSsa>), Ret(Operation<'func, M, F, Ret>), NoRet(Operation<'func, M, F, NoArgs>), If(Operation<'func, M, F, If>), Goto(Operation<'func, M, F, Goto>), Syscall(Operation<'func, M, F, Syscall>), SyscallSsa(Operation<'func, M, F, SyscallSsa>), Intrinsic(Operation<'func, M, F, Intrinsic>), Bp(Operation<'func, M, F, NoArgs>), Trap(Operation<'func, M, F, Trap>), Undef(Operation<'func, M, F, NoArgs>), Assert(Operation<'func, M, F, Assert>), AssertSsa(Operation<'func, M, F, AssertSsa>), ForceVersion(Operation<'func, M, F, ForceVersion>), ForceVersionSsa(Operation<'func, M, F, ForceVersionSsa>), RegPhi(Operation<'func, M, F, RegPhi>), FlagPhi(Operation<'func, M, F, FlagPhi>), MemPhi(Operation<'func, M, F, MemPhi>), Value(LowLevelILExpression<'func, M, F, ValueExpr>),
}

Variants§

§

Nop(Operation<'func, M, F, NoArgs>)

§

SetReg(Operation<'func, M, F, SetReg>)

§

SetRegSsa(Operation<'func, M, F, SetRegSsa>)

§

SetRegPartialSsa(Operation<'func, M, F, SetRegPartialSsa>)

§

SetRegSplit(Operation<'func, M, F, SetRegSplit>)

§

SetRegSplitSsa(Operation<'func, M, F, SetRegSplitSsa>)

§

SetFlag(Operation<'func, M, F, SetFlag>)

§

SetFlagSsa(Operation<'func, M, F, SetFlagSsa>)

§

Store(Operation<'func, M, F, Store>)

§

StoreSsa(Operation<'func, M, F, StoreSsa>)

§

Push(Operation<'func, M, F, UnaryOp>)

§

RegStackPush(Operation<'func, M, F, RegStackPush>)

§

Jump(Operation<'func, M, F, Jump>)

§

JumpTo(Operation<'func, M, F, JumpTo>)

§

Call(Operation<'func, M, F, Call>)

§

CallSsa(Operation<'func, M, F, CallSsa>)

§

TailCall(Operation<'func, M, F, Call>)

§

TailCallSsa(Operation<'func, M, F, CallSsa>)

§

Ret(Operation<'func, M, F, Ret>)

§

NoRet(Operation<'func, M, F, NoArgs>)

§

If(Operation<'func, M, F, If>)

§

Goto(Operation<'func, M, F, Goto>)

§

Syscall(Operation<'func, M, F, Syscall>)

§

SyscallSsa(Operation<'func, M, F, SyscallSsa>)

§

Intrinsic(Operation<'func, M, F, Intrinsic>)

§

Bp(Operation<'func, M, F, NoArgs>)

§

Trap(Operation<'func, M, F, Trap>)

§

Undef(Operation<'func, M, F, NoArgs>)

§

Assert(Operation<'func, M, F, Assert>)

§

AssertSsa(Operation<'func, M, F, AssertSsa>)

§

ForceVersion(Operation<'func, M, F, ForceVersion>)

§

ForceVersionSsa(Operation<'func, M, F, ForceVersionSsa>)

§

RegPhi(Operation<'func, M, F, RegPhi>)

§

FlagPhi(Operation<'func, M, F, FlagPhi>)

§

MemPhi(Operation<'func, M, F, MemPhi>)

§

Value(LowLevelILExpression<'func, M, F, ValueExpr>)

The instruction is an expression.

Trait Implementations§

source§

impl<'func, M, F> Debug for LowLevelILInstructionKind<'func, M, F>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'func, M, F> Freeze for LowLevelILInstructionKind<'func, M, F>

§

impl<'func, M, F> RefUnwindSafe for LowLevelILInstructionKind<'func, M, F>

§

impl<'func, M, F> Send for LowLevelILInstructionKind<'func, M, F>

§

impl<'func, M, F> Sync for LowLevelILInstructionKind<'func, M, F>

§

impl<'func, M, F> Unpin for LowLevelILInstructionKind<'func, M, F>

§

impl<'func, M, F> UnwindSafe for LowLevelILInstructionKind<'func, M, F>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where U: Into<T>,

source§

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 T
where U: TryFrom<T>,

source§

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.