test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java

Fri, 03 May 2013 09:56:56 -0700

author
jjg
date
Fri, 03 May 2013 09:56:56 -0700
changeset 1721
abd153854f16
parent 1521
71f35e4b93a5
child 2103
b1b4a6dcc282
permissions
-rw-r--r--

8012728: Normalize @ignore comments on langtools tests
Reviewed-by: vromero, mcimadamore

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8006733 8006775
     4  * @ignore 8013409: test failures for type annotations
     5  * @summary A static outer class cannot be annotated.
     6  * @author Werner Dietl
     7  * @compile/fail/ref=CantAnnotateStaticClass.out -XDrawDiagnostics CantAnnotateStaticClass.java
     8  */
    10 import java.util.List;
    11 import java.lang.annotation.*;
    13 class CantAnnotateStaticClass {
    14     @Target(ElementType.TYPE_USE)
    15     @interface A {}
    17     static class Outer {
    18         class Inner {}
    19     }
    21     // 8 errors:
    22     @A Outer.Inner f1;
    23     @A Outer.Inner f1r() { return null; }
    24     void f1p(@A Outer.Inner p) { }
    25     void f1c(Object o) {
    26         Object l = (@A Outer.Inner) o;
    27     }
    29     List<@A Outer.Inner> f2;
    30     List<@A Outer.Inner> f2r() { return null; }
    31     void f2p(List<@A Outer.Inner> p) { }
    32     void f2c(Object o) {
    33         Object l = (List<@A Outer.Inner>) o;
    34     }
    36     // OK:
    37     @A Outer g1;
    38     List<@A Outer> g2;
    39     Outer. @A Inner g3;
    40     List<Outer. @A Inner> g4;
    41 }

mercurial