FIR: introduce callable member symbols & initial member scopes
Initial member scopes cover top-level, class-level, and supers Ad-hock version of call resolve was introduced to test them NB: after this commit, total Kotlin resolve test cannot finish because of scope problems in type resolve transformer Related to KT-24078 #KT-24083 Fixed
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
expect open class A() {
|
||||
fun foo()
|
||||
}
|
||||
|
||||
open class B : A()
|
||||
@@ -0,0 +1,11 @@
|
||||
FILE: common.kt
|
||||
public open expect class A {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
public final function foo(): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public open class B : R|A| {
|
||||
public constructor(): super<R|A|>()
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
actual open class A {
|
||||
actual fun foo() {}
|
||||
|
||||
fun bar() {}
|
||||
}
|
||||
|
||||
class C : B() {
|
||||
fun test() {
|
||||
foo()
|
||||
bar()
|
||||
}
|
||||
}
|
||||
|
||||
class D : A() {
|
||||
fun test() {
|
||||
foo()
|
||||
bar()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
FILE: jvm.kt
|
||||
public open actual class A {
|
||||
public constructor(): super<R|kotlin/Any|>()
|
||||
|
||||
public final actual function foo(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
public final function bar(): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
public final class C : R|B| {
|
||||
public constructor(): super<R|B|>()
|
||||
|
||||
public final function test(): R|kotlin/Unit| {
|
||||
R|/A.foo|()
|
||||
<Unresolved name: bar>#()
|
||||
}
|
||||
|
||||
}
|
||||
public final class D : R|A| {
|
||||
public constructor(): super<R|A|>()
|
||||
|
||||
public final function test(): R|kotlin/Unit| {
|
||||
R|/A.foo|()
|
||||
<Unresolved name: bar>#()
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user