Annotation Type RelevantJavaTypes


  • @Documented
    @Retention(RUNTIME)
    @Target(TYPE)
    @Inherited
    public @interface RelevantJavaTypes
    An annotation on a SourceChecker subclass to specify which Java types are processed by the checker. In source code, the checker's type qualifiers may only appear on the given types and their subtypes. If a checker is not annotated with this annotation, then the checker's qualifiers may appear on any type.

    This restriction is coarse-grained in that it applies to all type annotations for a given checker. To have different restrictions for different Java types, override org.checkerframework.common.basetype.BaseTypeVisitor#visitAnnotatedType(List, Tree).

    This is orthogonal to Java's @Target annotation; each enforces a different type of restriction on what can be written in source code.

    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.Class<?>[] value
      Classes where a type annotation supported by this checker may be written.
    • Element Detail

      • value

        java.lang.Class<?>[] value
        Classes where a type annotation supported by this checker may be written.

        Object[].class means that the checker processes all array types. No distinction among array types is currently made, and no other array class should be supplied to @RelevantJavaTypes.

        If a checker processes both primitive and boxed types, both must be specified separately, for example as int.class and Integer.class.

        Returns:
        classes where a type annotation supported by this checker may be written