55 lines
2.0 KiB
Kotlin
Vendored
55 lines
2.0 KiB
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
|
// !LANGUAGE: +SamConversionForKotlinFunctions +SamConversionPerArgument -ProhibitVarargAsArrayAfterSamArgument
|
|
// IGNORE_BACKEND: JS
|
|
// SKIP_TXT
|
|
|
|
// 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 main(x2: Runnable) {
|
|
val x1 = {}
|
|
val x3 = arrayOf<String>()
|
|
|
|
Test.foo1({}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf()<!>)
|
|
Test.foo1({}, *arrayOf())
|
|
Test.foo1({}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>x3<!>)
|
|
Test.foo1({}, *arrayOf(""))
|
|
|
|
Test.foo1(x1, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf()<!>)
|
|
Test.foo1(x1, *arrayOf())
|
|
Test.foo1(x2, <!TYPE_MISMATCH!>arrayOf()<!>)
|
|
Test.foo1(x2, *arrayOf())
|
|
|
|
Test.foo1(x1, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>x3<!>)
|
|
Test.foo1(x1, *x3)
|
|
Test.foo1(x2, <!TYPE_MISMATCH!>arrayOf("")<!>)
|
|
Test.foo1(x2, *arrayOf(""))
|
|
|
|
val i1 = Test({}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf()<!>)
|
|
val i2 = Test({}, *arrayOf())
|
|
val i3 = Test({}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>x3<!>)
|
|
val i4 = Test({}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf("")<!>)
|
|
val i5 = Test({}, {}, *arrayOf(""))
|
|
val i6 = Test({}, {}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf()<!>)
|
|
|
|
i2.foo2({}, {}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf()<!>)
|
|
i2.foo2({}, {}, *arrayOf())
|
|
i2.foo2({}, <!TYPE_MISMATCH!>x2<!>, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf()<!>)
|
|
i2.foo2(x2, {}, *arrayOf())
|
|
|
|
i2.foo2({}, {}, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>arrayOf("")<!>)
|
|
i2.foo2({}, {}, *x3)
|
|
i2.foo2({}, <!TYPE_MISMATCH!>x2<!>, <!TYPE_INFERENCE_CANDIDATE_WITH_SAM_AND_VARARG!>x3<!>)
|
|
i2.foo2(x2, {}, *arrayOf(""))
|
|
}
|