|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectsoot.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 FlowSetclone in class AbstractFlowSetpublic Object emptySet()
AbstractFlowSet
emptySet in interface FlowSetemptySet in class AbstractFlowSetpublic void clear()
AbstractFlowSet
clear in interface FlowSetclear in class AbstractFlowSetpublic int size()
FlowSet
size in interface FlowSetsize in class AbstractFlowSetpublic boolean isEmpty()
FlowSet
isEmpty in interface FlowSetisEmpty in class AbstractFlowSetpublic List toList()
toList in interface FlowSettoList in class AbstractFlowSetpublic void add(Object e)
FlowSetobj to this.
add in interface FlowSetadd in class AbstractFlowSetpublic void remove(Object obj)
FlowSetobj from this.
remove in interface FlowSetremove in class AbstractFlowSet
public void union(FlowSet otherFlow,
FlowSet destFlow)
union in interface FlowSetunion in class AbstractFlowSet
public void intersection(FlowSet otherFlow,
FlowSet destFlow)
intersection in interface FlowSetintersection in class AbstractFlowSet
public void difference(FlowSet otherFlow,
FlowSet destFlow)
FlowSetother, putting result into dest.
dest, other and this could be the
same object.
difference in interface FlowSetdifference in class AbstractFlowSetpublic boolean contains(Object obj)
FlowSetobj.
contains in interface FlowSetcontains in class AbstractFlowSetpublic boolean equals(Object otherFlow)
equals in class AbstractFlowSetpublic void copy(FlowSet destFlow)
FlowSet
copy in interface FlowSetcopy 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 | |||||||||