Fix the contracts serialization

This commit is contained in:
Pavel Punegov
2018-10-29 20:26:39 +03:00
committed by Pavel Punegov
parent 9798decca0
commit 87288ce4c7
2 changed files with 11 additions and 4 deletions
@@ -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 */
@@ -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) {