test/tools/javac/lambda/LambdaExpr10.java

changeset 0
959103a6100f
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * check that lambda in array initializers (with wrong type) are correctly rejected
6 * @compile/fail/ref=LambdaExpr10.out -XDrawDiagnostics LambdaExpr10.java
7 */
8
9 class LambdaExpr10 {
10
11 interface Block<T> {
12 void m(T t);
13 }
14
15 void apply(Object[] obj_arr) { }
16
17 void test1() {
18 Object[] arr1 = { t -> { } };
19 Object[][] arr2 = { { t -> { } } };
20 }
21
22 void test2() {
23 Object[] arr1 = new Object[]{ t -> { } };
24 Object[][] arr2 = new Object[][]{ { t -> { } } };
25 }
26
27 void test3() {
28 apply(new Object[]{ t -> { } });
29 apply(new Object[][]{ { t -> { } } });
30 }
31
32 void test4() {
33 Block<?>[] arr1 = { t -> t };
34 Block<?>[] arr2 = new Block<?>[]{ t -> t };
35 apply(new Block<?>[]{ t -> { }, t -> { } });
36 }
37 }

mercurial