|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.jimple.spark.pag.PAG
Pointer assignment graph.
Field Summary | |
protected java.util.Map |
alloc
|
protected java.util.Map |
allocInv
|
protected static Node[] |
EMPTY_NODE_ARRAY
|
protected java.util.Map |
load
|
protected java.util.Map |
loadInv
|
int |
maxFinishNumber
|
protected SparkOptions |
opts
|
protected java.util.Map |
simple
|
protected java.util.Map |
simpleInv
|
protected java.util.Map |
store
|
protected java.util.Map |
storeInv
|
Constructor Summary | |
PAG(SparkOptions opts)
|
Method Summary | |
void |
addDereference(VarNode base)
Adds the base of a dereference to the list of dereferenced variables. |
boolean |
addEdge(Node from,
Node to)
Adds an edge to the graph, returning false if it was already there. |
protected boolean |
addToMap(java.util.Map m,
Node key,
Node value)
|
Node[] |
allocInvLookup(VarNode key)
|
java.util.Set |
allocInvSources()
|
Node[] |
allocLookup(AllocNode key)
|
QueueReader |
allocNodeListener()
|
java.util.Set |
allocSources()
|
void |
cleanUpMerges()
|
QueueReader |
edgeReader()
|
AllocDotField |
findAllocDotField(AllocNode an,
SparkField field)
Finds the AllocDotField for base AllocNode an and field field, or returns null. |
FieldRefNode |
findFieldRefNode(java.lang.Object baseValue,
SparkField field)
Finds the FieldRefNode for base variable value and field field, or returns null. |
VarNode |
findVarNode(java.lang.Object value)
Finds the VarNode for the variable value, or returns null. |
Numberer |
getAllocDotFieldNodeNumberer()
|
Numberer |
getAllocNodeNumberer()
|
java.util.List |
getDereferences()
Returns list of dereferences variables. |
Numberer |
getFieldRefNodeNumberer()
|
java.util.Map |
getNodeTags()
|
int |
getNumAllocNodes()
|
OnFlyCallGraph |
getOnFlyCallGraph()
|
SparkOptions |
getOpts()
Returns SparkOptions for this graph. |
P2SetFactory |
getSetFactory()
|
TypeManager |
getTypeManager()
|
Numberer |
getVarNodeNumberer()
|
Node[] |
loadInvLookup(VarNode key)
|
java.util.Set |
loadInvSources()
|
Node[] |
loadLookup(FieldRefNode key)
|
java.util.Set |
loadSources()
|
protected Node[] |
lookup(java.util.Map m,
java.lang.Object key)
|
AllocDotField |
makeAllocDotField(AllocNode an,
SparkField field)
Finds or creates the AllocDotField for base variable baseValue and field field, of type t. |
AllocNode |
makeAllocNode(java.lang.Object newExpr,
Type type,
SootMethod m)
|
AllocNode |
makeClassConstantNode(java.lang.String s)
|
FieldRefNode |
makeFieldRefNode(java.lang.Object baseValue,
Type baseType,
SparkField field,
SootMethod method)
Finds or creates the FieldRefNode for base variable baseValue and field field, of type type. |
FieldRefNode |
makeFieldRefNode(VarNode base,
SparkField field)
Finds or creates the FieldRefNode for base variable base and field field, of type type. |
AllocNode |
makeStringConstantNode(java.lang.String s)
|
VarNode |
makeVarNode(java.lang.Object value,
Type type,
SootMethod method)
Finds or creates the VarNode for the variable value, of type type. |
PointsToSet |
reachingObjects(Local l)
Returns the set of objects pointed to by variable l. |
PointsToSet |
reachingObjects(Local l,
SootField f)
Returns the set of objects pointed to by instance field f of the objects pointed to by l. |
PointsToSet |
reachingObjects(PointsToSet s,
SootField f)
Returns the set of objects pointed to by instance field f of the objects in the PointsToSet s. |
PointsToSet |
reachingObjects(SootField f)
Returns the set of objects pointed to by static field f. |
void |
setOnFlyCallGraph(OnFlyCallGraph ofcg)
|
Node[] |
simpleInvLookup(VarNode key)
|
java.util.Set |
simpleInvSources()
|
Node[] |
simpleLookup(VarNode key)
|
java.util.Set |
simpleSources()
|
Node[] |
storeInvLookup(FieldRefNode key)
|
java.util.Set |
storeInvSources()
|
Node[] |
storeLookup(VarNode key)
|
java.util.Set |
storeSources()
|
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected SparkOptions opts
protected java.util.Map simple
protected java.util.Map load
protected java.util.Map store
protected java.util.Map alloc
protected java.util.Map simpleInv
protected java.util.Map loadInv
protected java.util.Map storeInv
protected java.util.Map allocInv
protected static final Node[] EMPTY_NODE_ARRAY
public int maxFinishNumber
Constructor Detail |
public PAG(SparkOptions opts)
Method Detail |
public PointsToSet reachingObjects(Local l)
public PointsToSet reachingObjects(SootField f)
public PointsToSet reachingObjects(PointsToSet s, SootField f)
public PointsToSet reachingObjects(Local l, SootField f)
public SparkOptions getOpts()
public AllocNode makeAllocNode(java.lang.Object newExpr, Type type, SootMethod m)
public AllocNode makeStringConstantNode(java.lang.String s)
public AllocNode makeClassConstantNode(java.lang.String s)
public QueueReader allocNodeListener()
public VarNode findVarNode(java.lang.Object value)
public VarNode makeVarNode(java.lang.Object value, Type type, SootMethod method)
public FieldRefNode findFieldRefNode(java.lang.Object baseValue, SparkField field)
public FieldRefNode makeFieldRefNode(java.lang.Object baseValue, Type baseType, SparkField field, SootMethod method)
public FieldRefNode makeFieldRefNode(VarNode base, SparkField field)
public AllocDotField findAllocDotField(AllocNode an, SparkField field)
public AllocDotField makeAllocDotField(AllocNode an, SparkField field)
public boolean addEdge(Node from, Node to)
public QueueReader edgeReader()
public Node[] simpleLookup(VarNode key)
public Node[] simpleInvLookup(VarNode key)
public Node[] loadLookup(FieldRefNode key)
public Node[] loadInvLookup(VarNode key)
public Node[] storeLookup(VarNode key)
public Node[] storeInvLookup(FieldRefNode key)
public Node[] allocLookup(AllocNode key)
public Node[] allocInvLookup(VarNode key)
public java.util.Set simpleSources()
public java.util.Set allocSources()
public java.util.Set storeSources()
public java.util.Set loadSources()
public java.util.Set simpleInvSources()
public java.util.Set allocInvSources()
public java.util.Set storeInvSources()
public java.util.Set loadInvSources()
public P2SetFactory getSetFactory()
public int getNumAllocNodes()
public TypeManager getTypeManager()
public void setOnFlyCallGraph(OnFlyCallGraph ofcg)
public OnFlyCallGraph getOnFlyCallGraph()
public void cleanUpMerges()
public void addDereference(VarNode base)
public java.util.List getDereferences()
public java.util.Map getNodeTags()
public Numberer getAllocNodeNumberer()
public Numberer getVarNodeNumberer()
public Numberer getFieldRefNodeNumberer()
public Numberer getAllocDotFieldNodeNumberer()
protected boolean addToMap(java.util.Map m, Node key, Node value)
protected Node[] lookup(java.util.Map m, java.lang.Object key)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |