StateT - The type of the ProgramLocationDependent abstract states contained in the
reached set. Typically, a JvmAbstractState, but might be a different type of state
depending on the analysis (e.g., might contain JvmMemoryLocationAbstractState for taint trace
analysis).public final class ProgramLocationDependentReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent> extends java.lang.Object implements ReachedSet<StateT>
ReachedSet stores ProgramLocationDependent AbstractStates. It
assumes the analysis does merge the AbstractStates belonging to different CfaNodes and stores them in separate bins.| Constructor and Description |
|---|
ProgramLocationDependentReachedSet() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(StateT abstractState)
Adds an abstract state.
|
boolean |
addAll(java.util.Collection<? extends StateT> abstractStates)
Adds multiple abstract states.
|
java.util.Collection<StateT> |
asCollection()
Returns a collection representation of itself.
|
void |
clear()
Empties the reached set.
|
java.util.Collection<StateT> |
getReached(JvmCfaNode location)
Returns a collection of abstract states belonging to the given
location. |
java.util.Collection<StateT> |
getReached(StateT abstractState)
Returns a collection of abstract states mergeable with the
abstractState. |
boolean |
remove(StateT abstractState)
Removes an abstract state.
|
boolean |
removeAll(java.util.Collection<? extends StateT> abstractStates)
Removes multiple abstract states.
|
public boolean add(StateT abstractState)
ReachedSetadd in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>public boolean addAll(java.util.Collection<? extends StateT> abstractStates)
ReachedSetaddAll in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>public boolean remove(StateT abstractState)
ReachedSetremove in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>public boolean removeAll(java.util.Collection<? extends StateT> abstractStates)
ReachedSetremoveAll in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>public java.util.Collection<StateT> asCollection()
ReachedSetasCollection in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>public java.util.Collection<StateT> getReached(StateT abstractState)
ReachedSetabstractState.getReached in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>public java.util.Collection<StateT> getReached(JvmCfaNode location)
location.public void clear()
ReachedSetclear in interface ReachedSet<StateT extends AbstractState<StateT> & ProgramLocationDependent>