Remove dependency of 'resolution' on 'deserialization'

Replace it with a dependency on 'descriptors'.

Move the existing marker interface ContractProvider to 'descriptors',
and create a new marker interface DeserializedDescriptor.
This commit is contained in:
Alexander Udalov
2020-03-15 18:30:18 +01:00
committed by Alexander Udalov
parent b6fdc96994
commit 92534eadaa
9 changed files with 24 additions and 11 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.serialization.deserialization
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ContractProvider
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.TypeTable
@@ -40,5 +41,3 @@ interface ContractDeserializer {
}
}
}
interface ContractProvider
@@ -41,7 +41,7 @@ class DeserializedClassDescriptor(
) : AbstractClassDescriptor(
outerContext.storageManager,
nameResolver.getClassId(classProto.fqName).shortClassName
) {
), DeserializedDescriptor {
private val classId = nameResolver.getClassId(classProto.fqName)
private val modality = ProtoEnumFlags.modality(Flags.MODALITY.get(classProto.flags))
@@ -20,7 +20,7 @@ interface DescriptorWithContainerSource : MemberDescriptor {
val containerSource: DeserializedContainerSource?
}
interface DeserializedMemberDescriptor : MemberDescriptor, DescriptorWithContainerSource {
interface DeserializedMemberDescriptor : DeserializedDescriptor, MemberDescriptor, DescriptorWithContainerSource {
val proto: MessageLite
val nameResolver: NameResolver