|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.editor.ext.java; import java.util.HashMap; import org.netbeans.editor.BaseTokenCategory; import org.netbeans.editor.BaseTokenID; import org.netbeans.editor.TokenID; import org.netbeans.editor.BaseImageTokenID; import org.netbeans.editor.TokenContext; import org.netbeans.editor.TokenContextPath; import org.netbeans.editor.Utilities; /** * Java token-context defines token-ids and token-categories * used in Java language. * * @author Miloslav Metelka * @version 1.00 */ public class JavaTokenContext extends TokenContext { // Token category-ids public static final int KEYWORDS_ID = 1; public static final int OPERATORS_ID = KEYWORDS_ID + 1; public static final int NUMERIC_LITERALS_ID = OPERATORS_ID + 1; public static final int ERRORS_ID = NUMERIC_LITERALS_ID + 1; // Numeric-ids for token-ids public static final int WHITESPACE_ID = ERRORS_ID + 1; public static final int IDENTIFIER_ID = WHITESPACE_ID + 1; public static final int LINE_COMMENT_ID = IDENTIFIER_ID + 1; public static final int BLOCK_COMMENT_ID = LINE_COMMENT_ID + 1; public static final int CHAR_LITERAL_ID = BLOCK_COMMENT_ID + 1; public static final int STRING_LITERAL_ID = CHAR_LITERAL_ID + 1; public static final int INT_LITERAL_ID = STRING_LITERAL_ID + 1; public static final int LONG_LITERAL_ID = INT_LITERAL_ID + 1; public static final int HEX_LITERAL_ID = LONG_LITERAL_ID + 1; public static final int OCTAL_LITERAL_ID = HEX_LITERAL_ID + 1; public static final int FLOAT_LITERAL_ID = OCTAL_LITERAL_ID + 1; public static final int DOUBLE_LITERAL_ID = FLOAT_LITERAL_ID + 1; // Operator numeric-ids public static final int EQ_ID = DOUBLE_LITERAL_ID + 1; // = public static final int LT_ID = EQ_ID + 1; // < public static final int GT_ID = LT_ID + 1; // > public static final int LSHIFT_ID = GT_ID + 1; // << public static final int RSSHIFT_ID = LSHIFT_ID + 1; // >> public static final int RUSHIFT_ID = RSSHIFT_ID + 1; // >>> public static final int PLUS_ID = RUSHIFT_ID + 1; // + public static final int MINUS_ID = PLUS_ID + 1; // - public static final int MUL_ID = MINUS_ID + 1; // * public static final int DIV_ID = MUL_ID + 1; // / public static final int AND_ID = DIV_ID + 1; // & public static final int OR_ID = AND_ID + 1; // | public static final int XOR_ID = OR_ID + 1; // ^ public static final int MOD_ID = XOR_ID + 1; // % public static final int NOT_ID = MOD_ID + 1; // ! public static final int NEG_ID = NOT_ID + 1; // ~ public static final int EQ_EQ_ID = NEG_ID + 1; // == public static final int LT_EQ_ID = EQ_EQ_ID + 1; // <= public static final int GT_EQ_ID = LT_EQ_ID + 1; // >= public static final int LSHIFT_EQ_ID = GT_EQ_ID + 1; // <<= public static final int RSSHIFT_EQ_ID = LSHIFT_EQ_ID + 1; // >>= public static final int RUSHIFT_EQ_ID = RSSHIFT_EQ_ID + 1; // >>>= public static final int PLUS_EQ_ID = RUSHIFT_EQ_ID + 1; // += public static final int MINUS_EQ_ID = PLUS_EQ_ID + 1; // -= public static final int MUL_EQ_ID = MINUS_EQ_ID + 1; // *= public static final int DIV_EQ_ID = MUL_EQ_ID + 1; // /= public static final int AND_EQ_ID = DIV_EQ_ID + 1; // &= public static final int OR_EQ_ID = AND_EQ_ID + 1; // |= public static final int XOR_EQ_ID = OR_EQ_ID + 1; // ^= public static final int MOD_EQ_ID = XOR_EQ_ID + 1; // %= public static final int NOT_EQ_ID = MOD_EQ_ID + 1; // != public static final int DOT_ID = NOT_EQ_ID + 1; // . public static final int COMMA_ID = DOT_ID + 1; // , public static final int COLON_ID = COMMA_ID + 1; // : public static final int SEMICOLON_ID = COLON_ID + 1; // ; public static final int QUESTION_ID = SEMICOLON_ID + 1; // ? public static final int LPAREN_ID = QUESTION_ID + 1; // ( public static final int RPAREN_ID = LPAREN_ID + 1; // ) public static final int LBRACKET_ID = RPAREN_ID + 1; // [ public static final int RBRACKET_ID = LBRACKET_ID + 1; // ] public static final int LBRACE_ID = RBRACKET_ID + 1; // { public static final int RBRACE_ID = LBRACE_ID + 1; // } public static final int PLUS_PLUS_ID = RBRACE_ID + 1; // ++ public static final int MINUS_MINUS_ID = PLUS_PLUS_ID + 1; // -- public static final int AND_AND_ID = MINUS_MINUS_ID + 1; // && public static final int OR_OR_ID = AND_AND_ID + 1; // || // Data type keyword numeric-ids public static final int BOOLEAN_ID = OR_OR_ID + 1; public static final int BYTE_ID = BOOLEAN_ID + 1; public static final int CHAR_ID = BYTE_ID + 1; public static final int DOUBLE_ID = CHAR_ID + 1; public static final int FLOAT_ID = DOUBLE_ID + 1; public static final int INT_ID = FLOAT_ID + 1; public static final int LONG_ID = INT_ID + 1; public static final int SHORT_ID = LONG_ID + 1; // Void type keyword numeric-id public static final int VOID_ID = SHORT_ID + 1; // Other keywords numeric-ids public static final int ABSTRACT_ID = VOID_ID + 1; public static final int ASSERT_ID = ABSTRACT_ID + 1; public static final int BREAK_ID = ASSERT_ID + 1; public static final int CASE_ID = BREAK_ID + 1; public static final int CATCH_ID = CASE_ID + 1; public static final int CLASS_ID = CATCH_ID + 1; public static final int CONST_ID = CLASS_ID + 1; public static final int CONTINUE_ID = CONST_ID + 1; public static final int DEFAULT_ID = CONTINUE_ID + 1; public static final int DO_ID = DEFAULT_ID + 1; public static final int ELSE_ID = DO_ID + 1; public static final int ENUM_ID = ELSE_ID + 1; public static final int EXTENDS_ID = ENUM_ID+ 1; public static final int FALSE_ID = EXTENDS_ID + 1; public static final int FINAL_ID = FALSE_ID + 1; public static final int FINALLY_ID = FINAL_ID + 1; public static final int FOR_ID = FINALLY_ID + 1; public static final int GOTO_ID = FOR_ID + 1; public static final int IF_ID = GOTO_ID + 1; public static final int IMPLEMENTS_ID = IF_ID + 1; public static final int IMPORT_ID = IMPLEMENTS_ID + 1; public static final int INSTANCEOF_ID = IMPORT_ID + 1; public static final int INTERFACE_ID = INSTANCEOF_ID + 1; public static final int NATIVE_ID = INTERFACE_ID + 1; public static final int NEW_ID = NATIVE_ID + 1; public static final int NULL_ID = NEW_ID + 1; public static final int PACKAGE_ID = NULL_ID + 1; public static final int PRIVATE_ID = PACKAGE_ID + 1; public static final int PROTECTED_ID = PRIVATE_ID + 1; public static final int PUBLIC_ID = PROTECTED_ID + 1; public static final int RETURN_ID = PUBLIC_ID + 1; public static final int STATIC_ID = RETURN_ID + 1; public static final int STRICTFP_ID = STATIC_ID + 1; public static final int SUPER_ID = STRICTFP_ID + 1; public static final int SWITCH_ID = SUPER_ID + 1; public static final int SYNCHRONIZED_ID = SWITCH_ID + 1; public static final int THIS_ID = SYNCHRONIZED_ID + 1; public static final int THROW_ID = THIS_ID + 1; public static final int THROWS_ID = THROW_ID + 1; public static final int TRANSIENT_ID = THROWS_ID + 1; public static final int TRUE_ID = TRANSIENT_ID + 1; public static final int TRY_ID = TRUE_ID + 1; public static final int VOLATILE_ID = TRY_ID + 1; public static final int WHILE_ID = VOLATILE_ID + 1; // Incomplete tokens public static final int INCOMPLETE_STRING_LITERAL_ID = WHILE_ID + 1; public static final int INCOMPLETE_CHAR_LITERAL_ID = INCOMPLETE_STRING_LITERAL_ID + 1; public static final int INCOMPLETE_HEX_LITERAL_ID = INCOMPLETE_CHAR_LITERAL_ID + 1; public static final int INVALID_CHAR_ID = INCOMPLETE_HEX_LITERAL_ID + 1; public static final int INVALID_OPERATOR_ID = INVALID_CHAR_ID + 1; public static final int INVALID_OCTAL_LITERAL_ID = INVALID_OPERATOR_ID + 1; public static final int INVALID_COMMENT_END_ID = INVALID_OCTAL_LITERAL_ID + 1; // JDK1.5 "@ident" annotation // "@keyword" gets returned as two tokens "@" and "keyword" public static final int ANNOTATION_ID = INVALID_COMMENT_END_ID + 1; // JDK1.5 vararg's "..." public static final int ELLIPSIS_ID = ANNOTATION_ID + 1; // Token-categories /** All the keywords belong to this category. */ public static final BaseTokenCategory KEYWORDS = new BaseTokenCategory("keywords", KEYWORDS_ID); // NOI18N /** All the operators belong to this category. */ public static final BaseTokenCategory OPERATORS = new BaseTokenCategory("operators", OPERATORS_ID); // NOI18N /** All the numeric literals belong to this category. */ public static final BaseTokenCategory NUMERIC_LITERALS = new BaseTokenCategory("numeric-literals", NUMERIC_LITERALS_ID); // NOI18N /** All the errorneous constructions and incomplete tokens * belong to this category. */ public static final BaseTokenCategory ERRORS = new BaseTokenCategory("errors", ERRORS_ID); // NOI18N // Token-ids public static final BaseTokenID WHITESPACE = new BaseTokenID("whitespace", WHITESPACE_ID); // NOI18N public static final BaseTokenID IDENTIFIER = new BaseTokenID("identifier", IDENTIFIER_ID); // NOI18N /** Comment with the '//' prefix */ public static final BaseTokenID LINE_COMMENT = new BaseTokenID("line-comment", LINE_COMMENT_ID); // NOI18N /** Block comment */ public static final BaseTokenID BLOCK_COMMENT = new BaseTokenID("block-comment", BLOCK_COMMENT_ID); // NOI18N /** Character literal e.g. 'c' */ public static final BaseTokenID CHAR_LITERAL = new BaseTokenID("char-literal", CHAR_LITERAL_ID); // NOI18N /** Java string literal e.g. "hello" */ public static final BaseTokenID STRING_LITERAL = new BaseTokenID("string-literal", STRING_LITERAL_ID); // NOI18N /** Java integer literal e.g. 1234 */ public static final BaseTokenID INT_LITERAL = new BaseTokenID("int-literal", INT_LITERAL_ID, NUMERIC_LITERALS); // NOI18N /** Java long literal e.g. 12L */ public static final BaseTokenID LONG_LITERAL = new BaseTokenID("long-literal", LONG_LITERAL_ID, NUMERIC_LITERALS); // NOI18N /** Java hexadecimal literal e.g. 0x5a */ public static final BaseTokenID HEX_LITERAL = new BaseTokenID("hex-literal", HEX_LITERAL_ID, NUMERIC_LITERALS); // NOI18N /** Java octal literal e.g. 0123 */ public static final BaseTokenID OCTAL_LITERAL = new BaseTokenID("octal-literal", OCTAL_LITERAL_ID, NUMERIC_LITERALS); // NOI18N /** Java float literal e.g. 1.5e+20f */ public static final BaseTokenID FLOAT_LITERAL = new BaseTokenID("float-literal", FLOAT_LITERAL_ID, NUMERIC_LITERALS); // NOI18N /** Java double literal e.g. 1.5e+20 */ public static final BaseTokenID DOUBLE_LITERAL = new BaseTokenID("double-literal", DOUBLE_LITERAL_ID, NUMERIC_LITERALS); // NOI18N // Operators public static final BaseImageTokenID EQ = new BaseImageTokenID("eq", EQ_ID, OPERATORS, "="); // NOI18N public static final BaseImageTokenID LT = new BaseImageTokenID("lt", LT_ID, OPERATORS, "<"); // NOI18N public static final BaseImageTokenID GT = new BaseImageTokenID("gt", GT_ID, OPERATORS, ">"); // NOI18N public static final BaseImageTokenID LSHIFT = new BaseImageTokenID("lshift", LSHIFT_ID, OPERATORS, "<<"); // NOI18N public static final BaseImageTokenID RSSHIFT = new BaseImageTokenID("rsshift", RSSHIFT_ID, OPERATORS, ">>"); // NOI18N public static final BaseImageTokenID RUSHIFT = new BaseImageTokenID("rushift", RUSHIFT_ID, OPERATORS, ">>>"); // NOI18N public static final BaseImageTokenID PLUS = new BaseImageTokenID("plus", PLUS_ID, OPERATORS, "+"); // NOI18N public static final BaseImageTokenID MINUS = new BaseImageTokenID("minus", MINUS_ID, OPERATORS, "-"); // NOI18N public static final BaseImageTokenID MUL = new BaseImageTokenID("mul", MUL_ID, OPERATORS, "*"); // NOI18N public static final BaseImageTokenID DIV = new BaseImageTokenID("div", DIV_ID, OPERATORS, "/"); // NOI18N public static final BaseImageTokenID AND = new BaseImageTokenID("and", AND_ID, OPERATORS, "&"); // NOI18N public static final BaseImageTokenID OR = new BaseImageTokenID("or", OR_ID, OPERATORS, "|"); // NOI18N public static final BaseImageTokenID XOR = new BaseImageTokenID("xor", XOR_ID, OPERATORS, "^"); // NOI18N public static final BaseImageTokenID MOD = new BaseImageTokenID("mod", MOD_ID, OPERATORS, "%"); // NOI18N public static final BaseImageTokenID NOT = new BaseImageTokenID("not", NOT_ID, OPERATORS, "!"); // NOI18N public static final BaseImageTokenID NEG = new BaseImageTokenID("neg", NEG_ID, OPERATORS, "~"); // NOI18N public static final BaseImageTokenID EQ_EQ = new BaseImageTokenID("eq-eq", EQ_EQ_ID, OPERATORS, "=="); // NOI18N public static final BaseImageTokenID LT_EQ = new BaseImageTokenID("le", LT_EQ_ID, OPERATORS, "<="); // NOI18N public static final BaseImageTokenID GT_EQ = new BaseImageTokenID("ge", GT_EQ_ID, OPERATORS, ">="); // NOI18N public static final BaseImageTokenID LSHIFT_EQ = new BaseImageTokenID("lshift-eq", LSHIFT_EQ_ID, OPERATORS, "<<="); // NOI18N public static final BaseImageTokenID RSSHIFT_EQ = new BaseImageTokenID("rsshift-eq", RSSHIFT_EQ_ID, OPERATORS, ">>="); // NOI18N public static final BaseImageTokenID RUSHIFT_EQ = new BaseImageTokenID("rushift-eq", RUSHIFT_EQ_ID, OPERATORS, ">>>="); // NOI18N public static final BaseImageTokenID PLUS_EQ = new BaseImageTokenID("plus-eq", PLUS_EQ_ID, OPERATORS, "+="); // NOI18N public static final BaseImageTokenID MINUS_EQ = new BaseImageTokenID("minus-eq", MINUS_EQ_ID, OPERATORS, "-="); // NOI18N public static final BaseImageTokenID MUL_EQ = new BaseImageTokenID("mul-eq", MUL_EQ_ID, OPERATORS, "*="); // NOI18N public static final BaseImageTokenID DIV_EQ = new BaseImageTokenID("div-eq", DIV_EQ_ID, OPERATORS, "/="); // NOI18N public static final BaseImageTokenID AND_EQ = new BaseImageTokenID("and-eq", AND_EQ_ID, OPERATORS, "&="); // NOI18N public static final BaseImageTokenID OR_EQ = new BaseImageTokenID("or-eq", OR_EQ_ID, OPERATORS, "|="); // NOI18N public static final BaseImageTokenID XOR_EQ = new BaseImageTokenID("xor-eq", XOR_EQ_ID, OPERATORS, "^="); // NOI18N public static final BaseImageTokenID MOD_EQ = new BaseImageTokenID("mod-eq", MOD_EQ_ID, OPERATORS, "%="); // NOI18N public static final BaseImageTokenID NOT_EQ = new BaseImageTokenID("not-eq", NOT_EQ_ID, OPERATORS, "!="); // NOI18N public static final BaseImageTokenID DOT = new BaseImageTokenID("dot", DOT_ID, OPERATORS, "."); // NOI18N public static final BaseImageTokenID COMMA = new BaseImageTokenID("comma", COMMA_ID, OPERATORS, ","); // NOI18N public static final BaseImageTokenID COLON = new BaseImageTokenID("colon", COLON_ID, OPERATORS, ":"); // NOI18N public static final BaseImageTokenID SEMICOLON = new BaseImageTokenID("semicolon", SEMICOLON_ID, OPERATORS, ";"); // NOI18N public static final BaseImageTokenID QUESTION = new BaseImageTokenID("question", QUESTION_ID, OPERATORS, "?"); // NOI18N public static final BaseImageTokenID LPAREN = new BaseImageTokenID("lparen", LPAREN_ID, OPERATORS, "("); // NOI18N public static final BaseImageTokenID RPAREN = new BaseImageTokenID("rparen", RPAREN_ID, OPERATORS, ")"); // NOI18N public static final BaseImageTokenID LBRACKET = new BaseImageTokenID("lbracket", LBRACKET_ID, OPERATORS, "["); // NOI18N public static final BaseImageTokenID RBRACKET = new BaseImageTokenID("rbracket", RBRACKET_ID, OPERATORS, "]"); // NOI18N public static final BaseImageTokenID LBRACE = new BaseImageTokenID("lbrace", LBRACE_ID, OPERATORS, "{"); // NOI18N public static final BaseImageTokenID RBRACE = new BaseImageTokenID("rbrace", RBRACE_ID, OPERATORS, "}"); // NOI18N public static final BaseImageTokenID PLUS_PLUS = new BaseImageTokenID("plus-plus", PLUS_PLUS_ID, OPERATORS, "++"); // NOI18N public static final BaseImageTokenID MINUS_MINUS = new BaseImageTokenID("minus-minus", MINUS_MINUS_ID, OPERATORS, "--"); // NOI18N public static final BaseImageTokenID AND_AND = new BaseImageTokenID("and-and", AND_AND_ID, OPERATORS, "&&"); // NOI18N public static final BaseImageTokenID OR_OR = new BaseImageTokenID("or-or", OR_OR_ID, OPERATORS, "||"); // NOI18N // Data types public static final BaseImageTokenID BOOLEAN = new BaseImageTokenID("boolean", BOOLEAN_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID BYTE = new BaseImageTokenID("byte", BYTE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID CHAR = new BaseImageTokenID("char", CHAR_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID DOUBLE = new BaseImageTokenID("double", DOUBLE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID FLOAT = new BaseImageTokenID("float", FLOAT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID INT = new BaseImageTokenID("int", INT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID LONG = new BaseImageTokenID("long", LONG_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID SHORT = new BaseImageTokenID("short", SHORT_ID, KEYWORDS); // NOI18N // Void type public static final BaseImageTokenID VOID = new BaseImageTokenID("void", VOID_ID, KEYWORDS); // NOI18N // Rest of the keywords public static final BaseImageTokenID ABSTRACT = new BaseImageTokenID("abstract", ABSTRACT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID ASSERT = new BaseImageTokenID("assert", ASSERT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID BREAK = new BaseImageTokenID("break", BREAK_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID CASE = new BaseImageTokenID("case", CASE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID CATCH = new BaseImageTokenID("catch", CATCH_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID CLASS = new BaseImageTokenID("class", CLASS_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID CONST = new BaseImageTokenID("const", CONST_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID CONTINUE = new BaseImageTokenID("continue", CONTINUE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID DEFAULT = new BaseImageTokenID("default", DEFAULT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID DO = new BaseImageTokenID("do", DO_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID ELSE = new BaseImageTokenID("else", ELSE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID ENUM = new BaseImageTokenID("enum", ENUM_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID EXTENDS = new BaseImageTokenID("extends", EXTENDS_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID FALSE = new BaseImageTokenID("false", FALSE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID FINAL = new BaseImageTokenID("final", FINAL_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID FINALLY = new BaseImageTokenID("finally", FINALLY_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID FOR = new BaseImageTokenID("for", FOR_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID GOTO = new BaseImageTokenID("goto", GOTO_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID IF = new BaseImageTokenID("if", IF_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID IMPLEMENTS = new BaseImageTokenID("implements", IMPLEMENTS_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID IMPORT = new BaseImageTokenID("import", IMPORT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID INSTANCEOF = new BaseImageTokenID("instanceof", INSTANCEOF_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID INTERFACE = new BaseImageTokenID("interface", INTERFACE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID NATIVE = new BaseImageTokenID("native", NATIVE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID NEW = new BaseImageTokenID("new", NEW_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID NULL = new BaseImageTokenID("null", NULL_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID PACKAGE = new BaseImageTokenID("package", PACKAGE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID PRIVATE = new BaseImageTokenID("private", PRIVATE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID PROTECTED = new BaseImageTokenID("protected", PROTECTED_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID PUBLIC = new BaseImageTokenID("public", PUBLIC_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID RETURN = new BaseImageTokenID("return", RETURN_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID STATIC = new BaseImageTokenID("static", STATIC_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID STRICTFP = new BaseImageTokenID("strictfp", STRICTFP_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID SUPER = new BaseImageTokenID("super", SUPER_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID SWITCH = new BaseImageTokenID("switch", SWITCH_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID SYNCHRONIZED = new BaseImageTokenID("synchronized", SYNCHRONIZED_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID THIS = new BaseImageTokenID("this", THIS_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID THROW = new BaseImageTokenID("throw", THROW_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID THROWS = new BaseImageTokenID("throws", THROWS_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID TRANSIENT = new BaseImageTokenID("transient", TRANSIENT_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID TRUE = new BaseImageTokenID("true", TRUE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID TRY = new BaseImageTokenID("try", TRY_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID VOLATILE = new BaseImageTokenID("volatile", VOLATILE_ID, KEYWORDS); // NOI18N public static final BaseImageTokenID WHILE = new BaseImageTokenID("while", WHILE_ID, KEYWORDS); // NOI18N // Incomplete and error token-ids public static final BaseTokenID INCOMPLETE_STRING_LITERAL = new BaseTokenID("incomplete-string-literal", INCOMPLETE_STRING_LITERAL_ID, ERRORS); // NOI18N public static final BaseTokenID INCOMPLETE_CHAR_LITERAL = new BaseTokenID("incomplete-char-literal", INCOMPLETE_CHAR_LITERAL_ID, ERRORS); // NOI18N public static final BaseTokenID INCOMPLETE_HEX_LITERAL = new BaseTokenID("incomplete-hex-literal", INCOMPLETE_HEX_LITERAL_ID, ERRORS); // NOI18N public static final BaseTokenID INVALID_CHAR = new BaseTokenID("invalid-char", INVALID_CHAR_ID, ERRORS); // NOI18N public static final BaseTokenID INVALID_OPERATOR = new BaseTokenID("invalid-operator", INVALID_OPERATOR_ID, ERRORS); // NOI18N public static final BaseTokenID INVALID_OCTAL_LITERAL = new BaseTokenID("invalid-octal-literal", INVALID_OCTAL_LITERAL_ID, ERRORS); // NOI18N public static final BaseTokenID INVALID_COMMENT_END = new BaseTokenID("invalid-comment-end", INVALID_COMMENT_END_ID, ERRORS); // NOI18N // JDK1.5 "@ident" annotation // "@keyword" gets returned as two tokens "@" and "keyword" public static final BaseTokenID ANNOTATION = new BaseTokenID("annotation", ANNOTATION_ID); // NOI18N // JDK1.5 vararg's "..." public static final BaseImageTokenID ELLIPSIS = new BaseImageTokenID("ellipsis", ELLIPSIS_ID, OPERATORS, "..."); // NOI18N // Context instance declaration public static final JavaTokenContext context = new JavaTokenContext(); public static final TokenContextPath contextPath = context.getContextPath(); private static final HashMap str2kwd = new HashMap(); static { BaseImageTokenID[] kwds = new BaseImageTokenID[] { ABSTRACT, ASSERT, BREAK, CASE, CATCH, CLASS, CONST, CONTINUE, DEFAULT, DO, ELSE, ENUM, EXTENDS, FALSE, FINAL, FINALLY, FOR, GOTO, IF, IMPLEMENTS, IMPORT, INSTANCEOF, INTERFACE, NATIVE, NEW, NULL, PACKAGE, PRIVATE, PROTECTED, PUBLIC, RETURN, STATIC, STRICTFP, SUPER, SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TRANSIENT, TRUE, TRY, VOLATILE, WHILE, BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT, VOID }; for (int i = kwds.length - 1; i >= 0; i--) { str2kwd.put(kwds[i].getImage(), kwds[i]); } } /** Checks whether the given token-id is a type-keyword. * @return true when the keyword is a data type. */ public static boolean isType(TokenID keywordTokenID) { int numID = (keywordTokenID != null) ? keywordTokenID.getNumericID() : -1; return (numID >= BOOLEAN_ID && numID < VOID_ID); } /** Checks whether the given string is a type-keyword. */ public static boolean isType(String s) { return isType((TokenID)str2kwd.get(s)); } /** Checks whether the given token-id is a data-type-keyword or void-keyword. * @return true when the keyword is a data-type-keyword or void-keyword. */ public static boolean isTypeOrVoid(TokenID keywordTokenID) { int numID = (keywordTokenID != null) ? keywordTokenID.getNumericID() : -1; return (numID >= BOOLEAN_ID && numID <= VOID_ID); } /** Checks whether the given string is a data-type-keyword or void-keyword. */ public static boolean isTypeOrVoid(String s) { return isTypeOrVoid((TokenID)str2kwd.get(s)); } /** Get the keyword token-id from string */ public static TokenID getKeyword(String s) { return (TokenID)str2kwd.get(s); } private JavaTokenContext() { super("java-"); // NOI18N try { addDeclaredTokenIDs(); } catch (Exception e) { Utilities.annotateLoggable(e); } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.