public @interface Ann {
Inner[] value();
InnerParam[] test1() default @InnerParam(C.class);
}
public @interface Inner {
}
public @interface InnerParam {
Class<?> value();
}
@Ann(value = {@Inner, @Inner}, test1 = { @InnerParam(C.class) })
public class C {
}
@Ann({@Inner, @Inner})
public class D {
}
@Ann(value = @Inner)
public class E {
}
@Ann(value = {@Inner}, test1 = { @InnerParam(value = C.class) })
public class F {
}