[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
@@ -41,12 +41,12 @@ class Case1 : AbstractClassCase1(){
fun case1(){
val a = Case1()
a.<!HIDDEN!>priv<!>()
a.prot()
a.<!HIDDEN!>prot<!>()
a.int()
a.pub()
a.<!HIDDEN!>priv1<!>
a.prot1
a.<!HIDDEN!>prot1<!>
a.int1
a.pub1
}
@@ -60,12 +60,12 @@ import base.*
fun case2() {
val a = Case1()
a.<!HIDDEN!>priv<!>()
a.prot()
a.int()
a.<!HIDDEN!>prot<!>()
a.<!HIDDEN!>int<!>()
a.pub()
a.<!HIDDEN!>priv1<!>
a.prot1
a.int1
a.<!HIDDEN!>prot1<!>
a.<!HIDDEN!>int1<!>
a.pub1
}