001: package net.sourceforge.squirrel_sql.plugins.syntax.netbeans;
002:
003: import org.netbeans.editor.*;
004:
005: import java.util.HashMap;
006:
007: public class SQLTokenContext extends TokenContext {
008:
009: // Token category-ids
010: public static final int KEYWORDS_ID = 1;
011: public static final int OPERATORS_ID = KEYWORDS_ID + 1;
012: public static final int NUMERIC_LITERALS_ID = OPERATORS_ID + 1;
013: public static final int ERRORS_ID = NUMERIC_LITERALS_ID + 1;
014:
015: // Numeric-ids for token-ids
016: public static final int WHITESPACE_ID = ERRORS_ID + 1;
017: public static final int IDENTIFIER_ID = WHITESPACE_ID + 1;
018:
019: public static final int TABLE_ID = IDENTIFIER_ID + 1;
020: public static final int SEQUENCE_ID = TABLE_ID + 1;
021: public static final int COLUMN_ID = SEQUENCE_ID + 1;
022: public static final int ERROR_ID = COLUMN_ID + 1;
023: public static final int FUNCTION_ID = ERROR_ID + 1;
024: public static final int DATA_TYPE_ID = FUNCTION_ID + 1;
025: public static final int STATEMENT_SEPARATOR_ID = DATA_TYPE_ID + 1;
026:
027: public static final int LINE_COMMENT_ID = STATEMENT_SEPARATOR_ID + 1;
028: public static final int BLOCK_COMMENT_ID = LINE_COMMENT_ID + 1;
029: public static final int CHAR_LITERAL_ID = BLOCK_COMMENT_ID + 1;
030: public static final int STRING_LITERAL_ID = CHAR_LITERAL_ID + 1;
031: public static final int INT_LITERAL_ID = STRING_LITERAL_ID + 1;
032: public static final int LONG_LITERAL_ID = INT_LITERAL_ID + 1;
033: public static final int HEX_LITERAL_ID = LONG_LITERAL_ID + 1;
034: public static final int OCTAL_LITERAL_ID = HEX_LITERAL_ID + 1;
035: public static final int FLOAT_LITERAL_ID = OCTAL_LITERAL_ID + 1;
036: public static final int DOUBLE_LITERAL_ID = FLOAT_LITERAL_ID + 1;
037:
038: // Operator numeric-ids
039: public static final int EQ_ID = DOUBLE_LITERAL_ID + 1; // =
040: public static final int LT_ID = EQ_ID + 1; // <
041: public static final int GT_ID = LT_ID + 1; // >
042: public static final int LSHIFT_ID = GT_ID + 1; // <<
043: public static final int RSSHIFT_ID = LSHIFT_ID + 1; // >>
044: public static final int RUSHIFT_ID = RSSHIFT_ID + 1; // >>>
045: public static final int PLUS_ID = RUSHIFT_ID + 1; // +
046: public static final int MINUS_ID = PLUS_ID + 1; // -
047: public static final int MUL_ID = MINUS_ID + 1; // *
048: public static final int DIV_ID = MUL_ID + 1; // /
049: public static final int AND_ID = DIV_ID + 1; // &
050: public static final int OR_ID = AND_ID + 1; // |
051: public static final int XOR_ID = OR_ID + 1; // ^
052: public static final int MOD_ID = XOR_ID + 1; // %
053: public static final int NOT_ID = MOD_ID + 1; // !
054: public static final int NEG_ID = NOT_ID + 1; // ~
055: public static final int EQ_EQ_ID = NEG_ID + 1; // ==
056: public static final int LT_EQ_ID = EQ_EQ_ID + 1; // <=
057: public static final int GT_EQ_ID = LT_EQ_ID + 1; // >=
058: public static final int LSHIFT_EQ_ID = GT_EQ_ID + 1; // <<=
059: public static final int RSSHIFT_EQ_ID = LSHIFT_EQ_ID + 1; // >>=
060: public static final int RUSHIFT_EQ_ID = RSSHIFT_EQ_ID + 1; // >>>=
061: public static final int PLUS_EQ_ID = RUSHIFT_EQ_ID + 1; // +=
062: public static final int MINUS_EQ_ID = PLUS_EQ_ID + 1; // -=
063: public static final int MUL_EQ_ID = MINUS_EQ_ID + 1; // *=
064: public static final int DIV_EQ_ID = MUL_EQ_ID + 1; // /=
065: public static final int AND_EQ_ID = DIV_EQ_ID + 1; // &=
066: public static final int OR_EQ_ID = AND_EQ_ID + 1; // |=
067: public static final int XOR_EQ_ID = OR_EQ_ID + 1; // ^=
068: public static final int MOD_EQ_ID = XOR_EQ_ID + 1; // %=
069: public static final int NOT_EQ_ID = MOD_EQ_ID + 1; // !=
070: public static final int DOT_ID = NOT_EQ_ID + 1; // .
071: public static final int COMMA_ID = DOT_ID + 1; // ,
072: public static final int COLON_ID = COMMA_ID + 1; // :
073: public static final int SEMICOLON_ID = COLON_ID + 1; // ;
074: public static final int QUESTION_ID = SEMICOLON_ID + 1; // ?
075: public static final int LPAREN_ID = QUESTION_ID + 1; // (
076: public static final int RPAREN_ID = LPAREN_ID + 1; // )
077: public static final int LBRACKET_ID = RPAREN_ID + 1; // [
078: public static final int RBRACKET_ID = LBRACKET_ID + 1; // ]
079: public static final int LBRACE_ID = RBRACKET_ID + 1; // {
080: public static final int RBRACE_ID = LBRACE_ID + 1; // }
081: public static final int PLUS_PLUS_ID = RBRACE_ID + 1; // ++
082: public static final int MINUS_MINUS_ID = PLUS_PLUS_ID + 1; // --
083: public static final int AND_AND_ID = MINUS_MINUS_ID + 1; // &&
084: public static final int OR_OR_ID = AND_AND_ID + 1; // ||
085:
086: // Data type keyword numeric-ids
087: public static final int BOOLEAN_ID = OR_OR_ID + 1;
088: public static final int BYTE_ID = BOOLEAN_ID + 1;
089: public static final int CHAR_ID = BYTE_ID + 1;
090: public static final int DOUBLE_ID = CHAR_ID + 1;
091: public static final int FLOAT_ID = DOUBLE_ID + 1;
092: public static final int INT_ID = FLOAT_ID + 1;
093: public static final int LONG_ID = INT_ID + 1;
094: public static final int SHORT_ID = LONG_ID + 1;
095:
096: // Void type keyword numeric-id
097: public static final int VOID_ID = SHORT_ID + 1;
098:
099: // Other keywords numeric-ids
100: public static final int ABSTRACT_ID = VOID_ID + 1;
101: public static final int ASSERT_ID = ABSTRACT_ID + 1;
102: public static final int BREAK_ID = ASSERT_ID + 1;
103: public static final int CASE_ID = BREAK_ID + 1;
104: public static final int CATCH_ID = CASE_ID + 1;
105: public static final int CLASS_ID = CATCH_ID + 1;
106: public static final int CONST_ID = CLASS_ID + 1;
107: public static final int CONTINUE_ID = CONST_ID + 1;
108: public static final int DEFAULT_ID = CONTINUE_ID + 1;
109: public static final int DO_ID = DEFAULT_ID + 1;
110: public static final int ELSE_ID = DO_ID + 1;
111: public static final int ENUM_ID = ELSE_ID + 1;
112: public static final int EXTENDS_ID = ENUM_ID + 1;
113: public static final int FALSE_ID = EXTENDS_ID + 1;
114: public static final int FINAL_ID = FALSE_ID + 1;
115: public static final int FINALLY_ID = FINAL_ID + 1;
116: public static final int FOR_ID = FINALLY_ID + 1;
117: public static final int GOTO_ID = FOR_ID + 1;
118: public static final int IF_ID = GOTO_ID + 1;
119: public static final int IMPLEMENTS_ID = IF_ID + 1;
120: public static final int IMPORT_ID = IMPLEMENTS_ID + 1;
121: public static final int INSTANCEOF_ID = IMPORT_ID + 1;
122: public static final int INTERFACE_ID = INSTANCEOF_ID + 1;
123: public static final int NATIVE_ID = INTERFACE_ID + 1;
124: public static final int NEW_ID = NATIVE_ID + 1;
125: public static final int NULL_ID = NEW_ID + 1;
126: public static final int PACKAGE_ID = NULL_ID + 1;
127: public static final int PRIVATE_ID = PACKAGE_ID + 1;
128: public static final int PROTECTED_ID = PRIVATE_ID + 1;
129: public static final int PUBLIC_ID = PROTECTED_ID + 1;
130: public static final int RETURN_ID = PUBLIC_ID + 1;
131: public static final int STATIC_ID = RETURN_ID + 1;
132: public static final int STRICTFP_ID = STATIC_ID + 1;
133: public static final int SUPER_ID = STRICTFP_ID + 1;
134: public static final int SWITCH_ID = SUPER_ID + 1;
135: public static final int SYNCHRONIZED_ID = SWITCH_ID + 1;
136: public static final int THIS_ID = SYNCHRONIZED_ID + 1;
137: public static final int THROW_ID = THIS_ID + 1;
138: public static final int THROWS_ID = THROW_ID + 1;
139: public static final int TRANSIENT_ID = THROWS_ID + 1;
140: public static final int TRUE_ID = TRANSIENT_ID + 1;
141: public static final int TRY_ID = TRUE_ID + 1;
142: public static final int VOLATILE_ID = TRY_ID + 1;
143: public static final int WHILE_ID = VOLATILE_ID + 1;
144:
145: // Incomplete tokens
146: public static final int INCOMPLETE_STRING_LITERAL_ID = WHILE_ID + 1;
147: public static final int INCOMPLETE_CHAR_LITERAL_ID = INCOMPLETE_STRING_LITERAL_ID + 1;
148: public static final int INCOMPLETE_HEX_LITERAL_ID = INCOMPLETE_CHAR_LITERAL_ID + 1;
149: public static final int INVALID_CHAR_ID = INCOMPLETE_HEX_LITERAL_ID + 1;
150: public static final int INVALID_OPERATOR_ID = INVALID_CHAR_ID + 1;
151: public static final int INVALID_OCTAL_LITERAL_ID = INVALID_OPERATOR_ID + 1;
152: public static final int INVALID_COMMENT_END_ID = INVALID_OCTAL_LITERAL_ID + 1;
153:
154: // JDK1.5 "@ident" annotation
155: // "@keyword" gets returned as two tokens "@" and "keyword"
156: public static final int ANNOTATION_ID = INVALID_COMMENT_END_ID + 1;
157:
158: // JDK1.5 vararg's "..."
159: public static final int ELLIPSIS_ID = ANNOTATION_ID + 1;
160:
161: // Token-categories
162: /**
163: * All the keywords belong to this category.
164: */
165: public static final BaseTokenCategory KEYWORDS = new BaseTokenCategory(
166: "keywords", KEYWORDS_ID); // NOI18N
167:
168: /**
169: * All the operators belong to this category.
170: */
171: public static final BaseTokenCategory OPERATORS = new BaseTokenCategory(
172: "operators", OPERATORS_ID); // NOI18N
173:
174: /**
175: * All the numeric literals belong to this category.
176: */
177: public static final BaseTokenCategory NUMERIC_LITERALS = new BaseTokenCategory(
178: "numeric-literals", NUMERIC_LITERALS_ID); // NOI18N
179:
180: /**
181: * All the errorneous constructions and incomplete tokens
182: * belong to this category.
183: */
184: public static final BaseTokenCategory ERRORS = new BaseTokenCategory(
185: "errors", ERRORS_ID); // NOI18N
186:
187: // Token-ids
188: public static final BaseTokenID WHITESPACE = new BaseTokenID(
189: "whitespace", WHITESPACE_ID); // NOI18N
190:
191: public static final BaseTokenID IDENTIFIER = new BaseTokenID(
192: "identifier", IDENTIFIER_ID); // NOI18N
193:
194: public static final BaseTokenID TABLE = new BaseTokenID("table",
195: TABLE_ID); // NOI18N
196:
197: public static final BaseTokenID SEQUENCE = new BaseTokenID(
198: "sequence", SEQUENCE_ID); // NOI18N
199:
200: public static final BaseTokenID COLUMN = new BaseTokenID("column",
201: COLUMN_ID); // NOI18N
202:
203: public static final BaseTokenID ERROR = new BaseTokenID("error",
204: ERROR_ID); // NOI18N
205:
206: public static final BaseTokenID FUNCTION = new BaseTokenID(
207: "function", FUNCTION_ID); // NOI18N
208:
209: public static final BaseTokenID DATA_TYPE = new BaseTokenID(
210: "dataType", DATA_TYPE_ID); // NOI18N
211:
212: public static final BaseTokenID STATEMENT_SEPARATOR = new BaseTokenID(
213: "statementSeparator", STATEMENT_SEPARATOR_ID); // NOI18N
214:
215: /**
216: * Comment with the '//' prefix
217: */
218: public static final BaseTokenID LINE_COMMENT = new BaseTokenID(
219: "line-comment", LINE_COMMENT_ID); // NOI18N
220:
221: /**
222: * Block comment
223: */
224: public static final BaseTokenID BLOCK_COMMENT = new BaseTokenID(
225: "block-comment", BLOCK_COMMENT_ID); // NOI18N
226:
227: /**
228: * Character literal e.g. 'c'
229: */
230: public static final BaseTokenID CHAR_LITERAL = new BaseTokenID(
231: "char-literal", CHAR_LITERAL_ID); // NOI18N
232:
233: /**
234: * Java string literal e.g. "hello"
235: */
236: public static final BaseTokenID STRING_LITERAL = new BaseTokenID(
237: "string-literal", STRING_LITERAL_ID); // NOI18N
238:
239: /**
240: * Java integer literal e.g. 1234
241: */
242: public static final BaseTokenID INT_LITERAL = new BaseTokenID(
243: "int-literal", INT_LITERAL_ID, NUMERIC_LITERALS); // NOI18N
244:
245: /**
246: * Java long literal e.g. 12L
247: */
248: public static final BaseTokenID LONG_LITERAL = new BaseTokenID(
249: "long-literal", LONG_LITERAL_ID, NUMERIC_LITERALS); // NOI18N
250:
251: /**
252: * Java hexadecimal literal e.g. 0x5a
253: */
254: public static final BaseTokenID HEX_LITERAL = new BaseTokenID(
255: "hex-literal", HEX_LITERAL_ID, NUMERIC_LITERALS); // NOI18N
256:
257: /**
258: * Java octal literal e.g. 0123
259: */
260: public static final BaseTokenID OCTAL_LITERAL = new BaseTokenID(
261: "octal-literal", OCTAL_LITERAL_ID, NUMERIC_LITERALS); // NOI18N
262:
263: /**
264: * Java float literal e.g. 1.5e+20f
265: */
266: public static final BaseTokenID FLOAT_LITERAL = new BaseTokenID(
267: "float-literal", FLOAT_LITERAL_ID, NUMERIC_LITERALS); // NOI18N
268:
269: /**
270: * Java double literal e.g. 1.5e+20
271: */
272: public static final BaseTokenID DOUBLE_LITERAL = new BaseTokenID(
273: "double-literal", DOUBLE_LITERAL_ID, NUMERIC_LITERALS); // NOI18N
274:
275: // Operators
276: public static final BaseImageTokenID EQ = new BaseImageTokenID(
277: "eq", EQ_ID, OPERATORS, "="); // NOI18N
278:
279: public static final BaseImageTokenID LT = new BaseImageTokenID(
280: "lt", LT_ID, OPERATORS, "<"); // NOI18N
281:
282: public static final BaseImageTokenID GT = new BaseImageTokenID(
283: "gt", GT_ID, OPERATORS, ">"); // NOI18N
284:
285: public static final BaseImageTokenID LSHIFT = new BaseImageTokenID(
286: "lshift", LSHIFT_ID, OPERATORS, "<<"); // NOI18N
287:
288: public static final BaseImageTokenID RSSHIFT = new BaseImageTokenID(
289: "rsshift", RSSHIFT_ID, OPERATORS, ">>"); // NOI18N
290:
291: public static final BaseImageTokenID RUSHIFT = new BaseImageTokenID(
292: "rushift", RUSHIFT_ID, OPERATORS, ">>>"); // NOI18N
293:
294: public static final BaseImageTokenID PLUS = new BaseImageTokenID(
295: "plus", PLUS_ID, OPERATORS, "+"); // NOI18N
296:
297: public static final BaseImageTokenID MINUS = new BaseImageTokenID(
298: "minus", MINUS_ID, OPERATORS, "-"); // NOI18N
299:
300: public static final BaseImageTokenID MUL = new BaseImageTokenID(
301: "mul", MUL_ID, OPERATORS, "*"); // NOI18N
302:
303: public static final BaseImageTokenID DIV = new BaseImageTokenID(
304: "div", DIV_ID, OPERATORS, "/"); // NOI18N
305:
306: public static final BaseImageTokenID AND = new BaseImageTokenID(
307: "and", AND_ID, OPERATORS, "&"); // NOI18N
308:
309: public static final BaseImageTokenID OR = new BaseImageTokenID(
310: "or", OR_ID, OPERATORS, "|"); // NOI18N
311:
312: public static final BaseImageTokenID XOR = new BaseImageTokenID(
313: "xor", XOR_ID, OPERATORS, "^"); // NOI18N
314:
315: public static final BaseImageTokenID MOD = new BaseImageTokenID(
316: "mod", MOD_ID, OPERATORS, "%"); // NOI18N
317:
318: public static final BaseImageTokenID NOT = new BaseImageTokenID(
319: "not", NOT_ID, OPERATORS, "!"); // NOI18N
320:
321: public static final BaseImageTokenID NEG = new BaseImageTokenID(
322: "neg", NEG_ID, OPERATORS, "~"); // NOI18N
323:
324: public static final BaseImageTokenID EQ_EQ = new BaseImageTokenID(
325: "eq-eq", EQ_EQ_ID, OPERATORS, "=="); // NOI18N
326:
327: public static final BaseImageTokenID LT_EQ = new BaseImageTokenID(
328: "le", LT_EQ_ID, OPERATORS, "<="); // NOI18N
329:
330: public static final BaseImageTokenID GT_EQ = new BaseImageTokenID(
331: "ge", GT_EQ_ID, OPERATORS, ">="); // NOI18N
332:
333: public static final BaseImageTokenID LSHIFT_EQ = new BaseImageTokenID(
334: "lshift-eq", LSHIFT_EQ_ID, OPERATORS, "<<="); // NOI18N
335:
336: public static final BaseImageTokenID RSSHIFT_EQ = new BaseImageTokenID(
337: "rsshift-eq", RSSHIFT_EQ_ID, OPERATORS, ">>="); // NOI18N
338:
339: public static final BaseImageTokenID RUSHIFT_EQ = new BaseImageTokenID(
340: "rushift-eq", RUSHIFT_EQ_ID, OPERATORS, ">>>="); // NOI18N
341:
342: public static final BaseImageTokenID PLUS_EQ = new BaseImageTokenID(
343: "plus-eq", PLUS_EQ_ID, OPERATORS, "+="); // NOI18N
344:
345: public static final BaseImageTokenID MINUS_EQ = new BaseImageTokenID(
346: "minus-eq", MINUS_EQ_ID, OPERATORS, "-="); // NOI18N
347:
348: public static final BaseImageTokenID MUL_EQ = new BaseImageTokenID(
349: "mul-eq", MUL_EQ_ID, OPERATORS, "*="); // NOI18N
350:
351: public static final BaseImageTokenID DIV_EQ = new BaseImageTokenID(
352: "div-eq", DIV_EQ_ID, OPERATORS, "/="); // NOI18N
353:
354: public static final BaseImageTokenID AND_EQ = new BaseImageTokenID(
355: "and-eq", AND_EQ_ID, OPERATORS, "&="); // NOI18N
356:
357: public static final BaseImageTokenID OR_EQ = new BaseImageTokenID(
358: "or-eq", OR_EQ_ID, OPERATORS, "|="); // NOI18N
359:
360: public static final BaseImageTokenID XOR_EQ = new BaseImageTokenID(
361: "xor-eq", XOR_EQ_ID, OPERATORS, "^="); // NOI18N
362:
363: public static final BaseImageTokenID MOD_EQ = new BaseImageTokenID(
364: "mod-eq", MOD_EQ_ID, OPERATORS, "%="); // NOI18N
365:
366: public static final BaseImageTokenID NOT_EQ = new BaseImageTokenID(
367: "not-eq", NOT_EQ_ID, OPERATORS, "!="); // NOI18N
368:
369: public static final BaseImageTokenID DOT = new BaseImageTokenID(
370: "dot", DOT_ID, OPERATORS, "."); // NOI18N
371:
372: public static final BaseImageTokenID COMMA = new BaseImageTokenID(
373: "comma", COMMA_ID, OPERATORS, ","); // NOI18N
374:
375: public static final BaseImageTokenID COLON = new BaseImageTokenID(
376: "colon", COLON_ID, OPERATORS, ":"); // NOI18N
377:
378: public static final BaseImageTokenID SEMICOLON = new BaseImageTokenID(
379: "semicolon", SEMICOLON_ID, OPERATORS, ";"); // NOI18N
380:
381: public static final BaseImageTokenID QUESTION = new BaseImageTokenID(
382: "question", QUESTION_ID, OPERATORS, "?"); // NOI18N
383:
384: public static final BaseImageTokenID LPAREN = new BaseImageTokenID(
385: "lparen", LPAREN_ID, OPERATORS, "("); // NOI18N
386:
387: public static final BaseImageTokenID RPAREN = new BaseImageTokenID(
388: "rparen", RPAREN_ID, OPERATORS, ")"); // NOI18N
389:
390: public static final BaseImageTokenID LBRACKET = new BaseImageTokenID(
391: "lbracket", LBRACKET_ID, OPERATORS, "["); // NOI18N
392:
393: public static final BaseImageTokenID RBRACKET = new BaseImageTokenID(
394: "rbracket", RBRACKET_ID, OPERATORS, "]"); // NOI18N
395:
396: public static final BaseImageTokenID LBRACE = new BaseImageTokenID(
397: "lbrace", LBRACE_ID, OPERATORS, "{"); // NOI18N
398:
399: public static final BaseImageTokenID RBRACE = new BaseImageTokenID(
400: "rbrace", RBRACE_ID, OPERATORS, "}"); // NOI18N
401:
402: public static final BaseImageTokenID PLUS_PLUS = new BaseImageTokenID(
403: "plus-plus", PLUS_PLUS_ID, OPERATORS, "++"); // NOI18N
404:
405: public static final BaseImageTokenID MINUS_MINUS = new BaseImageTokenID(
406: "minus-minus", MINUS_MINUS_ID, OPERATORS, "--"); // NOI18N
407:
408: public static final BaseImageTokenID AND_AND = new BaseImageTokenID(
409: "and-and", AND_AND_ID, OPERATORS, "&&"); // NOI18N
410:
411: public static final BaseImageTokenID OR_OR = new BaseImageTokenID(
412: "or-or", OR_OR_ID, OPERATORS, "||"); // NOI18N
413:
414: // Data types
415: public static final BaseImageTokenID BOOLEAN = new BaseImageTokenID(
416: "boolean", BOOLEAN_ID, KEYWORDS); // NOI18N
417:
418: public static final BaseImageTokenID BYTE = new BaseImageTokenID(
419: "byte", BYTE_ID, KEYWORDS); // NOI18N
420:
421: public static final BaseImageTokenID CHAR = new BaseImageTokenID(
422: "char", CHAR_ID, KEYWORDS); // NOI18N
423:
424: public static final BaseImageTokenID DOUBLE = new BaseImageTokenID(
425: "double", DOUBLE_ID, KEYWORDS); // NOI18N
426:
427: public static final BaseImageTokenID FLOAT = new BaseImageTokenID(
428: "float", FLOAT_ID, KEYWORDS); // NOI18N
429:
430: public static final BaseImageTokenID INT = new BaseImageTokenID(
431: "int", INT_ID, KEYWORDS); // NOI18N
432:
433: public static final BaseImageTokenID LONG = new BaseImageTokenID(
434: "long", LONG_ID, KEYWORDS); // NOI18N
435:
436: public static final BaseImageTokenID SHORT = new BaseImageTokenID(
437: "short", SHORT_ID, KEYWORDS); // NOI18N
438:
439: // Void type
440: public static final BaseImageTokenID VOID = new BaseImageTokenID(
441: "void", VOID_ID, KEYWORDS); // NOI18N
442:
443: // Rest of the keywords
444: public static final BaseImageTokenID ABSTRACT = new BaseImageTokenID(
445: "abstract", ABSTRACT_ID, KEYWORDS); // NOI18N
446:
447: public static final BaseImageTokenID ASSERT = new BaseImageTokenID(
448: "assert", ASSERT_ID, KEYWORDS); // NOI18N
449:
450: public static final BaseImageTokenID BREAK = new BaseImageTokenID(
451: "break", BREAK_ID, KEYWORDS); // NOI18N
452:
453: public static final BaseImageTokenID CASE = new BaseImageTokenID(
454: "case", CASE_ID, KEYWORDS); // NOI18N
455:
456: public static final BaseImageTokenID CATCH = new BaseImageTokenID(
457: "catch", CATCH_ID, KEYWORDS); // NOI18N
458:
459: public static final BaseImageTokenID CLASS = new BaseImageTokenID(
460: "class", CLASS_ID, KEYWORDS); // NOI18N
461:
462: public static final BaseImageTokenID CONST = new BaseImageTokenID(
463: "const", CONST_ID, KEYWORDS); // NOI18N
464:
465: public static final BaseImageTokenID CONTINUE = new BaseImageTokenID(
466: "continue", CONTINUE_ID, KEYWORDS); // NOI18N
467:
468: public static final BaseImageTokenID DEFAULT = new BaseImageTokenID(
469: "default", DEFAULT_ID, KEYWORDS); // NOI18N
470:
471: public static final BaseImageTokenID DO = new BaseImageTokenID(
472: "do", DO_ID, KEYWORDS); // NOI18N
473:
474: public static final BaseImageTokenID ELSE = new BaseImageTokenID(
475: "else", ELSE_ID, KEYWORDS); // NOI18N
476:
477: public static final BaseImageTokenID ENUM = new BaseImageTokenID(
478: "enum", ENUM_ID, KEYWORDS); // NOI18N
479:
480: public static final BaseImageTokenID EXTENDS = new BaseImageTokenID(
481: "extends", EXTENDS_ID, KEYWORDS); // NOI18N
482:
483: public static final BaseImageTokenID FALSE = new BaseImageTokenID(
484: "false", FALSE_ID, KEYWORDS); // NOI18N
485:
486: public static final BaseImageTokenID FINAL = new BaseImageTokenID(
487: "final", FINAL_ID, KEYWORDS); // NOI18N
488:
489: public static final BaseImageTokenID FINALLY = new BaseImageTokenID(
490: "finally", FINALLY_ID, KEYWORDS); // NOI18N
491:
492: public static final BaseImageTokenID FOR = new BaseImageTokenID(
493: "for", FOR_ID, KEYWORDS); // NOI18N
494:
495: public static final BaseImageTokenID GOTO = new BaseImageTokenID(
496: "goto", GOTO_ID, KEYWORDS); // NOI18N
497:
498: public static final BaseImageTokenID IF = new BaseImageTokenID(
499: "if", IF_ID, KEYWORDS); // NOI18N
500:
501: public static final BaseImageTokenID IMPLEMENTS = new BaseImageTokenID(
502: "implements", IMPLEMENTS_ID, KEYWORDS); // NOI18N
503:
504: public static final BaseImageTokenID IMPORT = new BaseImageTokenID(
505: "import", IMPORT_ID, KEYWORDS); // NOI18N
506:
507: public static final BaseImageTokenID INSTANCEOF = new BaseImageTokenID(
508: "instanceof", INSTANCEOF_ID, KEYWORDS); // NOI18N
509:
510: public static final BaseImageTokenID INTERFACE = new BaseImageTokenID(
511: "interface", INTERFACE_ID, KEYWORDS); // NOI18N
512:
513: public static final BaseImageTokenID NATIVE = new BaseImageTokenID(
514: "native", NATIVE_ID, KEYWORDS); // NOI18N
515:
516: public static final BaseImageTokenID NEW = new BaseImageTokenID(
517: "new", NEW_ID, KEYWORDS); // NOI18N
518:
519: public static final BaseImageTokenID NULL = new BaseImageTokenID(
520: "null", NULL_ID, KEYWORDS); // NOI18N
521:
522: public static final BaseImageTokenID PACKAGE = new BaseImageTokenID(
523: "package", PACKAGE_ID, KEYWORDS); // NOI18N
524:
525: public static final BaseImageTokenID PRIVATE = new BaseImageTokenID(
526: "private", PRIVATE_ID, KEYWORDS); // NOI18N
527:
528: public static final BaseImageTokenID PROTECTED = new BaseImageTokenID(
529: "protected", PROTECTED_ID, KEYWORDS); // NOI18N
530:
531: public static final BaseImageTokenID PUBLIC = new BaseImageTokenID(
532: "public", PUBLIC_ID, KEYWORDS); // NOI18N
533:
534: public static final BaseImageTokenID RETURN = new BaseImageTokenID(
535: "return", RETURN_ID, KEYWORDS); // NOI18N
536:
537: public static final BaseImageTokenID STATIC = new BaseImageTokenID(
538: "static", STATIC_ID, KEYWORDS); // NOI18N
539:
540: public static final BaseImageTokenID STRICTFP = new BaseImageTokenID(
541: "strictfp", STRICTFP_ID, KEYWORDS); // NOI18N
542:
543: public static final BaseImageTokenID SUPER = new BaseImageTokenID(
544: "super", SUPER_ID, KEYWORDS); // NOI18N
545:
546: public static final BaseImageTokenID SWITCH = new BaseImageTokenID(
547: "switch", SWITCH_ID, KEYWORDS); // NOI18N
548:
549: public static final BaseImageTokenID SYNCHRONIZED = new BaseImageTokenID(
550: "synchronized", SYNCHRONIZED_ID, KEYWORDS); // NOI18N
551:
552: public static final BaseImageTokenID THIS = new BaseImageTokenID(
553: "this", THIS_ID, KEYWORDS); // NOI18N
554:
555: public static final BaseImageTokenID THROW = new BaseImageTokenID(
556: "throw", THROW_ID, KEYWORDS); // NOI18N
557:
558: public static final BaseImageTokenID THROWS = new BaseImageTokenID(
559: "throws", THROWS_ID, KEYWORDS); // NOI18N
560:
561: public static final BaseImageTokenID TRANSIENT = new BaseImageTokenID(
562: "transient", TRANSIENT_ID, KEYWORDS); // NOI18N
563:
564: public static final BaseImageTokenID TRUE = new BaseImageTokenID(
565: "true", TRUE_ID, KEYWORDS); // NOI18N
566:
567: public static final BaseImageTokenID TRY = new BaseImageTokenID(
568: "try", TRY_ID, KEYWORDS); // NOI18N
569:
570: public static final BaseImageTokenID VOLATILE = new BaseImageTokenID(
571: "volatile", VOLATILE_ID, KEYWORDS); // NOI18N
572:
573: public static final BaseImageTokenID WHILE = new BaseImageTokenID(
574: "while", WHILE_ID, KEYWORDS); // NOI18N
575:
576: // Incomplete and error token-ids
577: public static final BaseTokenID INCOMPLETE_STRING_LITERAL = new BaseTokenID(
578: "incomplete-string-literal", INCOMPLETE_STRING_LITERAL_ID,
579: ERRORS); // NOI18N
580:
581: public static final BaseTokenID INCOMPLETE_CHAR_LITERAL = new BaseTokenID(
582: "incomplete-char-literal", INCOMPLETE_CHAR_LITERAL_ID,
583: ERRORS); // NOI18N
584:
585: public static final BaseTokenID INCOMPLETE_HEX_LITERAL = new BaseTokenID(
586: "incomplete-hex-literal", INCOMPLETE_HEX_LITERAL_ID, ERRORS); // NOI18N
587:
588: public static final BaseTokenID INVALID_CHAR = new BaseTokenID(
589: "invalid-char", INVALID_CHAR_ID, ERRORS); // NOI18N
590:
591: public static final BaseTokenID INVALID_OPERATOR = new BaseTokenID(
592: "invalid-operator", INVALID_OPERATOR_ID, ERRORS); // NOI18N
593:
594: public static final BaseTokenID INVALID_OCTAL_LITERAL = new BaseTokenID(
595: "invalid-octal-literal", INVALID_OCTAL_LITERAL_ID, ERRORS); // NOI18N
596:
597: public static final BaseTokenID INVALID_COMMENT_END = new BaseTokenID(
598: "invalid-comment-end", INVALID_COMMENT_END_ID, ERRORS); // NOI18N
599:
600: // JDK1.5 "@ident" annotation
601: // "@keyword" gets returned as two tokens "@" and "keyword"
602: public static final BaseTokenID ANNOTATION = new BaseTokenID(
603: "annotation", ANNOTATION_ID); // NOI18N
604:
605: // JDK1.5 vararg's "..."
606: public static final BaseImageTokenID ELLIPSIS = new BaseImageTokenID(
607: "ellipsis", ELLIPSIS_ID, OPERATORS, "..."); // NOI18N
608:
609: // Context instance declaration
610: public static final SQLTokenContext context = new SQLTokenContext();
611:
612: public static final TokenContextPath contextPath = context
613: .getContextPath();
614:
615: private static final HashMap str2kwd = new HashMap();
616:
617: static {
618: BaseImageTokenID[] kwds = new BaseImageTokenID[] { ABSTRACT,
619: ASSERT, BREAK, CASE, CATCH, CLASS, CONST, CONTINUE,
620: DEFAULT, DO, ELSE, ENUM, EXTENDS, FALSE, FINAL,
621: FINALLY, FOR, GOTO, IF, IMPLEMENTS, IMPORT, INSTANCEOF,
622: INTERFACE, NATIVE, NEW, NULL, PACKAGE, PRIVATE,
623: PROTECTED, PUBLIC, RETURN, STATIC, STRICTFP, SUPER,
624: SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TRANSIENT,
625: TRUE, TRY, VOLATILE, WHILE, BOOLEAN, BYTE, CHAR,
626: DOUBLE, FLOAT, INT, LONG, SHORT, VOID };
627:
628: for (int i = kwds.length - 1; i >= 0; i--) {
629: str2kwd.put(kwds[i].getImage(), kwds[i]);
630: }
631: }
632:
633: /**
634: * Checks whether the given token-id is a type-keyword.
635: *
636: * @return true when the keyword is a data type.
637: */
638: public static boolean isType(TokenID keywordTokenID) {
639: int numID = (keywordTokenID != null) ? keywordTokenID
640: .getNumericID() : -1;
641: return (numID >= BOOLEAN_ID && numID < VOID_ID);
642: }
643:
644: /**
645: * Checks whether the given string is a type-keyword.
646: */
647: public static boolean isType(String s) {
648: return isType((TokenID) str2kwd.get(s));
649: }
650:
651: /**
652: * Checks whether the given token-id is a data-type-keyword or void-keyword.
653: *
654: * @return true when the keyword is a data-type-keyword or void-keyword.
655: */
656: public static boolean isTypeOrVoid(TokenID keywordTokenID) {
657: int numID = (keywordTokenID != null) ? keywordTokenID
658: .getNumericID() : -1;
659: return (numID >= BOOLEAN_ID && numID <= VOID_ID);
660: }
661:
662: /**
663: * Checks whether the given string is a data-type-keyword or void-keyword.
664: */
665: public static boolean isTypeOrVoid(String s) {
666: return isTypeOrVoid((TokenID) str2kwd.get(s));
667: }
668:
669: /**
670: * Get the keyword token-id from string
671: */
672: public static TokenID getKeyword(String s) {
673: return (TokenID) str2kwd.get(s);
674: }
675:
676: private SQLTokenContext() {
677: super ("java-"); // NOI18N
678:
679: try {
680: addDeclaredTokenIDs();
681: } catch (Exception e) {
682: Utilities.annotateLoggable(e);
683: }
684:
685: }
686:
687: }
|