From b81316738e021940ff409ddca6245f130d84b83d Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 31 Dec 2021 19:50:01 +0300 Subject: [PATCH] Analysis FIR: fix isSubClass check for local classes --- .../components/KtFirSymbolDeclarationOverridesProvider.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt index 66f3c740eb0..ba3184dd381 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt @@ -154,15 +154,15 @@ internal class KtFirSymbolDeclarationOverridesProvider( if (subClass == superClass) return false return subClass.firRef.withFirByType(ResolveType.ClassSuperTypes) { subClassFir -> - check(subClassFir is FirRegularClass) + check(subClassFir is FirClass) superClass.firRef.withFir { superClassFir -> - check(superClassFir is FirRegularClass) + check(superClassFir is FirClass) isSubClassOf(subClassFir, superClassFir, checkDeep) } } } - private fun isSubClassOf(subClass: FirRegularClass, superClass: FirRegularClass, checkDeep: Boolean): Boolean { + private fun isSubClassOf(subClass: FirClass, superClass: FirClass, checkDeep: Boolean): Boolean { if (subClass.superConeTypes.any { it.toRegularClassSymbol(rootModuleSession) == superClass.symbol }) return true if (!checkDeep) return false subClass.superConeTypes.forEach { superType ->