Package com.puppycrawl.tools.checkstyle
Class DetailAstImpl
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.DetailAstImpl
-
- All Implemented Interfaces:
DetailAST
public final class DetailAstImpl extends Object implements DetailAST
The implementation ofDetailAST
. This should only be directly used to create custom AST nodes and in 'JavaAstVisitor.java'.
-
-
Field Summary
Fields Modifier and Type Field Description private BitSet
branchTokenTypes
All token types in this branch.private int
childCount
Number of children.private int
columnNo
The column number.private DetailAstImpl
firstChild
First child of this DetailAST.private List<org.antlr.v4.runtime.Token>
hiddenAfter
All tokens on COMMENTS channel to the right of the current token up to the next token on the DEFAULT_TOKEN_CHANNEL.private List<org.antlr.v4.runtime.Token>
hiddenBefore
All tokens on COMMENTS channel to the left of the current token up to the preceding token on the DEFAULT_TOKEN_CHANNEL.private int
lineNo
The line number.private DetailAstImpl
nextSibling
First sibling of this DetailAST.private static int
NOT_INITIALIZED
Constant to indicate if not calculated the child count.private DetailAstImpl
parent
The parent token.private DetailAstImpl
previousSibling
Previous sibling.private String
text
Text of this DetailAST.private int
type
The type of this DetailAST.
-
Constructor Summary
Constructors Constructor Description DetailAstImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChild(DetailAST child)
Adds a new child to the current AST.void
addNextSibling(DetailAST ast)
Add next sibling, pushes other siblings back.void
addPreviousSibling(DetailAST ast)
Add previous sibling.boolean
branchContains(int tokenType)
Checks if this branch of the parse tree contains a token of the provided type.private void
clearBranchTokenTypes()
Clears branchTokenTypes cache for all parents of the current DetailAST instance, and the child count for the current DetailAST instance.private static void
clearChildCountCache(DetailAstImpl ast)
Clears the child count for the ast instance.private static int
findColumnNo(DetailAST ast)
Finds column number in the first non-comment node.DetailAST
findFirstToken(int tokenType)
Returns the first child token that makes a specified type.private static int
findLineNo(DetailAST ast)
Finds line number in the first non-comment node.private BitSet
getBranchTokenTypes()
Returns token type with branch.int
getChildCount()
Returns the number of child nodes one level below this node.int
getChildCount(int tokenType)
Returns the number of direct child tokens that have the specified type.int
getColumnNo()
Gets column number.DetailAstImpl
getFirstChild()
Get the first child of this AST.List<org.antlr.v4.runtime.Token>
getHiddenAfter()
Get list tokens on COMMENTS channel to the right of the current token up to the next token on the DEFAULT_TOKEN_CHANNEL.List<org.antlr.v4.runtime.Token>
getHiddenBefore()
Get list of tokens on COMMENTS channel to the left of the current token up to the preceding token on the DEFAULT_TOKEN_CHANNEL.DetailAST
getLastChild()
Gets the last child node.int
getLineNo()
Gets line number.DetailAstImpl
getNextSibling()
Get the next sibling in line after this one.int
getNumberOfChildren()
Get number of children of this AST.DetailAST
getParent()
Returns the parent token.DetailAST
getPreviousSibling()
Returns the previous sibling or null if no such sibling exists.String
getText()
Gets the text of this AST.int
getType()
Gets the type of this AST.boolean
hasChildren()
Returns whether this AST has any children.void
initialize(int tokenType, String tokenText)
Initializes this DetailAstImpl.void
initialize(org.antlr.v4.runtime.Token token)
Initializes this DetailAstImpl.void
removeChildren()
Removes all children of this AST.void
setColumnNo(int columnNo)
Set column number.void
setFirstChild(DetailAST firstChild)
Sets the first child of this AST.void
setHiddenAfter(List<org.antlr.v4.runtime.Token> hiddenAfter)
Sets the hiddenAfter token field.void
setHiddenBefore(List<org.antlr.v4.runtime.Token> hiddenBefore)
Sets the hiddenBefore token field.void
setLineNo(int lineNo)
Set line number.void
setNextSibling(DetailAST nextSibling)
Sets the next sibling of this AST.private void
setParent(DetailAstImpl parent)
Set the parent token.void
setText(String text)
Sets the text for this DetailAstImpl.void
setType(int type)
Sets the type of this AST.String
toString()
-
-
-
Field Detail
-
NOT_INITIALIZED
private static final int NOT_INITIALIZED
Constant to indicate if not calculated the child count.- See Also:
- Constant Field Values
-
lineNo
private int lineNo
The line number.
-
columnNo
private int columnNo
The column number.
-
childCount
private int childCount
Number of children.
-
parent
private DetailAstImpl parent
The parent token.
-
previousSibling
private DetailAstImpl previousSibling
Previous sibling.
-
firstChild
private DetailAstImpl firstChild
First child of this DetailAST.
-
nextSibling
private DetailAstImpl nextSibling
First sibling of this DetailAST.
-
type
private int type
The type of this DetailAST.
-
hiddenBefore
private List<org.antlr.v4.runtime.Token> hiddenBefore
All tokens on COMMENTS channel to the left of the current token up to the preceding token on the DEFAULT_TOKEN_CHANNEL.
-
hiddenAfter
private List<org.antlr.v4.runtime.Token> hiddenAfter
All tokens on COMMENTS channel to the right of the current token up to the next token on the DEFAULT_TOKEN_CHANNEL.
-
branchTokenTypes
private BitSet branchTokenTypes
All token types in this branch. Token 'x' (where x is an int) is in this branch if branchTokenTypes.get(x) is true.
-
-
Constructor Detail
-
DetailAstImpl
public DetailAstImpl()
-
-
Method Detail
-
initialize
public void initialize(int tokenType, String tokenText)
Initializes this DetailAstImpl.- Parameters:
tokenType
- the type of this DetailAstImpltokenText
- the text of this DetailAstImpl
-
initialize
public void initialize(org.antlr.v4.runtime.Token token)
Initializes this DetailAstImpl.- Parameters:
token
- the token to generate this DetailAstImpl from
-
addPreviousSibling
public void addPreviousSibling(DetailAST ast)
Add previous sibling.- Parameters:
ast
- DetailAST object.
-
addNextSibling
public void addNextSibling(DetailAST ast)
Add next sibling, pushes other siblings back.- Parameters:
ast
- DetailAST object.
-
addChild
public void addChild(DetailAST child)
Adds a new child to the current AST.- Parameters:
child
- to DetailAST to add as child
-
getChildCount
public int getChildCount()
Description copied from interface:DetailAST
Returns the number of child nodes one level below this node. That is, does not recurse down the tree.- Specified by:
getChildCount
in interfaceDetailAST
- Returns:
- the number of child nodes
-
getChildCount
public int getChildCount(int tokenType)
Description copied from interface:DetailAST
Returns the number of direct child tokens that have the specified type.- Specified by:
getChildCount
in interfaceDetailAST
- Parameters:
tokenType
- the token type to match- Returns:
- the number of matching token
-
setParent
private void setParent(DetailAstImpl parent)
Set the parent token.- Parameters:
parent
- the parent token
-
getParent
public DetailAST getParent()
Description copied from interface:DetailAST
Returns the parent token.
-
getText
public String getText()
Description copied from interface:DetailAST
Gets the text of this AST.
-
setText
public void setText(String text)
Sets the text for this DetailAstImpl.- Parameters:
text
- the text field of this DetailAstImpl
-
getType
public int getType()
Description copied from interface:DetailAST
Gets the type of this AST.
-
setType
public void setType(int type)
Sets the type of this AST.- Parameters:
type
- the token type of this DetailAstImpl
-
setLineNo
public void setLineNo(int lineNo)
Set line number.- Parameters:
lineNo
- line number.
-
getColumnNo
public int getColumnNo()
Description copied from interface:DetailAST
Gets column number.- Specified by:
getColumnNo
in interfaceDetailAST
- Returns:
- the column number
-
setColumnNo
public void setColumnNo(int columnNo)
Set column number.- Parameters:
columnNo
- column number.
-
getLastChild
public DetailAST getLastChild()
Description copied from interface:DetailAST
Gets the last child node.- Specified by:
getLastChild
in interfaceDetailAST
- Returns:
- the last child node
-
findColumnNo
private static int findColumnNo(DetailAST ast)
Finds column number in the first non-comment node.- Parameters:
ast
- DetailAST node.- Returns:
- Column number if non-comment node exists, -1 otherwise.
-
findLineNo
private static int findLineNo(DetailAST ast)
Finds line number in the first non-comment node.- Parameters:
ast
- DetailAST node.- Returns:
- Line number if non-comment node exists, -1 otherwise.
-
getBranchTokenTypes
private BitSet getBranchTokenTypes()
Returns token type with branch.- Returns:
- the token types that occur in the branch as a sorted set.
-
branchContains
public boolean branchContains(int tokenType)
Description copied from interface:DetailAST
Checks if this branch of the parse tree contains a token of the provided type.- Specified by:
branchContains
in interfaceDetailAST
- Parameters:
tokenType
- a TokenType- Returns:
- true if and only if this branch (including this node)
contains a token of type
type
.
-
getPreviousSibling
public DetailAST getPreviousSibling()
Description copied from interface:DetailAST
Returns the previous sibling or null if no such sibling exists.- Specified by:
getPreviousSibling
in interfaceDetailAST
- Returns:
- the previous sibling or null if no such sibling exists.
-
findFirstToken
public DetailAST findFirstToken(int tokenType)
Description copied from interface:DetailAST
Returns the first child token that makes a specified type.- Specified by:
findFirstToken
in interfaceDetailAST
- Parameters:
tokenType
- the token type to match- Returns:
- the matching token, or null if no match
-
getNextSibling
public DetailAstImpl getNextSibling()
Description copied from interface:DetailAST
Get the next sibling in line after this one.- Specified by:
getNextSibling
in interfaceDetailAST
- Returns:
- the next sibling or null if none.
-
getFirstChild
public DetailAstImpl getFirstChild()
Description copied from interface:DetailAST
Get the first child of this AST.- Specified by:
getFirstChild
in interfaceDetailAST
- Returns:
- the first child or null if none.
-
getNumberOfChildren
public int getNumberOfChildren()
Description copied from interface:DetailAST
Get number of children of this AST.- Specified by:
getNumberOfChildren
in interfaceDetailAST
- Returns:
- the number of children.
-
hasChildren
public boolean hasChildren()
Description copied from interface:DetailAST
Returns whether this AST has any children.- Specified by:
hasChildren
in interfaceDetailAST
- Returns:
true
if this AST has any children.
-
clearChildCountCache
private static void clearChildCountCache(DetailAstImpl ast)
Clears the child count for the ast instance.- Parameters:
ast
- The ast to clear.
-
clearBranchTokenTypes
private void clearBranchTokenTypes()
Clears branchTokenTypes cache for all parents of the current DetailAST instance, and the child count for the current DetailAST instance.
-
setNextSibling
public void setNextSibling(DetailAST nextSibling)
Sets the next sibling of this AST.- Parameters:
nextSibling
- the DetailAST to set as sibling
-
setFirstChild
public void setFirstChild(DetailAST firstChild)
Sets the first child of this AST.- Parameters:
firstChild
- the DetailAST to set as first child
-
removeChildren
public void removeChildren()
Removes all children of this AST.
-
getHiddenBefore
public List<org.antlr.v4.runtime.Token> getHiddenBefore()
Get list of tokens on COMMENTS channel to the left of the current token up to the preceding token on the DEFAULT_TOKEN_CHANNEL.- Returns:
- list of comment tokens
-
getHiddenAfter
public List<org.antlr.v4.runtime.Token> getHiddenAfter()
Get list tokens on COMMENTS channel to the right of the current token up to the next token on the DEFAULT_TOKEN_CHANNEL.- Returns:
- list of comment tokens
-
setHiddenBefore
public void setHiddenBefore(List<org.antlr.v4.runtime.Token> hiddenBefore)
Sets the hiddenBefore token field.- Parameters:
hiddenBefore
- comment token preceding this DetailAstImpl
-
setHiddenAfter
public void setHiddenAfter(List<org.antlr.v4.runtime.Token> hiddenAfter)
Sets the hiddenAfter token field.- Parameters:
hiddenAfter
- comment token following this DetailAstImpl
-
-