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

Print this page

        

*** 10,27 **** import java.util.ArrayList; import java.util.HashMap; import java.lang.annotation.*; class Top { ! @Target(ElementType.TYPE_USE) ! @interface TA {} ! ! @Target(ElementType.TYPE_USE) ! @interface TB {} ! ! @Target(ElementType.TYPE_USE) ! @interface TC {} class Outer { class Inner { Object o1 = Top.this; Object o2 = Outer.this; --- 10,62 ---- import java.util.ArrayList; import java.util.HashMap; import java.lang.annotation.*; class Top { ! @Target(ElementType.TYPE_USE) @interface TA {} ! @Target(ElementType.TYPE_USE) @interface TB1 {} ! @Target(ElementType.TYPE_USE) @interface TB2 {} ! @Target(ElementType.TYPE_USE) @interface TB3 {} ! @Target(ElementType.TYPE_USE) @interface TB4 {} ! @Target(ElementType.TYPE_USE) @interface TB5 {} ! @Target(ElementType.TYPE_USE) @interface TB6 {} ! @Target(ElementType.TYPE_USE) @interface TB7 {} ! @Target(ElementType.TYPE_USE) @interface TB8 {} ! @Target(ElementType.TYPE_USE) @interface TB9 {} ! @Target(ElementType.TYPE_USE) @interface TB10 {} ! @Target(ElementType.TYPE_USE) @interface TB11 {} ! @Target(ElementType.TYPE_USE) @interface TB12 {} ! @Target(ElementType.TYPE_USE) @interface TB13 {} ! @Target(ElementType.TYPE_USE) @interface TB14 {} ! @Target(ElementType.TYPE_USE) @interface TB15 {} ! @Target(ElementType.TYPE_USE) @interface TB16 {} ! @Target(ElementType.TYPE_USE) @interface TB17 {} ! @Target(ElementType.TYPE_USE) @interface TB18 {} ! @Target(ElementType.TYPE_USE) @interface TB19 {} ! @Target(ElementType.TYPE_USE) @interface TB20 {} ! @Target(ElementType.TYPE_USE) @interface TB21 {} ! @Target(ElementType.TYPE_USE) @interface TB22 {} ! @Target(ElementType.TYPE_USE) @interface TB23 {} ! @Target(ElementType.TYPE_USE) @interface TB24 {} ! @Target(ElementType.TYPE_USE) @interface TB25 {} ! @Target(ElementType.TYPE_USE) @interface TB26 {} ! @Target(ElementType.TYPE_USE) @interface TB27 {} ! @Target(ElementType.TYPE_USE) @interface TB28 {} ! @Target(ElementType.TYPE_USE) @interface TB29 {} ! @Target(ElementType.TYPE_USE) @interface TB30 {} ! @Target(ElementType.TYPE_USE) @interface TB31 {} ! @Target(ElementType.TYPE_USE) @interface TB32 {} ! @Target(ElementType.TYPE_USE) @interface TB33 {} ! @Target(ElementType.TYPE_USE) @interface TB34 {} ! @Target(ElementType.TYPE_USE) @interface TB35 {} ! @Target(ElementType.TYPE_USE) @interface TB36 {} ! @Target(ElementType.TYPE_USE) @interface TB37 {} ! @Target(ElementType.TYPE_USE) @interface TB38 {} ! @Target(ElementType.TYPE_USE) @interface TB39 {} ! @Target(ElementType.TYPE_USE) @interface TB40 {} ! @Target(ElementType.TYPE_USE) @interface TB41 {} ! @Target(ElementType.TYPE_USE) @interface TC {} class Outer { class Inner { Object o1 = Top.this; Object o2 = Outer.this;
*** 32,96 **** // interface IInner {} } // All combinations are OK ! Top.@TB Outer f1; ! @TB Outer.Inner f1a; Outer. @TC Inner f1b; ! @TB Outer. @TC Inner f1c; ! @TA Top. @TB Outer f2; ! @TA Top. @TB Outer.Inner f2a; @TA Top. Outer. @TC Inner f2b; ! @TA Top. @TB Outer. @TC Inner f2c; ! @TB Outer f1r() { return null; } ! @TB Outer.Inner f1ra() { return null; } Outer. @TC Inner f1rb() { return null; } ! @TB Outer. @TC Inner f1rc() { return null; } ! void f1param(@TB Outer p, ! @TB Outer.Inner p1, Outer. @TC Inner p2, ! @TB Outer. @TC Inner p3) { } void f1cast(Object o) { Object l; ! l = (@TB Outer) o; ! l = (@TB Outer.Inner) o; l = (Outer. @TC Inner) o; ! l = (@TB Outer. @TC Inner) o; } ! List<@TB Outer> g1; ! List<@TB Outer.Inner> g1a; List<Outer. @TC Inner> g1b; ! List<@TB Outer. @TC Inner> g1c; ! List<@TA Top. @TB Outer> g2; ! List<@TA Top. @TB Outer.Inner> g2a; List<@TA Top. Outer. @TC Inner> g2b; ! List<@TA Top. @TB Outer. @TC Inner> g2c; ! List<@TB Outer> g1r() { return null; } ! List<@TB Outer.Inner> g1ra() { return null; } List<Outer. @TC Inner> g1rb() { return null; } ! List<@TB Outer. @TC Inner> g1rc() { return null; } ! void g1param(List<@TB Outer> p, ! List<@TB Outer.Inner> p1, List<Outer. @TC Inner> p2, ! List<@TB Outer. @TC Inner> p3) { } void g1new(Object o) { Object l; ! l = new @TB ArrayList<@TB Outer>(); ! l = new @TB ArrayList<@TB Outer.Inner>(); ! l = new @TB HashMap<String, Outer. @TC Inner>(); ! l = new @TB HashMap<String, @TB Outer. Inner>(); ! l = new @TB HashMap<String, @TB Outer. @TC Inner>(); ! l = new @TB HashMap<String, @TA Top. Outer. @TC Inner>(); ! l = new @TB HashMap<String, @TA Top. @TB Outer. Inner>(); ! l = new @TB HashMap<String, @TA Top. @TB Outer. @TC Inner>(); } } --- 67,131 ---- // interface IInner {} } // All combinations are OK ! Top.@TB1 Outer f1; ! @TB2 Outer.Inner f1a; Outer. @TC Inner f1b; ! @TB3 Outer. @TC Inner f1c; ! @TA Top. @TB4 Outer f2; ! @TA Top. @TB5 Outer.Inner f2a; @TA Top. Outer. @TC Inner f2b; ! @TA Top. @TB6 Outer. @TC Inner f2c; ! @TB7 Outer f1r() { return null; } ! @TB8 Outer.Inner f1ra() { return null; } Outer. @TC Inner f1rb() { return null; } ! @TB9 Outer. @TC Inner f1rc() { return null; } ! void f1param(@TB41 Outer p, ! @TB10 Outer.Inner p1, Outer. @TC Inner p2, ! @TB11 Outer. @TC Inner p3) { } void f1cast(Object o) { Object l; ! l = (@TB12 Outer) o; ! l = (@TB13 Outer.Inner) o; l = (Outer. @TC Inner) o; ! l = (@TB14 Outer. @TC Inner) o; } ! List<@TB15 Outer> g1; ! List<@TB16 Outer.Inner> g1a; List<Outer. @TC Inner> g1b; ! List<@TB17 Outer. @TC Inner> g1c; ! List<@TA Top. @TB18 Outer> g2; ! List<@TA Top. @TB19 Outer.Inner> g2a; List<@TA Top. Outer. @TC Inner> g2b; ! List<@TA Top. @TB20 Outer. @TC Inner> g2c; ! List<@TB21 Outer> g1r() { return null; } ! List<@TB22 Outer.Inner> g1ra() { return null; } List<Outer. @TC Inner> g1rb() { return null; } ! List<@TB23 Outer. @TC Inner> g1rc() { return null; } ! void g1param(List<@TB24 Outer> p, ! List<@TB25 Outer.Inner> p1, List<Outer. @TC Inner> p2, ! List<@TB26 Outer. @TC Inner> p3) { } void g1new(Object o) { Object l; ! l = new @TB27 ArrayList<@TB28 Outer>(); ! l = new @TB29 ArrayList<@TB30 Outer.Inner>(); ! l = new @TB31 HashMap<String, Outer. @TC Inner>(); ! l = new @TB32 HashMap<String, @TB33 Outer. Inner>(); ! l = new @TB34 HashMap<String, @TB35 Outer. @TC Inner>(); ! l = new @TB36 HashMap<String, @TA Top. Outer. @TC Inner>(); ! l = new @TB37 HashMap<String, @TA Top. @TB38 Outer. Inner>(); ! l = new @TB39 HashMap<String, @TA Top. @TB40 Outer. @TC Inner>(); } }