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:
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,ASTTopLevelDeclaration,JavaNode,net.sourceforge.pmd.reporting.Reportable
public final class ASTImportDeclaration extends net.sourceforge.pmd.lang.ast.impl.javacc.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:
- JLS 7.5
-
-
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)StringgetImage()@NonNull StringgetImportedName()Returns the full name of the import.StringgetImportedSimpleName()Returns the simple name of the type or method imported by this declaration.StringgetPackageName()Returns the "package" prefix of the imported name.@NonNull ASTCompilationUnitgetRoot()@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)booleanisImportOnDemand()Returns true if this is an import-on-demand declaration, aka "wildcard import".booleanisModuleImport()If 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(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, 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.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.ast.Node
acceptVisitor, ancestors, children, compareLocation, descendants, firstChild, getAstInfo, getBeginColumn, getBeginLine, getEndColumn, getEndLine, getIndexInParent, getLanguageVersion, getNumChildren, getReportLocation, getTextDocument, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasImageEqualTo, isFindBoundary
-
-
-
-
Field Detail
-
symbolTable
protected JSymbolTable symbolTable
-
-
Method Detail
-
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
public @NonNull String 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
public String getImage()
- Specified by:
getImagein interfacenet.sourceforge.pmd.lang.ast.Node- Overrides:
getImagein classnet.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<net.sourceforge.pmd.lang.java.ast.AbstractJavaNode,JavaNode>
-
getImportedSimpleName
public String 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
public String 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
protected <P,R> R acceptVisitor(JavaVisitor<? super P,? extends R> visitor, P data)
-
isModuleImport
@Experimental 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.5.0
- See Also:
- JEP 476: Module Import Declarations (Preview) (Java 23)
-
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
-
-