diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanDescriptorSerializer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanDescriptorSerializer.kt index 562fa7caf5e..eb3b14f172c 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanDescriptorSerializer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanDescriptorSerializer.kt @@ -325,9 +325,15 @@ class KonanDescriptorSerializer private constructor( builder.addVersionRequirement(writeVersionRequirementDependingOnCoroutinesVersion()) } - // TODO: K/N & Contracts??? - // contractSerializer.serializeContractOfFunctionIfAny(descriptor, builder, this) - // + val descriptorSerializer = DescriptorSerializer( + containingDeclaration = containingDeclaration, + typeParameters = typeParameters, + extension = extension, + typeTable = typeTable, + versionRequirementTable = versionRequirementTable, + serializeTypeTableToFunction = serializeTypeTableToFunction) + contractSerializer.serializeContractOfFunctionIfAny(descriptor, builder, descriptorSerializer) + extension.serializeFunction(descriptor, builder) /* Konan specific chunk */ diff --git a/extracted/konan.serializer/src/org/jetbrains/kotlin/serialization/konan/impl/KonanDeserializedModuleDescriptorFactoryImpl.kt b/extracted/konan.serializer/src/org/jetbrains/kotlin/serialization/konan/impl/KonanDeserializedModuleDescriptorFactoryImpl.kt index 49759b38e68..4245ef7128e 100644 --- a/extracted/konan.serializer/src/org/jetbrains/kotlin/serialization/konan/impl/KonanDeserializedModuleDescriptorFactoryImpl.kt +++ b/extracted/konan.serializer/src/org/jetbrains/kotlin/serialization/konan/impl/KonanDeserializedModuleDescriptorFactoryImpl.kt @@ -2,6 +2,7 @@ package org.jetbrains.kotlin.serialization.konan.impl import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.config.LanguageVersionSettings +import org.jetbrains.kotlin.contracts.ContractDeserializerImpl import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.NotFoundClasses import org.jetbrains.kotlin.descriptors.PackageFragmentProvider @@ -108,7 +109,7 @@ internal class KonanDeserializedModuleDescriptorFactoryImpl( NullFlexibleTypeDeserializer, emptyList(), notFoundClasses, - ContractDeserializer.DEFAULT, + ContractDeserializerImpl(configuration), extensionRegistryLite = KonanSerializerProtocol.extensionRegistry) for (packageFragment in deserializedPackageFragments) {