|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.toolkits.scalar.AbstractFlowSet | +--soot.toolkits.scalar.AbstractBoundedFlowSet | +--soot.toolkits.scalar.BoundedArraySparseSet
Provides an efficient implementation of flowsets, that are usually
sparse or nearly full (after being complemented). This is done by
storing a flag complemented
. When a set is complemented,
only the elements, that are not in the full set are stored.
Even without the use of "complement()" or "topSet()" this flowSet is well
suited for sparse sets.
Field Summary | |
protected int |
modifyCounter
to be able to report concurrent modifications this integer has to be incremented for every modification of the set |
Constructor Summary | |
BoundedArraySparseSet()
creates a BoundedArraySparseSet without an explicite flow-universe. |
|
BoundedArraySparseSet(FlowUniverse flowUniverse)
a BoundedArraySparseSet with flowUniverse. |
Method Summary | |
void |
add(java.lang.Object obj)
Adds obj to this . |
void |
clear()
Sets this FlowSet to the empty set (more generally, the bottom element of the lattice.) |
java.lang.Object |
clone()
Clones the current FlowSet. |
void |
complement(FlowSet dest)
Complements this BoundedFlowSet, putting the result into dest . |
boolean |
contains(java.lang.Object obj)
Returns true if this FlowSet contains obj . |
void |
copy(FlowSet destFlow)
Copies the current FlowSet into dest. |
void |
difference(FlowSet otherFlow,
FlowSet destFlow)
Returns the set difference (this join ~other) of this FlowSet and other , putting result into dest . |
java.lang.Object |
emptySet()
returns an empty set, most often more efficient than: ((FlowSet)clone()).clear() |
boolean |
equals(java.lang.Object otherFlow)
|
void |
intersection(FlowSet otherFlow,
FlowSet destFlow)
Returns the intersection (meet) of this FlowSet and other ,
putting result into dest . |
boolean |
isEmpty()
Returns true if this FlowSet is the empty set. |
java.util.Iterator |
iterator()
the returned iterator implements the remove() -method. |
void |
remove(java.lang.Object obj)
Removes obj from this . |
int |
size()
Returns the size of the current FlowSet. |
java.util.List |
toList()
Returns an unbacked list of contained objects for this FlowSet. |
void |
union(FlowSet otherFlow,
FlowSet destFlow)
Returns the union (join) of this FlowSet and other , putting
result into dest . |
Methods inherited from class soot.toolkits.scalar.AbstractBoundedFlowSet |
complement,
topSet |
Methods inherited from class soot.toolkits.scalar.AbstractFlowSet |
add,
difference,
intersection,
remove,
toString,
union |
Methods inherited from class java.lang.Object |
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected int modifyCounter
Constructor Detail |
public BoundedArraySparseSet()
public BoundedArraySparseSet(FlowUniverse flowUniverse)
flowUniverse
- all possible elements.Method Detail |
public java.lang.Object clone()
public void clear()
public java.lang.Object emptySet()
((FlowSet)clone()).clear()
public int size()
public boolean isEmpty()
public java.util.Iterator iterator()
remove()
-method.public java.util.List toList()
public void complement(FlowSet dest)
dest
. dest
and this
may be the
same object.public void add(java.lang.Object obj)
obj
to this
.public void remove(java.lang.Object obj)
obj
from this
.public void union(FlowSet otherFlow, FlowSet destFlow)
other
, putting
result into dest
. dest
, other
and
this
could be the same object.public void intersection(FlowSet otherFlow, FlowSet destFlow)
other
,
putting result into dest
. dest
,
other
and this
could be the same object.public void difference(FlowSet otherFlow, FlowSet destFlow)
other
, putting result into dest
.
dest
, other
and this
could be the
same object.public boolean contains(java.lang.Object obj)
obj
.public boolean equals(java.lang.Object otherFlow)
public void copy(FlowSet destFlow)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |