use accessors
[sbp.git] / src / edu / berkeley / sbp / ParseFailed.java
index 31a3a56..9870746 100644 (file)
@@ -39,10 +39,10 @@ public class ParseFailed extends Exception {
         if (p.element() == null) return false;
         if (!(p.element() instanceof Union)) return false;
         Union u = (Union)p.element();
-        if (u.synthetic) return false;
-        if (u.name==null) return false;
-        if (u.name.length() == 0) return false;
-        char c = u.name.charAt(0);
+        if (u.isSynthetic()) return false;
+        if (u.getName()==null) return false;
+        if (u.getName().length() == 0) return false;
+        char c = u.getName().charAt(0);
         return (c >= 'A' && c <= 'Z');
     }
 
@@ -50,8 +50,11 @@ public class ParseFailed extends Exception {
         if (count <= 0) {
             barf(sb, n, indent, skip, loc);
         } else {
+            /*
+              FIXME: removed
             for(Node nn : (Iterable<Node>)n.parents())
                 barf(sb, nn, indent, skip, count-1, n.phase().getLocation());
+            */
         }
     }
     static <Tok> void barf(HashMap<Element,Input.Location> sb, Node n, int indent, boolean skip, Input.Location loc) {
@@ -105,8 +108,13 @@ public class ParseFailed extends Exception {
             //if (!p.isLast() && !p.next().isLast()) continue;
             if (((p.isFirst() || p.isLast()) && !force)/* || p.owner().name==null*/ ||
                 !important(p)) {
+            /*
+              FIXME: removed
                 for(Node n2 : n.parents())
-                    complain(n2, errors, force /*| p.isFirst()*/, indent);
+                    complain(n2, errors, force
+                    //| p.isFirst()
+                , indent);
+            */
             } else {
                 String seqname = p.owner()/*.name*/+"";
                 HashSet<String> hs = errors.get(seqname);
@@ -130,6 +138,10 @@ public class ParseFailed extends Exception {
         return ANSI.purple(ret.toString());
     }
 
+    static void error(String message, GSS.Phase phase) throws ParseFailed {
+        error(message, phase.getLocation(), phase.getToken(),
+              phase, phase.getRegion(), phase.getGSS().getInput(), phase.getGSS());
+    }
     static void error(String message,
                       Input.Location loc,
                       Object token,