Support multiple version requirements on single element
This commit is contained in:
+2
-3
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.serialization.deserialization
|
||||
|
||||
import org.jetbrains.kotlin.builtins.isSuspendFunctionTypeOrSubtype
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget
|
||||
@@ -138,7 +137,7 @@ class MemberDeserializer(private val c: DeserializationContext) {
|
||||
}
|
||||
|
||||
private fun DeserializedMemberDescriptor.versionAndReleaseCoroutinesMismatch(): Boolean =
|
||||
c.components.configuration.releaseCoroutines && versionRequirement?.version != VersionRequirement.Version(1, 3)
|
||||
c.components.configuration.releaseCoroutines && versionRequirements.none { it.version == VersionRequirement.Version(1, 3) }
|
||||
|
||||
private fun loadOldFlags(oldFlags: Int): Int {
|
||||
val lowSixBits = oldFlags and 0x3f
|
||||
@@ -231,7 +230,7 @@ class MemberDeserializer(private val c: DeserializationContext) {
|
||||
descriptor.isExperimentalCoroutineInReleaseEnvironment = local.typeDeserializer.experimentalSuspendFunctionTypeEncountered ||
|
||||
((c.containingDeclaration as? DeserializedClassDescriptor)?.c?.typeDeserializer?.experimentalSuspendFunctionTypeEncountered == true &&
|
||||
c.components.configuration.releaseCoroutines &&
|
||||
descriptor.versionRequirement?.version != VersionRequirement.Version(1, 3))
|
||||
descriptor.versionRequirements.none { it.version == VersionRequirement.Version(1, 3) })
|
||||
|
||||
return descriptor
|
||||
}
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ class DeserializedClassDescriptor(
|
||||
(containingDeclaration as? DeserializedClassDescriptor)?.thisAsProtoContainer
|
||||
)
|
||||
|
||||
val versionRequirement: VersionRequirement?
|
||||
val versionRequirements: List<VersionRequirement>
|
||||
get() = VersionRequirement.create(classProto, c.nameResolver, c.versionRequirementTable)
|
||||
|
||||
override val annotations =
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ interface DeserializedMemberDescriptor : MemberDescriptor {
|
||||
|
||||
val versionRequirementTable: VersionRequirementTable
|
||||
|
||||
val versionRequirement: VersionRequirement?
|
||||
val versionRequirements: List<VersionRequirement>
|
||||
get() = VersionRequirement.create(proto, nameResolver, versionRequirementTable)
|
||||
|
||||
// Information about the origin of this callable's container (class or package part on JVM) or null if there's no such information.
|
||||
|
||||
Reference in New Issue
Block a user