framework.src.org.checkerframework.framework.qual.RequiresQualifier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of checker Show documentation
Show all versions of checker Show documentation
The Checker Framework enhances Java’s type system to
make it more powerful and useful. This lets software developers
detect and prevent errors in their Java programs.
The Checker Framework includes compiler plug-ins ("checkers")
that find bugs or verify their absence. It also permits you to
write your own compiler plug-ins.
package org.checkerframework.framework.qual;
import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* A precondition annotation to indicate that a method requires certain
* expressions to have a certain qualifier at the time of the call to the
* method. The expressions for which the annotation must hold after the methods
* execution are indicated by {@code expression} and are specified using a
* string. The qualifier is specified by {@code qualifier}.
*
* @author Stefan Heule
* @checker_framework.manual #java-expressions-as-arguments Syntax of Java expressions
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.CONSTRUCTOR })
public @interface RequiresQualifier {
/**
* The Java expressions for which the annotation need to be present.
*
* @checker_framework.manual #java-expressions-as-arguments Syntax of Java expressions
*/
String[] expression();
/**
* The qualifier that is required.
*/
Class qualifier();
}