test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java

changeset 2222
8832b6048e65
parent 1755
ddb4a2bfcd82
child 2525
2eb010b6cb22
     1.1 --- a/test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java	Thu Dec 12 19:19:07 2013 -0800
     1.2 +++ b/test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java	Fri Dec 13 14:13:03 2013 +0000
     1.3 @@ -23,8 +23,9 @@
     1.4  
     1.5  /*
     1.6   * @test
     1.7 - * @bug 8008077
     1.8 + * @bug 8008077 8029721
     1.9   * @summary new type annotation location: lambda expressions
    1.10 + * javac crash for annotated parameter type of lambda in a field
    1.11   * @compile Lambda.java
    1.12   * @author Werner Dietl
    1.13   */
    1.14 @@ -57,6 +58,14 @@
    1.15      LambdaInt2 getLambda() {
    1.16          return (@TA Object x, @TB Object y) -> { @TA Object l = null; System.out.println("We have: " + (@TB Object) x); };
    1.17      }
    1.18 +
    1.19 +    java.util.function.IntUnaryOperator x = (@TA int y) -> 1;
    1.20 +
    1.21 +    static java.util.function.IntUnaryOperator xx = (@TA int y) -> 1;
    1.22 +
    1.23 +    java.util.function.IntUnaryOperator foo() {
    1.24 +        return (@TA int y) -> 2;
    1.25 +    }
    1.26  }
    1.27  
    1.28  @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})

mercurial