[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
@@ -40,7 +40,7 @@ class KotlinClass2 : JavaClass() {
fun test(a: KotlinClass, b: KotlinClass2) {
a.<!HIDDEN!>foo<!>() // Error, protected_and_package declared in different package
b.foo() // Error, protected visibility in same package (but could be protected_and_package)
b.<!HIDDEN!>foo<!>() // Error, protected visibility in same package (but could be protected_and_package)
a.<!HIDDEN!>field<!>