Files
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

84 lines
969 B
Kotlin
Vendored

open class A {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
class B : Java1 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
}
class C : Java2 {
constructor() /* primary */ {
super/*Java2*/()
/* <init>() */
}
}
class D : Java2, Java3 {
constructor() /* primary */ {
super/*Java2*/()
/* <init>() */
}
}
class E : A, Java3 {
constructor() /* primary */ {
super/*A*/()
/* <init>() */
}
}
fun A.foo(a: Int) {
}
fun Java2.foo(a: Int) {
}
fun Java3.foo(a: Any) {
}
fun test(b: B, c: C, d: D, e: E) {
b.<set-a>(value = 10)
b.foo(a = 1)
c.<set-a>(value = "3")
c.foo(a = 1)
d.foo(a = "")
e.foo(a = "")
}
var A.a: Int
get(): Int {
return 1
}
set(value: Int) {
}
var Java2.a: String
get(): String {
return "java2"
}
set(value: String) {
}
var Java3.a: String
get(): String {
return "java3"
}
set(value: String) {
}