Files
kotlin-fork/compiler/testData/ir/irText/fakeOverrides/java21/sequenceCollectionIntersectionOverrideKJK.kt.txt
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

118 lines
2.4 KiB
Kotlin
Vendored

class A : LinkedList<Int>, List<Int> {
constructor() /* primary */ {
super/*LinkedList*/<@FlexibleNullability Int?>()
/* <init>() */
}
}
class B : LinkedList<Int>, List<Int> {
constructor() /* primary */ {
super/*LinkedList*/<@FlexibleNullability Int?>()
/* <init>() */
}
override fun addFirst(e: Int?) {
}
override fun remove(): Int {
return 1
}
override fun remove(element: Int): Boolean {
return true
}
override 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*/<@FlexibleNullability Int?>()
/* <init>() */
}
}
class D : LinkedList<Int?>, MutableList<Int?> {
constructor() /* primary */ {
super/*LinkedList*/<@FlexibleNullability 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 fun removeAt(index: Int): Int? {
return 2
}
}
fun test(a: A, b: B, c: C, d: D) {
a.<get-size>() /*~> Unit */
a.add(element = 1) /*~> Unit */
a.get(index = 0) /*~> Unit */
a.remove() /*~> Unit */
a.removeAt(p0 = 1) /*~> Unit */
a.remove(element = 1) /*~> Unit */
a.addFirst(p0 = 1)
a.addLast(p0 = null)
a.removeFirst() /*~> Unit */
a.removeLast() /*~> Unit */
b.<get-size>() /*~> Unit */
b.add(element = 1) /*~> Unit */
b.get(index = 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(element = 1) /*~> Unit */
c.get(index = 0) /*~> Unit */
c.remove() /*~> Unit */
c.removeAt(p0 = 1) /*~> Unit */
c.remove(element = 1) /*~> Unit */
c.addFirst(p0 = 1)
c.addLast(p0 = null)
c.removeFirst() /*~> Unit */
c.removeLast() /*~> Unit */
d.<get-size>() /*~> Unit */
d.add(element = 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 */
}