Top Description Methods
org.checkerframework.framework.qual

public @Interface AnnotatedFor

extends Annotation
Annotations
@Documented
@Retention:SOURCE
@Target:TYPE, METHOD, CONSTRUCTOR, PACKAGE
Imports
java.lang.annotation.Documented, .ElementType, .Retention, .RetentionPolicy, .Target

Indicates that this class has been annotated for the given type system. For example, @AnnotatedFor({"nullness", "regex"}) indicates that the class has been annotated with annotations such as @Nullable and @Regex. The argument to AnnotatedFor is not an annotation name, but a checker name.

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 -AuseConservativeDefaultsForUncheckedCode=source command-line argument is supplied. Ordinarily, the -AuseConservativeDefaultsForUncheckedCode=source command-line argument causes unannotated locations to be defaulted using conservative 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.

Method Summary

Modifier and TypeMethod and Description
public String[]

Returns:

the type systems for which the class has been annotated
value
()

Returns the type systems for which the class has been annotated.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

valueback to summary
public String[] value()

Returns the type systems for which the class has been annotated. Legal 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.

Returns:String[]

the type systems for which the class has been annotated