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 0344a33fad2..fadc1e42efb 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 @@ -18,13 +18,15 @@ package org.jetbrains.kotlin.resolve.calls.smartcasts import com.google.common.collect.* import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.resolve.calls.smartcasts.Nullability.NOT_NULL +import org.jetbrains.kotlin.types.* import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.TypeUtils -import org.jetbrains.kotlin.types.isFlexible -import org.jetbrains.kotlin.types.typeUtil.isSubtypeOf +import org.jetbrains.kotlin.types.typeUtil.* + import java.util.* +import org.jetbrains.kotlin.resolve.calls.smartcasts.Nullability.NOT_NULL + internal class DelegatingDataFlowInfo private constructor( private val parent: DataFlowInfo?, private val nullabilityInfo: ImmutableMap, @@ -102,13 +104,10 @@ internal class DelegatingDataFlowInfo private constructor( } val enrichedTypes = Sets.newHashSetWithExpectedSize(types.size + 1) - val originalType = key.type - val notNullable = TypeUtils.makeNotNullable(originalType) - if (notNullable != originalType) { - enrichedTypes.add(notNullable) + if (originalType.isMarkedNullable) { + enrichedTypes.add(TypeUtils.makeNotNullable(originalType)) } - for (type in types) { enrichedTypes.add(TypeUtils.makeNotNullable(type)) }