Package com.puppycrawl.tools.checkstyle
Class DetailAstImpl
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.DetailAstImpl
-
- All Implemented Interfaces:
DetailAST
public final class DetailAstImpl extends java.lang.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 java.util.BitSetbranchTokenTypesAll token types in this branch.private intchildCountNumber of children.private intcolumnNoThe column number.private DetailAstImplfirstChildFirst child of this DetailAST.private java.util.List<org.antlr.v4.runtime.Token>hiddenAfterAll tokens on COMMENTS channel to the right of the current token up to the next token on the DEFAULT_TOKEN_CHANNEL.private java.util.List<org.antlr.v4.runtime.Token>hiddenBeforeAll tokens on COMMENTS channel to the left of the current token up to the preceding token on the DEFAULT_TOKEN_CHANNEL.private intlineNoThe line number.private DetailAstImplnextSiblingFirst sibling of this DetailAST.private static intNOT_INITIALIZEDConstant to indicate if not calculated the child count.private DetailAstImplparentThe parent token.private DetailAstImplpreviousSiblingPrevious sibling.private java.lang.StringtextText of this DetailAST.private inttypeThe 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 voidaddChild(DetailAST child)Adds a new child to the current AST.voidaddNextSibling(DetailAST ast)Add next sibling, pushes other siblings back.voidaddPreviousSibling(DetailAST ast)Add previous sibling.booleanbranchContains(int tokenType)Checks if this branch of the parse tree contains a token of the provided type.private voidclearBranchTokenTypes()Clears branchTokenTypes cache for all parents of the current DetailAST instance, and the child count for the current DetailAST instance.private static voidclearChildCountCache(DetailAstImpl ast)Clears the child count for the ast instance.private static intfindColumnNo(DetailAST ast)Finds column number in the first non-comment node.DetailASTfindFirstToken(int tokenType)Returns the first child token that makes a specified type.private static intfindLineNo(DetailAST ast)Finds line number in the first non-comment node.private java.util.BitSetgetBranchTokenTypes()Returns token type with branch.intgetChildCount()Returns the number of child nodes one level below this node.intgetChildCount(int tokenType)Returns the number of direct child tokens that have the specified type.intgetColumnNo()Gets column number.DetailAstImplgetFirstChild()Get the first child of this AST.java.util.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.java.util.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.DetailASTgetLastChild()Gets the last child node.intgetLineNo()Gets line number.DetailAstImplgetNextSibling()Get the next sibling in line after this one.intgetNumberOfChildren()Get number of children of this AST.DetailASTgetParent()Returns the parent token.DetailASTgetPreviousSibling()Returns the previous sibling or null if no such sibling exists.java.lang.StringgetText()Gets the text of this AST.intgetType()Gets the type of this AST.booleanhasChildren()Returns whether this AST has any children.voidinitialize(int tokenType, java.lang.String tokenText)Initializes this DetailAstImpl.voidinitialize(org.antlr.v4.runtime.Token token)Initializes this DetailAstImpl.voidremoveChildren()Removes all children of this AST.voidsetColumnNo(int columnNo)Set column number.voidsetFirstChild(DetailAST firstChild)Sets the first child of this AST.voidsetHiddenAfter(java.util.List<org.antlr.v4.runtime.Token> hiddenAfter)Sets the hiddenAfter token field.voidsetHiddenBefore(java.util.List<org.antlr.v4.runtime.Token> hiddenBefore)Sets the hiddenBefore token field.voidsetLineNo(int lineNo)Set line number.voidsetNextSibling(DetailAST nextSibling)Sets the next sibling of this AST.private voidsetParent(DetailAstImpl parent)Set the parent token.voidsetText(java.lang.String text)Sets the text for this DetailAstImpl.voidsetType(int type)Sets the type of this AST.java.lang.StringtoString()
-
-
-
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.
-
text
private java.lang.String text
Text of this DetailAST.
-
type
private int type
The type of this DetailAST.
-
hiddenBefore
private java.util.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 java.util.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 java.util.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, java.lang.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:DetailASTReturns the number of child nodes one level below this node. That is is does not recurse down the tree.- Specified by:
getChildCountin interfaceDetailAST- Returns:
- the number of child nodes
-
getChildCount
public int getChildCount(int tokenType)
Description copied from interface:DetailASTReturns the number of direct child tokens that have the specified type.- Specified by:
getChildCountin 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:DetailASTReturns the parent token.
-
getText
public java.lang.String getText()
Description copied from interface:DetailASTGets the text of this AST.
-
setText
public void setText(java.lang.String text)
Sets the text for this DetailAstImpl.- Parameters:
text- the text field of this DetailAstImpl
-
getType
public int getType()
Description copied from interface:DetailASTGets 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:DetailASTGets column number.- Specified by:
getColumnNoin 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:DetailASTGets the last child node.- Specified by:
getLastChildin 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 java.util.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:DetailASTChecks if this branch of the parse tree contains a token of the provided type.- Specified by:
branchContainsin 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:DetailASTReturns the previous sibling or null if no such sibling exists.- Specified by:
getPreviousSiblingin interfaceDetailAST- Returns:
- the previous sibling or null if no such sibling exists.
-
findFirstToken
public DetailAST findFirstToken(int tokenType)
Description copied from interface:DetailASTReturns the first child token that makes a specified type.- Specified by:
findFirstTokenin interfaceDetailAST- Parameters:
tokenType- the token type to match- Returns:
- the matching token, or null if no match
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getNextSibling
public DetailAstImpl getNextSibling()
Description copied from interface:DetailASTGet the next sibling in line after this one.- Specified by:
getNextSiblingin interfaceDetailAST- Returns:
- the next sibling or null if none.
-
getFirstChild
public DetailAstImpl getFirstChild()
Description copied from interface:DetailASTGet the first child of this AST.- Specified by:
getFirstChildin interfaceDetailAST- Returns:
- the first child or null if none.
-
getNumberOfChildren
public int getNumberOfChildren()
Description copied from interface:DetailASTGet number of children of this AST.- Specified by:
getNumberOfChildrenin interfaceDetailAST- Returns:
- the number of children.
-
hasChildren
public boolean hasChildren()
Description copied from interface:DetailASTReturns whether this AST has any children.- Specified by:
hasChildrenin interfaceDetailAST- Returns:
trueif 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 java.util.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 java.util.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(java.util.List<org.antlr.v4.runtime.Token> hiddenBefore)
Sets the hiddenBefore token field.- Parameters:
hiddenBefore- comment token preceding this DetailAstImpl
-
setHiddenAfter
public void setHiddenAfter(java.util.List<org.antlr.v4.runtime.Token> hiddenAfter)
Sets the hiddenAfter token field.- Parameters:
hiddenAfter- comment token following this DetailAstImpl
-
-