From 60557a8fdb1a293a0b1210f15e1e4ebc7c9566ad Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 20 Dec 2011 15:18:11 +0100 Subject: [PATCH] track NPE (EA-32624) --- .../impl/quickfix/ImportClassFixBase.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 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 e60f67bc6c97..63ec9c667a79 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 @@ -55,13 +55,23 @@ import java.util.regex.PatternSyntaxException; public abstract class ImportClassFixBase implements HintAction, HighPriorityAction { private final T myRef; - protected ImportClassFixBase(T ref) { + protected ImportClassFixBase(@NotNull T ref) { myRef = ref; } @Override - public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { - return myRef.isValid() && file.getManager().isInProject(file) && !getClassesToImport().isEmpty(); + public boolean isAvailable(@NotNull Project project, Editor editor, @NotNull PsiFile file) { + if (!myRef.isValid()) { + return false; + } + PsiManager manager = file.getManager(); + if (!manager.isInProject(file)) { + return false; + } + if (getClassesToImport().isEmpty()) { + return false; + } + return true; } @Nullable @@ -70,6 +80,7 @@ public abstract class ImportClassFixBase im protected abstract boolean hasTypeParameters(T reference); + @NotNull public List getClassesToImport() { PsiShortNamesCache cache = PsiShortNamesCache.getInstance(myRef.getProject()); String name = getReferenceName(myRef);