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 {
|
dependencies {
|
||||||
implementation(project(":core:metadata"))
|
implementation(project(":core:metadata"))
|
||||||
implementation(project(":core:metadata.jvm"))
|
|
||||||
implementation(project(":core:deserialization.common"))
|
implementation(project(":core:deserialization.common"))
|
||||||
implementation(project(":core:compiler.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.ProtoBuf
|
||||||
import org.jetbrains.kotlin.metadata.SerializationPluginMetadataExtensions
|
import org.jetbrains.kotlin.metadata.SerializationPluginMetadataExtensions
|
||||||
import org.jetbrains.kotlin.metadata.deserialization.*
|
import org.jetbrains.kotlin.metadata.deserialization.*
|
||||||
import org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf
|
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
@@ -232,8 +231,8 @@ fun deserializeClassToSymbol(
|
|||||||
|
|
||||||
replaceDeprecationsProvider(getDeprecationsProvider(session))
|
replaceDeprecationsProvider(getDeprecationsProvider(session))
|
||||||
|
|
||||||
classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)?.let { idx ->
|
session.deserializationExtension?.loadModuleName(classProto, nameResolver)?.let {
|
||||||
moduleName = nameResolver.getString(idx)
|
moduleName = it
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Flags.HAS_ENUM_ENTRIES.get(flags)) {
|
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.FirSession
|
||||||
import org.jetbrains.kotlin.fir.FirSessionComponent
|
import org.jetbrains.kotlin.fir.FirSessionComponent
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.FirRegularClassBuilder
|
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.name.ClassId
|
||||||
import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
|
import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
@@ -20,4 +22,6 @@ abstract class FirDeserializationExtension(val session: FirSession) : FirSession
|
|||||||
): FirConstDeserializer? = null
|
): FirConstDeserializer? = null
|
||||||
|
|
||||||
open fun FirRegularClassBuilder.configureDeserializedClass(classId: ClassId) {}
|
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.impl.ConeClassLikeTypeImpl
|
||||||
import org.jetbrains.kotlin.fir.types.toLookupTag
|
import org.jetbrains.kotlin.fir.types.toLookupTag
|
||||||
import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinarySourceElement
|
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.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
|
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 {
|
companion object {
|
||||||
private val JAVA_IO_SERIALIZABLE = ClassId.topLevel(FqName("java.io.Serializable"))
|
private val JAVA_IO_SERIALIZABLE = ClassId.topLevel(FqName("java.io.Serializable"))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user