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

81 lines
1.2 KiB
Kotlin
Vendored

open class A {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
open fun Java2.bar(a: Int) {
}
open fun A.foo(a: Int) {
}
open var A.a: Int
open get(): Int {
return 1
}
open set(value: Int) {
}
open var Java2.b: String
open get(): String {
return "java2"
}
open set(value: String) {
}
}
class B : Java1 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
fun test() {
(<this>, A()).<get-a>() /*~> Unit */
(<this>, Java2()).<get-b>() /*~> Unit */
(<this>, A()).foo(a = 1)
(<this>, Java2()).bar(a = 1)
}
}
class C : Java1 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
override fun Java2.bar(a: Int) {
}
override fun A.foo(a: Int) {
}
fun test() {
(<this>, A()).<get-a>() /*~> Unit */
(<this>, Java2()).<get-b>() /*~> Unit */
(<this>, A()).foo(a = 1)
(<this>, Java2()).bar(a = 1)
}
override var A.a: Int
override get(): Int {
return 2
}
override set(value: Int) {
}
override var Java2.b: String
override get(): String {
return "C.java2"
}
override set(value: String) {
}
}