test/tools/javac/lambda/LambdaExpr10.java

Wed, 14 May 2014 15:41:28 -0600

author
dlsmith
date
Wed, 14 May 2014 15:41:28 -0600
changeset 2395
9c577131ffa6
parent 0
959103a6100f
permissions
-rw-r--r--

8034223: Most-specific should not have any special treatment for boxed vs. unboxed types
Summary: Rewrite most-specific logic to conform to JLS 8 15.12.2.5
Reviewed-by: vromero

     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  */
     9 class LambdaExpr10 {
    11     interface Block<T> {
    12        void m(T t);
    13     }
    15     void apply(Object[] obj_arr) { }
    17     void test1() {
    18         Object[] arr1 =  { t -> { } };
    19         Object[][] arr2 =  { { t -> { } } };
    20     }
    22     void test2() {
    23         Object[] arr1 =  new Object[]{ t -> { } };
    24         Object[][] arr2 =  new Object[][]{ { t -> { } } };
    25     }
    27     void test3() {
    28         apply(new Object[]{ t -> { } });
    29         apply(new Object[][]{ { t -> { } } });
    30     }
    32     void test4() {
    33         Block<?>[] arr1 =  { t -> t };
    34         Block<?>[] arr2 =  new Block<?>[]{ t -> t };
    35         apply(new Block<?>[]{ t -> { }, t -> { } });
    36     }
    37 }

mercurial