diff truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/GraphPrintVisitor.java @ 22404:23d2b5513c83

Fixing API error: GraphPrintVisitor shouldn't expose internal API class in an API method. When at it deprecating all protected methods, as GraphPrintVisitor usages don't indicate somebody should be subclassing it at all.
author Jaroslav Tulach <jaroslav.tulach@oracle.com>
date Fri, 20 Nov 2015 17:27:42 +0100
parents 6598b9b7aafd
children 21f48bc8a535
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/GraphPrintVisitor.java	Fri Nov 20 17:13:09 2015 +0100
+++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/GraphPrintVisitor.java	Fri Nov 20 17:27:42 2015 +0100
@@ -142,7 +142,7 @@
         private static final XMLOutputFactory XML_OUTPUT_FACTORY = XMLOutputFactory.newInstance();
         private final XMLStreamWriter xmlstream;
 
-        protected XMLImpl(OutputStream outputStream) {
+        XMLImpl(OutputStream outputStream) {
             try {
                 this.xmlstream = XML_OUTPUT_FACTORY.createXMLStreamWriter(outputStream);
             } catch (XMLStreamException | FactoryConfigurationError e) {
@@ -435,25 +435,37 @@
         }
     }
 
-    protected NodeElement getElementByObject(Object obj) {
+    /**
+     * @deprecated to be removed
+     */
+    @Deprecated
+    protected Object getElementByObject(Object obj) {
+        return getElementByObjectImpl(obj);
+    }
+
+    final NodeElement getElementByObjectImpl(Object obj) {
         return nodeMap.get(obj);
     }
 
+    /**
+     * @deprecated to be removed
+     */
+    @Deprecated
     protected void createElementForNode(Object node) {
         boolean exists = nodeMap.containsKey(node);
         if (!exists) {
             int nodeId = !exists ? oldOrNextId(node) : nextId();
             nodeMap.put(node, new NodeElement(nodeId));
 
-            setNodeProperty(node, "name", node.getClass().getSimpleName().replaceFirst("Node$", ""));
+            setNodePropertyImpl(node, "name", node.getClass().getSimpleName().replaceFirst("Node$", ""));
             NodeInfo nodeInfo = node.getClass().getAnnotation(NodeInfo.class);
             if (nodeInfo != null) {
-                setNodeProperty(node, "cost", nodeInfo.cost());
+                setNodePropertyImpl(node, "cost", nodeInfo.cost());
                 if (!nodeInfo.shortName().isEmpty()) {
-                    setNodeProperty(node, "shortName", nodeInfo.shortName());
+                    setNodePropertyImpl(node, "shortName", nodeInfo.shortName());
                 }
             }
-            setNodeProperty(node, "class", node.getClass().getSimpleName());
+            setNodePropertyImpl(node, "class", node.getClass().getSimpleName());
             if (node instanceof Node) {
                 readNodeProperties((Node) node);
                 copyDebugProperties((Node) node);
@@ -461,15 +473,23 @@
         }
     }
 
+    /**
+     * @deprecated to be removed
+     */
+    @Deprecated
     protected void setNodeProperty(Object node, String propertyName, Object value) {
-        NodeElement nodeElem = getElementByObject(node);
+        setNodePropertyImpl(node, propertyName, value);
+    }
+
+    final void setNodePropertyImpl(Object node, String propertyName, Object value) {
+        NodeElement nodeElem = getElementByObjectImpl(node);
         nodeElem.getProperties().put(propertyName, value);
     }
 
     private void copyDebugProperties(Node node) {
         Map<String, Object> debugProperties = node.getDebugProperties();
         for (Map.Entry<String, Object> property : debugProperties.entrySet()) {
-            setNodeProperty(node, property.getKey(), property.getValue());
+            setNodePropertyImpl(node, property.getKey(), property.getValue());
         }
     }
 
@@ -478,17 +498,25 @@
         for (NodeFieldAccessor field : fields) {
             if (field.getKind() == NodeFieldKind.DATA) {
                 String key = field.getName();
-                if (!getElementByObject(node).getProperties().containsKey(key)) {
+                if (!getElementByObjectImpl(node).getProperties().containsKey(key)) {
                     Object value = field.loadValue(node);
-                    setNodeProperty(node, key, value);
+                    setNodePropertyImpl(node, key, value);
                 }
             }
         }
     }
 
+    /**
+     * @deprecated to be removed
+     */
+    @Deprecated
     protected void connectNodes(Object a, Object b, String label) {
-        NodeElement fromNode = getElementByObject(a);
-        NodeElement toNode = getElementByObject(b);
+        connectNodesImpl(a, b, label);
+    }
+
+    final void connectNodesImpl(Object a, Object b, String label) {
+        NodeElement fromNode = getElementByObjectImpl(a);
+        NodeElement toNode = getElementByObjectImpl(b);
         if (fromNode == null || toNode == null) {
             return;
         }
@@ -510,7 +538,7 @@
         }
 
         // if node is visited once again, skip
-        if (getElementByObject(node) != null) {
+        if (getElementByObjectImpl(node) != null) {
             return this;
         }
 
@@ -593,19 +621,19 @@
         }
 
         public void connectNodes(Object node, Object child) {
-            GraphPrintVisitor.this.connectNodes(node, child, null);
+            GraphPrintVisitor.this.connectNodesImpl(node, child, null);
         }
 
         public void connectNodes(Object node, Object child, String label) {
-            GraphPrintVisitor.this.connectNodes(node, child, label);
+            GraphPrintVisitor.this.connectNodesImpl(node, child, label);
         }
 
         public void setNodeProperty(Object node, String propertyName, Object value) {
-            GraphPrintVisitor.this.setNodeProperty(node, propertyName, value);
+            GraphPrintVisitor.this.setNodePropertyImpl(node, propertyName, value);
         }
 
         public boolean visited(Object node) {
-            return GraphPrintVisitor.this.getElementByObject(node) != null;
+            return GraphPrintVisitor.this.getElementByObjectImpl(node) != null;
         }
     }