X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fjs%2FLexer.java;h=47d46f7609e6ae7bb79b0c28dba1264be9a3ca58;hp=2a28338df7935f0b9613177ffd9456cc6de857d5;hb=3734845964723dd29be220bb562c02af2158899d;hpb=c022d9dbbc396b467bcaf005684e4a971ddfcdce diff --git a/src/org/xwt/js/Lexer.java b/src/org/xwt/js/Lexer.java index 2a28338..47d46f7 100644 --- a/src/org/xwt/js/Lexer.java +++ b/src/org/xwt/js/Lexer.java @@ -100,15 +100,15 @@ class Lexer implements Tokens { if (c=='e') { if (s.charAt(2)=='s' && s.charAt(1)=='l') return ELSE; } else if (c=='m') { if (s.charAt(2)=='u' && s.charAt(1)=='n') return RESERVED; } return -1; - case 'g': return s.equals("goto") ? GOTO : -1; + case 'g': return s.equals("goto") ? RESERVED : -1; case 'l': return s.equals("long") ? RESERVED : -1; case 'n': return s.equals("null") ? NULL : -1; case 't': c=s.charAt(3); if (c=='e') { if (s.charAt(2)=='u' && s.charAt(1)=='r') return TRUE; } else if (c=='s') { if (s.charAt(2)=='i' && s.charAt(1)=='h') return THIS; } return -1; - case 'v': return s.equals("void") ? RESERVED : -1; - case 'w': return s.equals("with") ? WITH : -1; + case 'w': if (s.equals("with")) throw new IOException("the WITH keyword is not permitted in XWT scripts"); else return -1; + case 'v': if (s.equals("void")) throw new IOException("the VOID keyword is not permitted in XWT scripts"); else return -1; } break; case 5: switch (s.charAt(2)) { case 'a': return s.equals("class") ? RESERVED : -1; @@ -175,6 +175,7 @@ class Lexer implements Tokens { in.unread(); String str = in.getString(); int result = getKeyword(str); + if (result == RESERVED) throw new IOException("the reserved word \"" + str + "\" is not permitted in XWT scripts"); if (result != -1) return result; this.string = str; return NAME;