JS IR: don't rename the local declarations

IR2JS handles clashing declarations anyway.
This commit is contained in:
Anton Bannykh
2021-06-18 14:35:46 +03:00
committed by TeamCityServer
parent a56cc89010
commit 61a08be6b4
2 changed files with 4 additions and 3 deletions
@@ -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)
@@ -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)