diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt index ef8364eca42..e1de72bb5c5 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/KtLightClassForSourceDeclaration.kt @@ -13,6 +13,7 @@ import com.intellij.openapi.util.Key import com.intellij.openapi.util.TextRange import com.intellij.openapi.util.registry.Registry import com.intellij.psi.* +import com.intellij.psi.impl.InheritanceImplUtil import com.intellij.psi.impl.PsiSubstitutorImpl import com.intellij.psi.impl.java.stubs.PsiJavaFileStub import com.intellij.psi.impl.source.PsiImmediateClassType @@ -21,10 +22,7 @@ import com.intellij.psi.scope.PsiScopeProcessor import com.intellij.psi.search.SearchScope import com.intellij.psi.stubs.IStubElementType import com.intellij.psi.stubs.StubElement -import com.intellij.psi.util.CachedValue -import com.intellij.psi.util.CachedValueProvider -import com.intellij.psi.util.CachedValuesManager -import com.intellij.psi.util.PsiUtilCore +import com.intellij.psi.util.* import com.intellij.util.IncorrectOperationException import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.analyzer.KotlinModificationTrackerService @@ -275,7 +273,12 @@ abstract class KtLightClassForSourceDeclaration( } val thisDescriptor = getDescriptor() - return qualifiedName != null && thisDescriptor != null && checkSuperTypeByFQName(thisDescriptor, qualifiedName, checkDeep) + + return if (qualifiedName != null && thisDescriptor != null) { + checkSuperTypeByFQName(thisDescriptor, qualifiedName, checkDeep) + } else { + InheritanceImplUtil.isInheritor(this, baseClass, checkDeep) + } } @Throws(IncorrectOperationException::class)