Class ASTTypePattern
- java.lang.Object
-
- net.sourceforge.pmd.lang.ast.AbstractNode
-
- net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<JavaNode>
-
- net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
-
- net.sourceforge.pmd.lang.java.ast.ASTTypePattern
-
- All Implemented Interfaces:
Node,Annotatable,ASTPattern,JavaNode,ScopedNode
public final class ASTTypePattern extends AbstractJavaNode implements ASTPattern
A type pattern (JDK16). This can be found on the right-hand side of anInstanceOfExpression.TypePattern ::= ( "final" | Annotation )* Type
VariableDeclaratorId- See Also:
- JEP 394: Pattern Matching for instanceof
-
-
Field Summary
-
Fields inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
parser
-
Fields inherited from class net.sourceforge.pmd.lang.ast.AbstractNode
beginColumn, beginLine, childIndex, children, endColumn, endLine, firstToken, id, lastToken, parent
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ASTAnnotationgetAnnotation(String binaryName)Returns a specific annotation on this node, or null if absent.List<ASTAnnotation>getDeclaredAnnotations()Get all annotations present on this node.intgetParenthesisDepth()Returns the number of parenthesis levels around this pattern.ASTTypegetTypeNode()Gets the type against which the expression is tested.ASTVariableDeclaratorIdgetVarId()Returns the declared variable.booleanisAnnotationPresent(String binaryName)Checks whether the annotation is present on this node.booleanisAnyAnnotationPresent(Collection<String> binaryNames)Checks whether any annotation is present on this node.ObjectjjtAccept(JavaParserVisitor visitor, Object data)Calls back the visitor's visit method corresponding to the runtime type of this Node.-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
childrenAccept, comment, comment, getRoot, getScope, getXPathNodeName, jjtClose, jjtOpen, setScope
-
Methods inherited from class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode
children, getChild, getParent
-
Methods inherited from class net.sourceforge.pmd.lang.ast.AbstractNode
appendElement, findChildNodesWithXPath, findChildrenOfType, findDescendantsOfType, findDescendantsOfType, findDescendantsOfType, getAsDocument, getBeginColumn, getBeginLine, getDataFlowNode, getEndColumn, getEndLine, getFirstChildOfType, getFirstDescendantOfType, getFirstParentOfAnyType, getFirstParentOfType, getImage, getIndexInParent, getNthParent, getNumChildren, getParentsOfType, getUserData, getUserMap, getXPathAttributesIterator, hasDecendantOfAnyType, hasDescendantMatchingXPath, hasDescendantOfAnyType, hasDescendantOfType, hasImageEqualTo, isFindBoundary, isSingleLine, jjtAddChild, jjtGetChild, jjtGetChildIndex, jjtGetFirstToken, jjtGetId, jjtGetLastToken, jjtGetNumChildren, jjtGetParent, jjtSetChildIndex, jjtSetFirstToken, jjtSetLastToken, jjtSetParent, remove, removeChildAtIndex, setDataFlowNode, setImage, setUserData, testingOnlySetBeginColumn, testingOnlySetBeginLine, testingOnlySetEndColumn, testingOnlySetEndLine, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.JavaNode
children, childrenAccept, getChild, getParent, getRoot, setScope
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.Node
findChildNodesWithXPath, findChildrenOfType, findDescendantsOfType, findDescendantsOfType, findDescendantsOfType, getAsDocument, getBeginColumn, getBeginLine, getDataFlowNode, getEndColumn, getEndLine, getFirstChildOfType, getFirstDescendantOfType, getFirstParentOfAnyType, getFirstParentOfType, getImage, getIndexInParent, getNthParent, getNumChildren, getParentsOfType, getUserData, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasDescendantMatchingXPath, hasDescendantOfType, hasImageEqualTo, isFindBoundary, jjtAddChild, jjtClose, jjtGetChild, jjtGetChildIndex, jjtGetId, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetChildIndex, jjtSetParent, remove, removeChildAtIndex, setDataFlowNode, setImage, setUserData
-
Methods inherited from interface net.sourceforge.pmd.lang.symboltable.ScopedNode
getScope
-
-
-
-
Method Detail
-
jjtAccept
public Object jjtAccept(JavaParserVisitor visitor, Object data)
Description copied from interface:JavaNodeCalls back the visitor's visit method corresponding to the runtime type of this Node.- Specified by:
jjtAcceptin interfaceJavaNode- Overrides:
jjtAcceptin classAbstractJavaNode- Parameters:
visitor- Visitor to dispatchdata- Visit data
-
getDeclaredAnnotations
public List<ASTAnnotation> getDeclaredAnnotations()
Description copied from interface:AnnotatableGet all annotations present on this node.- Specified by:
getDeclaredAnnotationsin interfaceAnnotatable- Returns:
- all annotations present on this node.
-
getTypeNode
public ASTType getTypeNode()
Gets the type against which the expression is tested.
-
getVarId
public ASTVariableDeclaratorId getVarId()
Returns the declared variable.
-
getParenthesisDepth
@Experimental public int getParenthesisDepth()
Description copied from interface:ASTPatternReturns the number of parenthesis levels around this pattern. If this method returns 0, then no parentheses are present.- Specified by:
getParenthesisDepthin interfaceASTPattern
-
getAnnotation
public ASTAnnotation getAnnotation(String binaryName)
Description copied from interface:AnnotatableReturns a specific annotation on this node, or null if absent.- Specified by:
getAnnotationin interfaceAnnotatable- Parameters:
binaryName- Binary name of the annotation type. Note: for now, canonical names are tolerated, this may be changed in PMD 7.
-
isAnnotationPresent
public boolean isAnnotationPresent(String binaryName)
Description copied from interface:AnnotatableChecks whether the annotation is present on this node.- Specified by:
isAnnotationPresentin interfaceAnnotatable- Parameters:
binaryName- Binary name of the annotation type. Note: for now, canonical names are tolerated, this may be changed in PMD 7.- Returns:
trueif the annotation is present on this node, elsefalse
-
isAnyAnnotationPresent
public boolean isAnyAnnotationPresent(Collection<String> binaryNames)
Description copied from interface:AnnotatableChecks whether any annotation is present on this node.- Specified by:
isAnyAnnotationPresentin interfaceAnnotatable- Parameters:
binaryNames- Collection that contains binary names of annotations. Note: for now, canonical names are tolerated, this may be changed in PMD 7.- Returns:
trueif any annotation is present on this node, elsefalse
-
-