diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MyStaticMembersProcessor.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MyStaticMembersProcessor.java index 1848382e04ec..58767bf612e0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MyStaticMembersProcessor.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MyStaticMembersProcessor.java @@ -46,7 +46,7 @@ abstract class MyStaticMembersProcessor implements Processo protected abstract boolean isApplicable(T member, PsiElement place); @NotNull - public List getMembersToImport() { + public List getMembersToImport(boolean applicableOnly) { final List list = new ArrayList(); final List applicableList = new ArrayList(); for (Map.Entry> methodEntry : mySuggestions.entrySet()) { @@ -57,7 +57,7 @@ abstract class MyStaticMembersProcessor implements Processo registerMember(deprecatedMethod.getKey(), deprecatedMethod.getValue(), list, applicableList); } - List result = applicableList.isEmpty() ? list : applicableList; + List result = !applicableOnly && applicableList.isEmpty() ? list : applicableList; for (int i = result.size() - 1; i >= 0; i--) { ProgressManager.checkCanceled(); T method = result.get(i); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportConstantFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportConstantFix.java index 489596bc50e0..5404c1fa3e79 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportConstantFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportConstantFix.java @@ -52,7 +52,7 @@ public class StaticImportConstantFix extends StaticImportMemberFix { @NotNull @Override - protected List getMembersToImport() { + protected List getMembersToImport(boolean applicableOnly) { final Project project = myRef.getProject(); PsiShortNamesCache cache = PsiShortNamesCache.getInstance(project); final PsiJavaCodeReferenceElement element = myRef.getElement(); @@ -66,7 +66,7 @@ public class StaticImportConstantFix extends StaticImportMemberFix { } }; cache.processFieldsWithName(name, processor, element.getResolveScope(), null); - return processor.getMembersToImport(); + return processor.getMembersToImport(applicableOnly); } @NotNull diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMemberFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMemberFix.java index 481417926ab6..f06ad54a3f23 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMemberFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMemberFix.java @@ -70,11 +70,11 @@ public abstract class StaticImportMemberFix implements Inte && getQualifierExpression() == null && resolveRef() == null && file.getManager().isInProject(file) - && !(candidates == null ? candidates = getMembersToImport() : candidates).isEmpty() + && !(candidates == null ? candidates = getMembersToImport(false) : candidates).isEmpty() ; } - @NotNull protected abstract List getMembersToImport(); + @NotNull protected abstract List getMembersToImport(boolean applicableOnly); @NotNull protected abstract QuestionAction createQuestionAction(List methodsToImport, @NotNull Project project, Editor editor); @Nullable protected abstract PsiElement getElement(); @@ -87,7 +87,7 @@ public abstract class StaticImportMemberFix implements Inte ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { - final List methodsToImport = getMembersToImport(); + final List methodsToImport = getMembersToImport(false); if (methodsToImport.isEmpty()) return; createQuestionAction(methodsToImport, project, editor).execute(); } @@ -95,6 +95,7 @@ public abstract class StaticImportMemberFix implements Inte } private ImportClassFixBase.Result doFix(Editor editor) { + final List candidates = getMembersToImport(true); if (candidates.isEmpty()) { return ImportClassFixBase.Result.POPUP_NOT_SHOWN; } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java index 7a960fdd8188..ca02a63a6e85 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java @@ -55,7 +55,7 @@ public class StaticImportMethodFix extends StaticImportMemberFix { @NotNull @Override - protected List getMembersToImport() { + protected List getMembersToImport(boolean applicableOnly) { final Project project = myMethodCall.getProject(); PsiShortNamesCache cache = PsiShortNamesCache.getInstance(project); final PsiMethodCallExpression element = myMethodCall.getElement(); @@ -64,7 +64,7 @@ public class StaticImportMethodFix extends StaticImportMemberFix { if (name == null) return Collections.emptyList(); final MyStaticMembersProcessor processor = new MyStaticMethodProcessor(project, element); cache.processMethodsWithName(name, element.getResolveScope(), processor); - return processor.getMembersToImport(); + return processor.getMembersToImport(applicableOnly); } public static boolean isExcluded(PsiMember method) {