From 002d6723aca7d09054526840b8c24bbc7363a8cc Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Mon, 6 Dec 2021 20:42:15 +0300 Subject: [PATCH] [KLIB] Fix partially-linked mode - don't mark super classes as unlinked if its type argument is - check IrCall type as well --- .../kotlin/backend/common/serialization/KotlinIrLinker.kt | 1 - .../common/serialization/UnlinkedDeclarationsProcessor.kt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) 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 dd56ea25d1c..83e0648bca2 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 @@ -250,7 +250,6 @@ abstract class KotlinIrLinker( if (ta is IrTypeProjection) { val projected = ta.type if (projected.isUnlinked(visited)) { - result.add(classifier) return true } } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/UnlinkedDeclarationsProcessor.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/UnlinkedDeclarationsProcessor.kt index 92610499350..ef38334f0ff 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/UnlinkedDeclarationsProcessor.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/UnlinkedDeclarationsProcessor.kt @@ -235,7 +235,7 @@ internal class UnlinkedDeclarationsProcessor( expression.transformChildrenVoid() val symbol = expression.symbol - if (!symbol.isUnlinked()) return expression + if (!symbol.isUnlinked() && !expression.type.isUnlinked()) return expression reportWarning( "Accessing declaration contains unlinked symbol ${symbol.signature?.render() ?: ""}",