|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.ba.obl.StateSet
public class StateSet
A dataflow fact used in ObligationAnalysis. It is a set of State objects, plus the additional capability to represent top and bottom elements.
Invariant: no StateSet may contain more than one State with the same ObligationSet.
See Weimer and Necula, Finding and preventing run-time error handling mistakes, OOPSLA 2004.
Nested Class Summary | |
---|---|
static interface |
StateSet.StateCallback
|
Constructor Summary | |
---|---|
StateSet()
|
Method Summary | |
---|---|
void |
addObligation(Obligation obligation)
Add an obligation to every State in the StateSet. |
void |
applyToAllStates(StateSet.StateCallback callback)
Apply a callback to all States in the StateSet. |
void |
applyToAllStatesAndUpdateMap(StateSet.StateCallback callback,
java.util.Map<ObligationSet,State> updatedStateMap)
Apply a callback to all States and replace the ObligationSet -> State map with the one given (which is assumed to be updated by the callback.) |
void |
copyFrom(StateSet other)
Make this StateSet an exact copy of the given StateSet. |
java.util.Map<ObligationSet,State> |
createEmptyMap()
Return a newly allocated Map of ObligationSet to State that may be passed to applyToAllStatesAndUpdateMap(). |
void |
deleteObligation(Obligation obligation)
Remove an Obligation from every State in the StateSet. |
StateSet |
duplicate()
Return an exact deep copy of this StateSet. |
boolean |
equals(java.lang.Object o)
|
State |
getStateWithObligationSet(ObligationSet obligationSet)
Get the State which has the given ObligationSet. |
int |
hashCode()
|
void |
initEntryFact(ObligationFactory factory)
Initialize this object as the entry fact for a method: a single state with empty obligation set and path. |
boolean |
isBottom()
|
boolean |
isTop()
|
boolean |
isValid()
|
void |
setBottom()
|
void |
setTop()
|
java.util.Iterator<State> |
stateIterator()
Return an Iterator over the States in the StateSet. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public StateSet()
Method Detail |
---|
public void setTop()
public boolean isTop()
public void setBottom()
public boolean isBottom()
public boolean isValid()
public java.util.Iterator<State> stateIterator()
public State getStateWithObligationSet(ObligationSet obligationSet)
obligationSet
- we want to get the State with this ObligationSet
public void initEntryFact(ObligationFactory factory)
factory
- the ObligationFactory used for the analysispublic void copyFrom(StateSet other)
other
- a StateSet; this StateSet will be made identical to itpublic StateSet duplicate()
public void addObligation(Obligation obligation)
obligation
- the obligation to addpublic void deleteObligation(Obligation obligation) throws NonexistentObligationException
obligation
- the obligation to remove
NonexistentObligationException
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.Map<ObligationSet,State> createEmptyMap()
public void applyToAllStatesAndUpdateMap(StateSet.StateCallback callback, java.util.Map<ObligationSet,State> updatedStateMap) throws NonexistentObligationException
callback
- the callbackupdatedStateMap
- updated map of ObligationSets to States
NonexistentObligationException
public void applyToAllStates(StateSet.StateCallback callback) throws NonexistentObligationException
callback
-
NonexistentObligationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |