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?
|
||||
}
|
||||
Reference in New Issue
Block a user