diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt index 56f2ff53e69..e805660c6bd 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/Merger.kt @@ -115,7 +115,20 @@ class Merger( return rootNode } + private fun assertSingleDefinition() { + val definitions = mutableSetOf() + fragments.forEach { + it.definitions.forEach { + if (!definitions.add(it)) { + error("Clashing definitions with tag '$it'") + } + } + } + } + fun merge(): JsProgram { + assertSingleDefinition() + linkJsNames() val moduleBody = mutableListOf().also {