org.checkerframework.checker.index.qual.Positive 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.checker.index.qual;
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;
import org.checkerframework.framework.qual.SubtypeOf;
/**
* The annotated expression evaluates to an integer greater than or equal to 1.
*
* As an example of a use-case for this type, consider the following code:
*
*
{@code
* if (arr.length > 0) {
* int j = arr[arr.length - 1];
* }
* }
*
* Without the knowing that {@code arr.length} is positive, the Index Checker cannot verify that
* accessing the last element of the array is safe - there might not be a last element!
*
* @checker_framework.manual #index-checker Index Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf({NonNegative.class})
public @interface Positive {}