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

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String[] value
      Methods that might need to be called on the expression whose type is annotated.
    • Element Detail

      • value

        java.lang.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:
        {}