diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DelegatingDataFlowInfo.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DelegatingDataFlowInfo.kt index 70438a15047..aa20759f5c2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DelegatingDataFlowInfo.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DelegatingDataFlowInfo.kt @@ -366,13 +366,16 @@ internal class DelegatingDataFlowInfo private constructor( updatedNullabilityInfo.entries.fold( parent?.completeNullabilityInfo ?: EMPTY_NULLABILITY_INFO ) { result, (dataFlowValue, nullability) -> - result.put(dataFlowValue, nullability) + if (dataFlowValue.immanentNullability != nullability) + result.put(dataFlowValue, nullability) + else + result.remove(dataFlowValue) } var resultingTypeInfo = parent?.completeTypeInfo ?: EMPTY_TYPE_INFO valueToClearPreviousTypeInfo?.let { - resultingTypeInfo = resultingTypeInfo.put(it, ImmutableLinkedHashSet.empty()) + resultingTypeInfo = resultingTypeInfo.remove(it) } for ((value, types) in updatedTypeInfo) {