diff --git a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/JvmIdSignatureDescriptor.kt b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/JvmIdSignatureDescriptor.kt index 9fc93b43dfd..de919f485c3 100644 --- a/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/JvmIdSignatureDescriptor.kt +++ b/compiler/ir/serialization.jvm/src/org/jetbrains/kotlin/backend/jvm/serialization/JvmIdSignatureDescriptor.kt @@ -108,11 +108,14 @@ class JvmIdSignatureDescriptor(mangler: KotlinMangler.DescriptorMangler) : IdSig } private fun computeStoredFileSignature(descriptor: DeclarationDescriptorWithSource) { - storedFileSignature = IdSignature.FileSignature( - descriptor.source.containingFile, - descriptor.containingPackage() ?: FqName.ROOT, - descriptor.source.containingFile.name ?: "unknown" - ) + // isTopLevelPrivate needs to be already set. + if (isTopLevelPrivate && externallyGivenFileSignature == null) { + storedFileSignature = IdSignature.FileSignature( + descriptor.source.containingFile, + descriptor.containingPackage() ?: FqName.ROOT, + descriptor.source.containingFile.name ?: "unknown" + ) + } } var storedFileSignature: IdSignature.FileSignature? = null