Files
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

130 lines
1.8 KiB
Kotlin
Vendored

// TARGET_BACKEND: JVM
// MODULE: separate
// FILE: J2.java
public class J2 {
public int j1 = 1;
protected int j2 = 2;
private int j3 = 3;
int j4 = 4;
public void funJ1() {}
protected void funJ2() {}
private void funJ3() {}
void funJ4() {}
}
// FILE: Test.kt
class I : J2() {
internal val j1 = 11
internal val j2 = 22
internal val j3 = 33
internal val j4 = 44
}
// MODULE: main(separate)
// FILE: J.java
public class J {
public int j1=12;
protected int j2=23;
private int j3=34;
int j4=45;
public void funJ1() {}
protected void funJ2() {}
private void funJ3() {}
void funJ4() {}
}
// FILE: test.kt
class A: J()
class B : J2()
class C : J() {
override fun funJ1() { }
public override fun funJ2() { }
internal override fun funJ4() { }
}
class D : J2() {
override fun funJ1() { }
public override fun funJ2() { }
}
class E: J() {
public val j1 = 100
public val j2 = 200
public val j3 = 300
public val j4 = 400
}
open class F : J() {
protected val j1 = 100
protected val j2 = 200
protected val j3 = 300
protected var j4 = 400
}
class G : J() {
internal val j1 = 100
internal val j2 = 200
internal val j3 = 300
internal var j4 = 400
}
class H : J() {
private val j1 = 100
private val j2 = 200
private val j3 = 300
private val j4 = 400
}
fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) {
a.j1 = 1
a.j2 = 2
a.j4 = 3
a.funJ1()
a.funJ2()
a.funJ4()
b.j1 = 1
b.funJ1()
c.j1 = 1
c.j2 = 2
c.j4 = 3
c.funJ1()
c.funJ2()
c.funJ4()
d.j1 = 1
d.funJ1()
d.funJ2()
e.j1
e.j2
e.j3
e.j4
f.j1
f.j2
f.j4
g.j1
g.j2
g.j3
g.j4
h.j1
h.j2
h.j4
i.j1
i.j2
i.j4
}