Rename IdSignatureSerializer to IdSignatureFactory
^KT-61642
This commit is contained in:
+4
-4
@@ -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.CompatibilityMode
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.DeclarationTable
|
import org.jetbrains.kotlin.backend.common.serialization.DeclarationTable
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.GlobalDeclarationTable
|
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.backend.common.serialization.signature.PublicIdSignatureComputer
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
import org.jetbrains.kotlin.ir.builders.declarations.buildFun
|
||||||
import org.jetbrains.kotlin.ir.builders.declarations.buildProperty
|
import org.jetbrains.kotlin.ir.builders.declarations.buildProperty
|
||||||
@@ -48,10 +48,10 @@ class FakeOverrideGlobalDeclarationTable(
|
|||||||
open class FakeOverrideDeclarationTable(
|
open class FakeOverrideDeclarationTable(
|
||||||
mangler: KotlinMangler.IrMangler,
|
mangler: KotlinMangler.IrMangler,
|
||||||
globalTable: FakeOverrideGlobalDeclarationTable = FakeOverrideGlobalDeclarationTable(mangler),
|
globalTable: FakeOverrideGlobalDeclarationTable = FakeOverrideGlobalDeclarationTable(mangler),
|
||||||
signatureSerializerFactory: (PublicIdSignatureComputer, DeclarationTable) -> IdSignatureSerializer
|
signatureSerializerFactory: (PublicIdSignatureComputer, DeclarationTable) -> IdSignatureFactory
|
||||||
) : DeclarationTable(globalTable) {
|
) : DeclarationTable(globalTable) {
|
||||||
override val globalDeclarationTable: FakeOverrideGlobalDeclarationTable = globalTable
|
override val globalDeclarationTable: FakeOverrideGlobalDeclarationTable = globalTable
|
||||||
override val signaturer: IdSignatureSerializer = signatureSerializerFactory(globalTable.publicIdSignatureComputer, this)
|
override val signaturer: IdSignatureFactory = signatureSerializerFactory(globalTable.publicIdSignatureComputer, this)
|
||||||
|
|
||||||
fun clear() {
|
fun clear() {
|
||||||
this.table.clear()
|
this.table.clear()
|
||||||
@@ -81,7 +81,7 @@ class FakeOverrideBuilder(
|
|||||||
private val partialLinkageSupport: PartialLinkageSupportForLinker,
|
private val partialLinkageSupport: PartialLinkageSupportForLinker,
|
||||||
val platformSpecificClassFilter: FakeOverrideClassFilter = DefaultFakeOverrideClassFilter,
|
val platformSpecificClassFilter: FakeOverrideClassFilter = DefaultFakeOverrideClassFilter,
|
||||||
private val fakeOverrideDeclarationTable: DeclarationTable = FakeOverrideDeclarationTable(mangler) { builder, table ->
|
private val fakeOverrideDeclarationTable: DeclarationTable = FakeOverrideDeclarationTable(mangler) { builder, table ->
|
||||||
IdSignatureSerializer(builder, table)
|
IdSignatureFactory(builder, table)
|
||||||
},
|
},
|
||||||
externalOverridabilityConditions: List<IrExternalOverridabilityCondition> = emptyList(),
|
externalOverridabilityConditions: List<IrExternalOverridabilityCondition> = emptyList(),
|
||||||
) : FakeOverrideBuilderStrategy(
|
) : FakeOverrideBuilderStrategy(
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.common.serialization
|
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.backend.common.serialization.signature.PublicIdSignatureComputer
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||||
@@ -56,7 +56,7 @@ open class DeclarationTable(globalTable: GlobalDeclarationTable) {
|
|||||||
protected val table = hashMapOf<IrDeclaration, IdSignature>()
|
protected val table = hashMapOf<IrDeclaration, IdSignature>()
|
||||||
protected open val globalDeclarationTable: GlobalDeclarationTable = globalTable
|
protected open val globalDeclarationTable: GlobalDeclarationTable = globalTable
|
||||||
// TODO: we need to disentangle signature construction with declaration tables.
|
// 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) {
|
fun inFile(file: IrFile?, block: () -> Unit) {
|
||||||
signaturer.inFile(file?.symbol, block)
|
signaturer.inFile(file?.symbol, block)
|
||||||
|
|||||||
+16
-1
@@ -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 publicSignatureBuilder: PublicIdSignatureComputer,
|
||||||
private val table: DeclarationTable,
|
private val table: DeclarationTable,
|
||||||
startIndex: Int
|
startIndex: Int
|
||||||
+2
-2
@@ -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.overrides.FileLocalAwareLinker
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.*
|
import org.jetbrains.kotlin.backend.common.serialization.*
|
||||||
import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData
|
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.backend.jvm.serialization.proto.JvmIr
|
||||||
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
|
||||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||||
@@ -193,7 +193,7 @@ private fun buildFakeOverridesForLocalClasses(
|
|||||||
|
|
||||||
class PrePopulatedDeclarationTable(
|
class PrePopulatedDeclarationTable(
|
||||||
sig2symbol: Map<IdSignature, IrSymbol>
|
sig2symbol: Map<IdSignature, IrSymbol>
|
||||||
) : FakeOverrideDeclarationTable(JvmIrMangler, signatureSerializerFactory = ::IdSignatureSerializer) {
|
) : FakeOverrideDeclarationTable(JvmIrMangler, signatureSerializerFactory = ::IdSignatureFactory) {
|
||||||
private val symbol2Sig = sig2symbol.entries.associate { (x, y) -> y to x }
|
private val symbol2Sig = sig2symbol.entries.associate { (x, y) -> y to x }
|
||||||
|
|
||||||
override fun tryComputeBackendSpecificSignature(declaration: IrDeclaration): IdSignature? {
|
override fun tryComputeBackendSpecificSignature(declaration: IrDeclaration): IdSignature? {
|
||||||
|
|||||||
Reference in New Issue
Block a user