[FIR] Properly calculate visibilities

`testIntersectionOfPrimitiveBasedFunctions`
is fine, because we deprecate this
already in ^KT-63243.

`CANNOT_INFER_VISIBILITY` is
positioned as `DECLARATION_NAME`,
just in case we decide for
some reason that we do want to
report it along with
`MANY_*_NOT_IMPLEMENTED`. In that
case, we'd get a problem that
their bounds overlap, but not
completely contain one another.

^KT-63741 Fixed
^KT-59400 Fixed
This commit is contained in:
Nikolay Lunyak
2024-01-19 12:44:09 +02:00
committed by Space Team
parent 7056ad5325
commit 8f8c7fe7cf
31 changed files with 203 additions and 139 deletions
@@ -37,6 +37,10 @@ fun Visibility.toEffectiveVisibility(
}
Visibilities.Public -> EffectiveVisibility.Public
Visibilities.Local -> EffectiveVisibility.Local
// Unknown visibility should not provoke errors,
// because they can naturally appear when intersection
// overrides' bases have inconsistent forms.
Visibilities.Unknown -> EffectiveVisibility.Unknown
else -> errorWithAttachment("Unknown visibility: $this") {
withFirLookupTagEntry("owner", owner)
}