EnsuresQualifier or of EnsuresQualifier.List.
EnsuresQualifier, its value element
must be an array of Strings, analogous to EnsuresQualifier#expression().
EnsuresQualifier.List, its value
element must be an array of postcondition annotations, analogous to EnsuresQualifier.List#value().
The established postcondition P has type specified by the qualifier field of this
annotation.
If the annotation E has elements annotated by QualifierArgument, their values are
copied to the arguments (elements) of annotation P with the same names. Different element names
may be used in E and P, if a QualifierArgument in E gives the name of the corresponding
element in P.
For example, the following code declares a postcondition annotation for the org.checkerframework.common.value.qual.MinLen qualifier:
@PostconditionAnnotation(qualifier = MinLen.class)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
public @interface EnsuresMinLen {
String[] value();
@QualifierArgument("value")
int targetValue() default 0;
The value element holds the expressions to which the qualifier applies and targetValue holds the value for the value argument of org.checkerframework.common.value.qual.MinLen.
The following code then uses the annotation on a method that ensures field to be
@MinLen(2) upon return.
@EnsuresMinLen(value = "field", targetValue = 2")
public void setField(String argument) {
field = "(" + argument + ")";
}
EnsuresQualifier, QualifierArgument
| Modifier and Type | Method and Description |
|---|---|
| public Class |
| qualifier | back to summary |
|---|---|
| public Class The qualifier that will be established as a postcondition. This element is analogous to | |