diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/unlinked/UnlinkedDeclarationsProcessor.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/unlinked/UnlinkedDeclarationsProcessor.kt index 0fe11b2ac30..6e4eb3488e5 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/unlinked/UnlinkedDeclarationsProcessor.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/unlinked/UnlinkedDeclarationsProcessor.kt @@ -126,6 +126,20 @@ internal class UnlinkedDeclarationsProcessor( return declaration } + override fun visitVariable(declaration: IrVariable): IrStatement { + if (declaration.type.isUnlinked()) { + val fqn = declaration.parent.fqNameForIrSerialization.child(declaration.name) + val kind = if (declaration.isVar) "var" else "val" + declaration.reportUnlinkedSymbolsWarning(kind, fqn) + + declaration.type = unlinkedMarkerTypeHandler.unlinkedMarkerType + declaration.initializer = null + } else { + declaration.transformChildrenVoid() + } + return declaration + } + /** * Replaces an [IrProperty] or [IrSimpleFunction] that is abstract fake override in non-abstract class * by the corresponding non-abstract IR element.