|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectchord.util.graph.AbstractGraph<joeq.Class.jq_Method>
chord.analyses.alias.CICG
public class CICG
Implementation of a context-insensitive call graph.
| Field Summary |
|---|
| Fields inherited from class chord.util.graph.AbstractGraph |
|---|
cached |
| Constructor Summary | |
|---|---|
CICG(DomM domM,
ProgramRel relRootM,
ProgramRel relReachableM,
ProgramRel relIM,
ProgramRel relMM)
|
|
| Method Summary | |
|---|---|
boolean |
calls(joeq.Compiler.Quad.Quad invk,
joeq.Class.jq_Method meth)
Determines whether a given call site may call a given method. |
void |
free()
Frees relations used by this call graph if they are in memory. |
java.util.Set<joeq.Compiler.Quad.Quad> |
getCallers(joeq.Class.jq_Method meth)
Provides the set of all call sites that may call a given method. |
java.util.Set<joeq.Compiler.Quad.Quad> |
getLabels(joeq.Class.jq_Method srcMeth,
joeq.Class.jq_Method dstMeth)
Provides the set of all labels on a given directed edge in the graph. |
java.util.Set<joeq.Class.jq_Method> |
getNodes()
Provides all nodes in this graph. |
java.util.Set<joeq.Class.jq_Method> |
getPreds(joeq.Class.jq_Method meth)
Provides all immediate predecessors of a given node in this graph. |
java.util.Set<joeq.Class.jq_Method> |
getRoots()
Provides all root nodes of this graph. |
java.util.Set<joeq.Class.jq_Method> |
getSuccs(joeq.Class.jq_Method meth)
Provides all immediate successors of a given node in this graph. |
java.util.Set<joeq.Class.jq_Method> |
getTargets(joeq.Compiler.Quad.Quad invk)
Provides the set of all methods that may be called by a given call site. |
boolean |
hasEdge(joeq.Class.jq_Method meth1,
joeq.Class.jq_Method meth2)
Determines whether this graph contains a given directed edge. |
boolean |
hasNode(joeq.Class.jq_Method meth)
Determines whether this graph contains a given node. |
boolean |
hasRoot(joeq.Class.jq_Method meth)
Determines whether this graph contains a given node as a root node. |
int |
numNodes()
Provides the total number of nodes in this graph. |
int |
numPreds(joeq.Class.jq_Method node)
Provides the number of immediate predecessors of a given node in this graph. |
int |
numRoots()
Provides the total number of roots of this graph. |
int |
numSuccs(joeq.Class.jq_Method node)
Provides the number of immediate successors of a given node in this graph. |
| Methods inherited from class chord.util.graph.AbstractGraph |
|---|
equals, evictCache, getAllPathsBuilder, getBackEdges, getNodeMap, getNodesInCycles, getNodesInRPO, getShortestPathsBuilder, getSimpleCycles, getTopSortedSCCs, hasCycles, hashCode, isConnected, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface chord.util.graph.IGraph |
|---|
getAllPathsBuilder, getBackEdges, getNodeMap, getNodesInCycles, getNodesInRPO, getShortestPathsBuilder, getSimpleCycles, getTopSortedSCCs, hasCycles, isConnected |
| Constructor Detail |
|---|
public CICG(DomM domM,
ProgramRel relRootM,
ProgramRel relReachableM,
ProgramRel relIM,
ProgramRel relMM)
| Method Detail |
|---|
public java.util.Set<joeq.Compiler.Quad.Quad> getCallers(joeq.Class.jq_Method meth)
ICICG
getCallers in interface ICICGmeth - A method.
public java.util.Set<joeq.Class.jq_Method> getTargets(joeq.Compiler.Quad.Quad invk)
ICICG
getTargets in interface ICICGinvk - A call site.
public int numRoots()
IGraph
numRoots in interface IGraph<joeq.Class.jq_Method>public int numNodes()
IGraph
numNodes in interface IGraph<joeq.Class.jq_Method>public int numPreds(joeq.Class.jq_Method node)
IGraph
numPreds in interface IGraph<joeq.Class.jq_Method>node - A node.
public int numSuccs(joeq.Class.jq_Method node)
IGraph
numSuccs in interface IGraph<joeq.Class.jq_Method>node - A node.
public java.util.Set<joeq.Class.jq_Method> getRoots()
IGraph
getRoots in interface IGraph<joeq.Class.jq_Method>public java.util.Set<joeq.Class.jq_Method> getNodes()
IGraph
getNodes in interface IGraph<joeq.Class.jq_Method>public java.util.Set<joeq.Class.jq_Method> getPreds(joeq.Class.jq_Method meth)
IGraph
getPreds in interface IGraph<joeq.Class.jq_Method>meth - A node.
public java.util.Set<joeq.Class.jq_Method> getSuccs(joeq.Class.jq_Method meth)
IGraph
getSuccs in interface IGraph<joeq.Class.jq_Method>meth - A node.
public java.util.Set<joeq.Compiler.Quad.Quad> getLabels(joeq.Class.jq_Method srcMeth,
joeq.Class.jq_Method dstMeth)
ILabeledGraph
getLabels in interface ILabeledGraph<joeq.Class.jq_Method,joeq.Compiler.Quad.Quad>srcMeth - The source node of the edge.dstMeth - The target node of the edge.
public boolean calls(joeq.Compiler.Quad.Quad invk,
joeq.Class.jq_Method meth)
ICICG
calls in interface ICICGinvk - A call site.meth - A method.
public boolean hasRoot(joeq.Class.jq_Method meth)
IGraph
hasRoot in interface IGraph<joeq.Class.jq_Method>meth - A node.
public boolean hasNode(joeq.Class.jq_Method meth)
IGraph
hasNode in interface IGraph<joeq.Class.jq_Method>meth - A node.
public boolean hasEdge(joeq.Class.jq_Method meth1,
joeq.Class.jq_Method meth2)
IGraph
hasEdge in interface IGraph<joeq.Class.jq_Method>meth1 - A node.meth2 - A node.
public void free()
This method must be called after clients are done exercising the interface of this call graph.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||