@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
.
You should only use this annotation in a partially-annotated library. There is no point to using it in a fully-annotated library nor in an application that does not export APIs for clients.
This annotation 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, a class with a relevant @AnnotatedFor
annotation
is always defaulted normally (typically using the CLIMB-to-top rule), and typechecking warnings
are issued.
Modifier and Type | Required Element and Description |
---|---|
java.lang.String[] |
value |
public abstract java.lang.String[] value
-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.