Add JNI tests for lambdas
Bug: 27259142
Change-Id: I2a1b31db85dc487c1e6a62609d4497c3a4d4d3a6
diff --git a/test/004-JniTest/src/Main.java b/test/004-JniTest/src/Main.java
index 9f4a852..e0530d8 100644
--- a/test/004-JniTest/src/Main.java
+++ b/test/004-JniTest/src/Main.java
@@ -40,6 +40,10 @@
testProxyGetMethodID();
testJniCriticalSectionAndGc();
testCallDefaultMethods();
+ String lambda = "λ";
+ testInvokeLambdaMethod(() -> { System.out.println("hi-lambda: " + lambda); });
+ String def = "δ";
+ testInvokeLambdaDefaultMethod(() -> { System.out.println("hi-default " + def + lambda); });
}
private static native void testCallDefaultMethods();
@@ -255,6 +259,19 @@
}
private static native void enterJniCriticalSection(int arraySize, byte[] array0, byte[] array);
+
+ private static native void testInvokeLambdaMethod(LambdaInterface iface);
+
+ private static native void testInvokeLambdaDefaultMethod(LambdaInterface iface);
+}
+
+@FunctionalInterface
+interface LambdaInterface {
+ public void sayHi();
+ public default void sayHiTwice() {
+ sayHi();
+ sayHi();
+ }
}
class JniCallNonvirtualTest {