K2: don't generate Java overridden synthetics for Kotlin get/sets
#KT-59038 Fixed
This commit is contained in:
committed by
Space Team
parent
9e39b7ef87
commit
d8a20f1975
@@ -0,0 +1,37 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_K1: JVM_IR
|
||||
// ISSUE: KT-59038
|
||||
|
||||
// FILE: C.java
|
||||
abstract class C extends B {
|
||||
protected C(A a) {
|
||||
super(a);
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
private class D(a: A) : C(a)
|
||||
|
||||
open class A
|
||||
|
||||
class E : A()
|
||||
|
||||
open class B(private val a: A) {
|
||||
open fun <T : A> getA(): T {
|
||||
return a as T
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a = A()
|
||||
val da = D(a)
|
||||
val aa = da.getA<A>()
|
||||
if (a !== aa) return "FAIL 1"
|
||||
|
||||
val e = E()
|
||||
val de = D(e)
|
||||
val ee = de.getA<E>()
|
||||
if (e !== ee) return "FAIL 2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user