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,AccessNode,Annotatable,FinalizableNode,JavaNode,TypeNode,Reportable
public final class ASTFormalParameter extends AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode> implements FinalizableNode, TypeNode, Annotatable
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 ::=
LocalVarModifierListTypeVariableDeclaratorId
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sourceforge.pmd.lang.java.ast.AccessNode
AccessNode.Visibility
-
-
Field Summary
Fields Modifier and Type Field Description protected JSymbolTablesymbolTable-
Fields inherited from class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode
id
-
Fields inherited from interface net.sourceforge.pmd.lang.ast.Node
COORDS_COMPARATOR
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <P,R>
RacceptVisitor(AstVisitor<? super P,? extends R> visitor, P data)protected <P,R>
RacceptVisitor(JavaVisitor<? super P,? extends R> visitor, P data)protected voidaddChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)ASTFormalParametersgetOwnerList()Returns the list of formal parameters containing this param.@NonNull ASTCompilationUnitgetRoot()@NonNull JSymbolTablegetSymbolTable()Returns the symbol table for the program point represented by this node.@NonNull JTypeMirrorgetTypeMirror(TypingContext ctx)ASTTypegetTypeNode()Returns the type node of this formal parameter.TypeSystemgetTypeSystem()Returns the type system with which this node was created.@NonNull ASTVariableDeclaratorIdgetVarId()Returns the declarator ID of this formal parameter.AccessNode.VisibilitygetVisibility()Returns the visibility corresponding to theeffective modifiers.StringgetXPathNodeName()protected voidinsertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)booleanisVarargs()Returns 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 voidsetImage(String image)protected voidsetLastToken(JavaccToken token)-
Methods inherited from class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode
compareLocation, fitTokensToChildren, getFirstToken, getImage, getLastToken, getTextRegion, jjtOpen, toString
-
Methods inherited from class net.sourceforge.pmd.lang.ast.impl.AbstractNode
children, firstChild, getChild, getIndexInParent, getNumChildren, getParent, getUserMap, remove, setParent
-
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.AccessNode
getDeclaredAnnotations, getEffectiveVisibility, getModifiers, hasExplicitModifiers, hasModifiers, isAbstract, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isSyntacticallyAbstract, isSyntacticallyFinal, isSyntacticallyPublic, isSyntacticallyStatic, isTransient, isVolatile
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.Annotatable
getAnnotation, isAnnotationPresent, isAnnotationPresent, isAnyAnnotationPresent
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.FinalizableNode
isFinal
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.impl.GenericNode
ancestors, ancestorsOrSelf, asStream, children, descendants, descendantsOrSelf, getChild, getFirstChild, getLastChild, getNextSibling, getNthParent, getParent, getPreviousSibling
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.JavaNode
getEnclosingType, getRoot, getSymbolTable, getTypeSystem, jjtAccept
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeNode
getFirstToken, getLastToken, tokens
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.Node
acceptVisitor, ancestors, children, compareLocation, descendants, findChildNodesWithXPath, findChildrenOfType, findDescendantsOfType, findDescendantsOfType, firstChild, getAstInfo, getBeginColumn, getBeginLine, getEndColumn, getEndLine, getFirstChildOfType, getFirstDescendantOfType, getFirstParentOfType, getImage, getIndexInParent, getLanguageVersion, getNumChildren, getParentsOfType, getReportLocation, getTextDocument, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasDescendantOfType, hasImageEqualTo, isFindBoundary
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.TextAvailableNode
getOriginalText, getText, getTextRegion
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.TypeNode
getType, getTypeMirror
-
-
-
-
Field Detail
-
symbolTable
protected JSymbolTable symbolTable
-
-
Method Detail
-
getVisibility
public AccessNode.Visibility getVisibility()
Description copied from interface:AccessNodeReturns the visibility corresponding to theeffective modifiers. Eg a public method will have visibilitypublic, a local class will have visibilitylocal. There cannot be any conflict withAccessNode.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 interfaceAccessNode
-
getOwnerList
public ASTFormalParameters 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
protected <P,R> R acceptVisitor(JavaVisitor<? super P,? extends R> visitor, P data)
-
getVarId
public @NonNull ASTVariableDeclaratorId getVarId()
Returns the declarator ID of this formal parameter.
-
getTypeNode
public ASTType getTypeNode()
Returns the type node of this formal parameter.If this formal parameter is varargs, the type node is an
ASTArrayType.
-
getTypeMirror
public @NonNull JTypeMirror getTypeMirror(TypingContext ctx)
- Specified by:
getTypeMirrorin interfaceTypeNode
-
jjtClose
public void jjtClose()
- Overrides:
jjtClosein classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
acceptVisitor
public final <P,R> R acceptVisitor(AstVisitor<? super P,? extends R> visitor, P data)
- 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
protected void setImage(String image)
- Overrides:
setImagein classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setFirstToken
protected void setFirstToken(JavaccToken token)
- Overrides:
setFirstTokenin classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setLastToken
protected void setLastToken(JavaccToken token)
- Overrides:
setLastTokenin 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
public @NonNull JSymbolTable getSymbolTable()
Description copied from interface:JavaNodeReturns the symbol table for the program point represented by this node.- Specified by:
getSymbolTablein interfaceJavaNode
-
getTypeSystem
public TypeSystem 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
public final @NonNull ASTCompilationUnit getRoot()
-
getXPathNodeName
public final String getXPathNodeName()
- Specified by:
getXPathNodeNamein interfaceNode
-
-