From 3b73d7897087052b8a9e8569a790c0e9244beb19 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Mon, 3 Feb 2014 15:23:12 +0400 Subject: [PATCH] IDEA-119508 pass context PsiFile to ImportFilter --- .../daemon/impl/quickfix/ImportClassFixBase.java | 3 ++- .../intellij/psi/impl/source/codeStyle/ImportHelper.java | 2 +- .../src/com/intellij/codeInsight/ImportFilter.java | 8 +++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFixBase.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFixBase.java index 510a79e4705a..957893ffe680 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFixBase.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImportClassFixBase.java @@ -113,6 +113,7 @@ public abstract class ImportClassFixBase classList = new ArrayList(classes.length); boolean isAnnotationReference = myElement.getParent() instanceof PsiAnnotation; + final PsiFile file = myElement.getContainingFile(); for (PsiClass aClass : classes) { if (isAnnotationReference && !aClass.isAnnotationType()) continue; if (JavaCompletionUtil.isInExcludedPackage(aClass, false)) continue; @@ -120,7 +121,7 @@ public abstract class ImportClassFixBase EP_NAME = new ExtensionPointName("com.intellij.importFilter"); - public abstract boolean shouldUseFullyQualifiedName(@NotNull String classQualifiedName); + public abstract boolean shouldUseFullyQualifiedName(@Nullable PsiFile targetFile, @NotNull String classQualifiedName); - public static boolean shouldImport(@NotNull String classQualifiedName) { + public static boolean shouldImport(@Nullable PsiFile targetFile, @NotNull String classQualifiedName) { for (ImportFilter filter : EP_NAME.getExtensions()) { - if (filter.shouldUseFullyQualifiedName(classQualifiedName)) { + if (filter.shouldUseFullyQualifiedName(targetFile, classQualifiedName)) { return false; } }