public class PagToDotDumper
extends java.lang.Object
PAG
.Modifier and Type | Field and Description |
---|---|
static int |
TRACE_MAX_LVL |
Constructor and Description |
---|
PagToDotDumper(PAG pag) |
Modifier and Type | Method and Description |
---|---|
void |
dumpP2SetsForLocals(java.lang.String fName,
java.lang.String mName)
dumps the points-to sets for all locals in a method in a
dot representation.
|
void |
dumpPAGForMethod(java.lang.String fName,
java.lang.String cName,
java.lang.String mName)
Dump the PAG for some method in the program in
dot format
|
static java.lang.String |
makeDotNodeLabel(Node n,
Predicate<Node> p)
Generate a node declaration for a dot file.
|
static java.lang.String |
makeLabel(AllocNode n) |
static java.lang.String |
makeLabel(FieldRefNode node) |
static java.lang.String |
makeLabel(LocalVarNode n) |
static java.lang.String |
makeLabel(VarNode base) |
static java.lang.String |
makeNodeName(Node n) |
void |
traceLocalVarNode(java.lang.String fName,
java.lang.String cName,
java.lang.String mName,
java.lang.String varName) |
void |
traceNode(int id) |
void |
traceNode(java.lang.String cName,
java.lang.String mName,
java.lang.String varName) |
public static final int TRACE_MAX_LVL
public PagToDotDumper(PAG pag)
public static java.lang.String makeDotNodeLabel(Node n, Predicate<Node> p)
node
- the nodep
- a predicate over nodes, which, if true, will
cause the node to appear redString
for the dot filepublic void dumpP2SetsForLocals(java.lang.String fName, java.lang.String mName) throws java.io.FileNotFoundException
AllocNode
s in its points-to setfName
- a name for the output filemName
- the name of the method whose locals should
be dumpedjava.io.FileNotFoundException
- if unable to output to specified
filepublic void dumpPAGForMethod(java.lang.String fName, java.lang.String cName, java.lang.String mName) throws java.io.FileNotFoundException
fName
- The filename for the outputcName
- The name of the declaring class for the methodmName
- The name of the methodjava.io.FileNotFoundException
- if output file cannot be writtenpublic void traceNode(int id)
public void traceNode(java.lang.String cName, java.lang.String mName, java.lang.String varName)
public void traceLocalVarNode(java.lang.String fName, java.lang.String cName, java.lang.String mName, java.lang.String varName)
public static java.lang.String makeNodeName(Node n)
public static java.lang.String makeLabel(AllocNode n)
public static java.lang.String makeLabel(LocalVarNode n)
public static java.lang.String makeLabel(FieldRefNode node)
node
- public static java.lang.String makeLabel(VarNode base)
base
-