Class FullIdent
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.FullIdent
-
public final class FullIdent extends Object
Represents a full identifier, including dots, with associated position information.Identifiers such as
java.util.HashMap
are spread across multiple AST nodes in the syntax tree (three IDENT nodes, two DOT nodes). A FullIdent represents the whole String (excluding any intermediate whitespace), which is often easier to work with in Checks.- See Also:
TokenTypes.DOT
,TokenTypes.IDENT
-
-
Constructor Summary
Constructors Modifier Constructor Description private
FullIdent()
Hide default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
append(DetailAST ast)
Append the specified token and also recalibrate the first line and column.private void
append(String text)
Append the specified text.private static void
appendBrackets(FullIdent full, DetailAST ast)
Appends the brackets of an array type to aFullIdent
.private static int
appendToFull(FullIdent full, DetailAST ast, int dotCounter, boolean bracketsExist, boolean isArrayTypeDeclarationStart)
Populates the FullIdent node.static FullIdent
createFullIdent(DetailAST ast)
Creates a new FullIdent starting from the specified node.static FullIdent
createFullIdentBelow(DetailAST ast)
Creates a new FullIdent starting from the child of the specified node.private static void
extractFullIdent(FullIdent full, DetailAST ast)
Extracts a FullIdent.int
getColumnNo()
Gets the column number.DetailAST
getDetailAst()
Gets the topmost leftmost DetailAST for this FullIdent.int
getLineNo()
Gets the line number.String
getText()
Gets the text.private static boolean
isArrayTypeDeclaration(DetailAST arrayDeclarator)
Checks an `ARRAY_DECLARATOR` ast to verify that it is not an array initialization, i.e.private static void
pushToIdentStack(Deque<DetailAST> stack, DetailAST ast)
Pushes to stack if ast is not null.String
toString()
-
-
-
Constructor Detail
-
FullIdent
private FullIdent()
Hide default constructor.
-
-
Method Detail
-
createFullIdentBelow
public static FullIdent createFullIdentBelow(DetailAST ast)
Creates a new FullIdent starting from the child of the specified node.- Parameters:
ast
- the parent node from where to start from- Returns:
- a
FullIdent
value
-
createFullIdent
public static FullIdent createFullIdent(DetailAST ast)
Creates a new FullIdent starting from the specified node.- Parameters:
ast
- the node to start from- Returns:
- a
FullIdent
value
-
extractFullIdent
private static void extractFullIdent(FullIdent full, DetailAST ast)
Extracts a FullIdent.- Parameters:
full
- the FullIdent to add toast
- the node
-
appendToFull
private static int appendToFull(FullIdent full, DetailAST ast, int dotCounter, boolean bracketsExist, boolean isArrayTypeDeclarationStart)
Populates the FullIdent node.- Parameters:
full
- the FullIdent to add toast
- the nodedotCounter
- no of dotsbracketsExist
- yes if trueisArrayTypeDeclarationStart
- true if array type declaration start- Returns:
- updated value of dotCounter
-
pushToIdentStack
private static void pushToIdentStack(Deque<DetailAST> stack, DetailAST ast)
Pushes to stack if ast is not null.- Parameters:
stack
- stack to push intoast
- node to push into stack
-
isArrayTypeDeclaration
private static boolean isArrayTypeDeclaration(DetailAST arrayDeclarator)
Checks an `ARRAY_DECLARATOR` ast to verify that it is not an array initialization, i.e. 'new int [2][2]'. We do this by making sure that no 'EXPR' token exists in this branch.- Parameters:
arrayDeclarator
- the first ARRAY_DECLARATOR token in the ast- Returns:
- true if ast is an array type declaration
-
appendBrackets
private static void appendBrackets(FullIdent full, DetailAST ast)
Appends the brackets of an array type to aFullIdent
.- Parameters:
full
- the FullIdent to append brackets toast
- the type ast we are building aFullIdent
for
-
getDetailAst
public DetailAST getDetailAst()
Gets the topmost leftmost DetailAST for this FullIdent.- Returns:
- the topmost leftmost ast
-
getLineNo
public int getLineNo()
Gets the line number.- Returns:
- the line number
-
getColumnNo
public int getColumnNo()
Gets the column number.- Returns:
- the column number
-
append
private void append(String text)
Append the specified text.- Parameters:
text
- the text to append
-
-