public class CFGDOTVisualizer extends Object
Constructor and Description |
---|
CFGDOTVisualizer() |
Modifier and Type | Method and Description |
---|---|
protected static String |
prepareString(String s) |
static String |
visualize(ControlFlowGraph cfg,
Block entry)
Output a graph description in the DOT language, representing the control
flow graph starting at
entry . |
static <A extends AbstractValue<A>,S extends Store<S>,T extends TransferFunction<A,S>> |
visualize(ControlFlowGraph cfg,
Block entry,
@Nullable Analysis<A,S,T> analysis,
boolean verbose)
Output a graph description in the DOT language, representing the control
flow graph starting at
entry . |
protected static <A extends AbstractValue<A>,S extends Store<S>,T extends TransferFunction<A,S>> |
visualizeContent(Block bb,
@Nullable Analysis<A,S,T> analysis,
boolean verbose)
Produce a string representation of the contests of a basic block.
|
protected static <A extends AbstractValue<A>,S extends Store<S>,T extends TransferFunction<A,S>> |
visualizeNode(Node t,
@Nullable Analysis<A,S,T> analysis) |
protected static String |
visualizeType(Node t) |
public static String visualize(ControlFlowGraph cfg, Block entry)
entry
. Does not output verbose information
or stores at the beginning of basic blocks.public static <A extends AbstractValue<A>,S extends Store<S>,T extends TransferFunction<A,S>> String visualize(ControlFlowGraph cfg, Block entry, @Nullable Analysis<A,S,T> analysis, boolean verbose)
entry
.entry
- The entry node of the control flow graph to be represented.analysis
- An analysis containing information about the program
represented by the CFG. The information includes Store
s that are valid at the beginning of basic blocks reachable
from entry
and per-node information for value
producing Node
s. Can also be null
to
indicate that this information should not be output.verbose
- Add more output to the CFG description.protected static <A extends AbstractValue<A>,S extends Store<S>,T extends TransferFunction<A,S>> String visualizeContent(Block bb, @Nullable Analysis<A,S,T> analysis, boolean verbose)
bb
- Basic block to visualize.protected static <A extends AbstractValue<A>,S extends Store<S>,T extends TransferFunction<A,S>> String visualizeNode(Node t, @Nullable Analysis<A,S,T> analysis)