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

91 lines
1.6 KiB
Kotlin
Vendored

// TARGET_BACKEND: JVM
// JDK_KIND: FULL_JDK_21
// WITH_STDLIB
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ ISSUE: KT-63914, KT-65219
// FILE: 1.kt
import java.util.*
class A : LinkedList<Int>(), List<Int>
class B : LinkedList<Int>(), List<Int> {
override fun remove(): Int {
return 1
}
override fun removeAt(index: Int): Int {
return 1
}
override fun remove(element: Int): Boolean {
return true
}
override val size: Int
get() = 2
override fun addFirst(e: Int?) {}
}
class C : LinkedList<Int?>(), MutableList<Int?>
class D : LinkedList<Int?>(), MutableList<Int?>{
override fun get(index: Int): Int? {
return 2
}
override fun remove(): Int? {
return 2
}
override fun removeAt(index: Int): Int? {
return 2
}
override fun remove(element: Int?): Boolean {
return true
}
override fun addLast(e: Int?) { }
}
fun test(a: A, b: B, c: C, d: D){
a.size
a.add(1)
a.get(0)
a.remove()
a.removeAt(1)
a.remove(1)
a.addFirst(1)
a.addLast(null)
a.removeFirst()
a.removeLast()
b.size
b.add(1)
b.get(0)
b.remove()
b.removeAt(1)
b.remove(1)
b.addFirst(1)
b.addLast(null)
b.removeFirst()
b.removeLast()
c.size
c.add(1)
c.get(0)
c.remove()
c.removeAt(1)
c.remove(1)
c.addFirst(1)
c.addLast(null)
c.removeFirst()
c.removeLast()
d.size
d.add(1)
d.get(0)
d.remove()
d.removeAt(1)
d.remove(1)
d.addFirst(1)
d.addLast(null)
d.removeFirst()
d.removeLast()
}