JS IR: don't rename the local declarations
IR2JS handles clashing declarations anyway.
This commit is contained in:
committed by
TeamCityServer
parent
a56cc89010
commit
61a08be6b4
+3
-2
@@ -76,7 +76,8 @@ object BOUND_RECEIVER_PARAMETER : IrDeclarationOriginImpl("BOUND_RECEIVER_PARAME
|
|||||||
class LocalDeclarationsLowering(
|
class LocalDeclarationsLowering(
|
||||||
val context: CommonBackendContext,
|
val context: CommonBackendContext,
|
||||||
val localNameProvider: LocalNameProvider = LocalNameProvider.DEFAULT,
|
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 {
|
BodyLoweringPass {
|
||||||
|
|
||||||
@@ -562,7 +563,7 @@ class LocalDeclarationsLowering(
|
|||||||
localFunctions[declaration]?.let {
|
localFunctions[declaration]?.let {
|
||||||
val baseName = if (declaration.name.isSpecial) "lambda" else declaration.name
|
val baseName = if (declaration.name.isSpecial) "lambda" else declaration.name
|
||||||
if (it.index >= 0)
|
if (it.index >= 0)
|
||||||
return "$baseName-${it.index}"
|
return if (suggestUniqueNames) "$baseName-${it.index}" else "$baseName"
|
||||||
}
|
}
|
||||||
|
|
||||||
return localNameProvider.localName(declaration)
|
return localNameProvider.localName(declaration)
|
||||||
|
|||||||
@@ -405,7 +405,7 @@ private val localDelegatedPropertiesLoweringPhase = makeBodyLoweringPhase(
|
|||||||
)
|
)
|
||||||
|
|
||||||
private val localDeclarationsLoweringPhase = makeBodyLoweringPhase(
|
private val localDeclarationsLoweringPhase = makeBodyLoweringPhase(
|
||||||
::LocalDeclarationsLowering,
|
{ context -> LocalDeclarationsLowering(context, suggestUniqueNames = false) },
|
||||||
name = "LocalDeclarationsLowering",
|
name = "LocalDeclarationsLowering",
|
||||||
description = "Move local declarations into nearest declaration container",
|
description = "Move local declarations into nearest declaration container",
|
||||||
prerequisite = setOf(sharedVariablesLoweringPhase, localDelegatedPropertiesLoweringPhase)
|
prerequisite = setOf(sharedVariablesLoweringPhase, localDelegatedPropertiesLoweringPhase)
|
||||||
|
|||||||
Reference in New Issue
Block a user