test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.java

Fri, 02 Nov 2012 14:35:57 -0700

author
jjg
date
Fri, 02 Nov 2012 14:35:57 -0700
changeset 1386
bf76f4190ef8
child 1492
df694c775e8a
permissions
-rw-r--r--

7169362: JDK8: Write compiler tests for repeating annotations for JDK8
Reviewed-by: darcy, jjg
Contributed-by: sonali.goel@oracle.com

jjg@1386 1 /**
jjg@1386 2 * @test /nodynamiccopyright/
jjg@1386 3 * @bug 7169362
jjg@1386 4 * @author sogoel
jjg@1386 5 * @summary Cyclic annotation not allowed
jjg@1386 6 * @compile/fail/ref=CyclicAnnotation.out -XDrawDiagnostics CyclicAnnotation.java
jjg@1386 7 */
jjg@1386 8
jjg@1386 9 import java.lang.annotation.ContainedBy;
jjg@1386 10 import java.lang.annotation.ContainerFor;
jjg@1386 11
jjg@1386 12 @ContainedBy(Foo.class)
jjg@1386 13 @ContainerFor(Baz.class)
jjg@1386 14 @interface Baz {
jjg@1386 15 Foo[] value() default {};
jjg@1386 16 }
jjg@1386 17
jjg@1386 18 @ContainedBy(Baz.class)
jjg@1386 19 @ContainerFor(Foo.class)
jjg@1386 20 @interface Foo{
jjg@1386 21 Baz[] value() default {};
jjg@1386 22 }
jjg@1386 23
jjg@1386 24 @Foo(value = {@Baz,@Baz})
jjg@1386 25 @Baz(value = {@Foo,@Foo})
jjg@1386 26 public class CyclicAnnotation {}

mercurial