From a3b1d3ff62a5478e9ed9d3b1df1564a009bc9bc1 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Thu, 21 Mar 2019 18:09:37 +0300 Subject: [PATCH] Allow forward declarations bring additional IR dependencies for modules present in metadata. --- .../kotlin/backend/common/serialization/KotlinIrLinker.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt index 7758d75836a..f3629e44d2a 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/serialization/KotlinIrLinker.kt @@ -157,6 +157,12 @@ abstract class KotlinIrLinker( if (!deserializedTopLevels.contains(it)) reachableTopLevels.add(it) // Assuming forward declarations are always top levels. } + descriptor?.module?.let { + if (!deserializersForModules.containsKey(it) && !it.isForwardDeclarationModule) { + deserializeIrModuleHeader(it)!! + } + } + referenceDeserializedSymbol(proto, descriptor) } if (symbol.descriptor is ClassDescriptor &&