diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsDeclarationTable.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsDeclarationTable.kt index 9ab1396b114..69a488afe4b 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsDeclarationTable.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/ir/JsDeclarationTable.kt @@ -24,7 +24,9 @@ class JsUniqIdClashTracker : IdSignatureClashTracker { if (signature in committedIdSignatures) { val clashedDeclaration = committedIdSignatures[signature]!! - if (declaration !is IrTypeParameter && declaration.descriptor.containingDeclaration !is PropertyDescriptor) { + if (declaration !is IrTypeParameter && + (declaration.parent !is IrSimpleFunction || declaration.parent === clashedDeclaration.parent) + ) { // TODO: handle clashes properly error("IdSignature clash: $signature; Existed declaration ${clashedDeclaration.render()} clashed with new ${declaration.render()}") } else {