diff --git a/python/psi-api/src/com/jetbrains/python/psi/PyFile.java b/python/psi-api/src/com/jetbrains/python/psi/PyFile.java index 50d24a12cc3a..371f83a08204 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/PyFile.java +++ b/python/psi-api/src/com/jetbrains/python/psi/PyFile.java @@ -2,6 +2,7 @@ package com.jetbrains.python.psi; import com.intellij.psi.PsiFile; import com.jetbrains.python.codeInsight.controlflow.ScopeOwner; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -28,6 +29,12 @@ public interface PyFile extends PyElement, PsiFile, PyDocStringOwner, ScopeOwner List getFromImports(); + /** + * Returns the list of import elements in all 'import xxx' statements within the file. + * + * @return the list of import targets. + */ + @NotNull List getImportTargets(); /** diff --git a/python/src/com/jetbrains/python/psi/impl/PyFileImpl.java b/python/src/com/jetbrains/python/psi/impl/PyFileImpl.java index d79452073a71..0794b7eda772 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyFileImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyFileImpl.java @@ -513,6 +513,7 @@ public class PyFileImpl extends PsiFileBase implements PyFile, PyExpression { return false; } + @NotNull public List getImportTargets() { List ret = new ArrayList(); List imports = PyPsiUtils.collectStubChildren(this, this.getStub(), PyElementTypes.IMPORT_STATEMENT, PyImportStatement.class);