From 67671afab4dcdb74b9ab5b8c92fe3b3932007960 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Wed, 10 Feb 2021 16:58:49 +0300 Subject: [PATCH] [Plugin API] Fix missed call in `resolveBySignatureInModule` --- .../kotlin/backend/common/serialization/KotlinIrLinker.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 177775d8b70..6796aefbe2d 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 @@ -681,7 +681,9 @@ abstract class KotlinIrLinker( deserializersForModules.entries.find { it.key.name == moduleName }?.value ?: error("No module for name '$moduleName' found") assert(signature == signature.topLevelSignature()) { "Signature '$signature' has to be top level" } if (signature !in moduleDeserializer) error("No signature $signature in module $moduleName") - return moduleDeserializer.deserializeIrSymbol(signature, topLevelKindToSymbolKind(kind)) + return moduleDeserializer.deserializeIrSymbol(signature, topLevelKindToSymbolKind(kind)).also { + deserializeAllReachableTopLevels() + } } // The issue here is that an expect can not trigger its actual deserialization by reachability