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

org.checkerframework.checker.index.qual.LTOMLengthOf Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 3.44.0
Show newest version
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.JavaExpression;
import org.checkerframework.framework.qual.SubtypeOf;

/**
 * The annotated expression evaluates to an integer whose value is at least 2 less than the lengths
 * of all the given sequences.
 *
 * 

For example, an expression with type {@code @LTLengthOf({"a", "b"})} is less than or equal to * both {@code a.length-2} and {@code b.length-2}. Equivalently, it is less than both {@code * a.length-1} and {@code b.length-1}. The sequences {@code a} and {@code b} might have different * lengths. * *

In the annotation's name, "LTOM" stands for "less than one minus". * *

{@code @LTOMLengthOf({"a"})} = {@code @LTLengthOf(value={"a"}, offset=1)}, and
* {@code @LTOMLengthOf(value={"a"}, offset=x)} = {@code @LTLengthOf(value={"a"}, offset=x+1)} for * any x. * * @checker_framework.manual #index-checker Index Checker */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @SubtypeOf(LTLengthOf.class) public @interface LTOMLengthOf { /** * Sequences, each of whose lengths is at least 1 larger than the annotated expression's value. */ @JavaExpression public String[] value(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy