| import java.lang.annotation.Target; |
| import java.lang.annotation.ElementType; |
| |
| /* |
| * @test /nodynamiccopyright/ |
| * @bug 6881115 6976649 |
| * @summary javac permits nested anno w/o mandatory attrs => IncompleteAnnotationException |
| * @author mcimadamore |
| * @compile/fail/ref=T6881115.out -XDrawDiagnostics T6881115.java |
| */ |
| |
| @Target({ElementType.TYPE, ElementType.TYPE_PARAMETER, ElementType.ANNOTATION_TYPE}) |
| @interface A { |
| B b() default @B(b2 = 1, b2 = 2); |
| B[] b_arr() default {@B, @B(b2 = 1, b2 = 2)}; |
| } |
| |
| @interface B { |
| String b1(); |
| int b2(); |
| } |
| |
| @A(b = @B(b2 = 1, b2 = 2), |
| b_arr = {@B, @B(b2 = 1, b2 = 2)}) |
| class T6881115<@A(b = @B(b2 = 1, b2 = 2), |
| b_arr = {@B, @B(b2 = 1, b2 = 2)}) X> {} |