Class TokenUtil

java.lang.Object
com.puppycrawl.tools.checkstyle.utils.TokenUtil

public final class TokenUtil extends Object
Contains utility methods for tokens.
  • Field Details

  • Constructor Details

    • TokenUtil

      private TokenUtil()
      Stop instances being created.
  • Method Details

    • getIntFromField

      public static int getIntFromField(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. Does not throw any checked exceptions.
      Parameters:
      field - from which the int should be extracted
      object - 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 all public int fields of a class.
      Parameters:
      cls - source class
      Returns:
      unmodifiable name to value map
    • invertMap

      public static Map<Integer,String> invertMap(Map<String,Integer> map)
      Inverts a given map by exchanging each entry's key and value.
      Parameters:
      map - source map
      Returns:
      inverted map
    • getTokenTypesTotalNumber

      public static int getTokenTypesTotalNumber()
      Get total number of TokenTypes.
      Returns:
      total number of TokenTypes.
    • getAllTokenIds

      public static int[] getAllTokenIds()
      Get all token IDs that are available in TokenTypes.
      Returns:
      array of token IDs
    • getTokenName

      public static String getTokenName(int id)
      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

      public static int getTokenId(String name)
      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

      public static String getShortDescription(String name)
      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

      public static boolean isCommentType(int type)
      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

      public static boolean isCommentType(String type)
      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

      Finds the first Optional child token of DetailAST root node which matches the given predicate.
      Parameters:
      root - root node.
      predicate - predicate.
      Returns:
      Optional of DetailAST node which matches the predicate.
    • forEachChild

      public static void forEachChild(DetailAST root, int type, Consumer<DetailAST> action)
      Performs an action for each child of DetailAST root node which matches the given token type.
      Parameters:
      root - root node.
      type - token type to match.
      action - action to perform on the nodes.
    • areOnSameLine

      public static boolean areOnSameLine(DetailAST ast1, DetailAST ast2)
      Determines if two ASTs are on the same line.
      Parameters:
      ast1 - the first AST
      ast2 - the second AST
      Returns:
      true if they are on the same line.
    • isTypeDeclaration

      public static boolean isTypeDeclaration(int type)
      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

      public static boolean isOfType(int type, int... types)
      Determines if the token type belongs to the given types.
      Parameters:
      type - the Token Type to check
      types - the acceptable types
      Returns:
      true if type matches one of the given types.
    • isOfType

      public static boolean isOfType(int type, Set<Integer> types)
      Determines if the token type belongs to the given types.
      Parameters:
      type - the Token Type to check
      types - the acceptable types
      Returns:
      true if type matches one of the given types.
    • isOfType

      public static boolean isOfType(DetailAST ast, int... types)
      Determines if the AST belongs to the given types.
      Parameters:
      ast - the AST node to check
      types - the acceptable types
      Returns:
      true if type matches one of the given types.
    • isRootNode

      public static boolean isRootNode(DetailAST ast)
      Determines if given AST is a root node, i.e. if the type of the token we are checking is COMPILATION_UNIT.
      Parameters:
      ast - AST to check
      Returns:
      true if AST is a root node
    • isBooleanLiteralType

      public static boolean isBooleanLiteralType(int tokenType)
      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

      public static BitSet asBitSet(int... tokens)
      Creates a new BitSet from array of tokens.
      Parameters:
      tokens - to initialize the BitSet
      Returns:
      tokens as BitSet
    • asBitSet

      public static BitSet asBitSet(String... tokens)
      Creates a new BitSet from array of tokens.
      Parameters:
      tokens - to initialize the BitSet
      Returns:
      tokens as BitSet