test/tools/javac/lambda/LambdaExpr10.java

Tue, 12 Mar 2013 16:02:43 +0000

author
mcimadamore
date
Tue, 12 Mar 2013 16:02:43 +0000
changeset 1628
5ddecb91d843
parent 0
959103a6100f
permissions
-rw-r--r--

8009545: Graph inference: dependencies between inference variables should be set during incorporation
Summary: Move all transitivity checks into the incorporation round
Reviewed-by: jjg

     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