make ANSI.clreol()
[sbp.git] / src / edu / berkeley / sbp / Union.java
index d52c6e9..5ff00d6 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
+
 package edu.berkeley.sbp;
 import edu.berkeley.sbp.util.*;
 import edu.berkeley.sbp.*;
@@ -17,8 +19,8 @@ import java.lang.ref.*;
  */
 public class Union extends Element implements Iterable<Sequence> {
 
-    private final String name;
-    private final boolean synthetic;
+    /*private*/ final String name;
+    /*private*/ final boolean synthetic;
     private boolean viewed = false;
 
     private final List<Sequence> alternatives = new ArrayList<Sequence>();
@@ -70,14 +72,14 @@ public class Union extends Element implements Iterable<Sequence> {
     // Epsilon Form //////////////////////////////////////////////////////////////////////////////
 
     // FIXME
-    private Forest.Many epsilonForm = null;
-    Forest epsilonForm() {
-        if (epsilonForm != null) return epsilonForm;
-        epsilonForm = new Forest.Many();
+    //private Forest.Many epsilonForm = null;
+    Forest epsilonForm(Input.Region loc) {
+        //if (epsilonForm != null) return epsilonForm;
+        Forest.Many epsilonForm = new Forest.Many();
         for(Sequence s : this) {
             // FIXME FIXME FIXME
             if (new Walk.Cache().possiblyEpsilon(s))
-                epsilonForm.merge(s.epsilonForm());
+                epsilonForm.merge(s.epsilonForm(loc));
         }
         return epsilonForm;
     }