org.checkerframework.checker.calledmethods.qual.CalledMethods Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of guava Show documentation
Show all versions of guava Show documentation
Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
package org.checkerframework.checker.calledmethods.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.DefaultQualifierInHierarchy;
import org.checkerframework.framework.qual.SubtypeOf;
/**
* If an expression has type {@code @CalledMethods({"m1", "m2"})}, then methods {@code m1} and
* {@code m2} have definitely been called on its value. Other methods might or might not have been
* called.
*
* The subtyping relationship is:
*
*
{@code @CalledMethods({"m1", "m2", "m3"}) <: @CalledMethods({"m1", "m2"})}
*
* @checker_framework.manual #called-methods-checker Called Methods Checker
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf({})
@DefaultQualifierInHierarchy
public @interface CalledMethods {
/**
* Methods that have definitely been called, on any expression whose type is annotated.
*
* @return methods that have definitely been called
*/
public String[] value() default {};
}