Package: org.codehaus.groovy.syntax

## [Java] Class Types

- org.codehaus.groovy.syntax.Types

-     public class Types
      extends Object

  Registry of token type constants and type hierarchy definitions for the concrete syntax tree (CST) system. Provides constants for lexical tokens (literals, keywords, operators), semantic types, type classifications, and utility methods for type checking and querying. All Token, CSTNode, and Reduction nodes reference types from this class to identify their syntactic and semantic meaning.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static int` | `ANY` |
    `static int` | `ANY_END_OF_STATEMENT` |
    `static int` | `ARRAY_EXPRESSION` |
    `static int` | `ARRAY_ITEM_TERMINATORS` |
    `static int` | `ASSIGN` | Alias for EQUAL.
    `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_NOT_IN` |
    `static int` | `COMPARE_NOT_INSTANCEOF` |
    `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` | `ELVIS_EQUAL` |
    `static int` | `EOF` |
    `static int` | `EQUAL` |
    `static int` | `EQUALS` | Alias for EQUAL.
    `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` | `IMPLIES` |
    `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` | `MATCHED_CONTAINER` |
    `static int` | `MATCH_REGEX` |
    `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` | `REMAINDER` |
    `static int` | `REMAINDER_EQUAL` |
    `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` | Alias for MULTIPLY.
    `static int` | `STAR_STAR` |
    `static int` | `STRING` |
    `static int` | `SWITCH_BLOCK_TERMINATORS` |
    `static int` | `SWITCH_ENTRIES` |
    `static int` | `SYMBOL` |
    `static int` | `SYNTHETIC` |
    `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` | `TRUTH_VALUE` |
    `static int` | `TYPE_DECLARATION` |
    `static int` | `TYPE_LIST_TERMINATORS` |
    `static int` | `TYPE_NAME` |
    `static int` | `UNKNOWN` |
    `static int` | `UNSAFE_OVER_NEWLINES` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static boolean` | `canMean(int actual, int preferred)` Determines if a type can be interpreted as another type.
    `` | `public static String` | `getDescription(int type)` Returns a human-readable description of the specified token type.
    `` | `public static Collection<String>` | `getKeywords()` Returns an unmodifiable collection of all recognized keywords.
    `` | `public static int` | `getPrecedence(int type, boolean throwIfInvalid)` Returns the operator precedence level for the specified type.
    `` | `public static String` | `getText(int type)` Returns the text representation for the specified token type.
    `` | `public static boolean` | `isAssignment(int type)` Returns `true` if the specified type represents an assignment operator.
    `` | `public static boolean` | `isKeyword(String text)` Returns `true` if the specified text is a recognized keyword.
    `` | `public static int` | `lookup(String text, int filter)` Returns the token type for the specified symbol or keyword text.
    `` | `public static int` | `lookupKeyword(String text)` Returns the token type for the specified keyword text.
    `` | `public static int` | `lookupSymbol(String text)` Returns the token type for the specified symbol text.
    `` | `public static void` | `makePostfix(CSTNode node, boolean throwIfInvalid)` Converts an operator node's meaning to a postfix operator variant.
    `` | `public static void` | `makePrefix(CSTNode node, boolean throwIfInvalid)` Converts an operator node's meaning to a prefix operator variant.
    `` | `public static boolean` | `ofType(int specific, int general)` Determines if a specific type belongs to a general type category through the type hierarchy.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### public static final int ANY

    - #### public static final int ANY_END_OF_STATEMENT

    - #### public static final int ARRAY_EXPRESSION

    - #### public static final int ARRAY_ITEM_TERMINATORS

    - #### public static final int ASSIGN

      Alias for EQUAL.

    - #### public static final int ASSIGNMENT_OPERATOR

    - #### public static final int BITWISE_AND

    - #### public static final int BITWISE_AND_EQUAL

    - #### public static final int BITWISE_NEGATION

    - #### public static final int BITWISE_OPERATOR

    - #### public static final int BITWISE_OR

    - #### public static final int BITWISE_OR_EQUAL

    - #### public static final int BITWISE_XOR

    - #### public static final int BITWISE_XOR_EQUAL

    - #### public static final int COLON

    - #### public static final int COMMA

    - #### public static final int COMPARE_EQUAL

    - #### public static final int COMPARE_GREATER_THAN

    - #### public static final int COMPARE_GREATER_THAN_EQUAL

    - #### public static final int COMPARE_IDENTICAL

    - #### public static final int COMPARE_LESS_THAN

    - #### public static final int COMPARE_LESS_THAN_EQUAL

    - #### public static final int COMPARE_NOT_EQUAL

    - #### public static final int COMPARE_NOT_IDENTICAL

    - #### public static final int COMPARE_NOT_IN

    - #### public static final int COMPARE_NOT_INSTANCEOF

    - #### public static final int COMPARE_TO

    - #### public static final int COMPARISON_OPERATOR

    - #### public static final int COMPLEX_EXPRESSION

    - #### public static final int CREATABLE_PRIMITIVE_TYPE

    - #### public static final int CREATABLE_TYPE_NAME

    - #### public static final int DECIMAL_NUMBER

    - #### public static final int DECLARATION_MODIFIER

    - #### public static final int DEREFERENCE_OPERATOR

    - #### public static final int DIVIDE

    - #### public static final int DIVIDE_EQUAL

    - #### public static final int DOT

    - #### public static final int DOT_DOT

    - #### public static final int DOT_DOT_DOT

    - #### public static final int DOUBLE_PIPE

    - #### public static final int ELVIS_EQUAL

    - #### public static final int EOF

    - #### public static final int EQUAL

    - #### public static final int EQUALS

      Alias for EQUAL.

    - #### public static final int EXPRESSION

    - #### public static final int FIND_REGEX

    - #### public static final int GENERAL_END_OF_STATEMENT

    - #### public static final int GSTRING_END

    - #### public static final int GSTRING_EXPRESSION_END

    - #### public static final int GSTRING_EXPRESSION_START

    - #### public static final int GSTRING_START

    - #### public static final int IDENTIFIER

    - #### public static final int IMPLIES

    - #### public static final int INFIX_OPERATOR

    - #### public static final int INSTANCEOF_OPERATOR

    - #### public static final int INTDIV

    - #### public static final int INTDIV_EQUAL

    - #### public static final int INTEGER_NUMBER

    - #### public static final int KEYWORD

    - #### public static final int KEYWORD_ABSTRACT

    - #### public static final int KEYWORD_AS

    - #### public static final int KEYWORD_ASSERT

    - #### public static final int KEYWORD_BOOLEAN

    - #### public static final int KEYWORD_BREAK

    - #### public static final int KEYWORD_BYTE

    - #### public static final int KEYWORD_CASE

    - #### public static final int KEYWORD_CATCH

    - #### public static final int KEYWORD_CHAR

    - #### public static final int KEYWORD_CLASS

    - #### public static final int KEYWORD_CONST

    - #### public static final int KEYWORD_CONTINUE

    - #### public static final int KEYWORD_DEF

    - #### public static final int KEYWORD_DEFAULT

    - #### public static final int KEYWORD_DEFMACRO

    - #### public static final int KEYWORD_DO

    - #### public static final int KEYWORD_DOUBLE

    - #### public static final int KEYWORD_ELSE

    - #### public static final int KEYWORD_EXPRESSION

    - #### public static final int KEYWORD_EXTENDS

    - #### public static final int KEYWORD_FALSE

    - #### public static final int KEYWORD_FINAL

    - #### public static final int KEYWORD_FINALLY

    - #### public static final int KEYWORD_FLOAT

    - #### public static final int KEYWORD_FOR

    - #### public static final int KEYWORD_GOTO

    - #### public static final int KEYWORD_IDENTIFIER

    - #### public static final int KEYWORD_IF

    - #### public static final int KEYWORD_IMPLEMENTS

    - #### public static final int KEYWORD_IMPORT

    - #### public static final int KEYWORD_IN

    - #### public static final int KEYWORD_INSTANCEOF

    - #### public static final int KEYWORD_INT

    - #### public static final int KEYWORD_INTERFACE

    - #### public static final int KEYWORD_LONG

    - #### public static final int KEYWORD_MIXIN

    - #### public static final int KEYWORD_NATIVE

    - #### public static final int KEYWORD_NEW

    - #### public static final int KEYWORD_NULL

    - #### public static final int KEYWORD_PACKAGE

    - #### public static final int KEYWORD_PRIVATE

    - #### public static final int KEYWORD_PROPERTY

    - #### public static final int KEYWORD_PROTECTED

    - #### public static final int KEYWORD_PUBLIC

    - #### public static final int KEYWORD_RETURN

    - #### public static final int KEYWORD_SHORT

    - #### public static final int KEYWORD_STATIC

    - #### public static final int KEYWORD_SUPER

    - #### public static final int KEYWORD_SWITCH

    - #### public static final int KEYWORD_SYNCHRONIZED

    - #### public static final int KEYWORD_THIS

    - #### public static final int KEYWORD_THROW

    - #### public static final int KEYWORD_THROWS

    - #### public static final int KEYWORD_TRANSIENT

    - #### public static final int KEYWORD_TRUE

    - #### public static final int KEYWORD_TRY

    - #### public static final int KEYWORD_VOID

    - #### public static final int KEYWORD_VOLATILE

    - #### public static final int KEYWORD_WHILE

    - #### public static final int LEFT_CURLY_BRACE

    - #### public static final int LEFT_OF_MATCHED_CONTAINER

    - #### public static final int LEFT_PARENTHESIS

    - #### public static final int LEFT_SHIFT

    - #### public static final int LEFT_SHIFT_EQUAL

    - #### public static final int LEFT_SQUARE_BRACKET

    - #### public static final int LITERAL

    - #### public static final int LITERAL_EXPRESSION

    - #### public static final int LOGICAL_AND

    - #### public static final int LOGICAL_AND_EQUAL

    - #### public static final int LOGICAL_OPERATOR

    - #### public static final int LOGICAL_OR

    - #### public static final int LOGICAL_OR_EQUAL

    - #### public static final int LOOP

    - #### public static final int MATCHED_CONTAINER

    - #### public static final int MATCH_REGEX

    - #### public static final int MATH_OPERATOR

    - #### public static final int METHOD_CALL_STARTERS

    - #### public static final int MINUS

    - #### public static final int MINUS_EQUAL

    - #### public static final int MINUS_MINUS

    - #### public static final int MOD

    - #### public static final int MOD_EQUAL

    - #### public static final int MULTIPLY

    - #### public static final int MULTIPLY_EQUAL

    - #### public static final int NAMED_VALUE

    - #### public static final int NAVIGATE

    - #### public static final int NEWLINE

    - #### public static final int NOT

    - #### public static final int NOT_EOF

    - #### public static final int NUMBER

    - #### public static final int OPERATOR_EXPRESSION

    - #### public static final int OPTIONAL_DATATYPE_FOLLOWERS

    - #### public static final int PARAMETER_TERMINATORS

    - #### public static final int PIPE

    - #### public static final int PLUS

    - #### public static final int PLUS_EQUAL

    - #### public static final int PLUS_PLUS

    - #### public static final int POSTFIX_MINUS_MINUS

    - #### public static final int POSTFIX_OPERATOR

    - #### public static final int POSTFIX_PLUS_PLUS

    - #### public static final int POWER

    - #### public static final int POWER_EQUAL

    - #### public static final int PRECLUDES_CAST_OPERATOR

    - #### public static final int PREFIX_MINUS

    - #### public static final int PREFIX_MINUS_MINUS

    - #### public static final int PREFIX_OPERATOR

    - #### public static final int PREFIX_OR_INFIX_OPERATOR

    - #### public static final int PREFIX_PLUS

    - #### public static final int PREFIX_PLUS_PLUS

    - #### public static final int PRIMITIVE_TYPE

    - #### public static final int PURE_PREFIX_OPERATOR

    - #### public static final int QUESTION

    - #### public static final int RANGE_OPERATOR

    - #### public static final int REGEX_COMPARISON_OPERATOR

    - #### public static final int REGEX_PATTERN

    - #### public static final int REMAINDER

    - #### public static final int REMAINDER_EQUAL

    - #### public static final int RESERVED_KEYWORD

    - #### public static final int RIGHT_CURLY_BRACE

    - #### public static final int RIGHT_OF_MATCHED_CONTAINER

    - #### public static final int RIGHT_PARENTHESIS

    - #### public static final int RIGHT_SHIFT

    - #### public static final int RIGHT_SHIFT_EQUAL

    - #### public static final int RIGHT_SHIFT_UNSIGNED

    - #### public static final int RIGHT_SHIFT_UNSIGNED_EQUAL

    - #### public static final int RIGHT_SQUARE_BRACKET

    - #### public static final int SEMICOLON

    - #### public static final int SIGN

    - #### public static final int SIMPLE_EXPRESSION

    - #### public static final int STAR

      Alias for MULTIPLY.

    - #### public static final int STAR_STAR

    - #### public static final int STRING

    - #### public static final int SWITCH_BLOCK_TERMINATORS

    - #### public static final int SWITCH_ENTRIES

    - #### public static final int SYMBOL

    - #### public static final int SYNTHETIC

    - #### public static final int SYNTH_BLOCK

    - #### public static final int SYNTH_CAST

    - #### public static final int SYNTH_CLASS

    - #### public static final int SYNTH_CLOSURE

    - #### public static final int SYNTH_COMPILATION_UNIT

    - #### public static final int SYNTH_EXPRESSION

    - #### public static final int SYNTH_GSTRING

    - #### public static final int SYNTH_INTERFACE

    - #### public static final int SYNTH_LABEL

    - #### public static final int SYNTH_LIST

    - #### public static final int SYNTH_MAP

    - #### public static final int SYNTH_METHOD

    - #### public static final int SYNTH_METHOD_CALL

    - #### public static final int SYNTH_MIXIN

    - #### public static final int SYNTH_PARAMETER_DECLARATION

    - #### public static final int SYNTH_PROPERTY

    - #### public static final int SYNTH_TERNARY

    - #### public static final int SYNTH_TUPLE

    - #### public static final int SYNTH_VARIABLE_DECLARATION

    - #### public static final int TRUTH_VALUE

    - #### public static final int TYPE_DECLARATION

    - #### public static final int TYPE_LIST_TERMINATORS

    - #### public static final int TYPE_NAME

    - #### public static final int UNKNOWN

    - #### public static final int UNSAFE_OVER_NEWLINES

  - ### Method Detail

    - #### public static boolean canMean(int actual, int preferred)

      Determines if a type can be interpreted as another type. This is orthogonal to ofType(int, int) and is used for semantic flexibility (e.g., an identifier can be viewed as a class name).

      Parameters:
        `actual` - the actual type being checked
        `preferred` - the desired interpretation
      Returns:
        `true` if the actual type can be reinterpreted as the preferred type

    - #### public static String getDescription(int type)

      Returns a human-readable description of the specified token type. Useful for error messages and debugging. For example, `PLUS` might return `"+"`.

      Parameters:
        `type` - the token type constant
      Returns:
        a description string, or `"<>"` if the type has no description

    - #### public static Collection<String> getKeywords()

      Returns an unmodifiable collection of all recognized keywords.

      Returns:
        collection of keyword strings

    - #### public static int getPrecedence(int type, boolean throwIfInvalid)

      Returns the operator precedence level for the specified type. Lower precedence values bind tighter (evaluate first). For example, multiplication (`MULTIPLY`) has higher precedence than addition (`PLUS`).

      throws:
        GroovyBugError if the type is not an operator and throwIfInvalid is true
      Parameters:
        `type` - the operator type to check
        `throwIfInvalid` - if `true`, throws GroovyBugError for non-operators; if `false`, returns -1 for non-operators
      Returns:
        the precedence level (0-85), or -1 if the type is not an operator and throwIfInvalid is false

    - #### public static String getText(int type)

      Returns the text representation for the specified token type. For symbols and keywords, this is the canonical text (e.g., "def", "+", "->").

      Parameters:
        `type` - a token type constant from this class
      Returns:
        the text representation, or empty string if the type has no text mapping

    - #### public static boolean isAssignment(int type)

      Returns `true` if the specified type represents an assignment operator. Assignment operators include simple assignment (`=`) and compound assignments (`+=`, `-=`, `*=`, etc.).

      Parameters:
        `type` - the token type to check
      Returns:
        `true` if the type is an assignment operator
      Since:
        3.0.0

    - #### public static boolean isKeyword(String text)

      Returns `true` if the specified text is a recognized keyword.

      Parameters:
        `text` - the text to check
      Returns:
        `true` if the text is a keyword

    - #### public static int lookup(String text, int filter)

      Returns the token type for the specified symbol or keyword text. Returns UNKNOWN if the text is not found. Optionally filters the result by type (e.g., restrict to keywords only).

      Parameters:
        `text` - the text to look up (e.g., "def", "+", "if")
        `filter` - a type filter (KEYWORD, SYMBOL, or UNKNOWN for no filter)
      Returns:
        the token type, or UNKNOWN if not found or doesn't match the filter

    - #### public static int lookupKeyword(String text)

      Returns the token type for the specified keyword text. Only matches keywords, not symbols.

      Parameters:
        `text` - the keyword text (e.g., "def", "if", "class")
      Returns:
        the keyword type constant, or UNKNOWN if not a recognized keyword

    - #### public static int lookupSymbol(String text)

      Returns the token type for the specified symbol text. Only matches symbols (operators, delimiters), not keywords.

      Parameters:
        `text` - the symbol text (e.g., "+", "-", "{", ".")
      Returns:
        the symbol type constant, or UNKNOWN if not a recognized symbol

    - #### public static void makePostfix(CSTNode node, boolean throwIfInvalid)

      Converts an operator node's meaning to a postfix operator variant. For example, converts `PLUS_PLUS` to `POSTFIX_PLUS_PLUS`.

      Parameters:
        `node` - the node whose meaning is to be modified
        `throwIfInvalid` - if `true`, throws GroovyBugError if the type cannot be converted

    - #### public static void makePrefix(CSTNode node, boolean throwIfInvalid)

      Converts an operator node's meaning to a prefix operator variant. For example, converts `PLUS` to `PREFIX_PLUS`.

      Parameters:
        `node` - the node whose meaning is to be modified
        `throwIfInvalid` - if `true`, throws GroovyBugError if the type cannot be converted

    - #### public static boolean ofType(int specific, int general)

      Determines if a specific type belongs to a general type category through the type hierarchy. For example, `ofType(Types.PLUS, Types.MATH_OPERATOR)` returns `true` because `PLUS` is classified as a `MATH_OPERATOR`.

      Parameters:
        `specific` - the specific token type to check
        `general` - the general type category
      Returns:
        `true` if the specific type is within the general category