82255d5ee8
Add tests for fake overrides with focus on java interoperability Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
54 lines
991 B
Kotlin
Vendored
54 lines
991 B
Kotlin
Vendored
abstract class A : SortedSet<Any> {
|
|
constructor() /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
abstract class B : SortedSet<Any> {
|
|
override val size: Int
|
|
field = size
|
|
override get
|
|
|
|
constructor(size: Int) /* primary */ {
|
|
super/*Any*/()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
override fun first(): Any {
|
|
return 1
|
|
}
|
|
|
|
override fun last(): Any {
|
|
return 10
|
|
}
|
|
|
|
override fun remove(element: Any?): Boolean {
|
|
return true
|
|
}
|
|
|
|
override fun removeAll(elements: Collection<Any>): Boolean {
|
|
return false
|
|
}
|
|
|
|
}
|
|
|
|
fun test(a: A, b: B) {
|
|
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 */
|
|
b.<get-size>() /*~> Unit */
|
|
b.first() /*~> Unit */
|
|
b.last() /*~> Unit */
|
|
b.add(element = 1) /*~> Unit */
|
|
b.add(element = null) /*~> Unit */
|
|
b.remove(element = null) /*~> Unit */
|
|
}
|