From 61a08be6b486eabc3f5bd77ed81901580375f33e Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Fri, 18 Jun 2021 14:35:46 +0300 Subject: [PATCH] JS IR: don't rename the local declarations IR2JS handles clashing declarations anyway. --- .../kotlin/backend/common/lower/LocalDeclarationsLowering.kt | 5 +++-- .../org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt index d985b7bc24e..661e54bb70b 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt @@ -76,7 +76,8 @@ object BOUND_RECEIVER_PARAMETER : IrDeclarationOriginImpl("BOUND_RECEIVER_PARAME class LocalDeclarationsLowering( val context: CommonBackendContext, val localNameProvider: LocalNameProvider = LocalNameProvider.DEFAULT, - val visibilityPolicy: VisibilityPolicy = VisibilityPolicy.DEFAULT + val visibilityPolicy: VisibilityPolicy = VisibilityPolicy.DEFAULT, + val suggestUniqueNames: Boolean = true, // When `true` appends a `-#index` suffix to lifted declaration names ) : BodyLoweringPass { @@ -562,7 +563,7 @@ class LocalDeclarationsLowering( localFunctions[declaration]?.let { val baseName = if (declaration.name.isSpecial) "lambda" else declaration.name if (it.index >= 0) - return "$baseName-${it.index}" + return if (suggestUniqueNames) "$baseName-${it.index}" else "$baseName" } return localNameProvider.localName(declaration) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt index f0c30bdb8e6..dadefdf2e4c 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/JsLoweringPhases.kt @@ -405,7 +405,7 @@ private val localDelegatedPropertiesLoweringPhase = makeBodyLoweringPhase( ) private val localDeclarationsLoweringPhase = makeBodyLoweringPhase( - ::LocalDeclarationsLowering, + { context -> LocalDeclarationsLowering(context, suggestUniqueNames = false) }, name = "LocalDeclarationsLowering", description = "Move local declarations into nearest declaration container", prerequisite = setOf(sharedVariablesLoweringPhase, localDelegatedPropertiesLoweringPhase)