pub enum Operation {
Show 56 variants
Function(ModuleId, FunId, Vec<Type>),
OpaqueCallBegin(ModuleId, FunId, Vec<Type>),
OpaqueCallEnd(ModuleId, FunId, Vec<Type>),
Pack(ModuleId, StructId, Vec<Type>),
Unpack(ModuleId, StructId, Vec<Type>),
MoveTo(ModuleId, StructId, Vec<Type>),
MoveFrom(ModuleId, StructId, Vec<Type>),
Exists(ModuleId, StructId, Vec<Type>),
BorrowLoc,
BorrowField(ModuleId, StructId, Vec<Type>, usize),
BorrowGlobal(ModuleId, StructId, Vec<Type>),
GetField(ModuleId, StructId, Vec<Type>, usize),
GetGlobal(ModuleId, StructId, Vec<Type>),
Uninit,
Destroy,
ReadRef,
WriteRef,
FreezeRef,
Havoc(HavocKind),
Stop,
IsParent(BorrowNode, BorrowEdge),
WriteBack(BorrowNode, BorrowEdge),
UnpackRef,
PackRef,
UnpackRefDeep,
PackRefDeep,
CastU8,
CastU64,
CastU128,
Not,
Add,
Sub,
Mul,
Div,
Mod,
BitOr,
BitAnd,
Xor,
Shl,
Shr,
Lt,
Gt,
Le,
Ge,
Or,
And,
Eq,
Neq,
CastU256,
TraceLocal(TempIndex),
TraceReturn(usize),
TraceAbort,
TraceExp(TraceKind, NodeId),
TraceGlobalMem(QualifiedInstId<StructId>),
EmitEvent,
EventStoreDiverge,
}
Expand description
An operation – target of a call. This contains user functions, builtin functions, and operators.
Variants
Function(ModuleId, FunId, Vec<Type>)
OpaqueCallBegin(ModuleId, FunId, Vec<Type>)
OpaqueCallEnd(ModuleId, FunId, Vec<Type>)
Pack(ModuleId, StructId, Vec<Type>)
Unpack(ModuleId, StructId, Vec<Type>)
MoveTo(ModuleId, StructId, Vec<Type>)
MoveFrom(ModuleId, StructId, Vec<Type>)
Exists(ModuleId, StructId, Vec<Type>)
BorrowLoc
BorrowField(ModuleId, StructId, Vec<Type>, usize)
BorrowGlobal(ModuleId, StructId, Vec<Type>)
GetField(ModuleId, StructId, Vec<Type>, usize)
GetGlobal(ModuleId, StructId, Vec<Type>)
Uninit
Destroy
ReadRef
WriteRef
FreezeRef
Havoc(HavocKind)
Stop
IsParent(BorrowNode, BorrowEdge)
WriteBack(BorrowNode, BorrowEdge)
UnpackRef
PackRef
UnpackRefDeep
PackRefDeep
CastU8
CastU64
CastU128
Not
Add
Sub
Mul
Div
Mod
BitOr
BitAnd
Xor
Shl
Shr
Lt
Gt
Le
Ge
Or
And
Eq
Neq
CastU256
TraceLocal(TempIndex)
TraceReturn(usize)
TraceAbort
TraceExp(TraceKind, NodeId)
TraceGlobalMem(QualifiedInstId<StructId>)
EmitEvent
EventStoreDiverge
Implementations
sourceimpl Operation
impl Operation
sourcepub fn display<'env>(
&'env self,
func_target: &'env FunctionTarget<'env>
) -> OperationDisplay<'env>
pub fn display<'env>(
&'env self,
func_target: &'env FunctionTarget<'env>
) -> OperationDisplay<'env>
Creates a format object for a bytecode in context of a function target.
Trait Implementations
sourceimpl PartialEq<Operation> for Operation
impl PartialEq<Operation> for Operation
impl Eq for Operation
impl StructuralEq for Operation
impl StructuralPartialEq for Operation
Auto Trait Implementations
impl RefUnwindSafe for Operation
impl Send for Operation
impl Sync for Operation
impl Unpin for Operation
impl UnwindSafe for Operation
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.