Class ASTResource
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.ASTResource
- All Implemented Interfaces:
GenericNode<JavaNode>,JjtreeNode<JavaNode>,Node,TextAvailableNode,JavaNode,Reportable
public final class ASTResource
extends AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
A resource of a try-with-resources. This contains another
node that represents the resource, according to the grammar below.
In the case of concise try-with resources, the subexpressions are required to be only field accesses or variable references to compile.
Resource ::=LocalVariableDeclaration|PrimaryExpression
-
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) @Nullable ASTLocalVariableDeclarationprotected voidenlargeLeft(JavaccToken child) Returns the initializer of the expression.final @NonNull ASTCompilationUnitgetRoot()Deprecated.Since 7.1.0.@NonNull JSymbolTableReturns the symbol table for the program point represented by this node.Returns the type system with which this node was created.final Stringprotected voidinsertChild(net.sourceforge.pmd.lang.java.ast.AbstractJavaNode child, int index) booleanReturns true if this appears as an expression, and not as a local variable declaration.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.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
getEnclosingTypeMethods inherited from interface net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeNode
getFirstToken, getLastToken, tokensMethods inherited from interface net.sourceforge.pmd.lang.ast.Node
ancestors, children, compareLocation, descendants, firstChild, getAstInfo, getBeginColumn, getBeginLine, getEndColumn, getEndLine, getImage, getIndexInParent, getLanguageVersion, getNumChildren, getReportLocation, getTextDocument, getUserMap, getXPathAttributesIterator, hasImageEqualTo, isFindBoundaryMethods inherited from interface net.sourceforge.pmd.lang.ast.TextAvailableNode
getOriginalText, getText, getTextRegion
-
Field Details
-
symbolTable
-
-
Method Details
-
acceptVisitor
-
isConciseResource
public boolean isConciseResource()Returns true if this appears as an expression, and not as a local variable declaration. -
getStableName
Deprecated.Since 7.1.0. This method is not very useful because the expression might be complex and not have a real "name". In this case we return the expression pretty printed.Gets the name with which the resource can be accessed in the body of the try statement. If this is a concise resource, then returns the sequence of names that identifies the expression. If this has a local variable declaration, then returns the name of the variable. -
asLocalVariableDeclaration
-
getInitializer
Returns the initializer of the expression. If this is a concise resource, then returns that expression. If this is a local variable declaration, returns the initializer of the variable. -
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
-