@OnMember @Retention package pkg1;
@interface Name {
String first() default "Joe";
String last() default "Smith";
int age();
}
@interface Author {
Name value();
}
@interface Retention {
}
@interface OnMember {
}
@interface OnParameter {
String value();
}
@interface OnLocalVariable {
}
@OnMember @Retention @Author(@Name(first = "Jdt", last = "Core", age = 32)) public class X {
@OnMember @Retention private String aString;
@OnMember @Author(@Name(first = "John", last = "Doe", age = 32)) X() {
}
@OnMember public void bar(@OnParameter("unused value")
final int i, @OnParameter("unused value") String s) {
@OnLocalVariable @Retention String localString = "string";
}
}