Files
kotlin-fork/compiler/testData/ir/irText/fakeOverrides/javastatic/intersectionWithGenericOnComplexHierarchy.kt.txt
2024-03-14 10:16:46 +00:00

184 lines
2.8 KiB
Kotlin
Vendored

class A : Java1, Java2, KotlinInterface {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
fun test1() {
return <this>.foo(t = 1)
}
fun test2(): Int {
return <this>.bar<Int>()
}
fun test3() {
return <this>.foo<String>(t = "")
}
fun test4() {
return <this>.foo(t = 1.5)
}
fun test5() {
return <this>.foo(t = 1.5, t2 = 8)
}
}
class B : Java1, Java2, Java3 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
fun test1() {
return <this>.foo(t = 1)
}
fun test2(): @FlexibleNullability Int? {
return bar<@FlexibleNullability Int?>()
}
fun test3(): @FlexibleNullability Number? {
return <this>.bar()
}
fun test4() {
return foo<@FlexibleNullability String?>(t = "")
}
fun test5() {
return <this>.foo(t = 1.5)
}
fun test6() {
return <this>.foo(t = 1.5, t2 = 8)
}
fun test7() {
return <this>.foo(t = 1, t2 = 8)
}
}
class C : KotlinClass, Java2 {
constructor() /* primary */ {
super/*KotlinClass*/()
/* <init>() */
}
fun test1() {
return foo<@FlexibleNullability Int?>(t = 1)
}
fun test2(): Int {
return bar<@FlexibleNullability Int?>() /*!! Int */
}
fun test3() {
return foo<@FlexibleNullability String?>(t = "")
}
fun test4() {
return foo<@FlexibleNullability Double?>(t = 1.5)
}
fun test5() {
return foo<@FlexibleNullability Any?>(t = 1.5, t2 = 8)
}
fun test6() {
return foo<@FlexibleNullability Int?>(t = 1, t2 = 8)
}
}
class D : Java4, Java2 {
constructor() /* primary */ {
super/*Java4*/()
/* <init>() */
}
fun test1() {
return foo<@FlexibleNullability Int?>(t = 1)
}
fun test2(): Int {
return bar<@FlexibleNullability Int?>() /*!! Int */
}
fun test3() {
return foo<@FlexibleNullability String?>(t = "")
}
fun test4() {
return foo<@FlexibleNullability Double?>(t = 1.5)
}
fun test5() {
return foo<@FlexibleNullability Any?>(t = 1.5, t2 = 8)
}
fun test6() {
return foo<@FlexibleNullability Int?>(t = 1, t2 = 8)
}
}
open class KotlinClass : Java1 {
constructor() /* primary */ {
super/*Java1*/()
/* <init>() */
}
}
interface KotlinInterface {
fun <T : Any?> bar(): T {
return CHECK_NOT_NULL<Nothing>(arg0 = null)
}
fun foo(t: Number) {
}
fun foo(t: Number, t2: Int = 7) {
}
fun <T : Any?> foo(t: T) {
}
}
fun test(a: A, b: B, c: C, d: D) {
a.test1()
a.test2() /*~> Unit */
a.test3()
a.test4()
a.test5()
b.test1()
b.test2() /*~> Unit */
b.test3() /*~> Unit */
b.test4()
b.test5()
b.test6()
b.test7()
c.test1()
c.test2() /*~> Unit */
c.test3()
c.test4()
c.test5()
c.test6()
d.test1()
d.test2() /*~> Unit */
d.test3()
d.test4()
d.test5()
d.test6()
}