82255d5ee8
Add tests for fake overrides with focus on java interoperability Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
118 lines
2.3 KiB
Kotlin
Vendored
118 lines
2.3 KiB
Kotlin
Vendored
class A : LinkedList<Int>, List<Int> {
|
|
constructor() /* primary */ {
|
|
super/*LinkedList*/<Int>()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class B : LinkedList<Int>, List<Int> {
|
|
constructor() /* primary */ {
|
|
super/*LinkedList*/<Int>()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
override fun addFirst(e: Int?) {
|
|
}
|
|
|
|
override fun remove(): Int {
|
|
return 1
|
|
}
|
|
|
|
override fun remove(element: Int): Boolean {
|
|
return true
|
|
}
|
|
|
|
override operator fun removeAt(index: Int): Int {
|
|
return 1
|
|
}
|
|
|
|
override val size: Int
|
|
override get(): Int {
|
|
return 2
|
|
}
|
|
|
|
}
|
|
|
|
class C : LinkedList<Int?>, MutableList<Int?> {
|
|
constructor() /* primary */ {
|
|
super/*LinkedList*/<Int?>()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
class D : LinkedList<Int?>, MutableList<Int?> {
|
|
constructor() /* primary */ {
|
|
super/*LinkedList*/<Int?>()
|
|
/* <init>() */
|
|
|
|
}
|
|
|
|
override fun addLast(e: Int?) {
|
|
}
|
|
|
|
override operator fun get(index: Int): Int? {
|
|
return 2
|
|
}
|
|
|
|
override fun remove(): Int? {
|
|
return 2
|
|
}
|
|
|
|
override fun remove(element: Int?): Boolean {
|
|
return true
|
|
}
|
|
|
|
override operator fun removeAt(index: Int): Int? {
|
|
return 2
|
|
}
|
|
|
|
}
|
|
|
|
fun test(a: A, b: B, c: C, d: D) {
|
|
a.<get-size>() /*~> Unit */
|
|
a.add(p0 = 1) /*~> Unit */
|
|
a.get(p0 = 0) /*~> Unit */
|
|
a.remove() /*~> Unit */
|
|
a.removeAt(p0 = 1) /*~> Unit */
|
|
a.remove(p0 = 1) /*~> Unit */
|
|
a.addFirst(p0 = 1)
|
|
a.addLast(p0 = null)
|
|
a.removeFirst() /*~> Unit */
|
|
a.removeLast() /*~> Unit */
|
|
b.<get-size>() /*~> Unit */
|
|
b.add(p0 = 1) /*~> Unit */
|
|
b.get(p0 = 0) /*~> Unit */
|
|
b.remove() /*~> Unit */
|
|
b.removeAt(index = 1) /*~> Unit */
|
|
b.remove(element = 1) /*~> Unit */
|
|
b.addFirst(e = 1)
|
|
b.addLast(p0 = null)
|
|
b.removeFirst() /*~> Unit */
|
|
b.removeLast() /*~> Unit */
|
|
c.<get-size>() /*~> Unit */
|
|
c.add(p0 = 1) /*~> Unit */
|
|
c.get(p0 = 0) /*~> Unit */
|
|
c.remove() /*~> Unit */
|
|
c.removeAt(p0 = 1) /*~> Unit */
|
|
c.remove(p0 = 1) /*~> Unit */
|
|
c.addFirst(p0 = 1)
|
|
c.addLast(p0 = null)
|
|
c.removeFirst() /*~> Unit */
|
|
c.removeLast() /*~> Unit */
|
|
d.<get-size>() /*~> Unit */
|
|
d.add(p0 = 1) /*~> Unit */
|
|
d.get(index = 0) /*~> Unit */
|
|
d.remove() /*~> Unit */
|
|
d.removeAt(index = 1) /*~> Unit */
|
|
d.remove(element = 1) /*~> Unit */
|
|
d.addFirst(p0 = 1)
|
|
d.addLast(e = null)
|
|
d.removeFirst() /*~> Unit */
|
|
d.removeLast() /*~> Unit */
|
|
}
|