diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/InheritanceImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/InheritanceImplUtil.java index df07ea0c2c78..a575f6aa4a3d 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/InheritanceImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/InheritanceImplUtil.java @@ -77,11 +77,11 @@ public class InheritanceImplUtil { String baseQName = baseClass.getQualifiedName(); if (baseQName == null) return false; - if (CommonClassNames.JAVA_LANG_ENUM.equals(baseQName)) { - return candidateClass.isEnum(); + if (CommonClassNames.JAVA_LANG_ENUM.equals(baseQName) && candidateClass.isEnum()) { + return facade.findClass(baseQName, candidateClass.getResolveScope()) != null; } - if (CommonClassNames.JAVA_LANG_ANNOTATION_ANNOTATION.equals(baseQName)) { - return candidateClass.isAnnotationType(); + if (CommonClassNames.JAVA_LANG_ANNOTATION_ANNOTATION.equals(baseQName) && candidateClass.isAnnotationType()) { + return facade.findClass(baseQName, candidateClass.getResolveScope()) != null; } boolean isCandidateInterface = candidateClass.isInterface(); @@ -119,7 +119,8 @@ public class InheritanceImplUtil { if (referenceElements.length != 0) { GlobalSearchScope scope = extList.getResolveScope(); for (PsiJavaCodeReferenceElement ref : referenceElements) { - if (Comparing.equal(PsiNameHelper.getQualifiedClassName(ref.getQualifiedName(), false), baseQName) && facade.findClass(baseQName, scope) != null) + if (Comparing.equal(PsiNameHelper.getQualifiedClassName(ref.getQualifiedName(), false), baseQName) + && facade.findClass(baseQName, scope) != null) return true; } }