K2: Fix deserialization of flexible type based on type parameter

It's anyway safe to use avoidComprehensiveCheck = true because
during deserialization we're sure that we need DNN type because
it's been serialized as such.
This commit is contained in:
Denis.Zharkov
2022-11-23 17:35:23 +01:00
committed by Space Team
parent ff340505ec
commit f7d8fd54ca
7 changed files with 55 additions and 2 deletions
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags
import org.jetbrains.kotlin.serialization.deserialization.getClassId
import org.jetbrains.kotlin.serialization.deserialization.getName
import org.jetbrains.kotlin.types.Variance
import java.util.*
class FirTypeDeserializer(
val moduleData: FirModuleData,
@@ -164,7 +163,7 @@ class FirTypeDeserializer(
if (constructor is ConeTypeParameterLookupTag) {
return ConeTypeParameterTypeImpl(constructor, isNullable = proto.nullable).let {
if (Flags.DEFINITELY_NOT_NULL_TYPE.get(proto.flags))
ConeDefinitelyNotNullType.create(it, moduleData.session.typeContext) ?: it
ConeDefinitelyNotNullType.create(it, moduleData.session.typeContext, avoidComprehensiveCheck = true) ?: it
else
it
}