diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsGenerationContext.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsGenerationContext.kt index 943e5f457f5..5445d190abc 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsGenerationContext.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/JsGenerationContext.kt @@ -27,7 +27,8 @@ class JsGenerationContext( val currentFile: IrFile, val currentFunction: IrFunction?, val staticContext: JsStaticContext, - val localNames: LocalNameGenerator? = null + val localNames: LocalNameGenerator? = null, + private val nameCache: MutableMap = mutableMapOf() ): IrNamer by staticContext { fun newFile(file: IrFile, func: IrFunction? = null, localNames: LocalNameGenerator? = null): JsGenerationContext { return JsGenerationContext( @@ -35,9 +36,8 @@ class JsGenerationContext( currentFunction = func, staticContext = staticContext, localNames = localNames, - ).also { - it.nameCache += nameCache - } + nameCache = nameCache, + ) } fun newDeclaration(func: IrFunction? = null, localNames: LocalNameGenerator? = null): JsGenerationContext { @@ -46,13 +46,10 @@ class JsGenerationContext( currentFunction = func, staticContext = staticContext, localNames = localNames, - ).also { - it.nameCache += nameCache - } + nameCache = nameCache, + ) } - private val nameCache = mutableMapOf() - fun getNameForValueDeclaration(declaration: IrDeclarationWithName): JsName { return nameCache.getOrPut(declaration) { val name = localNames!!.variableNames.names[declaration]