FIR Java: correctly handle overridden Kotlin properties in use-site scope
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
public open class JavaClass : R|Derived| {
|
||||
public constructor(): R|JavaClass|
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
open class Base {
|
||||
open val some: String get() = "Base"
|
||||
}
|
||||
|
||||
open class Derived : Base() {
|
||||
override val some: String get() = "Derived"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
FILE: Base.kt
|
||||
public open class Base : R|kotlin/Any| {
|
||||
public constructor(): R|Base| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public open val some: R|kotlin/String|
|
||||
public get(): R|kotlin/String| {
|
||||
^ String(Base)
|
||||
}
|
||||
|
||||
}
|
||||
public open class Derived : R|Base| {
|
||||
public constructor(): R|Derived| {
|
||||
super<R|Base|>()
|
||||
}
|
||||
|
||||
public open override val some: R|kotlin/String|
|
||||
public get(): R|kotlin/String| {
|
||||
^ String(Derived)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
public class JavaClass extends Derived {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
fun test() {
|
||||
val jc = JavaClass()
|
||||
val result = jc.some
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
FILE: Test.kt
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
lval jc: R|JavaClass| = R|/JavaClass.JavaClass|()
|
||||
lval result: R|kotlin/String| = R|<local>/jc|.R|/Derived.some|
|
||||
}
|
||||
Reference in New Issue
Block a user