From: adam Date: Mon, 5 Nov 2007 02:48:49 +0000 (-0500) Subject: more refactoring into Node X-Git-Url: http://git.megacz.com/?p=sbp.git;a=commitdiff_plain;h=9680415a3e36240dcac947b3d4d1ad6b312c4fce more refactoring into Node darcs-hash:20071105024849-5007d-00b91c1b26f557923a028c853a2edf0775679567.gz --- diff --git a/src/edu/berkeley/sbp/Node.java b/src/edu/berkeley/sbp/Node.java index 09718af..1168c78 100644 --- a/src/edu/berkeley/sbp/Node.java +++ b/src/edu/berkeley/sbp/Node.java @@ -12,13 +12,21 @@ import java.lang.reflect.*; class Node implements IntegerMappable, - GraphViz.ToGraphViz { + GraphViz.ToGraphViz, + Iterable { protected FastSet predecessors = new FastSet(); protected FastSet successors = new FastSet(); //private HashSet predecessors = new HashSet(); //private HashSet successors = new HashSet(); + public Iterator iterator() { return predecessors.iterator(); } + + public boolean noSuccessors() { return successors.size()==0; } + public boolean predecessorsContains(OtherNode n) { + return predecessors.contains(n); + } + // GraphViz ////////////////////////////////////////////////////////////////////////////// public GraphViz.StateNode toGraphViz(GraphViz gv) { diff --git a/src/edu/berkeley/sbp/ResultNode.java b/src/edu/berkeley/sbp/ResultNode.java index 9b14882..6a6629c 100644 --- a/src/edu/berkeley/sbp/ResultNode.java +++ b/src/edu/berkeley/sbp/ResultNode.java @@ -16,9 +16,6 @@ final class ResultNode private Pos reduction; private GSS.Phase predPhase; - public boolean predecessorsContains(StateNode n) { - return predecessors.contains(n); - } public Pos reduction() { return reduction; } public void merge(Forest newf) { this.f.merge(newf); @@ -30,11 +27,8 @@ final class ResultNode */ } - public boolean noSuccessors() { return successors.size()==0; } - public GSS.Phase phase() { return predPhase; } public Forest getForest() { return f; } - public Iterable getPreds() { return predecessors; } public void addSucc(StateNode succ) { if (successors.contains(succ)) return; successors.add(succ); diff --git a/src/edu/berkeley/sbp/StateNode.java b/src/edu/berkeley/sbp/StateNode.java index 4b7834e..2a438e5 100644 --- a/src/edu/berkeley/sbp/StateNode.java +++ b/src/edu/berkeley/sbp/StateNode.java @@ -13,8 +13,7 @@ import java.lang.reflect.*; /** a node in the GSS */ final class StateNode extends Node - implements Invokable, - Iterable { + implements Invokable { /** which GSS.Phase this StateNode belongs to */ public GSS.Phase phase() { return phase; } @@ -75,7 +74,7 @@ final class StateNode private void reduce(Pos r, int pos, GSS.Phase target, ResultNode only) { for(ResultNode res : predecessors) if (only == null || res == only) - for(StateNode pred : res.getPreds()) + for(StateNode pred : res) reduce2(r, pos, target, pred, res.getForest()); }