Class FullIdent
java.lang.Object
com.puppycrawl.tools.checkstyle.api.FullIdent
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:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate void
Append the specified token and also recalibrate the first line and column.private void
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
Creates a new FullIdent starting from the child of the specified node.private static void
extractFullIdent
(FullIdent full, DetailAST ast) Extracts a FullIdent.int
Gets the column number.Gets the topmost leftmost DetailAST for this FullIdent.int
Gets the line number.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.toString()
-
Field Details
-
elements
The list holding subsequent elements of identifier. -
detailAst
The topmost and leftmost AST of the full identifier.
-
-
Constructor Details
-
FullIdent
private FullIdent()Hide default constructor.
-
-
Method Details
-
createFullIdentBelow
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
Creates a new FullIdent starting from the specified node.- Parameters:
ast
- the node to start from- Returns:
- a
FullIdent
value
-
extractFullIdent
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
Pushes to stack if ast is not null.- Parameters:
stack
- stack to push intoast
- node to push into stack
-
isArrayTypeDeclaration
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
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
-
getText
Gets the text.- Returns:
- the text
-
getDetailAst
Gets the topmost leftmost DetailAST for this FullIdent.- Returns:
- the topmost leftmost ast
-
getLineNo
Gets the line number.- Returns:
- the line number
-
getColumnNo
Gets the column number.- Returns:
- the column number
-
toString
-
append
Append the specified text.- Parameters:
text
- the text to append
-
append
Append the specified token and also recalibrate the first line and column.- Parameters:
ast
- the token to append
-