X-Git-Url: http://git.jetbrains.org/?p=idea%2Fcommunity.git;a=blobdiff_plain;f=java%2Fjava-psi-impl%2Fsrc%2Fcom%2Fintellij%2Fpsi%2Fimpl%2FPsiClassImplUtil.java;h=8bfd2f8c168e8dfee789719afbb2d8b86a596262;hp=ee44391808255389311e7d4bdd0cc9e0cec9836a;hb=fc7ad3de9e455a11790fe6dd494da01571a032d0;hpb=03e6af3c44954493de69cfc22a7b7807ea92f602 diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java index ee44391..8bfd2f8 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java @@ -992,8 +992,16 @@ public class PsiClassImplUtil { final FileIndexFacade fileIndex = ServiceManager.getService(file1.getProject(), FileIndexFacade.class); final VirtualFile vfile1 = file1.getViewProvider().getVirtualFile(); final VirtualFile vfile2 = file2.getViewProvider().getVirtualFile(); - return (fileIndex.isInSource(vfile1) || fileIndex.isInLibraryClasses(vfile1)) && - (fileIndex.isInSource(vfile2) || fileIndex.isInLibraryClasses(vfile2)); + boolean lib1 = fileIndex.isInLibraryClasses(vfile1); + boolean lib2 = fileIndex.isInLibraryClasses(vfile2); + if (aClass instanceof PsiCompiledElement && another instanceof PsiCompiledElement && lib1 && lib2) { + if (fileIndex.isInSdkClasses(vfile1) && fileIndex.isInSdkClasses(vfile2)) { + return true; + } + return vfile1.equals(vfile2); + } + + return (fileIndex.isInSource(vfile1) || lib1) && (fileIndex.isInSource(vfile2) || lib2); } private static boolean compareClassSeqNumber(@NotNull PsiClass aClass, @NotNull PsiClass another) {