StateT - recursive generic type of the abstract state.public interface AbstractState<StateT extends AbstractState<StateT>>
AbstractState contains information about the program state.
Abstract states are meant as part of a join-semilattice representing the domain of the analysis and implement operations over this set. In particular the states should be able to determine whether they are below another state in the partial order and to calculate the least upper bound on the semilattice when another state is provided (i.e., join operation).
| Modifier and Type | Method and Description |
|---|---|
StateT |
copy()
Creates a copy of itself.
|
boolean |
equals(java.lang.Object obj) |
default Precision |
getPrecision()
Returns the
Precision used by the PrecisionAdjustment. |
int |
hashCode() |
default boolean |
isLess(StateT abstractStateT)
Strictly compares itself to the
abstractState. |
boolean |
isLessOrEqual(StateT abstractState)
Compares itself to the
abstractState (i.e., compare the states on the partial order
provided by the domain of the analysis). |
StateT |
join(StateT abstractState)
Computes a join over itself and another abstract state
abstractState (i.e., finds the
least upper bound on the semilattice). |
default Precision getPrecision()
Precision used by the PrecisionAdjustment.StateT copy()
boolean equals(java.lang.Object obj)
equals in class java.lang.Objectint hashCode()
hashCode in class java.lang.ObjectStateT join(StateT abstractState)
abstractState (i.e., finds the
least upper bound on the semilattice).boolean isLessOrEqual(StateT abstractState)
abstractState (i.e., compare the states on the partial order
provided by the domain of the analysis).default boolean isLess(StateT abstractStateT)
abstractState.