Annotation Interface MustCall
@Retention(RUNTIME)
@Target({TYPE_USE,TYPE_PARAMETER})
@SubtypeOf(MustCallUnknown.class)
@DefaultQualifierInHierarchy
@DefaultFor({EXCEPTION_PARAMETER,UPPER_BOUND})
public @interface MustCall
An expression of type
@MustCall({"m1", "m2"})
may be obligated to call m1()
and/or m2()
before it is deallocated, but it is not obligated to call any other methods.
This annotation is enforced by the Object Construction Checker's -AcheckMustCall
mode.
It enforces that the methods m1()
and m2()
are called on the annotated expression
before it is deallocated.
The subtyping relationship is:
@MustCall({"m1"}) <: @MustCall({"m1", "m2"})
- See the Checker Framework Manual:
- Must Call Checker
-
Optional Element Summary
-
Element Details
-
value
String[] valueMethods that might need to be called on the expression whose type is annotated.- Returns:
- methods that might need to be called
- Default:
{}
-