Enum binaryninja::hlil::HighLevelILInstruction
source · pub enum HighLevelILInstruction {
Show 122 variants
Adc(BinaryOpCarry),
Sbb(BinaryOpCarry),
Rlc(BinaryOpCarry),
Rrc(BinaryOpCarry),
Add(BinaryOp),
Sub(BinaryOp),
And(BinaryOp),
Or(BinaryOp),
Xor(BinaryOp),
Lsl(BinaryOp),
Lsr(BinaryOp),
Asr(BinaryOp),
Rol(BinaryOp),
Ror(BinaryOp),
Mul(BinaryOp),
MuluDp(BinaryOp),
MulsDp(BinaryOp),
Divu(BinaryOp),
DivuDp(BinaryOp),
Divs(BinaryOp),
DivsDp(BinaryOp),
Modu(BinaryOp),
ModuDp(BinaryOp),
Mods(BinaryOp),
ModsDp(BinaryOp),
CmpE(BinaryOp),
CmpNe(BinaryOp),
CmpSlt(BinaryOp),
CmpUlt(BinaryOp),
CmpSle(BinaryOp),
CmpUle(BinaryOp),
CmpSge(BinaryOp),
CmpUge(BinaryOp),
CmpSgt(BinaryOp),
CmpUgt(BinaryOp),
TestBit(BinaryOp),
AddOverflow(BinaryOp),
Fadd(BinaryOp),
Fsub(BinaryOp),
Fmul(BinaryOp),
Fdiv(BinaryOp),
FcmpE(BinaryOp),
FcmpNe(BinaryOp),
FcmpLt(BinaryOp),
FcmpLe(BinaryOp),
FcmpGe(BinaryOp),
FcmpGt(BinaryOp),
FcmpO(BinaryOp),
FcmpUo(BinaryOp),
ArrayIndex(ArrayIndex),
ArrayIndexSsa(ArrayIndexSsa),
Assign(Assign),
AssignMemSsa(AssignMemSsa),
AssignUnpack(AssignUnpack),
AssignUnpackMemSsa(AssignUnpackMemSsa),
Block(Block),
Call(Call),
Tailcall(Call),
CallSsa(CallSsa),
Case(Case),
Const(Const),
ConstPtr(Const),
Import(Const),
ConstData(ConstData),
Deref(UnaryOp),
AddressOf(UnaryOp),
Neg(UnaryOp),
Not(UnaryOp),
Sx(UnaryOp),
Zx(UnaryOp),
LowPart(UnaryOp),
BoolToInt(UnaryOp),
UnimplMem(UnaryOp),
Fsqrt(UnaryOp),
Fneg(UnaryOp),
Fabs(UnaryOp),
FloatToInt(UnaryOp),
IntToFloat(UnaryOp),
FloatConv(UnaryOp),
RoundToInt(UnaryOp),
Floor(UnaryOp),
Ceil(UnaryOp),
Ftrunc(UnaryOp),
DerefFieldSsa(DerefFieldSsa),
DerefSsa(DerefSsa),
ExternPtr(ExternPtr),
FloatConst(FloatConst),
For(ForLoop),
ForSsa(ForLoopSsa),
Goto(Label),
Label(Label),
If(If),
Intrinsic(Intrinsic),
IntrinsicSsa(IntrinsicSsa),
Jump(Jump),
MemPhi(MemPhi),
Nop(NoArgs),
Break(NoArgs),
Continue(NoArgs),
Noret(NoArgs),
Unreachable(NoArgs),
Bp(NoArgs),
Undef(NoArgs),
Unimpl(NoArgs),
Ret(Ret),
Split(Split),
StructField(StructField),
DerefField(StructField),
Switch(Switch),
Syscall(Syscall),
SyscallSsa(SyscallSsa),
Trap(Trap),
VarDeclare(Var),
Var(Var),
VarInit(VarInit),
VarInitSsa(VarInitSsa),
VarPhi(VarPhi),
VarSsa(VarSsa),
While(While),
DoWhile(While),
WhileSsa(WhileSsa),
DoWhileSsa(WhileSsa),
}
Variants§
Adc(BinaryOpCarry)
Sbb(BinaryOpCarry)
Rlc(BinaryOpCarry)
Rrc(BinaryOpCarry)
Add(BinaryOp)
Sub(BinaryOp)
And(BinaryOp)
Or(BinaryOp)
Xor(BinaryOp)
Lsl(BinaryOp)
Lsr(BinaryOp)
Asr(BinaryOp)
Rol(BinaryOp)
Ror(BinaryOp)
Mul(BinaryOp)
MuluDp(BinaryOp)
MulsDp(BinaryOp)
Divu(BinaryOp)
DivuDp(BinaryOp)
Divs(BinaryOp)
DivsDp(BinaryOp)
Modu(BinaryOp)
ModuDp(BinaryOp)
Mods(BinaryOp)
ModsDp(BinaryOp)
CmpE(BinaryOp)
CmpNe(BinaryOp)
CmpSlt(BinaryOp)
CmpUlt(BinaryOp)
CmpSle(BinaryOp)
CmpUle(BinaryOp)
CmpSge(BinaryOp)
CmpUge(BinaryOp)
CmpSgt(BinaryOp)
CmpUgt(BinaryOp)
TestBit(BinaryOp)
AddOverflow(BinaryOp)
Fadd(BinaryOp)
Fsub(BinaryOp)
Fmul(BinaryOp)
Fdiv(BinaryOp)
FcmpE(BinaryOp)
FcmpNe(BinaryOp)
FcmpLt(BinaryOp)
FcmpLe(BinaryOp)
FcmpGe(BinaryOp)
FcmpGt(BinaryOp)
FcmpO(BinaryOp)
FcmpUo(BinaryOp)
ArrayIndex(ArrayIndex)
ArrayIndexSsa(ArrayIndexSsa)
Assign(Assign)
AssignMemSsa(AssignMemSsa)
AssignUnpack(AssignUnpack)
AssignUnpackMemSsa(AssignUnpackMemSsa)
Block(Block)
Call(Call)
Tailcall(Call)
CallSsa(CallSsa)
Case(Case)
Const(Const)
ConstPtr(Const)
Import(Const)
ConstData(ConstData)
Deref(UnaryOp)
AddressOf(UnaryOp)
Neg(UnaryOp)
Not(UnaryOp)
Sx(UnaryOp)
Zx(UnaryOp)
LowPart(UnaryOp)
BoolToInt(UnaryOp)
UnimplMem(UnaryOp)
Fsqrt(UnaryOp)
Fneg(UnaryOp)
Fabs(UnaryOp)
FloatToInt(UnaryOp)
IntToFloat(UnaryOp)
FloatConv(UnaryOp)
RoundToInt(UnaryOp)
Floor(UnaryOp)
Ceil(UnaryOp)
Ftrunc(UnaryOp)
DerefFieldSsa(DerefFieldSsa)
DerefSsa(DerefSsa)
ExternPtr(ExternPtr)
FloatConst(FloatConst)
For(ForLoop)
ForSsa(ForLoopSsa)
Goto(Label)
Label(Label)
If(If)
Intrinsic(Intrinsic)
IntrinsicSsa(IntrinsicSsa)
Jump(Jump)
MemPhi(MemPhi)
Nop(NoArgs)
Break(NoArgs)
Continue(NoArgs)
Noret(NoArgs)
Unreachable(NoArgs)
Bp(NoArgs)
Undef(NoArgs)
Unimpl(NoArgs)
Ret(Ret)
Split(Split)
StructField(StructField)
DerefField(StructField)
Switch(Switch)
Syscall(Syscall)
SyscallSsa(SyscallSsa)
Trap(Trap)
VarDeclare(Var)
Var(Var)
VarInit(VarInit)
VarInitSsa(VarInitSsa)
VarPhi(VarPhi)
VarSsa(VarSsa)
While(While)
DoWhile(While)
WhileSsa(WhileSsa)
DoWhileSsa(WhileSsa)
Implementations§
source§impl HighLevelILInstruction
impl HighLevelILInstruction
pub fn function(&self) -> &HighLevelILFunction
pub fn address(&self) -> u64
pub fn lift(&self) -> HighLevelILLiftedInstruction
pub fn operands<'a>( &'a self ) -> Box<dyn Iterator<Item = (&'static str, HighLevelILOperand)> + 'a>
Trait Implementations§
source§impl Clone for HighLevelILInstruction
impl Clone for HighLevelILInstruction
source§fn clone(&self) -> HighLevelILInstruction
fn clone(&self) -> HighLevelILInstruction
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl RefUnwindSafe for HighLevelILInstruction
impl Send for HighLevelILInstruction
impl Sync for HighLevelILInstruction
impl Unpin for HighLevelILInstruction
impl UnwindSafe for HighLevelILInstruction
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
Mutably borrows from an owned value. Read more