diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt index 5a55536b04b..480c2bccf22 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.metadata.deserialization.* import org.jetbrains.kotlin.protobuf.MessageLite import org.jetbrains.kotlin.resolve.DescriptorFactory import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull +import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.serialization.deserialization.descriptors.* import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedMemberDescriptor.CoroutinesCompatibilityMode import org.jetbrains.kotlin.types.KotlinType @@ -252,9 +253,14 @@ class MemberDeserializer(private val c: DeserializationContext) { val receiverAnnotations = if (proto.hasReceiver()) getReceiverParameterAnnotations(proto, AnnotatedCallableKind.FUNCTION) else Annotations.EMPTY + val versionRequirementTable = + if (c.containingDeclaration.fqNameSafe.child(c.nameResolver.getName(proto.name)) == KOTLIN_SUSPEND_BUILT_IN_FUNCTION_FQ_NAME) + VersionRequirementTable.EMPTY + else + c.versionRequirementTable val function = DeserializedSimpleFunctionDescriptor( c.containingDeclaration, /* original = */ null, annotations, c.nameResolver.getName(proto.name), - ProtoEnumFlags.memberKind(Flags.MEMBER_KIND.get(flags)), proto, c.nameResolver, c.typeTable, c.versionRequirementTable, + ProtoEnumFlags.memberKind(Flags.MEMBER_KIND.get(flags)), proto, c.nameResolver, c.typeTable, versionRequirementTable, c.containerSource ) val local = c.childContext(function, proto.typeParameterList)