Annotation 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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Methods that might need to be called on the expression whose type is annotated.
  • Element Details

    • value

      String[] value
      Methods that might need to be called on the expression whose type is annotated.
      Returns:
      methods that might need to be called
      Default:
      {}