Package proguard.analysis.cpa.interfaces
Interface AbstractState<StateT extends AbstractState<StateT>>
- Type Parameters:
StateT- recursive generic type of the abstract state.
- All Known Subinterfaces:
JvmHeapAbstractState<StateT>,MapAbstractState<KeyT,AbstractSpaceT>
- All Known Implementing Classes:
HashMapAbstractState,JvmAbstractState,JvmForgetfulHeapAbstractState,JvmFrameAbstractState,JvmMemoryLocationAbstractState,JvmShallowHeapAbstractState,JvmValueAbstractState,ListAbstractState,SetAbstractState,StackAbstractState,ValueAbstractState
public interface AbstractState<StateT extends AbstractState<StateT>>
An
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).
-
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a copy of itself.booleandefault PrecisionReturns thePrecisionused by thePrecisionAdjustment.inthashCode()default booleanStrictly compares itself to theabstractState.booleanisLessOrEqual(StateT abstractState) Compares itself to theabstractState(i.e., compare the states on the partial order provided by the domain of the analysis).Computes a join over itself and another abstract stateabstractState(i.e., finds the least upper bound on the semilattice).
-
Method Details
-
getPrecision
Returns thePrecisionused by thePrecisionAdjustment. -
copy
StateT copy()Creates a copy of itself. -
equals
-
hashCode
int hashCode() -
join
Computes a join over itself and another abstract stateabstractState(i.e., finds the least upper bound on the semilattice). -
isLessOrEqual
Compares itself to theabstractState(i.e., compare the states on the partial order provided by the domain of the analysis). -
isLess
Strictly compares itself to theabstractState.
-