NI: Allow to resolve to functions with SAM conversion and passing array without spread as vararg (with warning)

^KT-35224 Fixed
This commit is contained in:
Victor Petukhov
2019-12-04 20:29:03 +03:00
parent fe875d628d
commit 07269661b4
33 changed files with 573 additions and 27 deletions
@@ -0,0 +1,27 @@
// FILE: test.before.kt
// "Add a spread operator before an array passing as vararg" "true"
// WARNING: Please use spread operator to pass an array as vararg. It will be an error in 1.5.
// COMPILER_ARGUMENTS: -XXLanguage:+NewInference -XXLanguage:+SamConversionForKotlinFunctions -XXLanguage:+SamConversionPerArgument
// WITH_RUNTIME
fun main() {
Test.foo({}, <caret>arrayOf())
}
// FILE: Test.java
public class Test {
public static String foo(Runnable r, String... strs) {
return null;
}
}
// FILE: test.after.kt
// "Add a spread operator before an array passing as vararg" "true"
// WARNING: Please use spread operator to pass an array as vararg. It will be an error in 1.5.
// COMPILER_ARGUMENTS: -XXLanguage:+NewInference -XXLanguage:+SamConversionForKotlinFunctions -XXLanguage:+SamConversionPerArgument
// WITH_RUNTIME
fun main() {
Test.foo({}, <caret>*arrayOf())
}