From 1a6e6588fc1d9eff5fded6484dae0bc3418bf907 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Mon, 22 Apr 2019 20:05:43 +0300 Subject: [PATCH] Fix: Use Vars instead of plain assignments for declaration imports --- .../js/transformers/irToJs/IrModuleToJsTransformer.kt | 7 +------ .../kotlin/ir/backend/js/utils/StableNamesCollector.kt | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt index f6c5409feb7..6cd153ab981 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrModuleToJsTransformer.kt @@ -222,12 +222,7 @@ class IrModuleToJsTransformer( .forEach { declaration -> val declName = getNameForExternalDeclaration(declaration) importStatements.add( - JsExpressionStatement( - jsAssignment( - declName.makeRef(), - JsNameRef(declName, qualifiedReference) - ) - ) + JsVars(JsVars.JsVar(declName, JsNameRef(declName, qualifiedReference))) ) } } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/StableNamesCollector.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/StableNamesCollector.kt index 0a469c1f2cb..5821b7fe1ef 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/StableNamesCollector.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/StableNamesCollector.kt @@ -105,7 +105,7 @@ private val RESERVED_IDENTIFIERS = setOf( "Error", "Object", "Number", - "Math", "String", "Boolean", "Date", "Array", "RegExp", "JSON", + "Math", "String", "Boolean", "Date", "Array", "RegExp", "JSON", "Map", // global identifiers usually declared in know environments (node.js, browser, require.js, WebWorkers, etc) "require", "define", "module", "window", "self"