diff --git a/python/src/com/jetbrains/python/codeInsight/imports/AutoImportQuickFix.java b/python/src/com/jetbrains/python/codeInsight/imports/AutoImportQuickFix.java index e3562b6479f4..b547a5b254d6 100644 --- a/python/src/com/jetbrains/python/codeInsight/imports/AutoImportQuickFix.java +++ b/python/src/com/jetbrains/python/codeInsight/imports/AutoImportQuickFix.java @@ -36,6 +36,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; @@ -47,12 +48,10 @@ import java.util.List; */ public class AutoImportQuickFix extends LocalQuickFixOnPsiElement implements HighPriorityAction { - private final PsiReference myReference; - + protected final PsiReference myReference; protected final List myImports; // from where and what to import - private final String myInitialName; - - boolean myUseQualifiedImport; + protected final String myInitialName; + protected final boolean myUseQualifiedImport; private boolean myExpended; /** @@ -61,10 +60,15 @@ public class AutoImportQuickFix extends LocalQuickFixOnPsiElement implements Hig * @param name name to import * @param qualify if true, add an "import ..." statement and qualify the name; else use "from ... import name" */ - public AutoImportQuickFix(PsiElement node, PsiReference reference, String name, boolean qualify) { + public AutoImportQuickFix(@NotNull PsiElement node, @NotNull PsiReference reference, @NotNull String name, boolean qualify) { + this(node, reference, name, qualify, Collections.emptyList()); + } + + protected AutoImportQuickFix(@NotNull PsiElement node, @NotNull PsiReference reference, @NotNull String name, boolean qualify, + @NotNull Collection candidates) { super(node); myReference = reference; - myImports = new ArrayList(); + myImports = new ArrayList(candidates); myInitialName = name; myUseQualifiedImport = qualify; myExpended = false; @@ -199,15 +203,7 @@ public class AutoImportQuickFix extends LocalQuickFixOnPsiElement implements Hig @NotNull public AutoImportQuickFix forLocalImport() { - return new AutoImportQuickFix(AutoImportQuickFix.this.getStartElement(), - AutoImportQuickFix.this.myReference, - AutoImportQuickFix.this.myInitialName, - AutoImportQuickFix.this.myUseQualifiedImport) { - - { - myImports.addAll(AutoImportQuickFix.this.myImports); - } - + return new AutoImportQuickFix(getStartElement(), myReference, myInitialName, myUseQualifiedImport, myImports) { @NotNull @Override public String getFamilyName() { @@ -223,7 +219,7 @@ public class AutoImportQuickFix extends LocalQuickFixOnPsiElement implements Hig @NotNull @Override protected ImportFromExistingAction createAction() { - return new ImportFromExistingAction(getStartElement(), AutoImportQuickFix.this.myImports, AutoImportQuickFix.this.myInitialName, myUseQualifiedImport, true); + return new ImportFromExistingAction(getStartElement(), myImports, myInitialName, myUseQualifiedImport, true); } }; }