K2: remove dependency fir-deserialization -> metadata.jvm
This commit is contained in:
committed by
Space Team
parent
bdd94dddaa
commit
2b84463ec8
@@ -5,7 +5,6 @@ plugins {
|
||||
|
||||
dependencies {
|
||||
implementation(project(":core:metadata"))
|
||||
implementation(project(":core:metadata.jvm"))
|
||||
implementation(project(":core:deserialization.common"))
|
||||
implementation(project(":core:compiler.common"))
|
||||
|
||||
|
||||
+2
-3
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.fir.types.toLookupTag
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.SerializationPluginMetadataExtensions
|
||||
import org.jetbrains.kotlin.metadata.deserialization.*
|
||||
import org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -232,8 +231,8 @@ fun deserializeClassToSymbol(
|
||||
|
||||
replaceDeprecationsProvider(getDeprecationsProvider(session))
|
||||
|
||||
classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)?.let { idx ->
|
||||
moduleName = nameResolver.getString(idx)
|
||||
session.deserializationExtension?.loadModuleName(classProto, nameResolver)?.let {
|
||||
moduleName = it
|
||||
}
|
||||
|
||||
if (!Flags.HAS_ENUM_ENTRIES.get(flags)) {
|
||||
|
||||
+4
@@ -8,6 +8,8 @@ package org.jetbrains.kotlin.fir.deserialization
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.FirSessionComponent
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirRegularClassBuilder
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.deserialization.NameResolver
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
@@ -20,4 +22,6 @@ abstract class FirDeserializationExtension(val session: FirSession) : FirSession
|
||||
): FirConstDeserializer? = null
|
||||
|
||||
open fun FirRegularClassBuilder.configureDeserializedClass(classId: ClassId) {}
|
||||
|
||||
open fun loadModuleName(classProto: ProtoBuf.Class, nameResolver: NameResolver): String? = null
|
||||
}
|
||||
|
||||
+7
@@ -14,6 +14,10 @@ import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.toLookupTag
|
||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinarySourceElement
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.deserialization.NameResolver
|
||||
import org.jetbrains.kotlin.metadata.deserialization.getExtensionOrNull
|
||||
import org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
|
||||
@@ -45,6 +49,9 @@ class FirJvmDeserializationExtension(session: FirSession) : FirDeserializationEx
|
||||
}
|
||||
}
|
||||
|
||||
override fun loadModuleName(classProto: ProtoBuf.Class, nameResolver: NameResolver): String? =
|
||||
classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)?.let(nameResolver::getString)
|
||||
|
||||
companion object {
|
||||
private val JAVA_IO_SERIALIZABLE = ClassId.topLevel(FqName("java.io.Serializable"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user