From 88e244c1cffe6ba5499a4aeecb7c2d52f5cdf9dd Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Wed, 14 Dec 2022 19:26:24 +0100 Subject: [PATCH] [IR] Remove JS-specific manglers, as they don't customize any behavior --- .../mangle/descriptor/DescriptorMangleComputer.kt | 4 ++-- .../serialization/mangle/ir/IrMangleComputer.kt | 4 ++-- .../backend/js/lower/serialization/ir/JsMangler.kt | 12 ++---------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/descriptor/DescriptorMangleComputer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/descriptor/DescriptorMangleComputer.kt index f074d7bf2a3..a7e1d5b1dfb 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/descriptor/DescriptorMangleComputer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/descriptor/DescriptorMangleComputer.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.types.typeUtil.isUnit /** * The descriptor-based mangle computer. Used to compute a mangled name for a declaration given its [DeclarationDescriptor]. */ -abstract class DescriptorMangleComputer(builder: StringBuilder, mode: MangleMode) : +open class DescriptorMangleComputer(builder: StringBuilder, mode: MangleMode) : BaseKotlinMangleComputer< /*Declaration=*/DeclarationDescriptor, /*Type=*/KotlinType, @@ -30,7 +30,7 @@ abstract class DescriptorMangleComputer(builder: StringBuilder, mode: MangleMode >(builder, mode) { final override fun getTypeSystemContext(session: Nothing?): TypeSystemContext = SimpleClassicTypeSystemContext - abstract override fun copy(newMode: MangleMode): DescriptorMangleComputer + override fun copy(newMode: MangleMode) = DescriptorMangleComputer(builder, newMode) final override fun DeclarationDescriptor.visitParent() { containingDeclaration?.visit() diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/ir/IrMangleComputer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/ir/IrMangleComputer.kt index fb15c0e7b94..93ab73d67e6 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/ir/IrMangleComputer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/mangle/ir/IrMangleComputer.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.ir.visitors.acceptVoid /** * A mangle computer that generates a mangled name for a Kotlin declaration represented by [IrDeclaration]. */ -abstract class IrMangleComputer( +open class IrMangleComputer( builder: StringBuilder, mode: MangleMode, protected val compatibleMode: Boolean @@ -40,7 +40,7 @@ abstract class IrMangleComputer( open fun IrFunction.platformSpecificFunctionMarks(): List = emptyList() - abstract override fun copy(newMode: MangleMode): IrMangleComputer + override fun copy(newMode: MangleMode) = IrMangleComputer(builder, newMode, compatibleMode) final override fun IrDeclaration.visitParent() { parent.acceptVoid(Visitor()) diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsMangler.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsMangler.kt index f4b2ba93488..431a9d2d063 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsMangler.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsMangler.kt @@ -23,14 +23,10 @@ abstract class AbstractJsManglerIr : IrBasedKotlinManglerImpl() { override fun IrDeclaration.isPlatformSpecificExported() = false } - private class JsIrManglerComputer(builder: StringBuilder, mode: MangleMode, compatibleMode: Boolean) : IrMangleComputer(builder, mode, compatibleMode) { - override fun copy(newMode: MangleMode): IrMangleComputer = JsIrManglerComputer(builder, newMode, compatibleMode) - } - override fun getExportChecker(compatibleMode: Boolean): KotlinExportChecker = JsIrExportChecker(compatibleMode) override fun getMangleComputer(mode: MangleMode, compatibleMode: Boolean): KotlinMangleComputer { - return JsIrManglerComputer(StringBuilder(256), mode, compatibleMode) + return IrMangleComputer(StringBuilder(256), mode, compatibleMode) } } @@ -46,14 +42,10 @@ abstract class AbstractJsDescriptorMangler : DescriptorBasedKotlinManglerImpl() override fun DeclarationDescriptor.isPlatformSpecificExported() = false } - private class JsDescriptorManglerComputer(builder: StringBuilder, mode: MangleMode) : DescriptorMangleComputer(builder, mode) { - override fun copy(newMode: MangleMode): DescriptorMangleComputer = JsDescriptorManglerComputer(builder, newMode) - } - override fun getExportChecker(compatibleMode: Boolean): KotlinExportChecker = exportChecker override fun getMangleComputer(mode: MangleMode, compatibleMode: Boolean): KotlinMangleComputer { - return JsDescriptorManglerComputer(StringBuilder(256), mode) + return DescriptorMangleComputer(StringBuilder(256), mode) } }