Class TokenUtil
java.lang.Object
com.puppycrawl.tools.checkstyle.utils.TokenUtil
Contains utility methods for tokens.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final StringFormat for exception message when getting token by given id.private static final int[]Array of all token IDs.private static final StringFormat for exception message when getting token by given name.Maps from a token name to value.Maps from a token value to name. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanareOnSameLine(DetailAST ast1, DetailAST ast2) Determines if two ASTs are on the same line.static BitSetasBitSet(int... tokens) Creates a newBitSetfrom array of tokens.static BitSetCreates a newBitSetfrom array of tokens.findFirstTokenByPredicate(DetailAST root, Predicate<DetailAST> predicate) static voidforEachChild(DetailAST root, int type, Consumer<DetailAST> action) Performs an action for each child ofDetailASTroot node which matches the given token type.static int[]Get all token IDs that are available in TokenTypes.static intgetIntFromField(Field field, Object object) Gets the value of a static or instance field of type int or of another primitive type convertible to type int via a widening conversion.static StringgetShortDescription(String name) Returns the short description of a token for a given name.static intgetTokenId(String name) Returns the ID of a token for a given name.static StringgetTokenName(int id) Returns the name of a token for a given ID.static intGet total number of TokenTypes.Inverts a given map by exchanging each entry's key and value.static booleanisBooleanLiteralType(int tokenType) Checks if a token type is a literal true or false.static booleanisCommentType(int type) Is argument comment-related type (SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN, BLOCK_COMMENT_END, COMMENT_CONTENT).static booleanisCommentType(String type) Is argument comment-related type name (SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN, BLOCK_COMMENT_END, COMMENT_CONTENT).static booleanisOfType(int type, int... types) Determines if the token type belongs to the given types.static booleanDetermines if the token type belongs to the given types.static booleanDetermines if the AST belongs to the given types.static booleanisRootNode(DetailAST ast) Determines if given AST is a root node, i.e. if the type of the token we are checking isCOMPILATION_UNIT.static booleanisTypeDeclaration(int type) Is type declaration token type (CLASS_DEF, INTERFACE_DEF, ANNOTATION_DEF, ENUM_DEF, RECORD_DEF).Creates a map of 'field name' to 'field value' from allpublicintfields of a class.
-
Field Details
-
TOKEN_NAME_TO_VALUE
Maps from a token name to value. -
TOKEN_VALUE_TO_NAME
Maps from a token value to name. -
TOKEN_IDS
Array of all token IDs. -
TOKEN_ID_EXCEPTION_FORMAT
Format for exception message when getting token by given id.- See Also:
-
TOKEN_NAME_EXCEPTION_FORMAT
Format for exception message when getting token by given name.- See Also:
-
-
Constructor Details
-
TokenUtil
private TokenUtil()Stop instances being created.
-
-
Method Details
-
getIntFromField
Gets the value of a static or instance field of type int or of another primitive type convertible to type int via a widening conversion. Does not throw any checked exceptions.- Parameters:
field- from which the int should be extractedobject- to extract the int value from- Returns:
- the value of the field converted to type int
- Throws:
IllegalStateException- if this Field object is enforcing Java language access control and the underlying field is inaccessible- See Also:
-
nameToValueMapFromPublicIntFields
Creates a map of 'field name' to 'field value' from allpublicintfields of a class.- Parameters:
cls- source class- Returns:
- unmodifiable name to value map
-
invertMap
Inverts a given map by exchanging each entry's key and value.- Parameters:
map- source map- Returns:
- inverted map
-
getTokenTypesTotalNumber
Get total number of TokenTypes.- Returns:
- total number of TokenTypes.
-
getAllTokenIds
Get all token IDs that are available in TokenTypes.- Returns:
- array of token IDs
-
getTokenName
Returns the name of a token for a given ID.- Parameters:
id- the ID of the token name to get- Returns:
- a token name
- Throws:
IllegalArgumentException- when id is not valid
-
getTokenId
Returns the ID of a token for a given name.- Parameters:
name- the name of the token ID to get- Returns:
- a token ID
- Throws:
IllegalArgumentException- when id is null
-
getShortDescription
Returns the short description of a token for a given name.- Parameters:
name- the name of the token ID to get- Returns:
- a short description
- Throws:
IllegalArgumentException- when name is unknown
-
isCommentType
Is argument comment-related type (SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN, BLOCK_COMMENT_END, COMMENT_CONTENT).- Parameters:
type- token type.- Returns:
- true if type is comment-related type.
-
isCommentType
Is argument comment-related type name (SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN, BLOCK_COMMENT_END, COMMENT_CONTENT).- Parameters:
type- token type name.- Returns:
- true if type is comment-related type name.
-
findFirstTokenByPredicate
-
forEachChild
Performs an action for each child ofDetailASTroot node which matches the given token type.- Parameters:
root- root node.type- token type to match.action- action to perform on the nodes.
-
areOnSameLine
Determines if two ASTs are on the same line.- Parameters:
ast1- the first ASTast2- the second AST- Returns:
- true if they are on the same line.
-
isTypeDeclaration
Is type declaration token type (CLASS_DEF, INTERFACE_DEF, ANNOTATION_DEF, ENUM_DEF, RECORD_DEF).- Parameters:
type- token type.- Returns:
- true if type is type declaration token type.
-
isOfType
Determines if the token type belongs to the given types.- Parameters:
type- the Token Type to checktypes- the acceptable types- Returns:
- true if type matches one of the given types.
-
isOfType
Determines if the token type belongs to the given types.- Parameters:
type- the Token Type to checktypes- the acceptable types- Returns:
- true if type matches one of the given types.
-
isOfType
Determines if the AST belongs to the given types.- Parameters:
ast- the AST node to checktypes- the acceptable types- Returns:
- true if type matches one of the given types.
-
isRootNode
Determines if given AST is a root node, i.e. if the type of the token we are checking isCOMPILATION_UNIT.- Parameters:
ast- AST to check- Returns:
- true if AST is a root node
-
isBooleanLiteralType
Checks if a token type is a literal true or false.- Parameters:
tokenType- the TokenType- Returns:
- true if tokenType is LITERAL_TRUE or LITERAL_FALSE
-
asBitSet
Creates a newBitSetfrom array of tokens.- Parameters:
tokens- to initialize the BitSet- Returns:
- tokens as BitSet
-
asBitSet
Creates a newBitSetfrom array of tokens.- Parameters:
tokens- to initialize the BitSet- Returns:
- tokens as BitSet
-