changeset 13145:3e5555577ebc

improve graph printer API for better suppport of derived classes
author Erik Eckstein <erik.eckstein@oracle.com>
date Mon, 25 Nov 2013 13:53:06 +0100
parents b6b930315135
children ffbfc3e78746
files graal/com.oracle.graal.printer/src/com/oracle/graal/printer/GraphPrinterDumpHandler.java graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java
diffstat 2 files changed, 11 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/GraphPrinterDumpHandler.java	Mon Nov 25 13:49:20 2013 +0100
+++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/GraphPrinterDumpHandler.java	Mon Nov 25 13:53:06 2013 +0100
@@ -44,7 +44,7 @@
  */
 public class GraphPrinterDumpHandler implements DebugDumpHandler {
 
-    private GraphPrinter printer;
+    protected GraphPrinter printer;
     private List<String> previousInlineContext;
     private int[] dumpIds = {};
     private int failuresCount;
@@ -62,11 +62,15 @@
                 return;
             }
             previousInlineContext.clear();
-            if (PrintIdealGraphFile.getValue()) {
-                initializeFilePrinter();
-            } else {
-                initializeNetworkPrinter();
-            }
+            createPrinter();
+        }
+    }
+
+    protected void createPrinter() {
+        if (PrintIdealGraphFile.getValue()) {
+            initializeFilePrinter();
+        } else {
+            initializeNetworkPrinter();
         }
     }
 
--- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java	Mon Nov 25 13:49:20 2013 +0100
+++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java	Mon Nov 25 13:53:06 2013 +0100
@@ -40,7 +40,7 @@
  * Generates a representation of {@link Graph Graphs} that can be visualized and inspected with the
  * <a href="http://kenai.com/projects/igv">Ideal Graph Visualizer</a>.
  */
-class IdealGraphPrinter extends BasicIdealGraphPrinter implements GraphPrinter {
+public class IdealGraphPrinter extends BasicIdealGraphPrinter implements GraphPrinter {
 
     /**
      * Creates a new {@link IdealGraphPrinter} that writes to the specified output stream.