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>>AnAbstractStatecontains 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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description StateTcopy()Creates a copy of itself.booleanequals(java.lang.Object obj)default PrecisiongetPrecision()Returns thePrecisionused by thePrecisionAdjustment.inthashCode()default booleanisLess(StateT abstractStateT)Strictly 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).StateTjoin(StateT abstractState)Computes a join over itself and another abstract stateabstractState(i.e., finds the least upper bound on the semilattice).
-
-
-
Method Detail
-
getPrecision
default Precision getPrecision()
Returns thePrecisionused by thePrecisionAdjustment.
-
copy
StateT copy()
Creates a copy of itself.
-
equals
boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
join
StateT join(StateT abstractState)
Computes a join over itself and another abstract stateabstractState(i.e., finds the least upper bound on the semilattice).
-
isLessOrEqual
boolean isLessOrEqual(StateT abstractState)
Compares itself to theabstractState(i.e., compare the states on the partial order provided by the domain of the analysis).
-
isLess
default boolean isLess(StateT abstractStateT)
Strictly compares itself to theabstractState.
-
-