Package org.codehaus.groovy.syntax
Class Types
java.lang.Object
org.codehaus.groovy.syntax.Types
Typing information for the CST system. The types here are those
used by CSTNode, Token, and Reduction.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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>
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
isAssignment
(int type) static boolean
static int
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.
-
Field Details
-
EOF
public static final int EOF- See Also:
-
UNKNOWN
public static final int UNKNOWN- See Also:
-
NEWLINE
public static final int NEWLINE- See Also:
-
LEFT_CURLY_BRACE
public static final int LEFT_CURLY_BRACE- See Also:
-
RIGHT_CURLY_BRACE
public static final int RIGHT_CURLY_BRACE- See Also:
-
LEFT_SQUARE_BRACKET
public static final int LEFT_SQUARE_BRACKET- See Also:
-
RIGHT_SQUARE_BRACKET
public static final int RIGHT_SQUARE_BRACKET- See Also:
-
LEFT_PARENTHESIS
public static final int LEFT_PARENTHESIS- See Also:
-
RIGHT_PARENTHESIS
public static final int RIGHT_PARENTHESIS- See Also:
-
DOT
public static final int DOT- See Also:
-
DOT_DOT
public static final int DOT_DOT- See Also:
-
DOT_DOT_DOT
public static final int DOT_DOT_DOT- See Also:
-
NAVIGATE
public static final int NAVIGATE- See Also:
-
FIND_REGEX
public static final int FIND_REGEX- See Also:
-
MATCH_REGEX
public static final int MATCH_REGEX- See Also:
-
REGEX_PATTERN
public static final int REGEX_PATTERN- See Also:
-
EQUAL
public static final int EQUAL- See Also:
-
EQUALS
public static final int EQUALS- See Also:
-
ASSIGN
public static final int ASSIGN- See Also:
-
COMPARE_NOT_EQUAL
public static final int COMPARE_NOT_EQUAL- See Also:
-
COMPARE_IDENTICAL
public static final int COMPARE_IDENTICAL- See Also:
-
COMPARE_NOT_IDENTICAL
public static final int COMPARE_NOT_IDENTICAL- See Also:
-
COMPARE_EQUAL
public static final int COMPARE_EQUAL- See Also:
-
COMPARE_LESS_THAN
public static final int COMPARE_LESS_THAN- See Also:
-
COMPARE_LESS_THAN_EQUAL
public static final int COMPARE_LESS_THAN_EQUAL- See Also:
-
COMPARE_GREATER_THAN
public static final int COMPARE_GREATER_THAN- See Also:
-
COMPARE_GREATER_THAN_EQUAL
public static final int COMPARE_GREATER_THAN_EQUAL- See Also:
-
COMPARE_TO
public static final int COMPARE_TO- See Also:
-
COMPARE_NOT_IN
public static final int COMPARE_NOT_IN- See Also:
-
COMPARE_NOT_INSTANCEOF
public static final int COMPARE_NOT_INSTANCEOF- See Also:
-
NOT
public static final int NOT- See Also:
-
LOGICAL_OR
public static final int LOGICAL_OR- See Also:
-
LOGICAL_AND
public static final int LOGICAL_AND- See Also:
-
LOGICAL_OR_EQUAL
public static final int LOGICAL_OR_EQUAL- See Also:
-
LOGICAL_AND_EQUAL
public static final int LOGICAL_AND_EQUAL- See Also:
-
PLUS
public static final int PLUS- See Also:
-
MINUS
public static final int MINUS- See Also:
-
MULTIPLY
public static final int MULTIPLY- See Also:
-
DIVIDE
public static final int DIVIDE- See Also:
-
INTDIV
public static final int INTDIV- See Also:
-
MOD
public static final int MOD- See Also:
-
STAR_STAR
public static final int STAR_STAR- See Also:
-
POWER
public static final int POWER- See Also:
-
PLUS_EQUAL
public static final int PLUS_EQUAL- See Also:
-
MINUS_EQUAL
public static final int MINUS_EQUAL- See Also:
-
MULTIPLY_EQUAL
public static final int MULTIPLY_EQUAL- See Also:
-
DIVIDE_EQUAL
public static final int DIVIDE_EQUAL- See Also:
-
INTDIV_EQUAL
public static final int INTDIV_EQUAL- See Also:
-
MOD_EQUAL
public static final int MOD_EQUAL- See Also:
-
POWER_EQUAL
public static final int POWER_EQUAL- See Also:
-
ELVIS_EQUAL
public static final int ELVIS_EQUAL- See Also:
-
PLUS_PLUS
public static final int PLUS_PLUS- See Also:
-
PREFIX_PLUS_PLUS
public static final int PREFIX_PLUS_PLUS- See Also:
-
POSTFIX_PLUS_PLUS
public static final int POSTFIX_PLUS_PLUS- See Also:
-
PREFIX_PLUS
public static final int PREFIX_PLUS- See Also:
-
MINUS_MINUS
public static final int MINUS_MINUS- See Also:
-
PREFIX_MINUS_MINUS
public static final int PREFIX_MINUS_MINUS- See Also:
-
POSTFIX_MINUS_MINUS
public static final int POSTFIX_MINUS_MINUS- See Also:
-
PREFIX_MINUS
public static final int PREFIX_MINUS- See Also:
-
LEFT_SHIFT
public static final int LEFT_SHIFT- See Also:
-
RIGHT_SHIFT
public static final int RIGHT_SHIFT- See Also:
-
RIGHT_SHIFT_UNSIGNED
public static final int RIGHT_SHIFT_UNSIGNED- See Also:
-
LEFT_SHIFT_EQUAL
public static final int LEFT_SHIFT_EQUAL- See Also:
-
RIGHT_SHIFT_EQUAL
public static final int RIGHT_SHIFT_EQUAL- See Also:
-
RIGHT_SHIFT_UNSIGNED_EQUAL
public static final int RIGHT_SHIFT_UNSIGNED_EQUAL- See Also:
-
STAR
public static final int STAR- See Also:
-
COMMA
public static final int COMMA- See Also:
-
COLON
public static final int COLON- See Also:
-
SEMICOLON
public static final int SEMICOLON- See Also:
-
QUESTION
public static final int QUESTION- See Also:
-
PIPE
public static final int PIPE- See Also:
-
DOUBLE_PIPE
public static final int DOUBLE_PIPE- See Also:
-
BITWISE_OR
public static final int BITWISE_OR- See Also:
-
BITWISE_AND
public static final int BITWISE_AND- See Also:
-
BITWISE_XOR
public static final int BITWISE_XOR- See Also:
-
BITWISE_OR_EQUAL
public static final int BITWISE_OR_EQUAL- See Also:
-
BITWISE_AND_EQUAL
public static final int BITWISE_AND_EQUAL- See Also:
-
BITWISE_XOR_EQUAL
public static final int BITWISE_XOR_EQUAL- See Also:
-
BITWISE_NEGATION
public static final int BITWISE_NEGATION- See Also:
-
STRING
public static final int STRING- See Also:
-
IDENTIFIER
public static final int IDENTIFIER- See Also:
-
INTEGER_NUMBER
public static final int INTEGER_NUMBER- See Also:
-
DECIMAL_NUMBER
public static final int DECIMAL_NUMBER- See Also:
-
KEYWORD_PRIVATE
public static final int KEYWORD_PRIVATE- See Also:
-
KEYWORD_PROTECTED
public static final int KEYWORD_PROTECTED- See Also:
-
KEYWORD_PUBLIC
public static final int KEYWORD_PUBLIC- See Also:
-
KEYWORD_ABSTRACT
public static final int KEYWORD_ABSTRACT- See Also:
-
KEYWORD_FINAL
public static final int KEYWORD_FINAL- See Also:
-
KEYWORD_NATIVE
public static final int KEYWORD_NATIVE- See Also:
-
KEYWORD_TRANSIENT
public static final int KEYWORD_TRANSIENT- See Also:
-
KEYWORD_VOLATILE
public static final int KEYWORD_VOLATILE- See Also:
-
KEYWORD_SYNCHRONIZED
public static final int KEYWORD_SYNCHRONIZED- See Also:
-
KEYWORD_STATIC
public static final int KEYWORD_STATIC- See Also:
-
KEYWORD_DEF
public static final int KEYWORD_DEF- See Also:
-
KEYWORD_DEFMACRO
public static final int KEYWORD_DEFMACRO- See Also:
-
KEYWORD_CLASS
public static final int KEYWORD_CLASS- See Also:
-
KEYWORD_INTERFACE
public static final int KEYWORD_INTERFACE- See Also:
-
KEYWORD_MIXIN
public static final int KEYWORD_MIXIN- See Also:
-
KEYWORD_IMPLEMENTS
public static final int KEYWORD_IMPLEMENTS- See Also:
-
KEYWORD_EXTENDS
public static final int KEYWORD_EXTENDS- See Also:
-
KEYWORD_THIS
public static final int KEYWORD_THIS- See Also:
-
KEYWORD_SUPER
public static final int KEYWORD_SUPER- See Also:
-
KEYWORD_INSTANCEOF
public static final int KEYWORD_INSTANCEOF- See Also:
-
KEYWORD_PROPERTY
public static final int KEYWORD_PROPERTY- See Also:
-
KEYWORD_NEW
public static final int KEYWORD_NEW- See Also:
-
KEYWORD_PACKAGE
public static final int KEYWORD_PACKAGE- See Also:
-
KEYWORD_IMPORT
public static final int KEYWORD_IMPORT- See Also:
-
KEYWORD_AS
public static final int KEYWORD_AS- See Also:
-
KEYWORD_RETURN
public static final int KEYWORD_RETURN- See Also:
-
KEYWORD_IF
public static final int KEYWORD_IF- See Also:
-
KEYWORD_ELSE
public static final int KEYWORD_ELSE- See Also:
-
KEYWORD_DO
public static final int KEYWORD_DO- See Also:
-
KEYWORD_WHILE
public static final int KEYWORD_WHILE- See Also:
-
KEYWORD_FOR
public static final int KEYWORD_FOR- See Also:
-
KEYWORD_IN
public static final int KEYWORD_IN- See Also:
-
KEYWORD_BREAK
public static final int KEYWORD_BREAK- See Also:
-
KEYWORD_CONTINUE
public static final int KEYWORD_CONTINUE- See Also:
-
KEYWORD_SWITCH
public static final int KEYWORD_SWITCH- See Also:
-
KEYWORD_CASE
public static final int KEYWORD_CASE- See Also:
-
KEYWORD_DEFAULT
public static final int KEYWORD_DEFAULT- See Also:
-
KEYWORD_TRY
public static final int KEYWORD_TRY- See Also:
-
KEYWORD_CATCH
public static final int KEYWORD_CATCH- See Also:
-
KEYWORD_FINALLY
public static final int KEYWORD_FINALLY- See Also:
-
KEYWORD_THROW
public static final int KEYWORD_THROW- See Also:
-
KEYWORD_THROWS
public static final int KEYWORD_THROWS- See Also:
-
KEYWORD_ASSERT
public static final int KEYWORD_ASSERT- See Also:
-
KEYWORD_VOID
public static final int KEYWORD_VOID- See Also:
-
KEYWORD_BOOLEAN
public static final int KEYWORD_BOOLEAN- See Also:
-
KEYWORD_BYTE
public static final int KEYWORD_BYTE- See Also:
-
KEYWORD_SHORT
public static final int KEYWORD_SHORT- See Also:
-
KEYWORD_INT
public static final int KEYWORD_INT- See Also:
-
KEYWORD_LONG
public static final int KEYWORD_LONG- See Also:
-
KEYWORD_FLOAT
public static final int KEYWORD_FLOAT- See Also:
-
KEYWORD_DOUBLE
public static final int KEYWORD_DOUBLE- See Also:
-
KEYWORD_CHAR
public static final int KEYWORD_CHAR- See Also:
-
KEYWORD_TRUE
public static final int KEYWORD_TRUE- See Also:
-
KEYWORD_FALSE
public static final int KEYWORD_FALSE- See Also:
-
KEYWORD_NULL
public static final int KEYWORD_NULL- See Also:
-
KEYWORD_CONST
public static final int KEYWORD_CONST- See Also:
-
KEYWORD_GOTO
public static final int KEYWORD_GOTO- See Also:
-
SYNTH_COMPILATION_UNIT
public static final int SYNTH_COMPILATION_UNIT- See Also:
-
SYNTH_CLASS
public static final int SYNTH_CLASS- See Also:
-
SYNTH_INTERFACE
public static final int SYNTH_INTERFACE- See Also:
-
SYNTH_MIXIN
public static final int SYNTH_MIXIN- See Also:
-
SYNTH_METHOD
public static final int SYNTH_METHOD- See Also:
-
SYNTH_PROPERTY
public static final int SYNTH_PROPERTY- See Also:
-
SYNTH_PARAMETER_DECLARATION
public static final int SYNTH_PARAMETER_DECLARATION- See Also:
-
SYNTH_LIST
public static final int SYNTH_LIST- See Also:
-
SYNTH_MAP
public static final int SYNTH_MAP- See Also:
-
SYNTH_GSTRING
public static final int SYNTH_GSTRING- See Also:
-
SYNTH_METHOD_CALL
public static final int SYNTH_METHOD_CALL- See Also:
-
SYNTH_CAST
public static final int SYNTH_CAST- See Also:
-
SYNTH_BLOCK
public static final int SYNTH_BLOCK- See Also:
-
SYNTH_CLOSURE
public static final int SYNTH_CLOSURE- See Also:
-
SYNTH_LABEL
public static final int SYNTH_LABEL- See Also:
-
SYNTH_TERNARY
public static final int SYNTH_TERNARY- See Also:
-
SYNTH_TUPLE
public static final int SYNTH_TUPLE- See Also:
-
SYNTH_VARIABLE_DECLARATION
public static final int SYNTH_VARIABLE_DECLARATION- See Also:
-
GSTRING_START
public static final int GSTRING_START- See Also:
-
GSTRING_END
public static final int GSTRING_END- See Also:
-
GSTRING_EXPRESSION_START
public static final int GSTRING_EXPRESSION_START- See Also:
-
GSTRING_EXPRESSION_END
public static final int GSTRING_EXPRESSION_END- See Also:
-
ANY
public static final int ANY- See Also:
-
NOT_EOF
public static final int NOT_EOF- See Also:
-
GENERAL_END_OF_STATEMENT
public static final int GENERAL_END_OF_STATEMENT- See Also:
-
ANY_END_OF_STATEMENT
public static final int ANY_END_OF_STATEMENT- See Also:
-
ASSIGNMENT_OPERATOR
public static final int ASSIGNMENT_OPERATOR- See Also:
-
COMPARISON_OPERATOR
public static final int COMPARISON_OPERATOR- See Also:
-
MATH_OPERATOR
public static final int MATH_OPERATOR- See Also:
-
LOGICAL_OPERATOR
public static final int LOGICAL_OPERATOR- See Also:
-
RANGE_OPERATOR
public static final int RANGE_OPERATOR- See Also:
-
REGEX_COMPARISON_OPERATOR
public static final int REGEX_COMPARISON_OPERATOR- See Also:
-
DEREFERENCE_OPERATOR
public static final int DEREFERENCE_OPERATOR- See Also:
-
BITWISE_OPERATOR
public static final int BITWISE_OPERATOR- See Also:
-
INSTANCEOF_OPERATOR
public static final int INSTANCEOF_OPERATOR- See Also:
-
PREFIX_OPERATOR
public static final int PREFIX_OPERATOR- See Also:
-
POSTFIX_OPERATOR
public static final int POSTFIX_OPERATOR- See Also:
-
INFIX_OPERATOR
public static final int INFIX_OPERATOR- See Also:
-
PREFIX_OR_INFIX_OPERATOR
public static final int PREFIX_OR_INFIX_OPERATOR- See Also:
-
PURE_PREFIX_OPERATOR
public static final int PURE_PREFIX_OPERATOR- See Also:
-
KEYWORD
public static final int KEYWORD- See Also:
-
SYMBOL
public static final int SYMBOL- See Also:
-
LITERAL
public static final int LITERAL- See Also:
-
NUMBER
public static final int NUMBER- See Also:
-
SIGN
public static final int SIGN- See Also:
-
NAMED_VALUE
public static final int NAMED_VALUE- See Also:
-
TRUTH_VALUE
public static final int TRUTH_VALUE- See Also:
-
PRIMITIVE_TYPE
public static final int PRIMITIVE_TYPE- See Also:
-
CREATABLE_PRIMITIVE_TYPE
public static final int CREATABLE_PRIMITIVE_TYPE- See Also:
-
LOOP
public static final int LOOP- See Also:
-
RESERVED_KEYWORD
public static final int RESERVED_KEYWORD- See Also:
-
KEYWORD_IDENTIFIER
public static final int KEYWORD_IDENTIFIER- See Also:
-
SYNTHETIC
public static final int SYNTHETIC- See Also:
-
TYPE_DECLARATION
public static final int TYPE_DECLARATION- See Also:
-
DECLARATION_MODIFIER
public static final int DECLARATION_MODIFIER- See Also:
-
TYPE_NAME
public static final int TYPE_NAME- See Also:
-
CREATABLE_TYPE_NAME
public static final int CREATABLE_TYPE_NAME- See Also:
-
MATCHED_CONTAINER
public static final int MATCHED_CONTAINER- See Also:
-
LEFT_OF_MATCHED_CONTAINER
public static final int LEFT_OF_MATCHED_CONTAINER- See Also:
-
RIGHT_OF_MATCHED_CONTAINER
public static final int RIGHT_OF_MATCHED_CONTAINER- See Also:
-
EXPRESSION
public static final int EXPRESSION- See Also:
-
OPERATOR_EXPRESSION
public static final int OPERATOR_EXPRESSION- See Also:
-
SYNTH_EXPRESSION
public static final int SYNTH_EXPRESSION- See Also:
-
KEYWORD_EXPRESSION
public static final int KEYWORD_EXPRESSION- See Also:
-
LITERAL_EXPRESSION
public static final int LITERAL_EXPRESSION- See Also:
-
ARRAY_EXPRESSION
public static final int ARRAY_EXPRESSION- See Also:
-
SIMPLE_EXPRESSION
public static final int SIMPLE_EXPRESSION- See Also:
-
COMPLEX_EXPRESSION
public static final int COMPLEX_EXPRESSION- See Also:
-
PARAMETER_TERMINATORS
public static final int PARAMETER_TERMINATORS- See Also:
-
ARRAY_ITEM_TERMINATORS
public static final int ARRAY_ITEM_TERMINATORS- See Also:
-
TYPE_LIST_TERMINATORS
public static final int TYPE_LIST_TERMINATORS- See Also:
-
OPTIONAL_DATATYPE_FOLLOWERS
public static final int OPTIONAL_DATATYPE_FOLLOWERS- See Also:
-
SWITCH_BLOCK_TERMINATORS
public static final int SWITCH_BLOCK_TERMINATORS- See Also:
-
SWITCH_ENTRIES
public static final int SWITCH_ENTRIES- See Also:
-
METHOD_CALL_STARTERS
public static final int METHOD_CALL_STARTERS- See Also:
-
UNSAFE_OVER_NEWLINES
public static final int UNSAFE_OVER_NEWLINES- See Also:
-
PRECLUDES_CAST_OPERATOR
public static final int PRECLUDES_CAST_OPERATOR- See Also:
-
-
Constructor Details
-
Types
public Types()
-
-
Method Details
-
isAssignment
public static boolean isAssignment(int type) - Since:
- 3.0.0
-
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 thatcanMean()
is orthogonal toofType()
. -
makePrefix
Converts a node from a generic type to a specific prefix type. Throws aGroovyBugError
if the type can't be converted and requested. -
makePostfix
Converts a node from a generic type to a specific postfix type. Throws aGroovyBugError
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
-
isKeyword
-
lookup
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
Returns the type for the specified keyword text. Returns UNKNOWN if the text isn't found. -
lookupSymbol
Returns the type for the specified symbol text. Returns UNKNOWN if the text isn't found. -
getText
Returns the text for the specified type. Returns "" if the text isn't found. -
getDescription
Gets the description for the specified type.
-