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

161 lines
3.0 KiB
Kotlin
Vendored

abstract class A : SequencedCollection<Int> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
abstract class B : SequencedCollection<Int> {
override val size: Int
field = size
override get
constructor(size: Int) /* primary */ {
super/*Any*/()
/* <init>() */
}
override fun removeFirst(): Int {
return 1
}
override fun reversed(): SequencedCollection<Int> {
return CHECK_NOT_NULL<Nothing>(arg0 = null)
}
}
abstract class C : Java1 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
}
abstract class D : Java1 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
override fun remove(element: Int?): Boolean {
return true
}
override fun removeFirst(): Int {
return 2
}
override fun reversed(): SequencedCollection<Int> {
return CHECK_NOT_NULL<Nothing>(arg0 = null)
}
override val size: Int
override get(): Int {
return 5
}
}
abstract class E : Java1, Java2 {
override val size: Int
field = size
override get
constructor(size: Int) /* primary */ {
super/*Java1*/()
/* <init>() */
}
override fun getFirst(): Int {
return 2
}
}
abstract class F : Java2, KotlinInterface {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
override fun getFirst(): Int {
return 2
}
}
abstract class G : Java3 {
constructor() /* primary */ {
super/*Java3*/()
/* <init>() */
}
}
interface KotlinInterface : SequencedCollection<Int> {
}
fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G) {
a.addFirst(p0 = 1)
a.addLast(p0 = null)
a.getFirst() /*~> Unit */
a.getLast() /*~> Unit */
a.first<@FlexibleNullability Int?>() /*~> Unit */
a.last<@FlexibleNullability Int?>() /*~> Unit */
a.removeFirst() /*~> Unit */
a.removeLast() /*~> Unit */
a.reversed() /*~> Unit */
b.addFirst(p0 = 1)
b.addLast(p0 = null)
b.getFirst() /*~> Unit */
b.getLast() /*~> Unit */
b.removeFirst() /*~> Unit */
b.removeLast() /*~> Unit */
b.reversed() /*~> Unit */
c.addFirst(p0 = 1)
c.addLast(p0 = null)
c.getFirst() /*~> Unit */
c.getLast() /*~> Unit */
c.removeFirst() /*~> Unit */
c.removeLast() /*~> Unit */
c.reversed() /*~> Unit */
d.removeFirst() /*~> Unit */
d.removeLast() /*~> Unit */
d.addFirst(p0 = 1)
d.addLast(p0 = null)
d.reversed() /*~> Unit */
d.getFirst() /*~> Unit */
d.getLast() /*~> Unit */
e.getFirst() /*~> Unit */
e.getLast() /*~> Unit */
e.removeFirst() /*~> Unit */
e.removeLast() /*~> Unit */
e.addFirst(p0 = 1)
e.addLast(p0 = null)
e.reversed() /*~> Unit */
f.getFirst() /*~> Unit */
f.getLast() /*~> Unit */
f.removeFirst() /*~> Unit */
f.removeLast() /*~> Unit */
f.addFirst(p0 = 1)
f.addLast(p0 = null)
f.reversed() /*~> Unit */
g.getFirst() /*~> Unit */
g.getLast() /*~> Unit */
g.removeFirst() /*~> Unit */
g.removeLast() /*~> Unit */
g.addFirst(p0 = 1)
g.addLast(p0 = null)
g.reversed() /*~> Unit */
}