Annotation 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 @FieldInvariant annotation 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 override
AnnotatedTypeFactory.getFieldInvariantDeclarationAnnotations() and
AnnotatedTypeFactory.getFieldInvariants(). See MinLenFieldInvariant for an example.
- See the Checker Framework Manual:
- Field invariants
-
Required Element Summary
Required ElementsModifier and TypeRequired ElementDescriptionString[]The field that has a more precise type, in the class on which theFieldInvariantannotation is written.Class<? extends Annotation>[]The qualifier on the field.
-
Element Details
-
qualifier
Class<? extends Annotation>[] qualifierThe qualifier on the field. Must be a subtype of the qualifier on the declaration of the field. -
field
String[] fieldThe 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.
-