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 can be enforced by running the Resource Leak Checker. 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:
- {}
-