/* | |
* @test /nodynamiccopyright/ | |
* @bug 5044125 | |
* @summary javac allows cyclic annotation interfaces with arrays | |
* @author gafter | |
* | |
* @compile/fail/ref=Cycle3.out -XDrawDiagnostics Cycle3.java | |
*/ | |
package cycle3; | |
import java.lang.annotation.Retention; | |
import static java.lang.annotation.RetentionPolicy.*; | |
@Retention(RUNTIME) | |
@interface A { | |
A[] values() default { @A() }; | |
} | |
@A() | |
class Main { | |
public static void main(String[] args) { | |
A a = Main.class.getAnnotation(A.class); | |
System.out.println(a); | |
} | |
} |