test/tools/javac/lambda/MethodReference68.java

Wed, 23 Oct 2013 07:50:04 +0200

author
jlahoda
date
Wed, 23 Oct 2013 07:50:04 +0200
changeset 2165
864dafc5ab7a
parent 0
959103a6100f
permissions
-rw-r--r--

8026861: Wrong LineNumberTable for variable declarations in lambdas
Summary: Setting or correcting positions for many trees produced by LambdaToMethod.
Reviewed-by: vromero, rfield

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8016175
     4  * @summary Add bottom-up type-checking support for unambiguous method references
     5  * @compile/fail/ref=MethodReference68.out -XDrawDiagnostics MethodReference68.java
     6  */
     7 class MethodReference68 {
     8     interface F<X> {
     9        String m(X x);
    10     }
    12     static class Foo {
    13         String getName() { return ""; }
    14     }
    16     @SuppressWarnings("unchecked")
    17     <Z> void g(F<Z> fz, Z... zs) { }
    19     void test() {
    20          g(Foo::getName);
    21          g(Foo::getName, 1); //incompatible constraints, Z <: Foo, Z :> Integer
    22     }
    23 }

mercurial