[FIR] Refactor effective visibility calculation

Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
This commit is contained in:
Nick
2020-07-15 17:23:21 +03:00
committed by Mikhail Glukhikh
parent b15e32936e
commit 7145caca40
95 changed files with 713 additions and 484 deletions
@@ -1,19 +1,19 @@
FILE: foo.kt
public final fun foo(): R|kotlin/Boolean| {
object : R|Node<kotlin/Boolean>| {
private[local] constructor(): R|<anonymous>| {
private constructor(): R|<anonymous>| {
super<R|kotlin/Any|>()
}
private[local] final var result: R|kotlin/Boolean| = Boolean(false)
private final var result: R|kotlin/Boolean| = Boolean(false)
private get(): R|kotlin/Boolean|
private set(value: R|kotlin/Boolean|): R|kotlin/Unit|
public[local] final fun bar(): R|kotlin/Boolean| {
public final fun bar(): R|kotlin/Boolean| {
^bar this@R|/<anonymous>|.R|/<anonymous>.result|.R|kotlin/Boolean.not|()
}
public[local] final override fun result(): R|kotlin/Boolean| {
public final override fun result(): R|kotlin/Boolean| {
^result this@R|/<anonymous>|.R|/<anonymous>.result|
}