Class ASTCompactConstructorDeclaration

java.lang.Object
net.sourceforge.pmd.lang.ast.impl.AbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
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:
net.sourceforge.pmd.lang.ast.impl.GenericNode<JavaNode>, net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeNode<JavaNode>, net.sourceforge.pmd.lang.ast.Node, net.sourceforge.pmd.lang.ast.TextAvailableNode, Annotatable, ASTBodyDeclaration, JavadocCommentOwner, JavaNode, ModifierOwner, ReturnScopeNode, SymbolDeclaratorNode, net.sourceforge.pmd.reporting.Reportable

public final class ASTCompactConstructorDeclaration extends net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode> implements ASTBodyDeclaration, SymbolDeclaratorNode, ModifierOwner, JavadocCommentOwner, ReturnScopeNode
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 from getSymbol().

Compact record constructors must be declared "public".


 CompactConstructorDeclaration ::=  Modifiers
                                   <IDENTIFIER>
                                   Block

 
  • Field Details

  • Method Details

    • getReportLocation

      public net.sourceforge.pmd.lang.document.FileLocation getReportLocation()
      Specified by:
      getReportLocation in interface net.sourceforge.pmd.lang.ast.Node
      Specified by:
      getReportLocation in interface net.sourceforge.pmd.reporting.Reportable
    • getImage

      public String getImage()
      Specified by:
      getImage in interface net.sourceforge.pmd.lang.ast.Node
      Overrides:
      getImage in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • acceptVisitor

      protected <P, R> R acceptVisitor(JavaVisitor<? super P,? extends R> visitor, P data)
    • getBody

      public @NonNull ASTBlock getBody()
      Specified by:
      getBody in interface ReturnScopeNode
    • getDeclarationNode

      @Deprecated public ASTCompactConstructorDeclaration getDeclarationNode()
      Deprecated.
      Since 7.14.0. This method just returns `this` and isn't useful.
    • getEnclosingType

      public ASTRecordDeclaration getEnclosingType()
      Description copied from interface: JavaNode
      Returns the node representing the type declaration this node is found in. The type of that node is the type of the this expression.

      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:
      getEnclosingType in interface JavaNode
    • getSymbol

      public JConstructorSymbol getSymbol()
      Description copied from interface: SymbolDeclaratorNode
      Returns the symbol this node declares.
      Specified by:
      getSymbol in interface SymbolDeclaratorNode
    • jjtClose

      public void jjtClose()
      Overrides:
      jjtClose in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • acceptVisitor

      public final <P, R> R acceptVisitor(net.sourceforge.pmd.lang.ast.AstVisitor<? super P,? extends R> visitor, P data)
      Specified by:
      acceptVisitor in interface net.sourceforge.pmd.lang.ast.Node
    • addChild

      protected void addChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)
      Overrides:
      addChild in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • insertChild

      protected void insertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)
      Overrides:
      insertChild in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • removeChildAtIndex

      protected void removeChildAtIndex(int childIndex)
      Overrides:
      removeChildAtIndex in class net.sourceforge.pmd.lang.ast.impl.AbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • setImage

      protected void setImage(String image)
      Overrides:
      setImage in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • setFirstToken

      protected void setFirstToken(net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken token)
      Overrides:
      setFirstToken in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • setLastToken

      protected void setLastToken(net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken token)
      Overrides:
      setLastToken in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • enlargeLeft

      protected void enlargeLeft(net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken child)
      Overrides:
      enlargeLeft in class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • setChild

      protected void setChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)
      Overrides:
      setChild in class net.sourceforge.pmd.lang.ast.impl.AbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
    • getSymbolTable

      public @NonNull JSymbolTable getSymbolTable()
      Description copied from interface: JavaNode
      Returns the symbol table for the program point represented by this node.
      Specified by:
      getSymbolTable in interface JavaNode
    • getTypeSystem

      public TypeSystem getTypeSystem()
      Description copied from interface: JavaNode
      Returns the type system with which this node was created. This is the object responsible for representing types in the compilation unit.
      Specified by:
      getTypeSystem in interface JavaNode
    • getRoot

      public final @NonNull ASTCompilationUnit getRoot()
      Specified by:
      getRoot in interface JavaNode
      Specified by:
      getRoot in interface net.sourceforge.pmd.lang.ast.Node
    • getXPathNodeName

      public final String getXPathNodeName()
      Specified by:
      getXPathNodeName in interface net.sourceforge.pmd.lang.ast.Node