Class ASTExplicitConstructorInvocation
- 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.ASTExplicitConstructorInvocation
-
- 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,ASTStatement,InvocationNode,JavaNode,MethodUsage,TypeNode,net.sourceforge.pmd.reporting.Reportable
public final class ASTExplicitConstructorInvocation extends net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode> implements InvocationNode, ASTStatement
An explicit constructor invocation, occurring at the start of a constructor declaration.See JLS 8.8.7.1.
ExplicitConstructorInvocation ::=
TypeArguments? "this"ArgumentList";" |TypeArguments? "super"ArgumentList";" |Expression"."TypeArguments? "super"ArgumentList";"
-
-
Field Summary
Fields Modifier and Type Field Description protected JSymbolTablesymbolTable
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <P,R>
RacceptVisitor(net.sourceforge.pmd.lang.ast.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)protected voidenlargeLeft(net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken child)intgetArgumentCount()Returns the number of arguments of the called constructor.@NonNull ASTArgumentListgetArguments()Returns the node representing the list of arguments passed to the invocation.@Nullable ASTTypeArgumentsgetExplicitTypeArguments()Returns the explicit type arguments if they exist.OverloadSelectionResultgetOverloadSelectionInfo()Returns information about the overload selection for this call.@Nullable ASTExpressiongetQualifier()Returns the qualifying expression if this is a qualified superclass constructor invocation.@NonNull ASTCompilationUnitgetRoot()@NonNull JSymbolTablegetSymbolTable()Returns the symbol table for the program point represented by this node.@NonNull JTypeMirrorgetTypeMirror()Returns the compile-time type of this node.@NonNull JTypeMirrorgetTypeMirror(TypingContext context)TypeSystemgetTypeSystem()Returns the type system with which this node was created.StringgetXPathNodeName()protected voidinsertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)booleanisQualified()Returns true if this is a qualified superclass constructor invocation.booleanisSuper()Returns true if this statement calls a constructor of the direct superclass.booleanisThis()Returns true if this statement calls a constructor of the same class.voidjjtClose()protected voidremoveChildAtIndex(int childIndex)protected voidsetChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)protected voidsetFirstToken(net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken token)protected voidsetImage(String image)protected voidsetLastToken(net.sourceforge.pmd.lang.ast.impl.javacc.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.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.InvocationNode
getMethodType
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.JavaNode
getEnclosingType, 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.MethodUsage
getMethodName
-
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
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.TypeNode
getTypeMirror, getTypeMirror
-
-
-
-
Field Detail
-
symbolTable
protected JSymbolTable symbolTable
-
-
Method Detail
-
acceptVisitor
protected <P,R> R acceptVisitor(JavaVisitor<? super P,? extends R> visitor, P data)
-
getArguments
public @NonNull ASTArgumentList getArguments()
Description copied from interface:InvocationNodeReturns the node representing the list of arguments passed to the invocation. Can be null if this is anASTEnumConstant.- Specified by:
getArgumentsin interfaceInvocationNode
-
getArgumentCount
public int getArgumentCount()
Returns the number of arguments of the called constructor.
-
isThis
public boolean isThis()
Returns true if this statement calls a constructor of the same class. The JLS calls that an alternate constructor invocation.
-
isSuper
public boolean isSuper()
Returns true if this statement calls a constructor of the direct superclass. The JLS calls that a superclass constructor invocation.
-
isQualified
public boolean isQualified()
Returns true if this is a qualified superclass constructor invocation. They allow a subclass constructor to explicitly specify the newly created object's immediately enclosing instance with respect to the direct superclass (ยง8.1.3). This may be necessary when the superclass is an inner class.
-
getExplicitTypeArguments
public @Nullable ASTTypeArguments getExplicitTypeArguments()
Description copied from interface:InvocationNodeReturns the explicit type arguments if they exist.- Specified by:
getExplicitTypeArgumentsin interfaceInvocationNode
-
getQualifier
public @Nullable ASTExpression getQualifier()
Returns the qualifying expression if this is a qualified superclass constructor invocation.
-
getOverloadSelectionInfo
public OverloadSelectionResult getOverloadSelectionInfo()
Description copied from interface:InvocationNodeReturns information about the overload selection for this call. Be aware, that selection might have failed (OverloadSelectionResult.isFailed()).- Specified by:
getOverloadSelectionInfoin interfaceInvocationNode
-
getTypeMirror
public @NonNull JTypeMirror getTypeMirror()
Description copied from interface:TypeNodeReturns the compile-time type of this node. For example, for a string literal, returns the type mirror forString, for a method call, returns the return type of the call, etc.This method ignores conversions applied to the value of the node because of its context. For example, in
1 + "", the numeric literal will have typeint, but it is converted toStringby the surrounding concatenation expression. Similarly, inCollections.singletonList(1), theASTNumericLiteralnode has typeint, but the type of the method formal isInteger, and boxing is applied at runtime. Possibly, an API will be added to expose this information.- Specified by:
getTypeMirrorin interfaceTypeNode- Returns:
- The type mirror. Never returns null; if the type is unresolved, returns
TypeSystem.UNKNOWN.
-
getTypeMirror
public @NonNull JTypeMirror getTypeMirror(TypingContext context)
- Specified by:
getTypeMirrorin interfaceTypeNode
-
jjtClose
public void jjtClose()
- Overrides:
jjtClosein classnet.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:
acceptVisitorin interfacenet.sourceforge.pmd.lang.ast.Node
-
addChild
protected void addChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index)- Overrides:
addChildin classnet.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:
insertChildin classnet.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
removeChildAtIndex
protected void removeChildAtIndex(int childIndex)
- Overrides:
removeChildAtIndexin classnet.sourceforge.pmd.lang.ast.impl.AbstractNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
setImage
protected void setImage(String image)
- Overrides:
setImagein classnet.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:
setFirstTokenin classnet.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:
setLastTokenin classnet.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:
enlargeLeftin classnet.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:
setChildin classnet.sourceforge.pmd.lang.ast.impl.AbstractNode<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 interfacenet.sourceforge.pmd.lang.ast.Node
-
-