public class IdealGraphPrinter extends BasicIdealGraphPrinter implements GraphPrinter
Graphs that can be visualized and inspected with the
Ideal Graph Visualizer.BasicIdealGraphPrinter.Edge| Modifier and Type | Field and Description |
|---|---|
private boolean |
tryToSchedule |
| Constructor and Description |
|---|
IdealGraphPrinter(OutputStream stream,
boolean tryToSchedule)
Creates a new
IdealGraphPrinter that writes to the specified output stream. |
| Modifier and Type | Method and Description |
|---|---|
void |
beginGroup(String name,
String shortName,
ResolvedJavaMethod method,
int bci)
Starts a new group of graphs with the given name, short name and method byte code index (BCI)
as properties.
|
void |
print(Graph graph,
String title) |
void |
print(Graph graph,
String title,
SchedulePhase predefinedSchedule)
Prints an entire
Graph with the specified title, optionally using short names for
nodes. |
private void |
printBlock(Graph graph,
Block block,
NodeMap<Block> nodeToBlock) |
private void |
printNoBlock(Set<Node> noBlockNodes) |
private List<BasicIdealGraphPrinter.Edge> |
printNodes(Graph graph,
NodeMap<Block> nodeToBlock,
Set<Node> noBlockNodes) |
begin, beginBlock, beginBlockNodes, beginBytecodes, beginControlFlow, beginEdges, beginGraph, beginGroup, beginMethod, beginNode, beginNodes, beginProperties, beginSuccessors, close, end, endBlock, endBlockNodes, endBytecodes, endControlFlow, endEdges, endGraph, endGroup, endMethod, endNode, endNodes, endProperties, endSuccessors, flush, isValid, printBlockNode, printBytecode, printBytecodes, printEdge, printNode, printProperties, printProperty, printSuccessorclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, endGroupprivate final boolean tryToSchedule
public IdealGraphPrinter(OutputStream stream, boolean tryToSchedule)
IdealGraphPrinter that writes to the specified output stream.tryToSchedule - If false, no scheduling is done, which avoids exceptions for
non-schedulable graphs.public void beginGroup(String name, String shortName, ResolvedJavaMethod method, int bci)
beginGroup in interface GraphPrinterpublic void print(Graph graph, String title, SchedulePhase predefinedSchedule)
Graph with the specified title, optionally using short names for
nodes.print in interface GraphPrinterprivate List<BasicIdealGraphPrinter.Edge> printNodes(Graph graph, NodeMap<Block> nodeToBlock, Set<Node> noBlockNodes)
private void printBlock(Graph graph, Block block, NodeMap<Block> nodeToBlock)
private void printNoBlock(Set<Node> noBlockNodes)