@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";
	}
}
