langtools/test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.java Fri Nov 02 14:35:57 2012 -0700
@@ -0,0 +1,26 @@
+/**
+ * @test /nodynamiccopyright/
+ * @bug 7169362
+ * @author sogoel
+ * @summary Cyclic annotation not allowed
+ * @compile/fail/ref=CyclicAnnotation.out -XDrawDiagnostics CyclicAnnotation.java
+ */
+
+import java.lang.annotation.ContainedBy;
+import java.lang.annotation.ContainerFor;
+
+@ContainedBy(Foo.class)
+@ContainerFor(Baz.class)
+@interface Baz {
+ Foo[] value() default {};
+}
+
+@ContainedBy(Baz.class)
+@ContainerFor(Foo.class)
+@interface Foo{
+ Baz[] value() default {};
+}
+
+@Foo(value = {@Baz,@Baz})
+@Baz(value = {@Foo,@Foo})
+public class CyclicAnnotation {}