added jsswitch
authoradam <adam@megacz.com>
Fri, 7 Jan 2005 19:50:35 +0000 (19:50 +0000)
committeradam <adam@megacz.com>
Fri, 7 Jan 2005 19:50:35 +0000 (19:50 +0000)
darcs-hash:20050107195035-5007d-731ba05206c437055cb49065ee7e575c1c1b8c75.gz

src/org/ibex/tool/Preprocessor.java

index a94bc7f..8ab48ba 100644 (file)
@@ -232,14 +232,14 @@ PROCESS:
                 }
                 out.println("//#endif "+expr);
 
-            } else if (trimmed.startsWith("//#switch")) {
+            } else if (trimmed.startsWith("//#switch") || trimmed.startsWith("//#jsswitch")) {
                 int expStart = trimmed.indexOf('(') +1;
                 if (expStart < 1) { err.add(new Error("expected ( in #switch")); continue PROCESS; }
                 int expEnd = trimmed.lastIndexOf(')');
                 if (expEnd == -1) { err.add(new Error("expected ) in #switch")); continue PROCESS; }
                 if (expEnd - expStart <= 1) { err.add(new Error("badly formed #switch statement")); continue PROCESS; }
                 String expr = trimmed.substring(expStart, expEnd);
-
+                if (trimmed.startsWith("//#jsswitch")) expr = "JSU.toString("+expr+")";
                 out.print("final String ccSwitch"+enumSwitch+" = (String)("+expr+");  ");
                 out.print("SUCCESS:do { switch(ccSwitch"+enumSwitch+".length()) {\n");