org.checkerframework.checker.mustcall.qual.MustCallUnknown Maven / Gradle / Ivy
package org.checkerframework.checker.mustcall.qual;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.checkerframework.framework.qual.SubtypeOf;
/**
* The top qualifier in the Must Call type hierarchy. It represents a type that might have an
* obligation to call any set (even an infinite set!) of methods. This type contains every object.
* This type should rarely be written by a programmer.
*
* The Object Construction Checker cannot verify that the property represented by this annotation
* is enforced; that is, the Object Construction Checker will always issue a warning when the value
* of an expression with this type might be de-allocated.
*
* @checker_framework.manual #must-call-checker Must Call Checker
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf({})
public @interface MustCallUnknown {}