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