Annotation Type FieldInvariant
-
@Documented @Retention(RUNTIME) @Target(TYPE) @Inherited public @interface FieldInvariant
Specifies that a field's type, in the class on which this annotation is written, is a subtype of its declared type. The field must be declared in a superclass and must be final.The
@FieldInvariantannotation does not currently accommodate type qualifiers with attributes, such as@MinLen(1). In this case, the type system should implement its own field invariant annotation and overrideorg.checkerframework.framework.type.AnnotatedTypeFactory#getFieldInvariantDeclarationAnnotations()andorg.checkerframework.framework.type.AnnotatedTypeFactory#getFieldInvariants(javax.lang.model.element.TypeElement). SeeMinLenFieldInvariantfor example.
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description String[]fieldThe field that has a more precise type, in the class on which theFieldInvariantannotation is written.Class<? extends Annotation>[]qualifierThe qualifier on the field.
-
-
-
Element Detail
-
qualifier
Class<? extends Annotation>[] qualifier
The qualifier on the field. Must be a subtype of the qualifier on the declaration of the field.
-
-
-
field
String[] field
The field that has a more precise type, in the class on which theFieldInvariantannotation is written. The field must be declared in a superclass and must befinal.
-
-