[FIR] Rework resolution of declaration statuses

There is introduced algorithm of resolution with jumps: before
  resolution of some class we resolve all status of members of its
  supertypes, so we can properly determine inherited visibility
  and modifiers
This commit is contained in:
Dmitriy Novozhilov
2020-09-28 15:30:51 +03:00
parent 0b8116dff0
commit bf1a00c73a
35 changed files with 858 additions and 180 deletions
@@ -35,7 +35,7 @@ class G : F() {
}
fun test_fun_stays_protected(g: G) {
g.protected_fun()
g.<!HIDDEN!>protected_fun<!>()
}
//------------
@@ -82,4 +82,4 @@ interface Q : R {
class S : P, Q {
internal override fun foo() {}
}
}