diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt index 685d21c7925..a1d66ca0514 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/overrides/FakeOverrides.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.backend.common.linkage.partial.PartialLinkageSupport import org.jetbrains.kotlin.backend.common.serialization.CompatibilityMode import org.jetbrains.kotlin.backend.common.serialization.DeclarationTable import org.jetbrains.kotlin.backend.common.serialization.GlobalDeclarationTable -import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureSerializer +import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureFactory import org.jetbrains.kotlin.backend.common.serialization.signature.PublicIdSignatureComputer import org.jetbrains.kotlin.ir.builders.declarations.buildFun import org.jetbrains.kotlin.ir.builders.declarations.buildProperty @@ -48,10 +48,10 @@ class FakeOverrideGlobalDeclarationTable( open class FakeOverrideDeclarationTable( mangler: KotlinMangler.IrMangler, globalTable: FakeOverrideGlobalDeclarationTable = FakeOverrideGlobalDeclarationTable(mangler), - signatureSerializerFactory: (PublicIdSignatureComputer, DeclarationTable) -> IdSignatureSerializer + signatureSerializerFactory: (PublicIdSignatureComputer, DeclarationTable) -> IdSignatureFactory ) : DeclarationTable(globalTable) { override val globalDeclarationTable: FakeOverrideGlobalDeclarationTable = globalTable - override val signaturer: IdSignatureSerializer = signatureSerializerFactory(globalTable.publicIdSignatureComputer, this) + override val signaturer: IdSignatureFactory = signatureSerializerFactory(globalTable.publicIdSignatureComputer, this) fun clear() { this.table.clear() @@ -81,7 +81,7 @@ class FakeOverrideBuilder( private val partialLinkageSupport: PartialLinkageSupportForLinker, val platformSpecificClassFilter: FakeOverrideClassFilter = DefaultFakeOverrideClassFilter, private val fakeOverrideDeclarationTable: DeclarationTable = FakeOverrideDeclarationTable(mangler) { builder, table -> - IdSignatureSerializer(builder, table) + IdSignatureFactory(builder, table) }, externalOverridabilityConditions: List = emptyList(), ) : FakeOverrideBuilderStrategy( diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt index 8271591b786..390db83a60b 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/DeclarationTable.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.backend.common.serialization -import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureSerializer +import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureFactory import org.jetbrains.kotlin.backend.common.serialization.signature.PublicIdSignatureComputer import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.declarations.IrDeclaration @@ -56,7 +56,7 @@ open class DeclarationTable(globalTable: GlobalDeclarationTable) { protected val table = hashMapOf() protected open val globalDeclarationTable: GlobalDeclarationTable = globalTable // TODO: we need to disentangle signature construction with declaration tables. - open val signaturer: IdSignatureSerializer = IdSignatureSerializer(globalTable.publicIdSignatureComputer, this) + open val signaturer: IdSignatureFactory = IdSignatureFactory(globalTable.publicIdSignatureComputer, this) fun inFile(file: IrFile?, block: () -> Unit) { signaturer.inFile(file?.symbol, block) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureSerializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureFactory.kt similarity index 93% rename from compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureSerializer.kt rename to compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureFactory.kt index 17c7925a531..17de40183a2 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureSerializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/signature/IdSignatureFactory.kt @@ -188,7 +188,22 @@ class PublicIdSignatureComputer(val mangler: KotlinMangler.IrMangler) : IdSignat } } -class IdSignatureSerializer( +/** + * `IdSignatureSerializer` has been renamed to [IdSignatureFactory]. The [IdSignatureSerializer] type alias is added here + * in place of the original `IdSignatureSerializer` class to keep source compatibility with the Compose compiler plugin + * (this is only needed for a short duration of time). + * + * The [Deprecated] annotation was commented out because it leads to compilation errors in Compose plugin due to the use of `-Werror`. + */ +//@Deprecated( +// message = "IdSignatureSerializer has been renamed to IdSignatureFactory." + +// " Need to maintain this type alias for a while to keep source compatibility with the Compose plugin.", +// replaceWith = ReplaceWith("IdSignatureFactory") +//) +@Suppress("unused") +typealias IdSignatureSerializer = IdSignatureFactory + +class IdSignatureFactory( private val publicSignatureBuilder: PublicIdSignatureComputer, private val table: DeclarationTable, startIndex: Int diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt index 726f7761c59..fb41fa252d3 100644 --- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt +++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/deserializeLazyDeclarations.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideDeclarationTabl import org.jetbrains.kotlin.backend.common.overrides.FileLocalAwareLinker import org.jetbrains.kotlin.backend.common.serialization.* import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData -import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureSerializer +import org.jetbrains.kotlin.backend.common.serialization.signature.IdSignatureFactory import org.jetbrains.kotlin.backend.jvm.serialization.proto.JvmIr import org.jetbrains.kotlin.descriptors.DescriptorVisibilities import org.jetbrains.kotlin.ir.IrBuiltIns @@ -193,7 +193,7 @@ private fun buildFakeOverridesForLocalClasses( class PrePopulatedDeclarationTable( sig2symbol: Map -) : FakeOverrideDeclarationTable(JvmIrMangler, signatureSerializerFactory = ::IdSignatureSerializer) { +) : FakeOverrideDeclarationTable(JvmIrMangler, signatureSerializerFactory = ::IdSignatureFactory) { private val symbol2Sig = sig2symbol.entries.associate { (x, y) -> y to x } override fun tryComputeBackendSpecificSignature(declaration: IrDeclaration): IdSignature? {