Class ASTLocalVariableDeclaration
- java.lang.Object
-
- net.sourceforge.pmd.lang.ast.AbstractNode
-
- net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
-
- net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode
-
- net.sourceforge.pmd.lang.java.ast.ASTLocalVariableDeclaration
-
- All Implemented Interfaces:
java.lang.Iterable<ASTVariableDeclaratorId>,net.sourceforge.pmd.lang.ast.Node,AccessNode,Annotatable,CanSuppressWarnings,Dimensionable,JavaNode,net.sourceforge.pmd.lang.symboltable.ScopedNode
public class ASTLocalVariableDeclaration extends AbstractJavaAccessNode implements Dimensionable, CanSuppressWarnings, java.lang.Iterable<ASTVariableDeclaratorId>
Represents a local variable declaration. This is a block statement, but the node is also used in for-loop initialisers and foreach statements.This statement may define several variables, possibly of different types (see
ASTVariableDeclaratorId.getType()). The nodes corresponding to the declared variables are accessible throughiterator().LocalVariableDeclaration ::= ( "final" | Annotation )* Type VariableDeclarator ( "," VariableDeclarator )*
-
-
Field Summary
-
Fields inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
parser
-
-
Constructor Summary
Constructors Constructor Description ASTLocalVariableDeclaration(int id)ASTLocalVariableDeclaration(JavaParser p, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ASTAnnotationgetAnnotation(java.lang.String annotQualifiedName)Get specific annotaion on this node.intgetArrayDepth()Deprecated.java.util.List<ASTAnnotation>getDeclaredAnnotations()Get all annotations present on this node.ASTTypegetTypeNode()Gets the type node for this variable declaration statement.java.lang.StringgetVariableName()Deprecated.LocalVariableDeclaration may declare several variables, so this is not exhaustive Iterate on the VariableDeclaratorIds insteadbooleanhasSuppressWarningsAnnotationFor(net.sourceforge.pmd.Rule rule)booleanisAnnotationPresent(java.lang.String annotQualifiedName)Checks whether the annotation is present on this node.booleanisAnyAnnotationPresent(java.util.Collection<java.lang.String> annotQualifiedNames)Checks whether any annotation is present on this node.booleanisArray()Deprecated.booleanisTypeInferred()If true, this local variable declaration represents a declaration, which makes use of local variable type inference, e.g. java10 "var".java.util.Iterator<ASTVariableDeclaratorId>iterator()Returns an iterator over the ids of the variables declared in this statement.java.lang.ObjectjjtAccept(JavaParserVisitor visitor, java.lang.Object data)Accept the visitor-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode
getModifiers, isAbstract, isDefault, isFinal, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isTransient, isVolatile, setAbstract, setDefault, setFinal, setModifiers, setNative, setPrivate, setProtected, setPublic, setStatic, setStrictfp, setSynchronized, setTransient, setVolatile
-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
childrenAccept, comment, comment, getScope, getXPathNodeName, jjtClose, jjtOpen, setScope
-
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, getNthParent, getParentsOfType, getUserData, 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
childrenAccept, getScope, setScope
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.Node
findChildNodesWithXPath, findChildrenOfType, findDescendantsOfType, findDescendantsOfType, getAsDocument, getBeginColumn, getBeginLine, getDataFlowNode, getEndColumn, getEndLine, getFirstChildOfType, getFirstDescendantOfType, getFirstParentOfAnyType, getFirstParentOfType, getImage, getNthParent, getParentsOfType, getUserData, getXPathAttributesIterator, getXPathNodeName, hasDescendantMatchingXPath, hasDescendantOfType, hasImageEqualTo, isFindBoundary, jjtAddChild, jjtClose, jjtGetChild, jjtGetChildIndex, jjtGetId, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetChildIndex, jjtSetParent, remove, removeChildAtIndex, setDataFlowNode, setImage, setUserData
-
-
-
-
Constructor Detail
-
ASTLocalVariableDeclaration
public ASTLocalVariableDeclaration(int id)
-
ASTLocalVariableDeclaration
public ASTLocalVariableDeclaration(JavaParser p, int id)
-
-
Method Detail
-
jjtAccept
public java.lang.Object jjtAccept(JavaParserVisitor visitor, java.lang.Object data)
Description copied from class:AbstractJavaNodeAccept the visitor. *- Specified by:
jjtAcceptin interfaceJavaNode- Overrides:
jjtAcceptin classAbstractJavaNode
-
hasSuppressWarningsAnnotationFor
public boolean hasSuppressWarningsAnnotationFor(net.sourceforge.pmd.Rule rule)
- Specified by:
hasSuppressWarningsAnnotationForin interfaceCanSuppressWarnings
-
isTypeInferred
public boolean isTypeInferred()
If true, this local variable declaration represents a declaration, which makes use of local variable type inference, e.g. java10 "var". You can receive the inferred type viaAbstractJavaTypeNode.getType().- See Also:
ASTVariableDeclaratorId.isTypeInferred()
-
isArray
@Deprecated public boolean isArray()
Deprecated.- Specified by:
isArrayin interfaceDimensionable
-
getArrayDepth
@Deprecated public int getArrayDepth()
Deprecated.- Specified by:
getArrayDepthin interfaceDimensionable
-
getTypeNode
public ASTType getTypeNode()
Gets the type node for this variable declaration statement. With Java10 and local variable type inference, there might be no type node at all.- Returns:
- The type node or
null - See Also:
isTypeInferred()
-
getVariableName
@Deprecated public java.lang.String getVariableName()
Deprecated.LocalVariableDeclaration may declare several variables, so this is not exhaustive Iterate on the VariableDeclaratorIds insteadGets the variable name of this declaration. This method searches the first VariableDeclartorId node and returns it's image ornullif the child node is not found.- Returns:
- a String representing the name of the variable
-
iterator
public java.util.Iterator<ASTVariableDeclaratorId> iterator()
Returns an iterator over the ids of the variables declared in this statement.- Specified by:
iteratorin interfacejava.lang.Iterable<ASTVariableDeclaratorId>
-
getDeclaredAnnotations
public java.util.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.
-
getAnnotation
public ASTAnnotation getAnnotation(java.lang.String annotQualifiedName)
Description copied from interface:AnnotatableGet specific annotaion on this node.- Specified by:
getAnnotationin interfaceAnnotatable- Parameters:
annotQualifiedName- qulified name of the annotation.- Returns:
ASTAnnotaionnode if the annotation is present on this node, elsenull
-
isAnnotationPresent
public boolean isAnnotationPresent(java.lang.String annotQualifiedName)
Description copied from interface:AnnotatableChecks whether the annotation is present on this node.- Specified by:
isAnnotationPresentin interfaceAnnotatable- Parameters:
annotQualifiedName- qulified name of the annotation.- Returns:
trueif the annotation is present on this node, elsefalse
-
isAnyAnnotationPresent
public boolean isAnyAnnotationPresent(java.util.Collection<java.lang.String> annotQualifiedNames)
Description copied from interface:AnnotatableChecks whether any annotation is present on this node.- Specified by:
isAnyAnnotationPresentin interfaceAnnotatable- Parameters:
annotQualifiedNames- collection that cotains qulified name of annotations.- Returns:
trueif any annotation is present on this node, elsefalse
-
-