From 1a28067b761cb110a1f049c4b1a7c50a7396c7a8 Mon Sep 17 00:00:00 2001 From: Ivan Kochurkin Date: Wed, 5 Jul 2023 13:16:14 +0200 Subject: [PATCH] [FIR] Merge FirBasedKotlinMangler into FirMangler FirMangler has only one implementation and it's FirBasedKotlinMangler It looks excessive --- .../src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt | 1 - .../jetbrains/kotlin/fir/backend/jvm/FirJvmKotlinMangler.kt | 4 ++-- .../kotlin/fir/backend/Fir2IrCommonMemberStorage.kt | 1 - .../jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt | 1 - .../fir/backend/{FirBasedKotlinMangler.kt => FirMangler.kt} | 6 ++++-- .../kotlin/fir/signaturer/FirBasedSignatureComposer.kt | 1 + .../src/org/jetbrains/kotlin/fir/signaturer/FirMangler.kt | 6 +----- .../jetbrains/kotlin/fir/backend/js/FirJsKotlinMangler.kt | 4 ++-- .../handlers/IrMangledNameAndSignatureDumpHandler.kt | 2 +- .../org/jetbrains/kotlin/test/backend/ir/IrBackendInput.kt | 2 +- .../kotlin/backend/konan/FirNativeKotlinMangler.kt | 4 ++-- 11 files changed, 14 insertions(+), 18 deletions(-) rename compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/{FirBasedKotlinMangler.kt => FirMangler.kt} (90%) diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt index 08318a74209..7804aad2482 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/pipeline/convertToIr.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.backend.jvm.FirJvmKotlinMangler import org.jetbrains.kotlin.fir.backend.jvm.FirJvmVisibilityConverter import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.resolve.ScopeSession -import org.jetbrains.kotlin.fir.signaturer.FirMangler import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmKotlinMangler.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmKotlinMangler.kt index 1a885071d0c..75270ea916f 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmKotlinMangler.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmKotlinMangler.kt @@ -7,11 +7,11 @@ package org.jetbrains.kotlin.fir.backend.jvm import org.jetbrains.kotlin.backend.common.serialization.mangle.* import org.jetbrains.kotlin.fir.NoMutableState -import org.jetbrains.kotlin.fir.backend.FirBasedKotlinMangler +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.declarations.FirDeclaration @NoMutableState -class FirJvmKotlinMangler : FirBasedKotlinMangler() { +class FirJvmKotlinMangler : FirMangler() { override fun getMangleComputer(mode: MangleMode, compatibleMode: Boolean): KotlinMangleComputer { return FirJvmMangleComputer(StringBuilder(256), mode) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt index 25ddac0ef4e..80d58563e91 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrCommonMemberStorage.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.backend import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer -import org.jetbrains.kotlin.fir.signaturer.FirMangler import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl import org.jetbrains.kotlin.ir.util.IdSignatureComposer diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt index 64c1d59bd94..dc6fce75654 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrSignatureComposer.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.fir.backend import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirTypeParameter -import org.jetbrains.kotlin.fir.signaturer.FirMangler import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag import org.jetbrains.kotlin.ir.util.IdSignature diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirBasedKotlinMangler.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMangler.kt similarity index 90% rename from compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirBasedKotlinMangler.kt rename to compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMangler.kt index 2aea5df5368..1cfec42d5a3 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirBasedKotlinMangler.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMangler.kt @@ -10,9 +10,8 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinExportChec import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode import org.jetbrains.kotlin.backend.common.serialization.mangle.SpecialDeclarationType import org.jetbrains.kotlin.fir.declarations.FirDeclaration -import org.jetbrains.kotlin.fir.signaturer.FirMangler -abstract class FirBasedKotlinMangler : AbstractKotlinMangler(), FirMangler { +abstract class FirMangler : AbstractKotlinMangler() { override fun FirDeclaration.mangleString(compatibleMode: Boolean): String = getMangleComputer(MangleMode.FULL, compatibleMode).computeMangle(this) override fun FirDeclaration.signatureString(compatibleMode: Boolean): String = getMangleComputer(MangleMode.SIGNATURE, compatibleMode).computeMangle(this) @@ -26,4 +25,7 @@ abstract class FirBasedKotlinMangler : AbstractKotlinMangler(), override fun FirDeclaration.isPlatformSpecificExported(): Boolean = true } } + + override val manglerName: String + get() = "Fir" } \ No newline at end of file diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt index b58ad0b76f0..e3aa0478fd8 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleConstant import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.backend.Fir2IrSignatureComposer +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirMangler.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirMangler.kt index 030129f0cee..9f4a90d158d 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirMangler.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirMangler.kt @@ -9,17 +9,13 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.AbstractKotlinMa import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinExportChecker import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinMangleComputer import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.backend.FirMetadataSource import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrMetadataSourceOwner import org.jetbrains.kotlin.ir.util.KotlinMangler -interface FirMangler : KotlinMangler { - override val manglerName: String - get() = "Fir" -} - class Ir2FirManglerAdapter(private val delegate: FirMangler) : AbstractKotlinMangler(), KotlinMangler.IrMangler { override val manglerName: String diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/fir/backend/js/FirJsKotlinMangler.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/fir/backend/js/FirJsKotlinMangler.kt index d36c999450f..a46d2dfb01a 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/fir/backend/js/FirJsKotlinMangler.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/fir/backend/js/FirJsKotlinMangler.kt @@ -9,13 +9,13 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinExportChec import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinMangleComputer import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode import org.jetbrains.kotlin.fir.NoMutableState -import org.jetbrains.kotlin.fir.backend.FirBasedKotlinMangler +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.backend.FirExportCheckerVisitor import org.jetbrains.kotlin.fir.backend.FirMangleComputer import org.jetbrains.kotlin.fir.declarations.FirDeclaration @NoMutableState -class FirJsKotlinMangler : FirBasedKotlinMangler() { +class FirJsKotlinMangler : FirMangler() { private class JsFirExportChecker : FirExportCheckerVisitor() { override fun FirDeclaration.isPlatformSpecificExported() = false diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrMangledNameAndSignatureDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrMangledNameAndSignatureDumpHandler.kt index 3c8399c1edb..4054b482db6 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrMangledNameAndSignatureDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/IrMangledNameAndSignatureDumpHandler.kt @@ -11,9 +11,9 @@ import org.jetbrains.kotlin.backend.jvm.JvmSymbols import org.jetbrains.kotlin.backend.jvm.ir.hasPlatformDependent import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.descriptors.DescriptorVisibilities +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.fir.backend.FirMetadataSource -import org.jetbrains.kotlin.fir.signaturer.FirMangler import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrBackendInput.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrBackendInput.kt index d9860b5a02a..3f771ad209f 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrBackendInput.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/ir/IrBackendInput.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector -import org.jetbrains.kotlin.fir.signaturer.FirMangler +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.ir.backend.js.KotlinFileSerializedData import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.symbols.IrSymbol diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeKotlinMangler.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeKotlinMangler.kt index f60c7ba51a4..b0dafac1768 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeKotlinMangler.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeKotlinMangler.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.backend.common.serialization.mangle.KotlinMangleComp import org.jetbrains.kotlin.backend.common.serialization.mangle.MangleMode import org.jetbrains.kotlin.backend.common.serialization.mangle.SpecialDeclarationType import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.backend.FirBasedKotlinMangler +import org.jetbrains.kotlin.fir.backend.FirMangler import org.jetbrains.kotlin.fir.backend.FirExportCheckerVisitor import org.jetbrains.kotlin.fir.backend.FirMangleComputer import org.jetbrains.kotlin.fir.declarations.* @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.types.toSymbol import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName -class FirNativeKotlinMangler : FirBasedKotlinMangler() { +class FirNativeKotlinMangler : FirMangler() { override fun getMangleComputer(mode: MangleMode, compatibleMode: Boolean): KotlinMangleComputer { return FirNativeKotlinMangleComputer(StringBuilder(256), mode) }