82255d5ee8
Add tests for fake overrides with focus on java interoperability Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
81 lines
1.2 KiB
Kotlin
Vendored
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) {
|
|
}
|
|
|
|
}
|