langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java Wed Jan 23 13:27:24 2013 -0800
@@ -0,0 +1,41 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8006733 8006775
+ * @ignore
+ * @summary A static outer class cannot be annotated.
+ * @author Werner Dietl
+ * @compile/fail/ref=CantAnnotateStaticClass.out -XDrawDiagnostics CantAnnotateStaticClass.java
+ */
+
+import java.util.List;
+import java.lang.annotation.*;
+
+class CantAnnotateStaticClass {
+ @Target(ElementType.TYPE_USE)
+ @interface A {}
+
+ static class Outer {
+ class Inner {}
+ }
+
+ // 8 errors:
+ @A Outer.Inner f1;
+ @A Outer.Inner f1r() { return null; }
+ void f1p(@A Outer.Inner p) { }
+ void f1c(Object o) {
+ Object l = (@A Outer.Inner) o;
+ }
+
+ List<@A Outer.Inner> f2;
+ List<@A Outer.Inner> f2r() { return null; }
+ void f2p(List<@A Outer.Inner> p) { }
+ void f2c(Object o) {
+ Object l = (List<@A Outer.Inner>) o;
+ }
+
+ // OK:
+ @A Outer g1;
+ List<@A Outer> g2;
+ Outer. @A Inner g3;
+ List<Outer. @A Inner> g4;
+}