added jsswitch
[org.ibex.tool.git] / 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");