refactor toInt() and related machinery into Node
authoradam <adam@megacz.com>
Mon, 5 Nov 2007 02:44:17 +0000 (21:44 -0500)
committeradam <adam@megacz.com>
Mon, 5 Nov 2007 02:44:17 +0000 (21:44 -0500)
darcs-hash:20071105024417-5007d-9261ef105ce9686698e405095749ce8caf1b4e1b.gz

src/edu/berkeley/sbp/Node.java
src/edu/berkeley/sbp/StateNode.java

index 872e377..1dcf050 100644 (file)
@@ -11,7 +11,8 @@ import java.util.*;
 import java.lang.reflect.*;
 
 class Node
-    implements GraphViz.ToGraphViz {
+    implements IntegerMappable,
+               GraphViz.ToGraphViz {
 
     // GraphViz //////////////////////////////////////////////////////////////////////////////
 
@@ -36,4 +37,11 @@ class Node
     }
     public boolean isTransparent() { return false; }
     public boolean isHidden() { return false; }
+
+    // IntegerMappable ////////////////////////////////////////////////////////////
+
+    private static int node_idx = 0;
+    private final int idx = node_idx++;
+    public int toInt() { return idx; }
+
 }
\ No newline at end of file
index acd0134..f54e65f 100644 (file)
@@ -14,7 +14,6 @@ import java.lang.reflect.*;
 final class StateNode
     extends Node
     implements Invokable<Pos, ResultNode, Object>,
-               IntegerMappable,
                Iterable<ResultNode> {
 
     /** which GSS.Phase this StateNode belongs to */
@@ -22,8 +21,6 @@ final class StateNode
     public Iterator<ResultNode> iterator() { return results.iterator(); }
     public Parser.Table.State state() { return state; }
 
-    public int toInt() { return idx; }
-
     boolean destroyed = false;
 
     public void check() {
@@ -60,9 +57,6 @@ final class StateNode
 
     //////////////////////////////////////////////////////////////////////
 
-    private static int node_idx = 0;
-    private final int idx = node_idx++;
-
     private final GSS.Phase phase;
     private final GSS.Phase predPhase;
     private final Parser.Table.State state;