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

75 lines
1.7 KiB
Kotlin
Vendored

abstract class A : HashSet<Any>, SortedSet<Any> {
constructor() /* primary */ {
super/*HashSet*/<@FlexibleNullability Any?>()
/* <init>() */
}
override fun spliterator(): Spliterator<Any> {
return CHECK_NOT_NULL<Nothing>(arg0 = null)
}
}
abstract class B : HashSet<Any>, SortedSet<Any> {
constructor() /* primary */ {
super/*HashSet*/<@FlexibleNullability Any?>()
/* <init>() */
}
override fun first(): Any {
return 1
}
override fun remove(element: Any): Boolean {
return true
}
override fun spliterator(): Spliterator<Any> {
return CHECK_NOT_NULL<Nothing>(arg0 = null)
}
}
abstract class C : ArrayList<Any>, SortedSet<Any> {
constructor() /* primary */ {
super/*ArrayList*/<@FlexibleNullability Any?>()
/* <init>() */
}
override fun spliterator(): Spliterator<Any> {
TODO(reason = "Not yet implemented")
}
}
fun test(a: A, b: B, c: C) {
a.<get-size>() /*~> Unit */
a.first() /*~> Unit */
a.last() /*~> Unit */
a.add(element = 1) /*~> Unit */
a.add(element = null) /*~> Unit */
a.remove(element = 1) /*~> Unit */
a.remove(element = null) /*~> Unit */
a.spliterator() /*~> Unit */
b.<get-size>() /*~> Unit */
b.first() /*~> Unit */
b.last() /*~> Unit */
b.add(element = 1) /*~> Unit */
b.add(element = null) /*~> Unit */
b.remove(element = 1) /*~> Unit */
b.remove<Any?>(element = null) /*~> Unit */
b.spliterator() /*~> Unit */
c.<get-size>() /*~> Unit */
c.first() /*~> Unit */
c.last() /*~> Unit */
c.add(element = 1) /*~> Unit */
c.add(element = null) /*~> Unit */
c.remove(element = 1) /*~> Unit */
c.remove(element = null) /*~> Unit */
c.spliterator() /*~> Unit */
c.removeAt(p0 = 1) /*~> Unit */
}