Struct evmil::dfa::AbstractStack
source · pub struct AbstractStack { /* private fields */ }
Implementations§
source§impl AbstractStack
impl AbstractStack
pub fn new<T: Into<Interval>>(lower: T, upper: Vec<AbstractValue>) -> Self
pub fn is_bottom(&self) -> bool
sourcepub fn min_len(&self) -> usize
pub fn min_len(&self) -> usize
Determine the minimum length of any stack represented by this abstract stack.
sourcepub fn max_len(&self) -> usize
pub fn max_len(&self) -> usize
Determine the maximum length of any stack represented by this abstract stack.
sourcepub fn push(self, val: AbstractValue) -> Self
pub fn push(self, val: AbstractValue) -> Self
Push an iterm onto this stack.
sourcepub fn peek(&self, n: usize) -> AbstractValue
pub fn peek(&self, n: usize) -> AbstractValue
Perk nth item on the stack (where 0
is top).
sourcepub fn set(self, n: usize, val: AbstractValue) -> Self
pub fn set(self, n: usize, val: AbstractValue) -> Self
Set ith
item from the top on this stack. Thus, 0
is the
top of the stack, etc.
sourcepub fn merge(self, other: &AbstractStack) -> Self
pub fn merge(self, other: &AbstractStack) -> Self
Merge two abstract stacks together.
sourcepub fn merge_into(&mut self, other: &AbstractStack) -> bool
pub fn merge_into(&mut self, other: &AbstractStack) -> bool
Merge an abstract stack into this stack, whilst reporting whether this stack changed or not.
Trait Implementations§
source§impl Clone for AbstractStack
impl Clone for AbstractStack
source§impl Debug for AbstractStack
impl Debug for AbstractStack
source§impl Display for AbstractStack
impl Display for AbstractStack
source§impl PartialEq<AbstractStack> for AbstractStack
impl PartialEq<AbstractStack> for AbstractStack
source§fn eq(&self, other: &AbstractStack) -> bool
fn eq(&self, other: &AbstractStack) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.