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 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

    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:
      {}