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, printSuccessor
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, endGroup
private 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 GraphPrinter
public void print(Graph graph, String title, SchedulePhase predefinedSchedule)
Graph
with the specified title, optionally using short names for
nodes.print
in interface GraphPrinter
private 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)