pub enum AbstractOp {
Op(Op<Abstract>),
Label(String),
Push(Imm),
MacroDefinition(MacroDefinition),
Macro(InstructionMacroInvocation),
}Expand description
Like an Op, except it also supports virtual instructions.
In addition to the real EVM instructions, AbstractOp also supports defining
labels, and pushing variable length immediate arguments.
Variants§
Op(Op<Abstract>)
A real Op, as opposed to a label or variable sized push.
Label(String)
A label, which is a virtual instruction.
Push(Imm)
A variable sized push, which is a virtual instruction.
MacroDefinition(MacroDefinition)
A user-defined macro definition, which is a virtual instruction.
Macro(InstructionMacroInvocation)
A user-defined macro, which is a virtual instruction.
Implementations§
Source§impl AbstractOp
impl AbstractOp
Trait Implementations§
Source§impl Clone for AbstractOp
impl Clone for AbstractOp
Source§fn clone(&self) -> AbstractOp
fn clone(&self) -> AbstractOp
Returns a duplicate 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 moreSource§impl Debug for AbstractOp
impl Debug for AbstractOp
Source§impl Display for AbstractOp
impl Display for AbstractOp
Source§impl From<AbstractOp> for RawOp
impl From<AbstractOp> for RawOp
Source§fn from(op: AbstractOp) -> Self
fn from(op: AbstractOp) -> Self
Converts to this type from the input type.
Source§impl From<ExpressionMacroDefinition> for AbstractOp
impl From<ExpressionMacroDefinition> for AbstractOp
Source§fn from(item: ExpressionMacroDefinition) -> Self
fn from(item: ExpressionMacroDefinition) -> Self
Converts to this type from the input type.
Source§impl From<InstructionMacroDefinition> for AbstractOp
impl From<InstructionMacroDefinition> for AbstractOp
Source§fn from(item: InstructionMacroDefinition) -> Self
fn from(item: InstructionMacroDefinition) -> Self
Converts to this type from the input type.
Source§impl PartialEq for AbstractOp
impl PartialEq for AbstractOp
impl Eq for AbstractOp
impl StructuralPartialEq for AbstractOp
Auto Trait Implementations§
impl Freeze for AbstractOp
impl RefUnwindSafe for AbstractOp
impl Send for AbstractOp
impl Sync for AbstractOp
impl Unpin for AbstractOp
impl UnwindSafe for AbstractOp
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