Class ASTImportDeclaration
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.ASTImportDeclaration
- All Implemented Interfaces:
GenericNode<JavaNode>,JjtreeNode<JavaNode>,Node,TextAvailableNode,ASTTopLevelDeclaration,JavaNode,Reportable
public final class ASTImportDeclaration
extends AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
implements ASTTopLevelDeclaration
Represents an import declaration in a Java file.
ImportDeclaration ::= "import" ("static" | "module")? Name ( "." "*" )? ";"
- See Also:
-
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) protected voidenlargeLeft(JavaccToken child) getImage()@NonNull StringReturns the full name of the import.Returns the simple name of the type or method imported by this declaration.Returns the "package" prefix of the imported name.final @NonNull ASTCompilationUnitgetRoot()@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 is an import-on-demand declaration, aka "wildcard import".booleanIf this import declaration imports all the public top-level classes and interfaces of a module.booleanisStatic()Returns true if this is a static import.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, 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
getEnclosingType, getRoot, getSymbolTable, getTypeSystemMethods inherited from interface net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeNode
getFirstToken, getLastToken, tokensMethods inherited from interface net.sourceforge.pmd.lang.ast.Node
acceptVisitor, ancestors, children, compareLocation, descendants, firstChild, getAstInfo, getBeginColumn, getBeginLine, getEndColumn, getEndLine, getIndexInParent, getLanguageVersion, getNumChildren, getReportLocation, getTextDocument, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasImageEqualTo, isFindBoundaryMethods inherited from interface net.sourceforge.pmd.lang.ast.TextAvailableNode
getOriginalText, getText, getTextRegion
-
Field Details
-
symbolTable
-
-
Method Details
-
isImportOnDemand
public boolean isImportOnDemand()Returns true if this is an import-on-demand declaration, aka "wildcard import".- If this is a static import, then the imported names are those of the accessible static members of the named type;
- Otherwise, the imported names are the names of the accessible types of the named type or named package.
-
isStatic
public boolean isStatic()Returns true if this is a static import. If this import is not on-demand,getImportedSimpleName()returns the name of the imported member. -
getImportedName
Returns the full name of the import. For on-demand imports, this is the name without the final dot and asterisk. Formodule declaration imports, this is the name of the module. -
getImage
- Specified by:
getImagein interfaceNode- Overrides:
getImagein classAbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
getImportedSimpleName
Returns the simple name of the type or method imported by this declaration. For on-demand imports, returnsnull.For
module import declarations, this returnsnull. UsegetImportedName()for the module name of a module import declaration. -
getPackageName
Returns the "package" prefix of the imported name. For type imports, including on-demand imports, this is really the package name of the imported type(s). For static imports, this is actually the qualified name of the enclosing type, including the type name.For
module import declarations, this returnsnull. UsegetImportedName()for the module name of a module import declaration. -
acceptVisitor
-
isModuleImport
public boolean isModuleImport()If this import declaration imports all the public top-level classes and interfaces of a module.- Returns:
trueif this is a module declaration import- Since:
- 7.16.0
- See Also:
-
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
-