Package proguard.analysis.cpa.defaults
Class DelegateAbstractDomain<LatticeAbstractStateT extends LatticeAbstractState>
- java.lang.Object
-
- proguard.analysis.cpa.defaults.DelegateAbstractDomain<LatticeAbstractStateT>
-
- All Implemented Interfaces:
AbstractDomain
public class DelegateAbstractDomain<LatticeAbstractStateT extends LatticeAbstractState> extends java.lang.Object implements AbstractDomain
This delegator passes all theAbstractDomain
operators to theLatticeAbstractState
. Thus, we can keep the CPA algorithm generic without having to cast types in the domain specific code. Abstract domains defined withLatticeAbstractState
should be passed asDelegateAbstractDomain
s to the CPA algorithm.
-
-
Constructor Summary
Constructors Constructor Description DelegateAbstractDomain()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isLessOrEqual(AbstractState abstractState1, AbstractState abstractState2)
Compares two abstract states.AbstractState
join(AbstractState abstractState1, AbstractState abstractState2)
Computes the join over two abstract states.
-
-
-
Method Detail
-
join
public AbstractState join(AbstractState abstractState1, AbstractState abstractState2)
Description copied from interface:AbstractDomain
Computes the join over two abstract states. To guarantee the correct behavior of the algorithm implementations must have no side effects.- Specified by:
join
in interfaceAbstractDomain
-
isLessOrEqual
public boolean isLessOrEqual(AbstractState abstractState1, AbstractState abstractState2)
Description copied from interface:AbstractDomain
Compares two abstract states.- Specified by:
isLessOrEqual
in interfaceAbstractDomain
-
-