[FIR] Set EnhancedNullability attribute for former flexible types
In some cases we transform flexible type into non-flexible during enhancement, but don't add `@EnhancedNullability` attribute to them, which breaks consistency with K1 on IR level This commit fixes it ^KT-65302
This commit is contained in:
committed by
Space Team
parent
da567e54b9
commit
bd66b96f8a
@@ -60,7 +60,11 @@ private fun ConeKotlinType.enhanceConeKotlinType(
|
||||
when {
|
||||
lowerResult == null && upperResult == null -> null
|
||||
this is ConeRawType -> ConeRawType.create(lowerResult ?: lowerBound, upperResult ?: upperBound)
|
||||
else -> coneFlexibleOrSimpleType(session.typeContext, lowerResult ?: lowerBound, upperResult ?: upperBound)
|
||||
else -> coneFlexibleOrSimpleType(session.typeContext, lowerResult ?: lowerBound, upperResult ?: upperBound).let {
|
||||
it.applyIf(it !is ConeFlexibleType) {
|
||||
it.withAttributes(it.attributes + CompilerConeAttributes.EnhancedNullability)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
is ConeSimpleKotlinType -> enhanceInflexibleType(
|
||||
|
||||
Reference in New Issue
Block a user