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 e7ceddc3f4a..ca10c9355c4 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 @@ -6,14 +6,15 @@ package org.jetbrains.kotlin.backend.common.serialization import org.jetbrains.kotlin.backend.common.LoggingContext -import org.jetbrains.kotlin.backend.common.ir.isExpect import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideBuilderImpl import org.jetbrains.kotlin.backend.common.overrides.FakeOverrideControl import org.jetbrains.kotlin.backend.common.serialization.encodings.BinarySymbolData import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.impl.EmptyPackageFragmentDescriptor import org.jetbrains.kotlin.ir.IrElement -import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.declarations.IrDeclaration +import org.jetbrains.kotlin.ir.declarations.IrFile +import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl import org.jetbrains.kotlin.ir.descriptors.* @@ -29,7 +30,6 @@ import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.ir.util.IrDeserializer import org.jetbrains.kotlin.ir.util.NaiveSourceBasedFileEntryImpl import org.jetbrains.kotlin.ir.util.SymbolTable -import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.library.IrLibrary import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.protobuf.CodedInputStream @@ -518,10 +518,6 @@ abstract class KotlinIrLinker( protected open fun platformSpecificSymbol(symbol: IrSymbol): Boolean = false - private fun IrElement.isExpectMember(): Boolean = - this is IrSymbolDeclaration<*> && - (this.isExpect || (this.parent as? IrDeclaration)?.isExpect == true) - override fun getDeclaration(symbol: IrSymbol): IrDeclaration? { if (!symbol.isPublicApi) { @@ -537,7 +533,7 @@ abstract class KotlinIrLinker( } // TODO: we do have serializations for those, but let's just create a stub for now. - if (!symbol.isBound && symbol.owner.isExpectMember()) + if (!symbol.isBound && (symbol.descriptor.isExpectMember || symbol.descriptor.containingDeclaration?.isExpectMember == true)) return null if (!symbol.isBound) return null