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");
|
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")
|
@TestMetadata("simplest.kt")
|
||||||
public void testSimplest() throws Exception {
|
public void testSimplest() throws Exception {
|
||||||
doTestWithJava("compiler/testData/codegen/boxWithJava/samAdapters/simplest.kt");
|
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");
|
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() {
|
public static Test innerSuite() {
|
||||||
|
|||||||
Reference in New Issue
Block a user