diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt index 525eee2c9b7..1912b2efc2e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt @@ -102,10 +102,6 @@ internal val psiToIrPhase = konanUnitPhase( val symbols = KonanSymbols(this, generatorContext.symbolTable, generatorContext.symbolTable.lazyWrapper) val module = translator.generateModuleFragment(generatorContext, environment.getSourceFiles(), deserializer) - modules.values.forEach { - it.patchDeclarationParents() - } - irModule = module irModules = modules ir.symbols = symbols diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleDeserializer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleDeserializer.kt index fe8d8b817d0..23147f884d9 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleDeserializer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/KonanIrModuleDeserializer.kt @@ -250,7 +250,9 @@ class KonanIrModuleDeserializer( deserializedModuleDescriptor = key.moduleOfOrigin val reachable = deserializeTopLevelDeclaration(key) - reversedFileIndex[key]!!.declarations.add(reachable) + val file = reversedFileIndex[key]!! + file.declarations.add(reachable) + reachable.patchDeclarationParents(file) reachableTopLevels.remove(key) deserializedTopLevels.add(key)