184 lines
2.8 KiB
Kotlin
Vendored
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()
|
|
}
|