diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt index 775da7ef736..ffbff4bca81 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt @@ -63,28 +63,28 @@ class FirBasedSignatureComposer(private val mangler: FirMangler) : Fir2IrSignatu override fun composeSignature(declaration: FirDeclaration): IdSignature? { if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null - if (declaration is FirMemberDeclaration) { - val effectiveVisibility = declaration.effectiveVisibility - if (effectiveVisibility == FirEffectiveVisibilityImpl.Local || - effectiveVisibility == FirEffectiveVisibilityImpl.Private - ) return null + if (declaration is FirMemberDeclaration && declaration.effectiveVisibility == FirEffectiveVisibilityImpl.Local) { + return null } val builder = SignatureBuilder() declaration.accept(builder) return when { declaration is FirRegularClass && declaration.visibility != Visibilities.LOCAL -> { + // TODO: private classes are probably not acceptable here too val classId = declaration.classId IdSignature.PublicSignature( classId.packageFqName.asString(), classId.relativeClassName.asString(), builder.hashId, builder.mask ) } declaration is FirTypeAlias -> { + if (declaration.visibility == Visibilities.PRIVATE) return null val classId = declaration.symbol.classId IdSignature.PublicSignature( classId.packageFqName.asString(), classId.relativeClassName.asString(), builder.hashId, builder.mask ) } declaration is FirCallableMemberDeclaration<*> -> { + if (declaration.visibility == Visibilities.PRIVATE) return null val callableId = declaration.symbol.callableId if (callableId.classId?.isLocal == true) return null IdSignature.PublicSignature(