diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt index 01777e8e2d4..e5fe6f3f6c2 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt @@ -564,6 +564,15 @@ abstract class KotlinIrLinker( return null } + val moduleOfOrigin = topLevelDescriptor.module + + val moduleDeserializer = deserializersForModules[moduleOfOrigin] ?: + if (tolerateNonKlibDescriptors) { + return null + } else { + error("No module deserializer found for $moduleOfOrigin") + } + val descriptorUniqId = topLevelDescriptor.getUniqId() ?: if (tolerateNonKlibDescriptors) { return null @@ -572,15 +581,6 @@ abstract class KotlinIrLinker( } val topLevelKey = UniqId(descriptorUniqId) - val moduleOfOrigin = topLevelDescriptor.module - - val moduleDeserializer = deserializersForModules[moduleOfOrigin] ?: - if (tolerateNonKlibDescriptors) { - return null - } else { - error("No module deserializer found for $moduleOfOrigin") - } - moduleDeserializer.addModuleReachableTopLevel(topLevelKey) deserializeAllReachableTopLevels()