Class ASTCompactConstructorDeclaration
- 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.ASTCompactConstructorDeclaration
-
- All Implemented Interfaces:
GenericNode<JavaNode>,JjtreeNode<JavaNode>,Node,TextAvailableNode,Annotatable,ASTBodyDeclaration,JavaNode,ModifierOwner,SymbolDeclaratorNode,Reportable
public final class ASTCompactConstructorDeclaration extends AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode> implements ASTBodyDeclaration, SymbolDeclaratorNode, ModifierOwner
This defines a compact constructor for a RecordDeclaration (JDK 16 feature). Compact constructors implicitly declares formal parameters corresponding to the record component list. These can be fetched fromgetSymbol().Compact record constructors must be declared "public".
CompactConstructorDeclaration ::=
Modifiers<IDENTIFIER>Block
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sourceforge.pmd.lang.java.ast.ModifierOwner
ModifierOwner.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)ASTBlockgetBody()ASTCompactConstructorDeclarationgetDeclarationNode()ASTRecordDeclarationgetEnclosingType()Returns the node representing the type declaration this node is found in.@NonNull ASTCompilationUnitgetRoot()JConstructorSymbolgetSymbol()Returns the symbol this node declares.@NonNull JSymbolTablegetSymbolTable()Returns the symbol table for the program point represented by this node.TypeSystemgetTypeSystem()Returns the type system with which this node was created.StringgetXPathNodeName()protected voidinsertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)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.Annotatable
getAnnotation, isAnnotationPresent, isAnnotationPresent, isAnyAnnotationPresent
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.impl.GenericNode
ancestors, ancestorsOrSelf, asStream, children, descendants, descendantsOrSelf, getChild, getFirstChild, getLastChild, getNextSibling, getParent, getPreviousSibling
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.JavaNode
getRoot, getSymbolTable, getTypeSystem
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeNode
getFirstToken, getLastToken, tokens
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.ModifierOwner
getDeclaredAnnotations, getEffectiveVisibility, getModifiers, getVisibility, hasExplicitModifiers, hasModifiers, hasVisibility
-
Methods 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, isFindBoundary
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.TextAvailableNode
getOriginalText, getText, getTextRegion
-
-
-
-
Field Detail
-
symbolTable
protected JSymbolTable symbolTable
-
-
Method Detail
-
acceptVisitor
protected <P,R> R acceptVisitor(JavaVisitor<? super P,? extends R> visitor, P data)
-
getBody
public ASTBlock getBody()
-
getDeclarationNode
public ASTCompactConstructorDeclaration getDeclarationNode()
-
getEnclosingType
public ASTRecordDeclaration getEnclosingType()
Description copied from interface:JavaNodeReturns the node representing the type declaration this node is found in. The type of that node is the type of thethisexpression.This returns null for nodes that aren't enclosed in a type declaration. This includes PackageDeclaration, This includes ImportDeclaration, ModuleDeclaration, CompilationUnit, and top-level TypeDeclarations.
- Specified by:
getEnclosingTypein interfaceJavaNode
-
getSymbol
public JConstructorSymbol getSymbol()
Description copied from interface:SymbolDeclaratorNodeReturns the symbol this node declares.- Specified by:
getSymbolin interfaceSymbolDeclaratorNode
-
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
-
-