All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.checkerframework.checker.calledmethods.qual.CalledMethods Maven / Gradle / Ivy

The newest version!
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. "Been called" is defined as having been invoked: a method has "been called" even if it
 * might never return or might throw an exception.
 *
 * 

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 the expression whose type is annotated. * * @return methods that have definitely been called */ public String[] value() default {}; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy