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

49 lines
1.2 KiB
Kotlin
Vendored

abstract class A<T : Any?> : Java1<T> {
constructor() /* primary */ {
super/*Java1*/<@FlexibleNullability T?>()
/* <init>() */
}
}
abstract class B<T : Any?> : Java1<T> {
override val size: Int
field = size
override get
constructor(size: Int) /* primary */ {
super/*Java1*/<@FlexibleNullability T?>()
/* <init>() */
}
override fun put(key: T, value: T): T? {
return CHECK_NOT_NULL<Nothing>(arg0 = null)
}
override fun remove(key: T, value: T): Boolean {
return true
}
}
fun test(a: A<Boolean>, b: B<Boolean?>) {
a.<get-size>() /*~> Unit */
a.set<@FlexibleNullability Boolean?, @FlexibleNullability Boolean?>(key = true, value = true)
a.put(key = null, value = null) /*~> Unit */
a.get(key = true) /*~> Unit */
a.get(key = null) /*~> Unit */
a.remove(key = null) /*~> Unit */
a.remove(key = true) /*~> Unit */
b.<get-size>() /*~> Unit */
b.put(key = false, value = false) /*~> Unit */
b.put(key = null, value = null) /*~> Unit */
b.set<Boolean?, Boolean?>(key = null, value = null)
b.set<Boolean?, Boolean?>(key = true, value = true)
b.get(key = null) /*~> Unit */
b.get(key = true) /*~> Unit */
b.remove(key = null) /*~> Unit */
b.remove(key = true) /*~> Unit */
}