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

Tue, 28 Dec 2010 15:54:52 -0800

author
ohair
date
Tue, 28 Dec 2010 15:54:52 -0800
changeset 798
4868a36f6fd8
parent 581
f2fdd52e4e87
permissions
-rw-r--r--

6962318: Update copyright year
Reviewed-by: xdono

     1 /*
     2  * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    26 package com.sun.tools.javac.parser;
    28 import java.util.Locale;
    30 import com.sun.tools.javac.api.Formattable;
    31 import com.sun.tools.javac.api.Messages;
    33 /** An interface that defines codes for Java source tokens
    34  *  returned from lexical analysis.
    35  *
    36  *  <p><b>This is NOT part of any supported API.
    37  *  If you write code that depends on this, you do so at your own risk.
    38  *  This code and its internal interfaces are subject to change or
    39  *  deletion without notice.</b>
    40  */
    41 public enum Token implements Formattable {
    42     EOF,
    43     ERROR,
    44     IDENTIFIER,
    45     ABSTRACT("abstract"),
    46     ASSERT("assert"),
    47     BOOLEAN("boolean"),
    48     BREAK("break"),
    49     BYTE("byte"),
    50     CASE("case"),
    51     CATCH("catch"),
    52     CHAR("char"),
    53     CLASS("class"),
    54     CONST("const"),
    55     CONTINUE("continue"),
    56     DEFAULT("default"),
    57     DO("do"),
    58     DOUBLE("double"),
    59     ELSE("else"),
    60     ENUM("enum"),
    61     EXTENDS("extends"),
    62     FINAL("final"),
    63     FINALLY("finally"),
    64     FLOAT("float"),
    65     FOR("for"),
    66     GOTO("goto"),
    67     IF("if"),
    68     IMPLEMENTS("implements"),
    69     IMPORT("import"),
    70     INSTANCEOF("instanceof"),
    71     INT("int"),
    72     INTERFACE("interface"),
    73     LONG("long"),
    74     NATIVE("native"),
    75     NEW("new"),
    76     PACKAGE("package"),
    77     PRIVATE("private"),
    78     PROTECTED("protected"),
    79     PUBLIC("public"),
    80     RETURN("return"),
    81     SHORT("short"),
    82     STATIC("static"),
    83     STRICTFP("strictfp"),
    84     SUPER("super"),
    85     SWITCH("switch"),
    86     SYNCHRONIZED("synchronized"),
    87     THIS("this"),
    88     THROW("throw"),
    89     THROWS("throws"),
    90     TRANSIENT("transient"),
    91     TRY("try"),
    92     VOID("void"),
    93     VOLATILE("volatile"),
    94     WHILE("while"),
    95     INTLITERAL,
    96     LONGLITERAL,
    97     FLOATLITERAL,
    98     DOUBLELITERAL,
    99     CHARLITERAL,
   100     STRINGLITERAL,
   101     TRUE("true"),
   102     FALSE("false"),
   103     NULL("null"),
   104     LPAREN("("),
   105     RPAREN(")"),
   106     LBRACE("{"),
   107     RBRACE("}"),
   108     LBRACKET("["),
   109     RBRACKET("]"),
   110     SEMI(";"),
   111     COMMA(","),
   112     DOT("."),
   113     ELLIPSIS("..."),
   114     EQ("="),
   115     GT(">"),
   116     LT("<"),
   117     BANG("!"),
   118     TILDE("~"),
   119     QUES("?"),
   120     COLON(":"),
   121     EQEQ("=="),
   122     LTEQ("<="),
   123     GTEQ(">="),
   124     BANGEQ("!="),
   125     AMPAMP("&&"),
   126     BARBAR("||"),
   127     PLUSPLUS("++"),
   128     SUBSUB("--"),
   129     PLUS("+"),
   130     SUB("-"),
   131     STAR("*"),
   132     SLASH("/"),
   133     AMP("&"),
   134     BAR("|"),
   135     CARET("^"),
   136     PERCENT("%"),
   137     LTLT("<<"),
   138     GTGT(">>"),
   139     GTGTGT(">>>"),
   140     PLUSEQ("+="),
   141     SUBEQ("-="),
   142     STAREQ("*="),
   143     SLASHEQ("/="),
   144     AMPEQ("&="),
   145     BAREQ("|="),
   146     CARETEQ("^="),
   147     PERCENTEQ("%="),
   148     LTLTEQ("<<="),
   149     GTGTEQ(">>="),
   150     GTGTGTEQ(">>>="),
   151     MONKEYS_AT("@"),
   152     CUSTOM;
   154     Token() {
   155         this(null);
   156     }
   157     Token(String name) {
   158         this.name = name;
   159     }
   161     public final String name;
   163     public String toString() {
   164         switch (this) {
   165         case IDENTIFIER:
   166             return "token.identifier";
   167         case CHARLITERAL:
   168             return "token.character";
   169         case STRINGLITERAL:
   170             return "token.string";
   171         case INTLITERAL:
   172             return "token.integer";
   173         case LONGLITERAL:
   174             return "token.long-integer";
   175         case FLOATLITERAL:
   176             return "token.float";
   177         case DOUBLELITERAL:
   178             return "token.double";
   179         case ERROR:
   180             return "token.bad-symbol";
   181         case EOF:
   182             return "token.end-of-input";
   183         case DOT: case COMMA: case SEMI: case LPAREN: case RPAREN:
   184         case LBRACKET: case RBRACKET: case LBRACE: case RBRACE:
   185             return "'" + name + "'";
   186         default:
   187             return name;
   188         }
   189     }
   191     public String getKind() {
   192         return "Token";
   193     }
   195     public String toString(Locale locale, Messages messages) {
   196         return name != null ? toString() : messages.getLocalizedString(locale, "compiler.misc." + toString());
   197     }
   198 }

mercurial