pub enum InstructionKind<'func, M, F>where
M: FunctionMutability,
F: FunctionForm,{
If(Expression<'func, M, F>, LowLevelILInstruction<'func, M, F>, LowLevelILInstruction<'func, M, F>),
SetReg(LowLevelILRegisterKind<CoreRegister>, Expression<'func, M, F>),
SetRegSsa(LowLevelILSSARegisterKind<CoreRegister>, Expression<'func, M, F>),
RegPhi(LowLevelILSSARegisterKind<CoreRegister>, Vec<LowLevelILSSARegisterKind<CoreRegister>>),
Call(Expression<'func, M, F>),
TailCall(Expression<'func, M, F>),
CallSsa(Expression<'func, M, F>, Vec<Expression<'func, M, F>>),
TailCallSsa(Expression<'func, M, F>, Vec<Expression<'func, M, F>>),
Goto(LowLevelILInstruction<'func, M, F>),
Jump(Expression<'func, M, F>),
Unknown(LowLevelILInstruction<'func, M, F>),
}
Variants§
If(Expression<'func, M, F>, LowLevelILInstruction<'func, M, F>, LowLevelILInstruction<'func, M, F>)
SetReg(LowLevelILRegisterKind<CoreRegister>, Expression<'func, M, F>)
SetRegSsa(LowLevelILSSARegisterKind<CoreRegister>, Expression<'func, M, F>)
RegPhi(LowLevelILSSARegisterKind<CoreRegister>, Vec<LowLevelILSSARegisterKind<CoreRegister>>)
Call(Expression<'func, M, F>)
TailCall(Expression<'func, M, F>)
CallSsa(Expression<'func, M, F>, Vec<Expression<'func, M, F>>)
TailCallSsa(Expression<'func, M, F>, Vec<Expression<'func, M, F>>)
Goto(LowLevelILInstruction<'func, M, F>)
Jump(Expression<'func, M, F>)
Unknown(LowLevelILInstruction<'func, M, F>)
Trait Implementations§
Source§impl<'func, M, F> Debug for InstructionKind<'func, M, F>
impl<'func, M, F> Debug for InstructionKind<'func, M, F>
Source§impl<'a, 'func, M, F> From<&'a LowLevelILInstruction<'func, M, F>> for InstructionKind<'func, M, F>where
M: FunctionMutability,
F: FunctionForm,
LowLevelILInstruction<'func, M, F>: InstructionHandler<'func, M, F>,
LowLevelILExpression<'func, M, F, ValueExpr>: ExpressionHandler<'func, M, F>,
impl<'a, 'func, M, F> From<&'a LowLevelILInstruction<'func, M, F>> for InstructionKind<'func, M, F>where
M: FunctionMutability,
F: FunctionForm,
LowLevelILInstruction<'func, M, F>: InstructionHandler<'func, M, F>,
LowLevelILExpression<'func, M, F, ValueExpr>: ExpressionHandler<'func, M, F>,
Source§fn from(instr: &'a LowLevelILInstruction<'func, M, F>) -> Self
fn from(instr: &'a LowLevelILInstruction<'func, M, F>) -> Self
Converts to this type from the input type.
Source§impl<'func, M, F> From<LowLevelILInstruction<'func, M, F>> for InstructionKind<'func, M, F>where
M: FunctionMutability,
F: FunctionForm,
LowLevelILInstruction<'func, M, F>: InstructionHandler<'func, M, F>,
LowLevelILExpression<'func, M, F, ValueExpr>: ExpressionHandler<'func, M, F>,
impl<'func, M, F> From<LowLevelILInstruction<'func, M, F>> for InstructionKind<'func, M, F>where
M: FunctionMutability,
F: FunctionForm,
LowLevelILInstruction<'func, M, F>: InstructionHandler<'func, M, F>,
LowLevelILExpression<'func, M, F, ValueExpr>: ExpressionHandler<'func, M, F>,
Source§fn from(instr: LowLevelILInstruction<'func, M, F>) -> Self
fn from(instr: LowLevelILInstruction<'func, M, F>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'func, M, F> Freeze for InstructionKind<'func, M, F>
impl<'func, M, F> RefUnwindSafe for InstructionKind<'func, M, F>where
M: RefUnwindSafe,
F: RefUnwindSafe,
impl<'func, M, F> Send for InstructionKind<'func, M, F>
impl<'func, M, F> Sync for InstructionKind<'func, M, F>
impl<'func, M, F> Unpin for InstructionKind<'func, M, F>
impl<'func, M, F> UnwindSafe for InstructionKind<'func, M, F>where
M: RefUnwindSafe,
F: RefUnwindSafe,
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