|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soot.toolkits.scalar.AbstractFlowSet soot.dava.toolkits.base.AST.structuredAnalysis.DavaFlowSet
public class DavaFlowSet
Field Summary | |
---|---|
Object[] |
elements
|
Constructor Summary | |
---|---|
DavaFlowSet()
|
|
DavaFlowSet(DavaFlowSet other)
|
Method Summary | |
---|---|
void |
add(Object e)
Adds obj to this . |
void |
addToBreakList(String labelBroken,
DavaFlowSet set)
When an explicit break statement is encountered this method should be called to store the current davaflowset |
void |
addToContinueList(String labelContinued,
DavaFlowSet set)
When an explicit continue statement is encountered this method should be called to store the current davaflowset |
void |
addToImplicitBreaks(DAbruptStmt ab,
DavaFlowSet set)
The next two methods take an abruptStmt as input along with a flowSet. |
void |
addToImplicitContinues(DAbruptStmt ab,
DavaFlowSet set)
|
void |
clear()
implemented, but *very* inefficient. |
DavaFlowSet |
clone()
Clones the current FlowSet. |
boolean |
contains(Object obj)
Returns true if this FlowSet contains obj . |
void |
copy(FlowSet destFlow)
Copies the current FlowSet into dest. |
void |
copyInternalDataFrom(Object fromThis)
|
void |
difference(FlowSet otherFlow,
FlowSet destFlow)
Returns the set difference (this intersect ~other) of this FlowSet and other , putting result into dest . |
Object |
emptySet()
implemented, but inefficient. |
boolean |
equals(Object otherFlow)
Notice that the equals method only checks the equality of the elements of the flow set DavaFlowSet also contains information regarding abrupt control flow This should also be checked by invoking the internalDataMatchesTo method |
List |
getBreakSet(String label)
|
List |
getContinueSet(String label)
|
HashMap<Serializable,List<DavaFlowSet>> |
getImplicitBreaks()
|
HashMap<Serializable,List<DavaFlowSet>> |
getImplicitContinues()
|
List |
getImplicitlyBrokenSets(ASTNode node)
|
List |
getImplicitlyContinuedSets(ASTNode node)
|
boolean |
internalDataMatchesTo(Object otherObj)
|
void |
intersection(FlowSet otherFlow,
FlowSet destFlow)
Notice that the intersection method only merges the elements of the flow set DavaFlowSet also contains information regarding abrupt control flow This should also be merged using the copyInternalDataFrom method |
boolean |
isEmpty()
Returns true if this FlowSet is the empty set. |
void |
remove(Object obj)
Removes obj from this . |
int |
size()
Returns the size of the current FlowSet. |
List |
toList()
Returns a unbacked list of elements in this set. |
String |
toString()
|
void |
union(FlowSet otherFlow,
FlowSet destFlow)
Notice that the union method only merges the elements of the flow set DavaFlowSet also contains information regarding abrupt control flow This should also be merged using the copyInternalDataFrom method |
Methods inherited from class soot.toolkits.scalar.AbstractFlowSet |
---|
add, difference, hashCode, intersection, iterator, remove, union |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public Object[] elements
Constructor Detail |
---|
public DavaFlowSet()
public DavaFlowSet(DavaFlowSet other)
Method Detail |
---|
public DavaFlowSet clone()
FlowSet
clone
in interface FlowSet
clone
in class AbstractFlowSet
public Object emptySet()
AbstractFlowSet
emptySet
in interface FlowSet
emptySet
in class AbstractFlowSet
public void clear()
AbstractFlowSet
clear
in interface FlowSet
clear
in class AbstractFlowSet
public int size()
FlowSet
size
in interface FlowSet
size
in class AbstractFlowSet
public boolean isEmpty()
FlowSet
isEmpty
in interface FlowSet
isEmpty
in class AbstractFlowSet
public List toList()
toList
in interface FlowSet
toList
in class AbstractFlowSet
public void add(Object e)
FlowSet
obj
to this
.
add
in interface FlowSet
add
in class AbstractFlowSet
public void remove(Object obj)
FlowSet
obj
from this
.
remove
in interface FlowSet
remove
in class AbstractFlowSet
public void union(FlowSet otherFlow, FlowSet destFlow)
union
in interface FlowSet
union
in class AbstractFlowSet
public void intersection(FlowSet otherFlow, FlowSet destFlow)
intersection
in interface FlowSet
intersection
in class AbstractFlowSet
public void difference(FlowSet otherFlow, FlowSet destFlow)
FlowSet
other
, putting result into dest
.
dest
, other
and this
could be the
same object.
difference
in interface FlowSet
difference
in class AbstractFlowSet
public boolean contains(Object obj)
FlowSet
obj
.
contains
in interface FlowSet
contains
in class AbstractFlowSet
public boolean equals(Object otherFlow)
equals
in class AbstractFlowSet
public void copy(FlowSet destFlow)
FlowSet
copy
in interface FlowSet
copy
in class AbstractFlowSet
public void addToBreakList(String labelBroken, DavaFlowSet set)
public void addToContinueList(String labelContinued, DavaFlowSet set)
public void addToImplicitBreaks(DAbruptStmt ab, DavaFlowSet set)
public void addToImplicitContinues(DAbruptStmt ab, DavaFlowSet set)
public HashMap<Serializable,List<DavaFlowSet>> getImplicitBreaks()
public HashMap<Serializable,List<DavaFlowSet>> getImplicitContinues()
public List getImplicitlyBrokenSets(ASTNode node)
public List getImplicitlyContinuedSets(ASTNode node)
public void copyInternalDataFrom(Object fromThis)
public boolean internalDataMatchesTo(Object otherObj)
public List getContinueSet(String label)
public List getBreakSet(String label)
public String toString()
toString
in class AbstractFlowSet
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |