[FIR] Fix effective visibility handling for local members

In future 'Local' effective visibility could be used
as a flag of local declaration
This commit is contained in:
Mikhail Glukhikh
2020-06-01 15:11:18 +03:00
parent cb345a4c19
commit 0ffa0b2bd7
22 changed files with 47 additions and 44 deletions
@@ -183,10 +183,13 @@ sealed class FirEffectiveVisibilityImpl(
override fun toVisibility() = Visibilities.PRIVATE
}
override fun lowerBound(other: FirEffectiveVisibility) = when (relation(other)) {
Permissiveness.SAME, Permissiveness.LESS -> this
Permissiveness.MORE -> other
Permissiveness.UNKNOWN -> Private
override fun lowerBound(other: FirEffectiveVisibility): FirEffectiveVisibility {
if (this == Local || other == Local) return Local
return when (relation(other)) {
Permissiveness.SAME, Permissiveness.LESS -> this
Permissiveness.MORE -> other
Permissiveness.UNKNOWN -> Private
}
}
companion object {