a caretized LiteralNode does not get dropped
authoradam <adam@megacz.com>
Sat, 8 Sep 2007 21:24:07 +0000 (17:24 -0400)
committeradam <adam@megacz.com>
Sat, 8 Sep 2007 21:24:07 +0000 (17:24 -0400)
darcs-hash:20070908212407-5007d-c6cd1cba6f91e9537399fcba69938e2a25c5c60f.gz

src/edu/berkeley/sbp/meta/GrammarAST.java

index 046c3ac..ceb126a 100644 (file)
@@ -301,7 +301,7 @@ public class GrammarAST {
             if (alwaysDrop) return true;
             if (tag!=null) return false;
             for(int i=0; i<elements.length; i++)
             if (alwaysDrop) return true;
             if (tag!=null) return false;
             for(int i=0; i<elements.length; i++)
-                if (!elements[i].isDropped(cx))
+                if (!elements[i].isDropped(cx) || ((elements[i] instanceof LiteralNode) && ((LiteralNode)elements[i]).caret))
                     return false;
             return true;
         }
                     return false;
             return true;
         }