[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:
+2
-2
@@ -15,5 +15,5 @@ class B : A() {
|
||||
}
|
||||
|
||||
fun test(b: B) {
|
||||
b.foo("")
|
||||
}
|
||||
b.<!HIDDEN!>foo<!>("")
|
||||
}
|
||||
|
||||
+2
-2
@@ -4,11 +4,11 @@ FILE: main.kt
|
||||
super<R|A|>()
|
||||
}
|
||||
|
||||
public final override fun foo(s: R|kotlin/String|): R|kotlin/Any?| {
|
||||
protected final override fun foo(s: R|kotlin/String|): R|kotlin/Any?| {
|
||||
^foo Null(null)
|
||||
}
|
||||
|
||||
}
|
||||
public final fun test(b: R|B|): R|kotlin/Unit| {
|
||||
R|<local>/b|.R|/B.foo|(String())
|
||||
R|<local>/b|.<HIDDEN: /B.foo is invisible>#(String())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user