Files
kotlin-fork/compiler/testData/ir/irText/fakeOverrides/gettersetter/intersectionOverrideForGetterSetter.kt.txt
anzhela.sukhanova 82255d5ee8 [Test] KT-61360: add tests for the IrFakeOverrideBuilder
Add tests for fake overrides with focus on java interoperability

Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
2024-03-04 16:21:02 +00:00

81 lines
1.2 KiB
Kotlin
Vendored

abstract class A : Java1, Java2 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
}
class B : Java1, Java2 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
override fun setA(t: Any?) {
}
}
abstract class C : Java1, KotlinInterface {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
}
class D : Java1, KotlinInterface {
override var a: Any
field = a
override get
override set
override val b: Boolean
field = b
override get
constructor(a: Any, b: Boolean) /* primary */ {
super/*Java1*/()
/* <init>() */
}
}
interface KotlinInterface {
abstract var a: Any
abstract get
abstract set
abstract val b: Boolean
abstract get
}
fun test(a: A, b: B, c: C, d: D) {
a.getA() /*~> Unit */
a.setA(t = 3)
a.setA(t = "")
a.isB() /*~> Unit */
a.setB(t = false)
b.getA() /*~> Unit */
b.setA(t = 3)
b.setA(t = "")
b.isB() /*~> Unit */
b.setB(t = false)
c.<get-a>() /*~> Unit */
c.<get-b>() /*~> Unit */
c.isB() /*~> Unit */
c.<set-a>(<set-?> = 1)
c.setB(t = false)
d.<get-a>() /*~> Unit */
d.<get-b>() /*~> Unit */
d.isB() /*~> Unit */
d.<set-a>(<set-?> = 1)
d.setB(t = false)
}