Struct evmil::evm::Disassembly

source ·
pub struct Disassembly<'a, S: Stack> { /* private fields */ }
Expand description

Identifies all contiguous code blocks within the bytecode program. Here, a block is a sequence of bytecodes terminated by either STOP, REVERT, RETURN or JUMP. Observe that a JUMPDEST can only appear as the first instruction of a block. In fact, every reachable block (except the root block) begins with a JUMPDEST.

Implementations§

Get the state at a given program location.

Get the enclosing block for a given bytecode location.

Determine whether a given block is currently considered reachable or not. Observe the root block (id=0) is always considered reachable.

Read a slice of bytes from the bytecode program, padding with zeros as necessary.

Flattern the disassembly into a sequence of instructions.

Apply flow analysis to refine the results of this disassembly.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.