[Java] Class Types
- 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
Methods Summary
Methods
Type Params | Return Type | Name and description |
| public static boolean |
canMean(int actual, int preferred) Given two types, returns true if the first can be viewed as the second. |
| public static String |
getDescription(int type) Gets the description for the specified type. |
| public static Collection<String> |
getKeywords()
|
| public static int |
getPrecedence(int type, boolean throwIfInvalid) Returns the precedence of the specified operator. |
| public static String |
getText(int type) Returns the text for the specified type. |
| public static boolean |
isAssignment(int type)
- Since:
- 3.0.0
|
| public static boolean |
isKeyword(String text)
|
| public static int |
lookup(String text, int filter) Returns the type for the specified symbol/keyword text. |
| public static int |
lookupKeyword(String text) Returns the type for the specified keyword text. |
| public static int |
lookupSymbol(String text) Returns the type for the specified symbol text. |
| public static void |
makePostfix(CSTNode node, boolean throwIfInvalid) Converts a node from a generic type to a specific postfix type. |
| public static void |
makePrefix(CSTNode node, boolean throwIfInvalid) Converts a node from a generic type to a specific prefix type. |
| public static boolean |
ofType(int specific, int general) Given two types, returns true if the second describes the first. |
Inherited Methods Summary
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
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
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 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 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
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)
Given two types, returns true if the first can be viewed as the second. NOTE that canMean()
is orthogonal to ofType()
.
public static String getDescription(int type)
Gets the description for the specified type.
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.
public static String getText(int type)
Returns the text for the specified type. Returns "" if the text isn't found.
public static boolean isAssignment(int type)
- Since:
- 3.0.0
public static boolean isKeyword(String text)
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.
public static int lookupKeyword(String text)
Returns the type for the specified keyword text. Returns UNKNOWN if the text isn't found.
public static int lookupSymbol(String text)
Returns the type for the specified symbol text. Returns UNKNOWN if the text isn't found.
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.
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.
public static boolean ofType(int specific, int general)
Given two types, returns true if the second describes the first.