]> source.dussan.org Git - javassist.git/commitdiff
support non us-ascii identifiers (JIRA May20,2005)
authorchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Tue, 7 Jun 2005 18:55:17 +0000 (18:55 +0000)
committerchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Tue, 7 Jun 2005 18:55:17 +0000 (18:55 +0000)
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@173 30ef5769-5b8d-40dd-aea6-55b5d6557bb3

Readme.html
src/main/javassist/compiler/Lex.java
src/main/javassist/compiler/SyntaxError.java

index 913f8f84ee91b6b708a0fccc2d2de4e95b0e366b..63aa00943239acb6e28337fcad8959ecec0d336e 100644 (file)
@@ -583,8 +583,8 @@ Denis Taye, Colin Sampaleanu, Robert Bialek, Asato Shimotaki,
 Howard Lewis Ship, Richard Jones, Marjan Sterjev,
 Bruce McDonald, Mark Brennan, Vlad Skarzhevskyy,
 Brett Randall, Tsuyoshi Murakami, Nathan Meyers, Yoshiyuki Usui
-Yutaka Sunaga, Arjan van der Meer, and Bruce Eckel
-for their contributions.
+Yutaka Sunaga, Arjan van der Meer, Bruce Eckel, Guillaume Pothier,
+and Kumar Matcha for their contributions.
 
 <p><br>
 
index fcd2d4d76d069d66cd82a6a0f640e7d480f5addd..3f555332a1d0748c60067faa10acd28fc86187d0 100644 (file)
@@ -133,8 +133,7 @@ public class Lex implements TokenId {
                 return readSeparator('.');
             }
         }
-        else if ('A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || c == '_'
-                 || c == '$')
+        else if (Character.isJavaIdentifierStart((char)c))
             return readIdentifier(c, token);
         else
             return readSeparator(c);
@@ -434,8 +433,7 @@ public class Lex implements TokenId {
         do {
             tbuf.append((char)c);
             c = getc();
-        } while ('A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || c == '_'
-                 || c == '$' || '0' <= c && c <= '9');
+        } while (Character.isJavaIdentifierPart((char)c));
 
         ungetc(c);
 
@@ -497,7 +495,7 @@ public class Lex implements TokenId {
         ktable.append("return", RETURN);
         ktable.append("short", SHORT);
         ktable.append("static", STATIC);
-        ktable.append("strict", STRICT);
+        ktable.append("strictfp", STRICT);
         ktable.append("super", SUPER);
         ktable.append("switch", SWITCH);
         ktable.append("synchronized", SYNCHRONIZED);
@@ -525,6 +523,18 @@ public class Lex implements TokenId {
         lastChar = c;
     }
 
+    public String getTextAround() {
+        int begin = position - 10;
+        if (begin < 0)
+            begin = 0;
+
+        int end = position + 10;
+        if (end > maxlen)
+            end = maxlen;
+
+        return input.substring(begin, end);
+    }
+
     private int getc() {
         if (lastChar < 0)
             if (position < maxlen)
index 2e4f1e0e28f96e616c99065ab6d8da9587d8dbf0..bdf6edc5a8da644b4ced499d33d430397e29430c 100644 (file)
@@ -16,7 +16,7 @@
 package javassist.compiler;
 
 public class SyntaxError extends CompileError {
-    public SyntaxError(Lex l) {
-        super("syntax error", l);
+    public SyntaxError(Lex lexer) {
+        super("syntax error near \"" + lexer.getTextAround() + "\"", lexer);
     }
 }