LightClass improved isInheritor check for cases when resolve is failed
Fixed #KT-37210
This commit is contained in:
+8
-5
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user