pub struct CfaState { /* private fields */ }
Implementations§
source§impl CfaState
impl CfaState
pub fn new(stack: AbstractStack) -> Self
pub fn is_bottom(&self) -> bool
sourcepub fn stack(&self) -> &AbstractStack
pub fn stack(&self) -> &AbstractStack
Access the stack component of this abstract EVM.
pub fn push(self, val: AbstractValue) -> Self
pub fn pop(self, n: usize) -> Self
pub fn set(self, n: usize, val: AbstractValue) -> Self
Trait Implementations§
source§impl AbstractState for CfaState
impl AbstractState for CfaState
source§fn transfer(self, insn: &Instruction) -> CfaState
fn transfer(self, insn: &Instruction) -> CfaState
Update an abstract state with the effects of a given instruction.
source§fn is_reachable(&self) -> bool
fn is_reachable(&self) -> bool
Determines whether a given block is considered reachable or
not.
source§fn branch(&self, _pc: usize, insn: &Instruction) -> Self
fn branch(&self, _pc: usize, insn: &Instruction) -> Self
Apply a given branch to this stage, yielding an updated state
at the point of the branch.
source§fn peek(&self, n: usize) -> AbstractValue
fn peek(&self, n: usize) -> AbstractValue
Determine value on top of stack