[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>
This commit is contained in:
committed by
Space Team
parent
30aae741a6
commit
82255d5ee8
+160
@@ -0,0 +1,160 @@
|
||||
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 */
|
||||
}
|
||||
Reference in New Issue
Block a user