Fir2Ir: use class id when determining whether declaration is toplevel

This commit is contained in:
Georgy Bronnikov
2022-03-26 16:26:59 +03:00
committed by Alexander Udalov
parent 39bba7973c
commit 536bd99fe7
@@ -121,7 +121,7 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat
}
else -> error("Unsupported FIR declaration in signature composer: ${declaration.render()}")
}
return if (isTopLevelPrivate(declaration, containingClass) || forceTopLevelPrivate) {
return if (isTopLevelPrivate(declaration) || forceTopLevelPrivate) {
val fileSig = fileSignature ?: return null
IdSignature.CompositeSignature(fileSig, publicSignature)
} else
@@ -178,8 +178,8 @@ class FirBasedSignatureComposer(override val mangler: FirMangler) : Fir2IrSignat
} else accessorSig
}
private fun isTopLevelPrivate(declaration: FirDeclaration, containingClass: ConeClassLikeLookupTag?): Boolean =
containingClass == null && declaration is FirMemberDeclaration && declaration.visibility == Visibilities.Private
private fun isTopLevelPrivate(declaration: FirDeclaration): Boolean =
declaration.symbol.getOwnerLookupTag() == null && declaration is FirMemberDeclaration && declaration.visibility == Visibilities.Private
private fun FirProperty.getterOrDefault() =
getter ?: FirDefaultPropertyGetter(