Files
kotlin/compiler/testData/codegen/box/sam/arrayAsVarargAfterSamArgument.kt

54 lines
1.3 KiB
Kotlin
Vendored

// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FILE: Test.java
public class Test {
public static String foo1(Runnable r, String... strs) {
return null;
}
public String foo2(Runnable r1, Runnable r2, String... strs) {
return null;
}
public Test(Runnable r, String... strs) {}
public Test(Runnable r1, Runnable r2, String... strs) {}
}
// FILE: main.kt
fun box(): String {
val x1 = {}
val x2: Runnable = Runnable { }
val x3 = arrayOf<String>()
Test.foo1({}, arrayOf())
Test.foo1({}, *arrayOf())
Test.foo1({}, x3)
Test.foo1({}, *arrayOf(""))
Test.foo1(x1, arrayOf())
Test.foo1(x1, *arrayOf())
Test.foo1(x2, *arrayOf())
Test.foo1(x1, x3)
Test.foo1(x1, *x3)
Test.foo1(x2, *arrayOf(""))
val i1 = Test({}, arrayOf())
val i2 = Test({}, *arrayOf())
val i3 = Test({}, x3)
val i4 = Test({}, arrayOf(""))
val i5 = Test({}, {}, *arrayOf(""))
val i6 = Test({}, {}, arrayOf())
i1.foo2({}, {}, arrayOf())
i2.foo2({}, {}, *arrayOf())
i3.foo2(x2, {}, *arrayOf())
i4.foo2({}, {}, arrayOf(""))
i5.foo2({}, {}, *x3)
i6.foo2(x2, {}, *arrayOf(""))
return "OK"
}