Temporarily reverted commit "Smart cast to not null should affect flexible types too" because it causes exception in compiler
This commit is contained in:
+7
-8
@@ -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<DataFlowValue, Nullability>,
|
||||
@@ -102,13 +104,10 @@ internal class DelegatingDataFlowInfo private constructor(
|
||||
}
|
||||
|
||||
val enrichedTypes = Sets.newHashSetWithExpectedSize<KotlinType>(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))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user