Class ASTFormalParameter
java.lang.Object
net.sourceforge.pmd.lang.ast.impl.AbstractNode<B,N>
net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
net.sourceforge.pmd.lang.java.ast.ASTFormalParameter
- All Implemented Interfaces:
GenericNode<JavaNode>,JjtreeNode<JavaNode>,Node,TextAvailableNode,Annotatable,JavaNode,ModifierOwner,TypeNode,Reportable
public final class ASTFormalParameter
extends AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
implements ModifierOwner, TypeNode
Formal parameter node for a formal parameter list.
This is distinct from lambda parameters.
The varargs ellipsis "..." is parsed as an array dimension
in the type node.
FormalParameter ::=LocalVarModifierListTypeVariableId
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.sourceforge.pmd.lang.java.ast.ModifierOwner
ModifierOwner.Visibility -
Field Summary
FieldsFields inherited from class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode
idFields inherited from interface net.sourceforge.pmd.lang.ast.Node
COORDS_COMPARATOR -
Method Summary
Modifier and TypeMethodDescriptionfinal <P,R> R acceptVisitor(AstVisitor<? super P, ? extends R> visitor, P data) protected <P,R> R acceptVisitor(JavaVisitor<? super P, ? extends R> visitor, P data) protected voidaddChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) protected voidenlargeLeft(JavaccToken child) Returns the list of formal parameters containing this param.final @NonNull ASTCompilationUnitgetRoot()@NonNull JSymbolTableReturns the symbol table for the program point represented by this node.@NonNull JTypeMirrorReturns the type node of this formal parameter.Returns the type system with which this node was created.@NonNull ASTVariableIdgetVarId()Returns the declarator ID of this formal parameter.Returns the visibility corresponding to theeffective modifiers.final Stringprotected voidinsertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) booleanisFinal()booleanReturns true if this node is a varargs parameter.voidjjtClose()protected voidremoveChildAtIndex(int childIndex) protected voidsetChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) protected voidsetFirstToken(JavaccToken token) protected voidprotected voidsetLastToken(JavaccToken token) Methods inherited from class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode
compareLocation, fitTokensToChildren, getFirstToken, getImage, getLastToken, getTextRegion, jjtOpen, toStringMethods inherited from class net.sourceforge.pmd.lang.ast.impl.AbstractNode
children, firstChild, getChild, getIndexInParent, getNumChildren, getParent, getUserMap, remove, setParentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.sourceforge.pmd.lang.java.ast.Annotatable
getAnnotation, isAnnotationPresent, isAnnotationPresent, isAnyAnnotationPresentMethods inherited from interface net.sourceforge.pmd.lang.ast.impl.GenericNode
ancestors, ancestorsOrSelf, asStream, children, descendants, descendantsOrSelf, getChild, getFirstChild, getLastChild, getNextSibling, getParent, getPreviousSiblingMethods inherited from interface net.sourceforge.pmd.lang.java.ast.JavaNode
getEnclosingType, getRoot, getSymbolTable, getTypeSystemMethods inherited from interface net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeNode
getFirstToken, getLastToken, tokensMethods inherited from interface net.sourceforge.pmd.lang.java.ast.ModifierOwner
getDeclaredAnnotations, getEffectiveVisibility, getModifiers, hasExplicitModifiers, hasModifiers, hasVisibilityMethods inherited from interface net.sourceforge.pmd.lang.ast.Node
acceptVisitor, ancestors, children, compareLocation, descendants, firstChild, getAstInfo, getBeginColumn, getBeginLine, getEndColumn, getEndLine, getImage, getIndexInParent, getLanguageVersion, getNumChildren, getReportLocation, getTextDocument, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasImageEqualTo, isFindBoundaryMethods inherited from interface net.sourceforge.pmd.lang.ast.TextAvailableNode
getOriginalText, getText, getTextRegionMethods inherited from interface net.sourceforge.pmd.lang.java.ast.TypeNode
getTypeMirror
-
Field Details
-
symbolTable
-
-
Method Details
-
getVisibility
Description copied from interface:ModifierOwnerReturns the visibility corresponding to theeffective modifiers. Eg a public method will have visibilitypublic, a local class will have visibilitylocal. There cannot be any conflict withModifierOwner.hasModifiers(JModifier, JModifier...)} on well-formed code (e.g. for anyn,(n.getVisibility() == V_PROTECTED) == n.hasModifiers(PROTECTED))TODO a public method of a private class can be considered to be private we could probably add another method later on that takes this into account
- Specified by:
getVisibilityin interfaceModifierOwner
-
getOwnerList
Returns the list of formal parameters containing this param. -
isVarargs
public boolean isVarargs()Returns true if this node is a varargs parameter. Then, the type node is anArrayType, and its last dimension is varargs. -
acceptVisitor
-
getVarId
Returns the declarator ID of this formal parameter. -
getTypeNode
Returns the type node of this formal parameter.If this formal parameter is varargs, the type node is an
ASTArrayType. -
getTypeMirror
- Specified by:
getTypeMirrorin interfaceTypeNode
-
isFinal
public boolean isFinal() -
jjtClose
public void jjtClose()- Overrides:
jjtClosein classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
acceptVisitor
- Specified by:
acceptVisitorin interfaceNode
-
addChild
protected void addChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) - Overrides:
addChildin classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
insertChild
protected void insertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) - Overrides:
insertChildin classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
removeChildAtIndex
protected void removeChildAtIndex(int childIndex) - Overrides:
removeChildAtIndexin classAbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setImage
- Overrides:
setImagein classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setFirstToken
- Overrides:
setFirstTokenin classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setLastToken
- Overrides:
setLastTokenin classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
enlargeLeft
- Overrides:
enlargeLeftin classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setChild
protected void setChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) - Overrides:
setChildin classAbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
getSymbolTable
Description copied from interface:JavaNodeReturns the symbol table for the program point represented by this node.- Specified by:
getSymbolTablein interfaceJavaNode
-
getTypeSystem
Description copied from interface:JavaNodeReturns the type system with which this node was created. This is the object responsible for representing types in the compilation unit.- Specified by:
getTypeSystemin interfaceJavaNode
-
getRoot
-
getXPathNodeName
- Specified by:
getXPathNodeNamein interfaceNode
-