diff -r 36df13bde238 -r 5c9cdeb740f2 src/share/classes/com/sun/tools/javac/parser/Token.java --- a/src/share/classes/com/sun/tools/javac/parser/Token.java Thu Jul 24 11:12:41 2008 +0100 +++ b/src/share/classes/com/sun/tools/javac/parser/Token.java Thu Jul 24 19:06:57 2008 +0100 @@ -25,6 +25,9 @@ package com.sun.tools.javac.parser; +import java.util.ResourceBundle; + +import com.sun.tools.javac.api.Formattable; /** An interface that defines codes for Java source tokens * returned from lexical analysis. @@ -34,7 +37,7 @@ * This code and its internal interfaces are subject to change or * deletion without notice. */ -public enum Token { +public enum Token implements Formattable { EOF, ERROR, IDENTIFIER, @@ -155,4 +158,41 @@ } public final String name; + + public String toString() { + switch (this) { + case IDENTIFIER: + return "token.identifier"; + case CHARLITERAL: + return "token.character"; + case STRINGLITERAL: + return "token.string"; + case INTLITERAL: + return "token.integer"; + case LONGLITERAL: + return "token.long-integer"; + case FLOATLITERAL: + return "token.float"; + case DOUBLELITERAL: + return "token.double"; + case ERROR: + return "token.bad-symbol"; + case EOF: + return "token.end-of-input"; + case DOT: case COMMA: case SEMI: case LPAREN: case RPAREN: + case LBRACKET: case RBRACKET: case LBRACE: case RBRACE: + return "'" + name + "'"; + default: + return name; + } + } + + public String getKind() { + return "Token"; + } + + public String toString(ResourceBundle bundle) { + String s = toString(); + return s.startsWith("token.") ? bundle.getString("compiler.misc." + s) : s; + } }