Package org.codehaus.groovy.syntax

## Class Types

- java.lang.Object
- - org.codehaus.groovy.syntax.Types

-     public class Types
      extends Object

  Typing information for the CST system. The types here are those used by CSTNode, Token, and Reduction.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `ANY` |
    `static int` | `ANY_END_OF_STATEMENT` |
    `static int` | `ARRAY_EXPRESSION` |
    `static int` | `ARRAY_ITEM_TERMINATORS` |
    `static int` | `ASSIGN` |
    `static int` | `ASSIGNMENT_OPERATOR` |
    `static int` | `BITWISE_AND` |
    `static int` | `BITWISE_AND_EQUAL` |
    `static int` | `BITWISE_NEGATION` |
    `static int` | `BITWISE_OPERATOR` |
    `static int` | `BITWISE_OR` |
    `static int` | `BITWISE_OR_EQUAL` |
    `static int` | `BITWISE_XOR` |
    `static int` | `BITWISE_XOR_EQUAL` |
    `static int` | `COLON` |
    `static int` | `COMMA` |
    `static int` | `COMPARE_EQUAL` |
    `static int` | `COMPARE_GREATER_THAN` |
    `static int` | `COMPARE_GREATER_THAN_EQUAL` |
    `static int` | `COMPARE_IDENTICAL` |
    `static int` | `COMPARE_LESS_THAN` |
    `static int` | `COMPARE_LESS_THAN_EQUAL` |
    `static int` | `COMPARE_NOT_EQUAL` |
    `static int` | `COMPARE_NOT_IDENTICAL` |
    `static int` | `COMPARE_TO` |
    `static int` | `COMPARISON_OPERATOR` |
    `static int` | `COMPLEX_EXPRESSION` |
    `static int` | `CREATABLE_PRIMITIVE_TYPE` |
    `static int` | `CREATABLE_TYPE_NAME` |
    `static int` | `DECIMAL_NUMBER` |
    `static int` | `DECLARATION_MODIFIER` |
    `static int` | `DEREFERENCE_OPERATOR` |
    `static int` | `DIVIDE` |
    `static int` | `DIVIDE_EQUAL` |
    `static int` | `DOT` |
    `static int` | `DOT_DOT` |
    `static int` | `DOT_DOT_DOT` |
    `static int` | `DOUBLE_PIPE` |
    `static int` | `EOF` |
    `static int` | `EQUAL` |
    `static int` | `EQUALS` |
    `static int` | `EXPRESSION` |
    `static int` | `FIND_REGEX` |
    `static int` | `GENERAL_END_OF_STATEMENT` |
    `static int` | `GSTRING_END` |
    `static int` | `GSTRING_EXPRESSION_END` |
    `static int` | `GSTRING_EXPRESSION_START` |
    `static int` | `GSTRING_START` |
    `static int` | `IDENTIFIER` |
    `static int` | `INFIX_OPERATOR` |
    `static int` | `INSTANCEOF_OPERATOR` |
    `static int` | `INTDIV` |
    `static int` | `INTDIV_EQUAL` |
    `static int` | `INTEGER_NUMBER` |
    `static int` | `KEYWORD` |
    `static int` | `KEYWORD_ABSTRACT` |
    `static int` | `KEYWORD_AS` |
    `static int` | `KEYWORD_ASSERT` |
    `static int` | `KEYWORD_BOOLEAN` |
    `static int` | `KEYWORD_BREAK` |
    `static int` | `KEYWORD_BYTE` |
    `static int` | `KEYWORD_CASE` |
    `static int` | `KEYWORD_CATCH` |
    `static int` | `KEYWORD_CHAR` |
    `static int` | `KEYWORD_CLASS` |
    `static int` | `KEYWORD_CONST` |
    `static int` | `KEYWORD_CONTINUE` |
    `static int` | `KEYWORD_DEF` |
    `static int` | `KEYWORD_DEFAULT` |
    `static int` | `KEYWORD_DEFMACRO` |
    `static int` | `KEYWORD_DO` |
    `static int` | `KEYWORD_DOUBLE` |
    `static int` | `KEYWORD_ELSE` |
    `static int` | `KEYWORD_EXPRESSION` |
    `static int` | `KEYWORD_EXTENDS` |
    `static int` | `KEYWORD_FALSE` |
    `static int` | `KEYWORD_FINAL` |
    `static int` | `KEYWORD_FINALLY` |
    `static int` | `KEYWORD_FLOAT` |
    `static int` | `KEYWORD_FOR` |
    `static int` | `KEYWORD_GOTO` |
    `static int` | `KEYWORD_IDENTIFIER` |
    `static int` | `KEYWORD_IF` |
    `static int` | `KEYWORD_IMPLEMENTS` |
    `static int` | `KEYWORD_IMPORT` |
    `static int` | `KEYWORD_IN` |
    `static int` | `KEYWORD_INSTANCEOF` |
    `static int` | `KEYWORD_INT` |
    `static int` | `KEYWORD_INTERFACE` |
    `static int` | `KEYWORD_LONG` |
    `static int` | `KEYWORD_MIXIN` |
    `static int` | `KEYWORD_NATIVE` |
    `static int` | `KEYWORD_NEW` |
    `static int` | `KEYWORD_NULL` |
    `static int` | `KEYWORD_PACKAGE` |
    `static int` | `KEYWORD_PRIVATE` |
    `static int` | `KEYWORD_PROPERTY` |
    `static int` | `KEYWORD_PROTECTED` |
    `static int` | `KEYWORD_PUBLIC` |
    `static int` | `KEYWORD_RETURN` |
    `static int` | `KEYWORD_SHORT` |
    `static int` | `KEYWORD_STATIC` |
    `static int` | `KEYWORD_SUPER` |
    `static int` | `KEYWORD_SWITCH` |
    `static int` | `KEYWORD_SYNCHRONIZED` |
    `static int` | `KEYWORD_THIS` |
    `static int` | `KEYWORD_THROW` |
    `static int` | `KEYWORD_THROWS` |
    `static int` | `KEYWORD_TRANSIENT` |
    `static int` | `KEYWORD_TRUE` |
    `static int` | `KEYWORD_TRY` |
    `static int` | `KEYWORD_VOID` |
    `static int` | `KEYWORD_VOLATILE` |
    `static int` | `KEYWORD_WHILE` |
    `static int` | `LEFT_CURLY_BRACE` |
    `static int` | `LEFT_OF_MATCHED_CONTAINER` |
    `static int` | `LEFT_PARENTHESIS` |
    `static int` | `LEFT_SHIFT` |
    `static int` | `LEFT_SHIFT_EQUAL` |
    `static int` | `LEFT_SQUARE_BRACKET` |
    `static int` | `LITERAL` |
    `static int` | `LITERAL_EXPRESSION` |
    `static int` | `LOGICAL_AND` |
    `static int` | `LOGICAL_AND_EQUAL` |
    `static int` | `LOGICAL_OPERATOR` |
    `static int` | `LOGICAL_OR` |
    `static int` | `LOGICAL_OR_EQUAL` |
    `static int` | `LOOP` |
    `static int` | `MATCH_REGEX` |
    `static int` | `MATCHED_CONTAINER` |
    `static int` | `MATH_OPERATOR` |
    `static int` | `METHOD_CALL_STARTERS` |
    `static int` | `MINUS` |
    `static int` | `MINUS_EQUAL` |
    `static int` | `MINUS_MINUS` |
    `static int` | `MOD` |
    `static int` | `MOD_EQUAL` |
    `static int` | `MULTIPLY` |
    `static int` | `MULTIPLY_EQUAL` |
    `static int` | `NAMED_VALUE` |
    `static int` | `NAVIGATE` |
    `static int` | `NEWLINE` |
    `static int` | `NOT` |
    `static int` | `NOT_EOF` |
    `static int` | `NUMBER` |
    `static int` | `OPERATOR_EXPRESSION` |
    `static int` | `OPTIONAL_DATATYPE_FOLLOWERS` |
    `static int` | `PARAMETER_TERMINATORS` |
    `static int` | `PIPE` |
    `static int` | `PLUS` |
    `static int` | `PLUS_EQUAL` |
    `static int` | `PLUS_PLUS` |
    `static int` | `POSTFIX_MINUS_MINUS` |
    `static int` | `POSTFIX_OPERATOR` |
    `static int` | `POSTFIX_PLUS_PLUS` |
    `static int` | `POWER` |
    `static int` | `POWER_EQUAL` |
    `static int` | `PRECLUDES_CAST_OPERATOR` |
    `static int` | `PREFIX_MINUS` |
    `static int` | `PREFIX_MINUS_MINUS` |
    `static int` | `PREFIX_OPERATOR` |
    `static int` | `PREFIX_OR_INFIX_OPERATOR` |
    `static int` | `PREFIX_PLUS` |
    `static int` | `PREFIX_PLUS_PLUS` |
    `static int` | `PRIMITIVE_TYPE` |
    `static int` | `PURE_PREFIX_OPERATOR` |
    `static int` | `QUESTION` |
    `static int` | `RANGE_OPERATOR` |
    `static int` | `REGEX_COMPARISON_OPERATOR` |
    `static int` | `REGEX_PATTERN` |
    `static int` | `RESERVED_KEYWORD` |
    `static int` | `RIGHT_CURLY_BRACE` |
    `static int` | `RIGHT_OF_MATCHED_CONTAINER` |
    `static int` | `RIGHT_PARENTHESIS` |
    `static int` | `RIGHT_SHIFT` |
    `static int` | `RIGHT_SHIFT_EQUAL` |
    `static int` | `RIGHT_SHIFT_UNSIGNED` |
    `static int` | `RIGHT_SHIFT_UNSIGNED_EQUAL` |
    `static int` | `RIGHT_SQUARE_BRACKET` |
    `static int` | `SEMICOLON` |
    `static int` | `SIGN` |
    `static int` | `SIMPLE_EXPRESSION` |
    `static int` | `STAR` |
    `static int` | `STAR_STAR` |
    `static int` | `STRING` |
    `static int` | `SWITCH_BLOCK_TERMINATORS` |
    `static int` | `SWITCH_ENTRIES` |
    `static int` | `SYMBOL` |
    `static int` | `SYNTH_BLOCK` |
    `static int` | `SYNTH_CAST` |
    `static int` | `SYNTH_CLASS` |
    `static int` | `SYNTH_CLOSURE` |
    `static int` | `SYNTH_COMPILATION_UNIT` |
    `static int` | `SYNTH_EXPRESSION` |
    `static int` | `SYNTH_GSTRING` |
    `static int` | `SYNTH_INTERFACE` |
    `static int` | `SYNTH_LABEL` |
    `static int` | `SYNTH_LIST` |
    `static int` | `SYNTH_MAP` |
    `static int` | `SYNTH_METHOD` |
    `static int` | `SYNTH_METHOD_CALL` |
    `static int` | `SYNTH_MIXIN` |
    `static int` | `SYNTH_PARAMETER_DECLARATION` |
    `static int` | `SYNTH_PROPERTY` |
    `static int` | `SYNTH_TERNARY` |
    `static int` | `SYNTH_TUPLE` |
    `static int` | `SYNTH_VARIABLE_DECLARATION` |
    `static int` | `SYNTHETIC` |
    `static int` | `TRUTH_VALUE` |
    `static int` | `TYPE_DECLARATION` |
    `static int` | `TYPE_LIST_TERMINATORS` |
    `static int` | `TYPE_NAME` |
    `static int` | `UNKNOWN` |
    `static int` | `UNSAFE_OVER_NEWLINES` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Types()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static boolean` | `canMean​(int actual, int preferred)` | Given two types, returns true if the first can be viewed as the second.
    `static String` | `getDescription​(int type)` | Gets the description for the specified type.
    `static Collection<String>` | `getKeywords()` |
    `static int` | `getPrecedence​(int type, boolean throwIfInvalid)` | Returns the precedence of the specified operator.
    `static String` | `getText​(int type)` | Returns the text for the specified type.
    `static boolean` | `isKeyword​(String text)` |
    `static int` | `lookup​(String text, int filter)` | Returns the type for the specified symbol/keyword text.
    `static int` | `lookupKeyword​(String text)` | Returns the type for the specified keyword text.
    `static int` | `lookupSymbol​(String text)` | Returns the type for the specified symbol text.
    `static void` | `makePostfix​(CSTNode node, boolean throwIfInvalid)` | Converts a node from a generic type to a specific postfix type.
    `static void` | `makePrefix​(CSTNode node, boolean throwIfInvalid)` | Converts a node from a generic type to a specific prefix type.
    `static boolean` | `ofType​(int specific, int general)` | Given two types, returns true if the second describes the first.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### EOF

          public static final int EOF

      See Also:
        Constant Field Values

    - #### UNKNOWN

          public static final int UNKNOWN

      See Also:
        Constant Field Values

    - #### NEWLINE

          public static final int NEWLINE

      See Also:
        Constant Field Values

    - #### LEFT_CURLY_BRACE

          public static final int LEFT_CURLY_BRACE

      See Also:
        Constant Field Values

    - #### RIGHT_CURLY_BRACE

          public static final int RIGHT_CURLY_BRACE

      See Also:
        Constant Field Values

    - #### LEFT_SQUARE_BRACKET

          public static final int LEFT_SQUARE_BRACKET

      See Also:
        Constant Field Values

    - #### RIGHT_SQUARE_BRACKET

          public static final int RIGHT_SQUARE_BRACKET

      See Also:
        Constant Field Values

    - #### LEFT_PARENTHESIS

          public static final int LEFT_PARENTHESIS

      See Also:
        Constant Field Values

    - #### RIGHT_PARENTHESIS

          public static final int RIGHT_PARENTHESIS

      See Also:
        Constant Field Values

    - #### DOT

          public static final int DOT

      See Also:
        Constant Field Values

    - #### DOT_DOT

          public static final int DOT_DOT

      See Also:
        Constant Field Values

    - #### DOT_DOT_DOT

          public static final int DOT_DOT_DOT

      See Also:
        Constant Field Values

    - #### NAVIGATE

          public static final int NAVIGATE

      See Also:
        Constant Field Values

    - #### FIND_REGEX

          public static final int FIND_REGEX

      See Also:
        Constant Field Values

    - #### MATCH_REGEX

          public static final int MATCH_REGEX

      See Also:
        Constant Field Values

    - #### REGEX_PATTERN

          public static final int REGEX_PATTERN

      See Also:
        Constant Field Values

    - #### EQUAL

          public static final int EQUAL

      See Also:
        Constant Field Values

    - #### EQUALS

          public static final int EQUALS

      See Also:
        Constant Field Values

    - #### ASSIGN

          public static final int ASSIGN

      See Also:
        Constant Field Values

    - #### COMPARE_NOT_EQUAL

          public static final int COMPARE_NOT_EQUAL

      See Also:
        Constant Field Values

    - #### COMPARE_IDENTICAL

          public static final int COMPARE_IDENTICAL

      See Also:
        Constant Field Values

    - #### COMPARE_NOT_IDENTICAL

          public static final int COMPARE_NOT_IDENTICAL

      See Also:
        Constant Field Values

    - #### COMPARE_EQUAL

          public static final int COMPARE_EQUAL

      See Also:
        Constant Field Values

    - #### COMPARE_LESS_THAN

          public static final int COMPARE_LESS_THAN

      See Also:
        Constant Field Values

    - #### COMPARE_LESS_THAN_EQUAL

          public static final int COMPARE_LESS_THAN_EQUAL

      See Also:
        Constant Field Values

    - #### COMPARE_GREATER_THAN

          public static final int COMPARE_GREATER_THAN

      See Also:
        Constant Field Values

    - #### COMPARE_GREATER_THAN_EQUAL

          public static final int COMPARE_GREATER_THAN_EQUAL

      See Also:
        Constant Field Values

    - #### COMPARE_TO

          public static final int COMPARE_TO

      See Also:
        Constant Field Values

    - #### NOT

          public static final int NOT

      See Also:
        Constant Field Values

    - #### LOGICAL_OR

          public static final int LOGICAL_OR

      See Also:
        Constant Field Values

    - #### LOGICAL_AND

          public static final int LOGICAL_AND

      See Also:
        Constant Field Values

    - #### LOGICAL_OR_EQUAL

          public static final int LOGICAL_OR_EQUAL

      See Also:
        Constant Field Values

    - #### LOGICAL_AND_EQUAL

          public static final int LOGICAL_AND_EQUAL

      See Also:
        Constant Field Values

    - #### PLUS

          public static final int PLUS

      See Also:
        Constant Field Values

    - #### MINUS

          public static final int MINUS

      See Also:
        Constant Field Values

    - #### MULTIPLY

          public static final int MULTIPLY

      See Also:
        Constant Field Values

    - #### DIVIDE

          public static final int DIVIDE

      See Also:
        Constant Field Values

    - #### INTDIV

          public static final int INTDIV

      See Also:
        Constant Field Values

    - #### MOD

          public static final int MOD

      See Also:
        Constant Field Values

    - #### STAR_STAR

          public static final int STAR_STAR

      See Also:
        Constant Field Values

    - #### POWER

          public static final int POWER

      See Also:
        Constant Field Values

    - #### PLUS_EQUAL

          public static final int PLUS_EQUAL

      See Also:
        Constant Field Values

    - #### MINUS_EQUAL

          public static final int MINUS_EQUAL

      See Also:
        Constant Field Values

    - #### MULTIPLY_EQUAL

          public static final int MULTIPLY_EQUAL

      See Also:
        Constant Field Values

    - #### DIVIDE_EQUAL

          public static final int DIVIDE_EQUAL

      See Also:
        Constant Field Values

    - #### INTDIV_EQUAL

          public static final int INTDIV_EQUAL

      See Also:
        Constant Field Values

    - #### MOD_EQUAL

          public static final int MOD_EQUAL

      See Also:
        Constant Field Values

    - #### POWER_EQUAL

          public static final int POWER_EQUAL

      See Also:
        Constant Field Values

    - #### PLUS_PLUS

          public static final int PLUS_PLUS

      See Also:
        Constant Field Values

    - #### PREFIX_PLUS_PLUS

          public static final int PREFIX_PLUS_PLUS

      See Also:
        Constant Field Values

    - #### POSTFIX_PLUS_PLUS

          public static final int POSTFIX_PLUS_PLUS

      See Also:
        Constant Field Values

    - #### PREFIX_PLUS

          public static final int PREFIX_PLUS

      See Also:
        Constant Field Values

    - #### MINUS_MINUS

          public static final int MINUS_MINUS

      See Also:
        Constant Field Values

    - #### PREFIX_MINUS_MINUS

          public static final int PREFIX_MINUS_MINUS

      See Also:
        Constant Field Values

    - #### POSTFIX_MINUS_MINUS

          public static final int POSTFIX_MINUS_MINUS

      See Also:
        Constant Field Values

    - #### PREFIX_MINUS

          public static final int PREFIX_MINUS

      See Also:
        Constant Field Values

    - #### LEFT_SHIFT

          public static final int LEFT_SHIFT

      See Also:
        Constant Field Values

    - #### RIGHT_SHIFT

          public static final int RIGHT_SHIFT

      See Also:
        Constant Field Values

    - #### RIGHT_SHIFT_UNSIGNED

          public static final int RIGHT_SHIFT_UNSIGNED

      See Also:
        Constant Field Values

    - #### LEFT_SHIFT_EQUAL

          public static final int LEFT_SHIFT_EQUAL

      See Also:
        Constant Field Values

    - #### RIGHT_SHIFT_EQUAL

          public static final int RIGHT_SHIFT_EQUAL

      See Also:
        Constant Field Values

    - #### RIGHT_SHIFT_UNSIGNED_EQUAL

          public static final int RIGHT_SHIFT_UNSIGNED_EQUAL

      See Also:
        Constant Field Values

    - #### STAR

          public static final int STAR

      See Also:
        Constant Field Values

    - #### COMMA

          public static final int COMMA

      See Also:
        Constant Field Values

    - #### COLON

          public static final int COLON

      See Also:
        Constant Field Values

    - #### SEMICOLON

          public static final int SEMICOLON

      See Also:
        Constant Field Values

    - #### QUESTION

          public static final int QUESTION

      See Also:
        Constant Field Values

    - #### PIPE

          public static final int PIPE

      See Also:
        Constant Field Values

    - #### DOUBLE_PIPE

          public static final int DOUBLE_PIPE

      See Also:
        Constant Field Values

    - #### BITWISE_OR

          public static final int BITWISE_OR

      See Also:
        Constant Field Values

    - #### BITWISE_AND

          public static final int BITWISE_AND

      See Also:
        Constant Field Values

    - #### BITWISE_XOR

          public static final int BITWISE_XOR

      See Also:
        Constant Field Values

    - #### BITWISE_OR_EQUAL

          public static final int BITWISE_OR_EQUAL

      See Also:
        Constant Field Values

    - #### BITWISE_AND_EQUAL

          public static final int BITWISE_AND_EQUAL

      See Also:
        Constant Field Values

    - #### BITWISE_XOR_EQUAL

          public static final int BITWISE_XOR_EQUAL

      See Also:
        Constant Field Values

    - #### BITWISE_NEGATION

          public static final int BITWISE_NEGATION

      See Also:
        Constant Field Values

    - #### STRING

          public static final int STRING

      See Also:
        Constant Field Values

    - #### IDENTIFIER

          public static final int IDENTIFIER

      See Also:
        Constant Field Values

    - #### INTEGER_NUMBER

          public static final int INTEGER_NUMBER

      See Also:
        Constant Field Values

    - #### DECIMAL_NUMBER

          public static final int DECIMAL_NUMBER

      See Also:
        Constant Field Values

    - #### KEYWORD_PRIVATE

          public static final int KEYWORD_PRIVATE

      See Also:
        Constant Field Values

    - #### KEYWORD_PROTECTED

          public static final int KEYWORD_PROTECTED

      See Also:
        Constant Field Values

    - #### KEYWORD_PUBLIC

          public static final int KEYWORD_PUBLIC

      See Also:
        Constant Field Values

    - #### KEYWORD_ABSTRACT

          public static final int KEYWORD_ABSTRACT

      See Also:
        Constant Field Values

    - #### KEYWORD_FINAL

          public static final int KEYWORD_FINAL

      See Also:
        Constant Field Values

    - #### KEYWORD_NATIVE

          public static final int KEYWORD_NATIVE

      See Also:
        Constant Field Values

    - #### KEYWORD_TRANSIENT

          public static final int KEYWORD_TRANSIENT

      See Also:
        Constant Field Values

    - #### KEYWORD_VOLATILE

          public static final int KEYWORD_VOLATILE

      See Also:
        Constant Field Values

    - #### KEYWORD_SYNCHRONIZED

          public static final int KEYWORD_SYNCHRONIZED

      See Also:
        Constant Field Values

    - #### KEYWORD_STATIC

          public static final int KEYWORD_STATIC

      See Also:
        Constant Field Values

    - #### KEYWORD_DEF

          public static final int KEYWORD_DEF

      See Also:
        Constant Field Values

    - #### KEYWORD_DEFMACRO

          public static final int KEYWORD_DEFMACRO

      See Also:
        Constant Field Values

    - #### KEYWORD_CLASS

          public static final int KEYWORD_CLASS

      See Also:
        Constant Field Values

    - #### KEYWORD_INTERFACE

          public static final int KEYWORD_INTERFACE

      See Also:
        Constant Field Values

    - #### KEYWORD_MIXIN

          public static final int KEYWORD_MIXIN

      See Also:
        Constant Field Values

    - #### KEYWORD_IMPLEMENTS

          public static final int KEYWORD_IMPLEMENTS

      See Also:
        Constant Field Values

    - #### KEYWORD_EXTENDS

          public static final int KEYWORD_EXTENDS

      See Also:
        Constant Field Values

    - #### KEYWORD_THIS

          public static final int KEYWORD_THIS

      See Also:
        Constant Field Values

    - #### KEYWORD_SUPER

          public static final int KEYWORD_SUPER

      See Also:
        Constant Field Values

    - #### KEYWORD_INSTANCEOF

          public static final int KEYWORD_INSTANCEOF

      See Also:
        Constant Field Values

    - #### KEYWORD_PROPERTY

          public static final int KEYWORD_PROPERTY

      See Also:
        Constant Field Values

    - #### KEYWORD_NEW

          public static final int KEYWORD_NEW

      See Also:
        Constant Field Values

    - #### KEYWORD_PACKAGE

          public static final int KEYWORD_PACKAGE

      See Also:
        Constant Field Values

    - #### KEYWORD_IMPORT

          public static final int KEYWORD_IMPORT

      See Also:
        Constant Field Values

    - #### KEYWORD_AS

          public static final int KEYWORD_AS

      See Also:
        Constant Field Values

    - #### KEYWORD_RETURN

          public static final int KEYWORD_RETURN

      See Also:
        Constant Field Values

    - #### KEYWORD_IF

          public static final int KEYWORD_IF

      See Also:
        Constant Field Values

    - #### KEYWORD_ELSE

          public static final int KEYWORD_ELSE

      See Also:
        Constant Field Values

    - #### KEYWORD_DO

          public static final int KEYWORD_DO

      See Also:
        Constant Field Values

    - #### KEYWORD_WHILE

          public static final int KEYWORD_WHILE

      See Also:
        Constant Field Values

    - #### KEYWORD_FOR

          public static final int KEYWORD_FOR

      See Also:
        Constant Field Values

    - #### KEYWORD_IN

          public static final int KEYWORD_IN

      See Also:
        Constant Field Values

    - #### KEYWORD_BREAK

          public static final int KEYWORD_BREAK

      See Also:
        Constant Field Values

    - #### KEYWORD_CONTINUE

          public static final int KEYWORD_CONTINUE

      See Also:
        Constant Field Values

    - #### KEYWORD_SWITCH

          public static final int KEYWORD_SWITCH

      See Also:
        Constant Field Values

    - #### KEYWORD_CASE

          public static final int KEYWORD_CASE

      See Also:
        Constant Field Values

    - #### KEYWORD_DEFAULT

          public static final int KEYWORD_DEFAULT

      See Also:
        Constant Field Values

    - #### KEYWORD_TRY

          public static final int KEYWORD_TRY

      See Also:
        Constant Field Values

    - #### KEYWORD_CATCH

          public static final int KEYWORD_CATCH

      See Also:
        Constant Field Values

    - #### KEYWORD_FINALLY

          public static final int KEYWORD_FINALLY

      See Also:
        Constant Field Values

    - #### KEYWORD_THROW

          public static final int KEYWORD_THROW

      See Also:
        Constant Field Values

    - #### KEYWORD_THROWS

          public static final int KEYWORD_THROWS

      See Also:
        Constant Field Values

    - #### KEYWORD_ASSERT

          public static final int KEYWORD_ASSERT

      See Also:
        Constant Field Values

    - #### KEYWORD_VOID

          public static final int KEYWORD_VOID

      See Also:
        Constant Field Values

    - #### KEYWORD_BOOLEAN

          public static final int KEYWORD_BOOLEAN

      See Also:
        Constant Field Values

    - #### KEYWORD_BYTE

          public static final int KEYWORD_BYTE

      See Also:
        Constant Field Values

    - #### KEYWORD_SHORT

          public static final int KEYWORD_SHORT

      See Also:
        Constant Field Values

    - #### KEYWORD_INT

          public static final int KEYWORD_INT

      See Also:
        Constant Field Values

    - #### KEYWORD_LONG

          public static final int KEYWORD_LONG

      See Also:
        Constant Field Values

    - #### KEYWORD_FLOAT

          public static final int KEYWORD_FLOAT

      See Also:
        Constant Field Values

    - #### KEYWORD_DOUBLE

          public static final int KEYWORD_DOUBLE

      See Also:
        Constant Field Values

    - #### KEYWORD_CHAR

          public static final int KEYWORD_CHAR

      See Also:
        Constant Field Values

    - #### KEYWORD_TRUE

          public static final int KEYWORD_TRUE

      See Also:
        Constant Field Values

    - #### KEYWORD_FALSE

          public static final int KEYWORD_FALSE

      See Also:
        Constant Field Values

    - #### KEYWORD_NULL

          public static final int KEYWORD_NULL

      See Also:
        Constant Field Values

    - #### KEYWORD_CONST

          public static final int KEYWORD_CONST

      See Also:
        Constant Field Values

    - #### KEYWORD_GOTO

          public static final int KEYWORD_GOTO

      See Also:
        Constant Field Values

    - #### SYNTH_COMPILATION_UNIT

          public static final int SYNTH_COMPILATION_UNIT

      See Also:
        Constant Field Values

    - #### SYNTH_CLASS

          public static final int SYNTH_CLASS

      See Also:
        Constant Field Values

    - #### SYNTH_INTERFACE

          public static final int SYNTH_INTERFACE

      See Also:
        Constant Field Values

    - #### SYNTH_MIXIN

          public static final int SYNTH_MIXIN

      See Also:
        Constant Field Values

    - #### SYNTH_METHOD

          public static final int SYNTH_METHOD

      See Also:
        Constant Field Values

    - #### SYNTH_PROPERTY

          public static final int SYNTH_PROPERTY

      See Also:
        Constant Field Values

    - #### SYNTH_PARAMETER_DECLARATION

          public static final int SYNTH_PARAMETER_DECLARATION

      See Also:
        Constant Field Values

    - #### SYNTH_LIST

          public static final int SYNTH_LIST

      See Also:
        Constant Field Values

    - #### SYNTH_MAP

          public static final int SYNTH_MAP

      See Also:
        Constant Field Values

    - #### SYNTH_GSTRING

          public static final int SYNTH_GSTRING

      See Also:
        Constant Field Values

    - #### SYNTH_METHOD_CALL

          public static final int SYNTH_METHOD_CALL

      See Also:
        Constant Field Values

    - #### SYNTH_CAST

          public static final int SYNTH_CAST

      See Also:
        Constant Field Values

    - #### SYNTH_BLOCK

          public static final int SYNTH_BLOCK

      See Also:
        Constant Field Values

    - #### SYNTH_CLOSURE

          public static final int SYNTH_CLOSURE

      See Also:
        Constant Field Values

    - #### SYNTH_LABEL

          public static final int SYNTH_LABEL

      See Also:
        Constant Field Values

    - #### SYNTH_TERNARY

          public static final int SYNTH_TERNARY

      See Also:
        Constant Field Values

    - #### SYNTH_TUPLE

          public static final int SYNTH_TUPLE

      See Also:
        Constant Field Values

    - #### SYNTH_VARIABLE_DECLARATION

          public static final int SYNTH_VARIABLE_DECLARATION

      See Also:
        Constant Field Values

    - #### GSTRING_START

          public static final int GSTRING_START

      See Also:
        Constant Field Values

    - #### GSTRING_END

          public static final int GSTRING_END

      See Also:
        Constant Field Values

    - #### GSTRING_EXPRESSION_START

          public static final int GSTRING_EXPRESSION_START

      See Also:
        Constant Field Values

    - #### GSTRING_EXPRESSION_END

          public static final int GSTRING_EXPRESSION_END

      See Also:
        Constant Field Values

    - #### ANY

          public static final int ANY

      See Also:
        Constant Field Values

    - #### NOT_EOF

          public static final int NOT_EOF

      See Also:
        Constant Field Values

    - #### GENERAL_END_OF_STATEMENT

          public static final int GENERAL_END_OF_STATEMENT

      See Also:
        Constant Field Values

    - #### ANY_END_OF_STATEMENT

          public static final int ANY_END_OF_STATEMENT

      See Also:
        Constant Field Values

    - #### ASSIGNMENT_OPERATOR

          public static final int ASSIGNMENT_OPERATOR

      See Also:
        Constant Field Values

    - #### COMPARISON_OPERATOR

          public static final int COMPARISON_OPERATOR

      See Also:
        Constant Field Values

    - #### MATH_OPERATOR

          public static final int MATH_OPERATOR

      See Also:
        Constant Field Values

    - #### LOGICAL_OPERATOR

          public static final int LOGICAL_OPERATOR

      See Also:
        Constant Field Values

    - #### RANGE_OPERATOR

          public static final int RANGE_OPERATOR

      See Also:
        Constant Field Values

    - #### REGEX_COMPARISON_OPERATOR

          public static final int REGEX_COMPARISON_OPERATOR

      See Also:
        Constant Field Values

    - #### DEREFERENCE_OPERATOR

          public static final int DEREFERENCE_OPERATOR

      See Also:
        Constant Field Values

    - #### BITWISE_OPERATOR

          public static final int BITWISE_OPERATOR

      See Also:
        Constant Field Values

    - #### INSTANCEOF_OPERATOR

          public static final int INSTANCEOF_OPERATOR

      See Also:
        Constant Field Values

    - #### PREFIX_OPERATOR

          public static final int PREFIX_OPERATOR

      See Also:
        Constant Field Values

    - #### POSTFIX_OPERATOR

          public static final int POSTFIX_OPERATOR

      See Also:
        Constant Field Values

    - #### INFIX_OPERATOR

          public static final int INFIX_OPERATOR

      See Also:
        Constant Field Values

    - #### PREFIX_OR_INFIX_OPERATOR

          public static final int PREFIX_OR_INFIX_OPERATOR

      See Also:
        Constant Field Values

    - #### PURE_PREFIX_OPERATOR

          public static final int PURE_PREFIX_OPERATOR

      See Also:
        Constant Field Values

    - #### KEYWORD

          public static final int KEYWORD

      See Also:
        Constant Field Values

    - #### SYMBOL

          public static final int SYMBOL

      See Also:
        Constant Field Values

    - #### LITERAL

          public static final int LITERAL

      See Also:
        Constant Field Values

    - #### NUMBER

          public static final int NUMBER

      See Also:
        Constant Field Values

    - #### SIGN

          public static final int SIGN

      See Also:
        Constant Field Values

    - #### NAMED_VALUE

          public static final int NAMED_VALUE

      See Also:
        Constant Field Values

    - #### TRUTH_VALUE

          public static final int TRUTH_VALUE

      See Also:
        Constant Field Values

    - #### PRIMITIVE_TYPE

          public static final int PRIMITIVE_TYPE

      See Also:
        Constant Field Values

    - #### CREATABLE_PRIMITIVE_TYPE

          public static final int CREATABLE_PRIMITIVE_TYPE

      See Also:
        Constant Field Values

    - #### LOOP

          public static final int LOOP

      See Also:
        Constant Field Values

    - #### RESERVED_KEYWORD

          public static final int RESERVED_KEYWORD

      See Also:
        Constant Field Values

    - #### KEYWORD_IDENTIFIER

          public static final int KEYWORD_IDENTIFIER

      See Also:
        Constant Field Values

    - #### SYNTHETIC

          public static final int SYNTHETIC

      See Also:
        Constant Field Values

    - #### TYPE_DECLARATION

          public static final int TYPE_DECLARATION

      See Also:
        Constant Field Values

    - #### DECLARATION_MODIFIER

          public static final int DECLARATION_MODIFIER

      See Also:
        Constant Field Values

    - #### TYPE_NAME

          public static final int TYPE_NAME

      See Also:
        Constant Field Values

    - #### CREATABLE_TYPE_NAME

          public static final int CREATABLE_TYPE_NAME

      See Also:
        Constant Field Values

    - #### MATCHED_CONTAINER

          public static final int MATCHED_CONTAINER

      See Also:
        Constant Field Values

    - #### LEFT_OF_MATCHED_CONTAINER

          public static final int LEFT_OF_MATCHED_CONTAINER

      See Also:
        Constant Field Values

    - #### RIGHT_OF_MATCHED_CONTAINER

          public static final int RIGHT_OF_MATCHED_CONTAINER

      See Also:
        Constant Field Values

    - #### EXPRESSION

          public static final int EXPRESSION

      See Also:
        Constant Field Values

    - #### OPERATOR_EXPRESSION

          public static final int OPERATOR_EXPRESSION

      See Also:
        Constant Field Values

    - #### SYNTH_EXPRESSION

          public static final int SYNTH_EXPRESSION

      See Also:
        Constant Field Values

    - #### KEYWORD_EXPRESSION

          public static final int KEYWORD_EXPRESSION

      See Also:
        Constant Field Values

    - #### LITERAL_EXPRESSION

          public static final int LITERAL_EXPRESSION

      See Also:
        Constant Field Values

    - #### ARRAY_EXPRESSION

          public static final int ARRAY_EXPRESSION

      See Also:
        Constant Field Values

    - #### SIMPLE_EXPRESSION

          public static final int SIMPLE_EXPRESSION

      See Also:
        Constant Field Values

    - #### COMPLEX_EXPRESSION

          public static final int COMPLEX_EXPRESSION

      See Also:
        Constant Field Values

    - #### PARAMETER_TERMINATORS

          public static final int PARAMETER_TERMINATORS

      See Also:
        Constant Field Values

    - #### ARRAY_ITEM_TERMINATORS

          public static final int ARRAY_ITEM_TERMINATORS

      See Also:
        Constant Field Values

    - #### TYPE_LIST_TERMINATORS

          public static final int TYPE_LIST_TERMINATORS

      See Also:
        Constant Field Values

    - #### OPTIONAL_DATATYPE_FOLLOWERS

          public static final int OPTIONAL_DATATYPE_FOLLOWERS

      See Also:
        Constant Field Values

    - #### SWITCH_BLOCK_TERMINATORS

          public static final int SWITCH_BLOCK_TERMINATORS

      See Also:
        Constant Field Values

    - #### SWITCH_ENTRIES

          public static final int SWITCH_ENTRIES

      See Also:
        Constant Field Values

    - #### METHOD_CALL_STARTERS

          public static final int METHOD_CALL_STARTERS

      See Also:
        Constant Field Values

    - #### UNSAFE_OVER_NEWLINES

          public static final int UNSAFE_OVER_NEWLINES

      See Also:
        Constant Field Values

    - #### PRECLUDES_CAST_OPERATOR

          public static final int PRECLUDES_CAST_OPERATOR

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Types

          public Types()

  - ### Method Detail

    - #### ofType

          public static boolean ofType​(int specific,
                                       int general)

      Given two types, returns true if the second describes the first.

    - #### canMean

          public static boolean canMean​(int actual,
                                        int preferred)

      Given two types, returns true if the first can be viewed as the second. NOTE that `canMean()` is orthogonal to `ofType()`.

    - #### makePrefix

          public static void makePrefix​(CSTNode node,
                                        boolean throwIfInvalid)

      Converts a node from a generic type to a specific prefix type. Throws a `GroovyBugError` if the type can't be converted and requested.

    - #### makePostfix

          public static void makePostfix​(CSTNode node,
                                         boolean throwIfInvalid)

      Converts a node from a generic type to a specific postfix type. Throws a `GroovyBugError` if the type can't be converted.

    - #### getPrecedence

          public static int getPrecedence​(int type,
                                          boolean throwIfInvalid)

      Returns the precedence of the specified operator. Non-operator's will receive -1 or a GroovyBugError, depending on your preference.

    - #### getKeywords

          public static Collection<String> getKeywords()

    - #### isKeyword

          public static boolean isKeyword​(String text)

    - #### lookup

          public static int lookup​(String text,
                                   int filter)

      Returns the type for the specified symbol/keyword text. Returns UNKNOWN if the text isn't found. You can filter finds on a type.

    - #### lookupKeyword

          public static int lookupKeyword​(String text)

      Returns the type for the specified keyword text. Returns UNKNOWN if the text isn't found.

    - #### lookupSymbol

          public static int lookupSymbol​(String text)

      Returns the type for the specified symbol text. Returns UNKNOWN if the text isn't found.

    - #### getText

          public static String getText​(int type)

      Returns the text for the specified type. Returns "" if the text isn't found.

    - #### getDescription

          public static String getDescription​(int type)

      Gets the description for the specified type.