Added tests with mixture of SAM and non-SAM parameters.
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
import java.util.*;
|
||||
|
||||
class JavaClass {
|
||||
public static String findMaxAndInvokeCallback(Comparator<String> comparator, String a, String b, Runnable afterRunnable) {
|
||||
int compare = comparator.compare(a, b);
|
||||
afterRunnable.run();
|
||||
return compare > 0 ? a : b;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
fun box(): String {
|
||||
var v = "FAIL"
|
||||
val max = JavaClass.findMaxAndInvokeCallback({ a, b -> a.length - b.length }, "foo", "kotlin", { v = "OK" })
|
||||
if (max != "kotlin") return "Wrong max: $max"
|
||||
return v
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package test;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class SeveralSamParameters {
|
||||
public static String findMaxAndInvokeCallback(Comparator<String> comparator, String a, String b, Runnable afterRunnable) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package test
|
||||
|
||||
public open class SeveralSamParameters : java.lang.Object {
|
||||
public constructor SeveralSamParameters()
|
||||
}
|
||||
|
||||
package SeveralSamParameters {
|
||||
public open /*synthesized*/ fun findMaxAndInvokeCallback(/*0*/ p0 : ((jet.String?, jet.String?) -> jet.Int)?, /*1*/ p1 : jet.String?, /*2*/ p2 : jet.String?, /*3*/ p3 : (() -> jet.Unit)?) : jet.String?
|
||||
public open fun findMaxAndInvokeCallback(/*0*/ p0 : java.util.Comparator<jet.String>?, /*1*/ p1 : jet.String?, /*2*/ p2 : jet.String?, /*3*/ p3 : java.lang.Runnable?) : jet.String?
|
||||
}
|
||||
+5
@@ -127,6 +127,11 @@ public class BlackBoxWithJavaCodegenTestGenerated extends AbstractBlackBoxCodege
|
||||
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/fileFilter.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("severalSamParameters.kt")
|
||||
public void testSeveralSamParameters() throws Exception {
|
||||
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/severalSamParameters.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("simplest.kt")
|
||||
public void testSimplest() throws Exception {
|
||||
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/simplest.kt");
|
||||
|
||||
@@ -1234,6 +1234,11 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
|
||||
doTestCompiledJava("compiler/testData/loadJava/compiledJava/singleAbstractMethod/adapter/NonTrivialFunctionType.java");
|
||||
}
|
||||
|
||||
@TestMetadata("SeveralSamParameters.java")
|
||||
public void testSeveralSamParameters() throws Exception {
|
||||
doTestCompiledJava("compiler/testData/loadJava/compiledJava/singleAbstractMethod/adapter/SeveralSamParameters.java");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
|
||||
Reference in New Issue
Block a user