@Target(value={TYPE,METHOD,CONSTRUCTOR,PACKAGE}) @Retention(value=SOURCE) public @interface AnnotatedFor
@AnnotatedFor({"nullness", "regex"})
indicates
that the class has been annotated with annotations such as
@Nullable and @Regex. Has no effect unless the
-AuseDefaultsForUncheckedCode=source command-line argument
is supplied.
Ordinarily, the -AuseDefaultsForUncheckedCode=source command-line argument causes unannotated locations to be defaulted using unchecked code defaults, and it suppresses all warnings. However, the -AuseDefaultsForUncheckedCode=source command-line argument has no effect on classes with a relevant @AnnotatedFor annotation: any unannotated location is defaulted normally (typically using the CLIMB-to-top rule), and typechecking warnings are issued.
@AnnotatedFor
's arguments are any string that may be passed
to the -processor command-line argument: the fully-qualified
class name for the checker, or a shorthand for built-in checkers. Using
the annotation with no arguments, as in
@AnnotatedFor({})
, has no effect.
public abstract String[] value