diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index da1b4fc86fe..a3fde4ff096 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -326,7 +326,9 @@ private fun ConstantValueKind<*>.toIrConstKind(): IrConstKind<*> = when (this) { internal tailrec fun FirCallableSymbol<*>.unwrapSubstitutionAndIntersectionOverrides(): FirCallableSymbol<*> { val originalForSubstitutionOverride = originalForSubstitutionOverride - if (originalForSubstitutionOverride != null) return originalForSubstitutionOverride.unwrapSubstitutionAndIntersectionOverrides() + if (originalForSubstitutionOverride != null && originalForSubstitutionOverride != this) { + return originalForSubstitutionOverride.unwrapSubstitutionAndIntersectionOverrides() + } val baseForIntersectionOverride = baseForIntersectionOverride if (baseForIntersectionOverride != null) return baseForIntersectionOverride.unwrapSubstitutionAndIntersectionOverrides()