Maurizio Cimadamore 91bd86216a 6976649: javac does not enforce required annotation elements in arrays
Type annotation should take advantage of recursive annotation checking

Reviewed-by: jjg
2010-08-16 14:56:23 +01:00

21 lines
570 B
Java

/*
* @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
*/
@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> {}