/** * This file Copyright (c) 2005-2008 Aptana, Inc. This program is * dual-licensed under both the Aptana Public License and the GNU General * Public license. You may elect to use one or the other of these licenses. * * This program is distributed in the hope that it will be useful, but * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or * NONINFRINGEMENT. Redistribution, except as permitted by whichever of * the GPL or APL you select, is prohibited. * * 1. For the GPL license (GPL), you can redistribute and/or modify this * program under the terms of the GNU General Public License, * Version 3, as published by the Free Software Foundation. You should * have received a copy of the GNU General Public License, Version 3 along * with this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Aptana provides a special exception to allow redistribution of this file * with certain other free and open source software ("FOSS") code and certain additional terms * pursuant to Section 7 of the GPL. You may view the exception and these * terms on the web at http://www.aptana.com/legal/gpl/. * * 2. For the Aptana Public License (APL), this program and the * accompanying materials are made available under the terms of the APL * v1.0 which accompanies this distribution, and is available at * http://www.aptana.com/legal/apl/. * * You may view the GPL, Aptana's exception and additional terms, and the * APL in the file titled license.html at the root of the corresponding * plugin containing this source file. * * Any modifications to this file must keep this entire header intact. */ package com.aptana.ide.editor.js.lexing; import java.lang.reflect.Field; /** * @author Kevin Lindsey */ public class JSTokenTypes { /** * JSTokenTypes */ protected JSTokenTypes() { } /** * ERROR */ public static final int ERROR = 0; /** * WHITESPACE */ public static final int WHITESPACE = 1; /** * COMMENT */ public static final int COMMENT = 2; /** * CDO */ public static final int CDO = 3; /** * CDC */ public static final int CDC = 4; /** * LINE_TERMINATOR */ public static final int LINE_TERMINATOR = 5; /** * START_MULTILINE_COMMENT */ public static final int START_MULTILINE_COMMENT = 6; /** * START_DOCUMENTATION */ public static final int START_DOCUMENTATION = 7; /** * IDENTIFIER */ public static final int IDENTIFIER = 8; /** * BREAK */ public static final int BREAK = 9; /** * CASE */ public static final int CASE = 10; /** * CATCH */ public static final int CATCH = 11; /** * CONTINUE */ public static final int CONTINUE = 12; /** * DEFAULT */ public static final int DEFAULT = 13; /** * DELETE */ public static final int DELETE = 14; /** * DO */ public static final int DO = 15; /** * ELSE */ public static final int ELSE = 16; /** * IF */ public static final int IF = 17; /** * IN */ public static final int IN = 18; /** * INSTANCEOF */ public static final int INSTANCEOF = 19; /** * FINALLY */ public static final int FINALLY = 20; /** * FOR */ public static final int FOR = 21; /** * FUNCTION */ public static final int FUNCTION = 22; /** * NEW */ public static final int NEW = 23; /** * RETURN */ public static final int RETURN = 24; /** * SWITCH */ public static final int SWITCH = 25; /** * THIS */ public static final int THIS = 26; /** * THROW */ public static final int THROW = 27; /** * TRY */ public static final int TRY = 28; /** * TYPEOF */ public static final int TYPEOF = 29; /** * VAR */ public static final int VAR = 30; /** * VOID */ public static final int VOID = 31; /** * WHILE */ public static final int WHILE = 32; /** * WITH */ public static final int WITH = 33; /** * LCURLY */ public static final int LCURLY = 34; /** * DOT */ public static final int DOT = 35; /** * GREATER_EQUAL */ public static final int GREATER_EQUAL = 36; /** * PLUS */ public static final int PLUS = 37; /** * LESS_LESS */ public static final int LESS_LESS = 38; /** * EXCLAMATION */ public static final int EXCLAMATION = 39; /** * EQUAL */ public static final int EQUAL = 40; /** * GREATER_GREATER_EQUAL */ public static final int GREATER_GREATER_EQUAL = 41; /** * RCURLY */ public static final int RCURLY = 42; /** * SEMICOLON */ public static final int SEMICOLON = 43; /** * EQUAL_EQUAL */ public static final int EQUAL_EQUAL = 44; /** * MINUS */ public static final int MINUS = 45; /** * GREATER_GREATER */ public static final int GREATER_GREATER = 46; /** * TILDE */ public static final int TILDE = 47; /** * PLUS_EQUAL */ public static final int PLUS_EQUAL = 48; /** * GREATER_GREATER_GREATER_EQUAL */ public static final int GREATER_GREATER_GREATER_EQUAL = 49; /** * LPAREN */ public static final int LPAREN = 50; /** * COMMA */ public static final int COMMA = 51; /** * EXCLAMATION_EQUAL */ public static final int EXCLAMATION_EQUAL = 52; /** * STAR */ public static final int STAR = 53; /** * GREATER_GREATER_GREATER */ public static final int GREATER_GREATER_GREATER = 54; /** * AMPERSAND_AMPERSAND */ public static final int AMPERSAND_AMPERSAND = 55; /** * MINUS_EQUAL */ public static final int MINUS_EQUAL = 56; /** * AMPERSAND_EQUAL */ public static final int AMPERSAND_EQUAL = 57; /** * RPAREN */ public static final int RPAREN = 58; /** * LESS */ public static final int LESS = 59; /** * EQUAL_EQUAL_EQUAL */ public static final int EQUAL_EQUAL_EQUAL = 60; /** * PERCENT */ public static final int PERCENT = 61; /** * AMPERSAND */ public static final int AMPERSAND = 62; /** * PIPE_PIPE */ public static final int PIPE_PIPE = 63; /** * STAR_EQUAL */ public static final int STAR_EQUAL = 64; /** * PIPE_EQUAL */ public static final int PIPE_EQUAL = 65; /** * LBRACKET */ public static final int LBRACKET = 66; /** * GREATER */ public static final int GREATER = 67; /** * EXCLAMATION_EQUAL_EQUAL */ public static final int EXCLAMATION_EQUAL_EQUAL = 68; /** * PLUS_PLUS */ public static final int PLUS_PLUS = 69; /** * PIPE */ public static final int PIPE = 70; /** * QUESTION */ public static final int QUESTION = 71; /** * PERCENT_EQUAL */ public static final int PERCENT_EQUAL = 72; /** * CARET_EQUAL */ public static final int CARET_EQUAL = 73; /** * RBRACKET */ public static final int RBRACKET = 74; /** * LESS_EQUAL */ public static final int LESS_EQUAL = 75; /** * MINUS_MINUS */ public static final int MINUS_MINUS = 76; /** * CARET */ public static final int CARET = 77; /** * COLON */ public static final int COLON = 78; /** * LESS_LESS_EQUAL */ public static final int LESS_LESS_EQUAL = 79; /** * FORWARD_SLASH */ public static final int FORWARD_SLASH = 80; /** * FORWARD_SLASH_EQUAL */ public static final int FORWARD_SLASH_EQUAL = 81; /** * PI_OPEN */ public static final int PI_OPEN = 82; /** * PI_TEXT */ public static final int PI_TEXT = 83; /** * PI_CLOSE */ public static final int PI_CLOSE = 92; /** * NULL */ public static final int NULL = 84; /** * TRUE */ public static final int TRUE = 85; /** * FALSE */ public static final int FALSE = 86; /** * NUMBER */ public static final int NUMBER = 87; /** * STRING */ public static final int STRING = 88; /** * REGEX */ public static final int REGEX = 89; /** * MULTILINE_COMMENT */ public static final int MULTILINE_COMMENT = 90; /** * DOCUMENTATION */ public static final int DOCUMENTATION = 91; /** * MAX_VALUE */ public static final int MAX_VALUE = 92; // /** // * Get the name associated with the specified token type // * // * @param type // * The token type // * @return The name associated with this token type // */ // public static String getName(int type) // { // Class c = JSTokenTypes.class; // String result = "<unknown>"; // // Field[] fields = c.getFields(); // // if (0 <= type && type < fields.length) // { // result = fields[type].getName(); // } // // return result; // } /** * getNames * * @return String[] */ public static String[] getNames() { String[] result = new String[MAX_VALUE + 1]; for (int i = 0; i <= MAX_VALUE; i++) { result[i] = getName(i); } return result; } /** * Get the name associated with the specified token type * * @param type * The token type * @return The name associated with this token type */ public static String getName(int type) { switch (type) { case ERROR: return "ERROR"; //$NON-NLS-1$ case WHITESPACE: return "WHITESPACE"; //$NON-NLS-1$ case COMMENT: return "COMMENT"; //$NON-NLS-1$ case CDO: return "CDO"; //$NON-NLS-1$ case CDC: return "CDC"; //$NON-NLS-1$ case LINE_TERMINATOR: return "LINE_TERMINATOR"; //$NON-NLS-1$ case START_MULTILINE_COMMENT: return "START_MULTILINE_COMMENT"; //$NON-NLS-1$ case START_DOCUMENTATION: return "START_DOCUMENTATION"; //$NON-NLS-1$ case IDENTIFIER: return "IDENTIFIER"; //$NON-NLS-1$ case BREAK: return "BREAK"; //$NON-NLS-1$ case CASE: return "CASE"; //$NON-NLS-1$ case CATCH: return "CATCH"; //$NON-NLS-1$ case CONTINUE: return "CONTINUE"; //$NON-NLS-1$ case DEFAULT: return "DEFAULT"; //$NON-NLS-1$ case DELETE: return "DELETE"; //$NON-NLS-1$ case DO: return "DO"; //$NON-NLS-1$ case ELSE: return "ELSE"; //$NON-NLS-1$ case IF: return "IF"; //$NON-NLS-1$ case IN: return "IN"; //$NON-NLS-1$ case INSTANCEOF: return "INSTANCEOF"; //$NON-NLS-1$ case FINALLY: return "FINALLY"; //$NON-NLS-1$ case FOR: return "FOR"; //$NON-NLS-1$ case FUNCTION: return "FUNCTION"; //$NON-NLS-1$ case NEW: return "NEW"; //$NON-NLS-1$ case RETURN: return "RETURN"; //$NON-NLS-1$ case SWITCH: return "SWITCH"; //$NON-NLS-1$ case THIS: return "THIS"; //$NON-NLS-1$ case THROW: return "THROW"; //$NON-NLS-1$ case TRY: return "TRY"; //$NON-NLS-1$ case TYPEOF: return "TYPEOF"; //$NON-NLS-1$ case VAR: return "VAR"; //$NON-NLS-1$ case VOID: return "VOID"; //$NON-NLS-1$ case WHILE: return "WHILE"; //$NON-NLS-1$ case WITH: return "WITH"; //$NON-NLS-1$ case LCURLY: return "LCURLY"; //$NON-NLS-1$ case DOT: return "DOT"; //$NON-NLS-1$ case GREATER_EQUAL: return "GREATER_EQUAL"; //$NON-NLS-1$ case PLUS: return "PLUS"; //$NON-NLS-1$ case LESS_LESS: return "LESS_LESS"; //$NON-NLS-1$ case EXCLAMATION: return "EXCLAMATION"; //$NON-NLS-1$ case EQUAL: return "EQUAL"; //$NON-NLS-1$ case GREATER_GREATER_EQUAL: return "GREATER_GREATER_EQUAL"; //$NON-NLS-1$ case RCURLY: return "RCURLY"; //$NON-NLS-1$ case SEMICOLON: return "SEMICOLON"; //$NON-NLS-1$ case EQUAL_EQUAL: return "EQUAL_EQUAL"; //$NON-NLS-1$ case MINUS: return "MINUS"; //$NON-NLS-1$ case GREATER_GREATER: return "GREATER_GREATER"; //$NON-NLS-1$ case TILDE: return "TILDE"; //$NON-NLS-1$ case PLUS_EQUAL: return "PLUS_EQUAL"; //$NON-NLS-1$ case GREATER_GREATER_GREATER_EQUAL: return "GREATER_GREATER_GREATER_EQUAL"; //$NON-NLS-1$ case LPAREN: return "LPAREN"; //$NON-NLS-1$ case COMMA: return "COMMA"; //$NON-NLS-1$ case EXCLAMATION_EQUAL: return "EXCLAMATION_EQUAL"; //$NON-NLS-1$ case STAR: return "STAR"; //$NON-NLS-1$ case GREATER_GREATER_GREATER: return "GREATER_GREATER_GREATER"; //$NON-NLS-1$ case AMPERSAND_AMPERSAND: return "AMPERSAND_AMPERSAND"; //$NON-NLS-1$ case MINUS_EQUAL: return "MINUS_EQUAL"; //$NON-NLS-1$ case AMPERSAND_EQUAL: return "AMPERSAND_EQUAL"; //$NON-NLS-1$ case RPAREN: return "RPAREN"; //$NON-NLS-1$ case LESS: return "LESS"; //$NON-NLS-1$ case EQUAL_EQUAL_EQUAL: return "EQUAL_EQUAL_EQUAL"; //$NON-NLS-1$ case PERCENT: return "PERCENT"; //$NON-NLS-1$ case AMPERSAND: return "AMPERSAND"; //$NON-NLS-1$ case PIPE_PIPE: return "PIPE_PIPE"; //$NON-NLS-1$ case STAR_EQUAL: return "STAR_EQUAL"; //$NON-NLS-1$ case PIPE_EQUAL: return "PIPE_EQUAL"; //$NON-NLS-1$ case LBRACKET: return "LBRACKET"; //$NON-NLS-1$ case GREATER: return "GREATER"; //$NON-NLS-1$ case EXCLAMATION_EQUAL_EQUAL: return "EXCLAMATION_EQUAL_EQUAL"; //$NON-NLS-1$ case PLUS_PLUS: return "PLUS_PLUS"; //$NON-NLS-1$ case PIPE: return "PIPE"; //$NON-NLS-1$ case QUESTION: return "QUESTION"; //$NON-NLS-1$ case PERCENT_EQUAL: return "PERCENT_EQUAL"; //$NON-NLS-1$ case CARET_EQUAL: return "CARET_EQUAL"; //$NON-NLS-1$ case RBRACKET: return "RBRACKET"; //$NON-NLS-1$ case LESS_EQUAL: return "LESS_EQUAL"; //$NON-NLS-1$ case MINUS_MINUS: return "MINUS_MINUS"; //$NON-NLS-1$ case CARET: return "CARET"; //$NON-NLS-1$ case COLON: return "COLON"; //$NON-NLS-1$ case LESS_LESS_EQUAL: return "LESS_LESS_EQUAL"; //$NON-NLS-1$ case FORWARD_SLASH: return "FORWARD_SLASH"; //$NON-NLS-1$ case FORWARD_SLASH_EQUAL: return "FORWARD_SLASH_EQUAL"; //$NON-NLS-1$ case PI_OPEN: return "PI_OPEN"; //$NON-NLS-1$ case PI_CLOSE: return "PI_CLOSE"; //$NON-NLS-1$ case PI_TEXT: return "PI_TEXT"; //$NON-NLS-1$ case NULL: return "NULL"; //$NON-NLS-1$ case TRUE: return "TRUE"; //$NON-NLS-1$ case FALSE: return "FALSE"; //$NON-NLS-1$ case NUMBER: return "NUMBER"; //$NON-NLS-1$ case STRING: return "STRING"; //$NON-NLS-1$ case REGEX: return "REGEX"; //$NON-NLS-1$ case MULTILINE_COMMENT: return "MULTILINE_COMMENT"; //$NON-NLS-1$ case DOCUMENTATION: return "DOCUMENTATION"; //$NON-NLS-1$ default: return "<unknown>"; //$NON-NLS-1$ } } /** * getIntValue * * @param name * @return int */ public static int getIntValue(String name) { Class<?> c = JSTokenTypes.class; int result = -1; try { Field f = c.getField(name); result = f.getInt(c); } // fail silently catch (SecurityException e) { } catch (NoSuchFieldException e) { } catch (IllegalArgumentException e) { } catch (IllegalAccessException e) { } return result; } }