changeset 12378:1e76b14e1b3a

NodeClassIterator: remove reference to NodeClass there's already an implicit one in the subclasses as they're inner classes
author Bernhard Urban <bernhard.urban@jku.at>
date Sat, 12 Oct 2013 10:18:16 +0200
parents 5fc50ffe4e65
children edb2e6bd6a01
files graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java
diffstat 1 files changed, 16 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Sat Oct 12 02:10:16 2013 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Sat Oct 12 10:18:16 2013 +0200
@@ -455,8 +455,6 @@
      * concurrently. Concurrent modifications are detected by an assertion on a best-effort basis.
      */
     public abstract static class NodeClassIterator implements Iterator<Node> {
-
-        private final NodeClass nodeClass;
         protected final Node node;
         private int index;
         private int subIndex;
@@ -468,7 +466,6 @@
          */
         NodeClassIterator(Node node) {
             this.node = node;
-            this.nodeClass = node.getNodeClass();
             index = NOT_ITERABLE;
             subIndex = 0;
         }
@@ -526,9 +523,9 @@
         public Position nextPosition() {
             try {
                 if (index < getDirectCount()) {
-                    return new Position(getOffsets() == nodeClass.inputOffsets, index, NOT_ITERABLE);
+                    return new Position(getOffsets() == getNodeClass().inputOffsets, index, NOT_ITERABLE);
                 } else {
-                    return new Position(getOffsets() == nodeClass.inputOffsets, index, subIndex);
+                    return new Position(getOffsets() == getNodeClass().inputOffsets, index, subIndex);
                 }
             } finally {
                 forward();
@@ -543,6 +540,8 @@
         protected abstract int getDirectCount();
 
         protected abstract long[] getOffsets();
+
+        protected abstract NodeClass getNodeClass();
     }
 
     private class NodeClassInputsIterator extends NodeClassIterator {
@@ -552,6 +551,7 @@
 
         NodeClassInputsIterator(Node node, boolean forward) {
             super(node);
+            assert NodeClass.this == node.getNodeClass();
             if (forward) {
                 forward();
             }
@@ -566,6 +566,11 @@
         protected long[] getOffsets() {
             return inputOffsets;
         }
+
+        @Override
+        protected NodeClass getNodeClass() {
+            return NodeClass.this;
+        }
     }
 
     private final class NodeClassInputsWithModCountIterator extends NodeClassInputsIterator {
@@ -613,6 +618,7 @@
 
         NodeClassSuccessorsIterator(Node node, boolean forward) {
             super(node);
+            assert NodeClass.this == node.getNodeClass();
             if (forward) {
                 forward();
             }
@@ -627,6 +633,11 @@
         protected long[] getOffsets() {
             return successorOffsets;
         }
+
+        @Override
+        protected NodeClass getNodeClass() {
+            return NodeClass.this;
+        }
     }
 
     private final class NodeClassSuccessorsWithModCountIterator extends NodeClassSuccessorsIterator {