src/share/classes/com/sun/tools/javac/parser/Token.java

changeset 80
5c9cdeb740f2
parent 1
9a66ca7c79fa
child 117
24a47c3062fe
     1.1 --- a/src/share/classes/com/sun/tools/javac/parser/Token.java	Thu Jul 24 11:12:41 2008 +0100
     1.2 +++ b/src/share/classes/com/sun/tools/javac/parser/Token.java	Thu Jul 24 19:06:57 2008 +0100
     1.3 @@ -25,6 +25,9 @@
     1.4  
     1.5  package com.sun.tools.javac.parser;
     1.6  
     1.7 +import java.util.ResourceBundle;
     1.8 +
     1.9 +import com.sun.tools.javac.api.Formattable;
    1.10  
    1.11  /** An interface that defines codes for Java source tokens
    1.12   *  returned from lexical analysis.
    1.13 @@ -34,7 +37,7 @@
    1.14   *  This code and its internal interfaces are subject to change or
    1.15   *  deletion without notice.</b>
    1.16   */
    1.17 -public enum Token {
    1.18 +public enum Token implements Formattable {
    1.19      EOF,
    1.20      ERROR,
    1.21      IDENTIFIER,
    1.22 @@ -155,4 +158,41 @@
    1.23      }
    1.24  
    1.25      public final String name;
    1.26 +
    1.27 +    public String toString() {
    1.28 +        switch (this) {
    1.29 +        case IDENTIFIER:
    1.30 +            return "token.identifier";
    1.31 +        case CHARLITERAL:
    1.32 +            return "token.character";
    1.33 +        case STRINGLITERAL:
    1.34 +            return "token.string";
    1.35 +        case INTLITERAL:
    1.36 +            return "token.integer";
    1.37 +        case LONGLITERAL:
    1.38 +            return "token.long-integer";
    1.39 +        case FLOATLITERAL:
    1.40 +            return "token.float";
    1.41 +        case DOUBLELITERAL:
    1.42 +            return "token.double";
    1.43 +        case ERROR:
    1.44 +            return "token.bad-symbol";
    1.45 +        case EOF:
    1.46 +            return "token.end-of-input";
    1.47 +        case DOT: case COMMA: case SEMI: case LPAREN: case RPAREN:
    1.48 +        case LBRACKET: case RBRACKET: case LBRACE: case RBRACE:
    1.49 +            return "'" + name + "'";
    1.50 +        default:
    1.51 +            return name;
    1.52 +        }
    1.53 +    }
    1.54 +
    1.55 +    public String getKind() {
    1.56 +        return "Token";
    1.57 +    }
    1.58 +
    1.59 +    public String toString(ResourceBundle bundle) {
    1.60 +        String s = toString();
    1.61 +        return s.startsWith("token.") ? bundle.getString("compiler.misc." + s) : s;
    1.62 +    }
    1.63  }

mercurial