diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DataFlowInfo.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DataFlowInfo.kt index 3fc9232e8cb..e776ceba04f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DataFlowInfo.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/smartcasts/DataFlowInfo.kt @@ -98,7 +98,5 @@ interface DataFlowInfo { object DataFlowInfoFactory { @JvmField - val EMPTY: DataFlowInfo = DelegatingDataFlowInfo( - null, ImmutableMap.of(), DelegatingDataFlowInfo.newTypeInfo() - ) + val EMPTY: DataFlowInfo = DelegatingDataFlowInfo() } 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 a2bc42ec3a5..59ebca6b5b5 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 @@ -27,11 +27,11 @@ import java.util.* import org.jetbrains.kotlin.resolve.calls.smartcasts.Nullability.NOT_NULL -internal class DelegatingDataFlowInfo( - private val parent: DataFlowInfo?, - private val nullabilityInfo: ImmutableMap, +internal class DelegatingDataFlowInfo private constructor( + private val parent: DataFlowInfo? = null, + private val nullabilityInfo: ImmutableMap = ImmutableMap.of(), // Also immutable - private val typeInfo: SetMultimap, + private val typeInfo: SetMultimap = newTypeInfo(), /** * Value for which type info was cleared or reassigned at this point * so parent type info should not be in use @@ -39,6 +39,8 @@ internal class DelegatingDataFlowInfo( private val valueWithGivenTypeInfo: DataFlowValue? = null ) : DataFlowInfo { + constructor(): this(null) + override val completeNullabilityInfo: Map get() { val result = Maps.newHashMap()