print out tokens in IMAP
[org.ibex.mail.git] / src / org / ibex / mail / IMAP.java
index 1dab5ef..81f1820 100644 (file)
@@ -675,6 +675,20 @@ public class IMAP {
             public Token(Parser.Token[] list)      { this.s = null; n = 0;      l = list; type = LIST; }
             public Token(int number)               { this.s = null; n = number; l = null; type = NUMBER; }
 
+            public String toString() {
+                // FIXME hack
+                switch(type) {
+                    case NIL: return "NIL";
+                    case LIST: return "(" + Printer.join(", ", l) + ")";
+                    case QUOTED: return s;
+                    case NUMBER: return n+"";
+                    case ATOM: return s;
+                    case BAREWORD: return s;
+                    case SET: return "<set>";
+                }
+                return "???";
+            }
+
             public String   flag()    { if (type != ATOM) bad("expected a flag"); return s; }
             public int      n()       { if (type != NUMBER) bad("expected number"); return n; }
             public int      nz()      { int n = n(); if (n == 0) bad("expected nonzero number"); return n; }
@@ -716,6 +730,7 @@ public class IMAP {
                     else if (flag.equals("\\Draft"))    ret |= Mailbox.Flag.DRAFT;
                     else if (flag.equals("\\Answered")) ret |= Mailbox.Flag.ANSWERED;
                     else if (flag.equals("\\Recent"))   ret |= Mailbox.Flag.RECENT;
+                    else                                Log.warn(this, "unknown flag: " + flag);
                 }
                 return ret;
             }