[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>
This commit is contained in:
committed by
Space Team
parent
30aae741a6
commit
82255d5ee8
Vendored
+80
@@ -0,0 +1,80 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user