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(
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user