From 2188212ef2b1fbcfeebae38ec4f1a333017d2c35 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 12 Sep 2012 17:42:08 +0400 Subject: [PATCH] EA-37886 - NPE: JavaPsiFacadeImpl$PsiElementFinderImpl.compare --- .../src/com/intellij/psi/impl/JavaPsiFacadeImpl.java | 5 ++++- .../src/com/intellij/psi/search/GlobalSearchScope.java | 6 +++--- .../openapi/wm/impl/status/InfoAndProgressPanel.java | 3 +-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index e4986cc7469a..782b0978fc43 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -34,6 +34,7 @@ import com.intellij.psi.impl.source.resolve.FileContextUtil; import com.intellij.psi.impl.source.tree.JavaElementType; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiModificationTracker; +import com.intellij.psi.util.PsiUtil; import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Processor; import com.intellij.util.SmartList; @@ -333,7 +334,9 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx { ContainerUtil.quickSort(list, new Comparator() { @Override public int compare(PsiClass o1, PsiClass o2) { - return scope.compare(o2.getContainingFile().getVirtualFile(), o1.getContainingFile().getVirtualFile()); + VirtualFile file2 = PsiUtil.getVirtualFile(o2); + VirtualFile file1 = PsiUtil.getVirtualFile(o1); + return scope.compare(file2, file1); } }); diff --git a/platform/core-api/src/com/intellij/psi/search/GlobalSearchScope.java b/platform/core-api/src/com/intellij/psi/search/GlobalSearchScope.java index 47e7bf9c8d46..87c1a9c81e14 100644 --- a/platform/core-api/src/com/intellij/psi/search/GlobalSearchScope.java +++ b/platform/core-api/src/com/intellij/psi/search/GlobalSearchScope.java @@ -149,6 +149,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw return GlobalSearchScope.this.isSearchInLibraries(); } + @NonNls @Override public String toString() { return "UnionToLocal: (" + GlobalSearchScope.this.toString() + ", " + scope + ")"; @@ -368,6 +369,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw return 31 * myScope1.hashCode() + myScope2.hashCode(); } + @NonNls @Override public String toString() { return "Intersection: (" + myScope1 + ", " + myScope2 + ")"; @@ -518,9 +520,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw FileTypeRestrictionScope that = (FileTypeRestrictionScope)o; - if (!Arrays.equals(myFileTypes, that.myFileTypes)) return false; - - return true; + return Arrays.equals(myFileTypes, that.myFileTypes); } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java index b689f68bf456..06bcaac1307d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java @@ -358,8 +358,7 @@ public class InfoAndProgressPanel extends JPanel implements CustomStatusBarWidge return Pair.create(myInfoPanel.getText(), myCurrentRequestor); } - boolean logMode = myInfoPanel.updateText(requestor == EventLog.LOG_REQUESTOR - ? "" : text); + boolean logMode = myInfoPanel.updateText(requestor == EventLog.LOG_REQUESTOR ? "" : text); myCurrentRequestor = logMode ? EventLog.LOG_REQUESTOR : requestor; return Pair.create(text, requestor); }