Annotation Type NegativeIndexFor
-
@Documented @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(SearchIndexFor.class) public @interface NegativeIndexFor
The annotated expression is between-1
and-a.length - 1
, inclusive, for each sequencea
listed in the annotation.This type should rarely (if ever) be written by programmers. It is inferred by the SearchIndexChecker when the result of a call to one of the JDK's binary search methods (like
Arrays.binarySearch
) is known to be less than zero. For example, consider the following code:int index = Arrays.binarySearch(array, target); if (index < 0) { // index's type here is @NegativeIndexFor("array") index = index * -1; // now index's type is @IndexFor("array") }
- See the Checker Framework Manual:
- Index Checker
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.String[]
value
Sequences for which this value is a "negative index"; that is, the expression is in the range-1
to-a.length - 1
, inclusive, for each sequencea
given here.
-
-
-
Element Detail
-
value
@JavaExpression java.lang.String[] value
Sequences for which this value is a "negative index"; that is, the expression is in the range-1
to-a.length - 1
, inclusive, for each sequencea
given here.
-
-