diff --git a/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt b/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt index 341d031183c..60b76e70029 100644 --- a/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt +++ b/compiler/ir/backend.jvm/entrypoint/src/org/jetbrains/kotlin/backend/jvm/JvmIrCodegenFactory.kt @@ -86,6 +86,15 @@ open class JvmIrCodegenFactory( IdeCodegenSettings(shouldStubAndNotLinkUnboundSymbols = shouldStubAndNotLinkUnboundSymbols), ) + init { + if (ideCodegenSettings.shouldDeduplicateBuiltInSymbols && !ideCodegenSettings.shouldStubAndNotLinkUnboundSymbols) { + throw IllegalStateException( + "`shouldDeduplicateBuiltInSymbols` depends on `shouldStubAndNotLinkUnboundSymbols` being enabled. Deduplication of" + + " built-in symbols hasn't been tested without stubbing and there is currently no use case for it without stubbing." + ) + } + } + /** * @param shouldStubOrphanedExpectSymbols See [stubOrphanedExpectSymbols]. * @param shouldDeduplicateBuiltInSymbols See [SymbolTableWithBuiltInsDeduplication].