[FIR] KT-39033: Fix generic property override detection
#KT-39033 Fixed
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
abstract class A {
|
||||
open val <D> Inv<D>.phasedFir: D get() = TODO()
|
||||
}
|
||||
|
||||
abstract class B : A() {
|
||||
final override val <D> Inv<D>.phasedFir: D get() = TODO()
|
||||
}
|
||||
|
||||
abstract class Inv<E>
|
||||
|
||||
class C : B() {
|
||||
fun foo(x: Inv<String>) {
|
||||
x.phasedFir
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
FILE: genericReceiverPropertyOverride.kt
|
||||
public abstract class A : R|kotlin/Any| {
|
||||
public constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public open val <D> R|Inv<D>|.phasedFir: R|D|
|
||||
public get(): R|D| {
|
||||
^ R|kotlin/TODO|()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract class B : R|A| {
|
||||
public constructor(): R|B| {
|
||||
super<R|A|>()
|
||||
}
|
||||
|
||||
public final override val <D> R|Inv<D>|.phasedFir: R|D|
|
||||
public get(): R|D| {
|
||||
^ R|kotlin/TODO|()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract class Inv<E> : R|kotlin/Any| {
|
||||
public constructor<E>(): R|Inv<E>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public final class C : R|B| {
|
||||
public constructor(): R|C| {
|
||||
super<R|B|>()
|
||||
}
|
||||
|
||||
public final fun foo(x: R|Inv<kotlin/String>|): R|kotlin/Unit| {
|
||||
(this@R|/C|, R|<local>/x|).R|/B.phasedFir|<R|kotlin/String|>
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user