Annotation Type LTLengthOf
-
@Documented @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(LTEqLengthOf.class) public @interface LTLengthOf
The annotated expression evaluates to an integer whose value is less than the lengths of all the given sequences. This annotation is rarely used; it is more common to use@
IndexFor
.For example, an expression with type
@LTLengthOf({"a", "b"})
is less than botha.length
andb.length
. The sequencesa
andb
might have different lengths.The
@LTLengthOf
annotation takes an optionaloffset
element. If it is nonempty, then the annotated expression plus the expression inoffset[i]
is less than the length of the sequence specified byvalue[i]
.For example, suppose expression
e
has type@LTLengthOf(value = {"a", "b"}, offset = {"-1", "x"})
. Thene - 1
is less thana.length
, ande + x
is less thanb.length
.It is an error to write a
LTLengthOf
annotation with a different number of sequences and offsets, if an offset is included.- See Also:
IndexFor
- See the Checker Framework Manual:
- Index Checker
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.String[]
value
Sequences, each of which is longer than the annotated expression's value.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.String[]
offset
This expression plus the annotated expression is less than the length of the sequence.
-
-
-
Element Detail
-
value
@JavaExpression java.lang.String[] value
Sequences, each of which is longer than the annotated expression's value.
-
-
-
offset
@JavaExpression java.lang.String[] offset
This expression plus the annotated expression is less than the length of the sequence. Theoffset
element must ether be empty or the same length asvalue
.The expressions in
offset
may be addition/subtraction of any number of Java expressions. For example,@LessThanLengthOf(value = "a", offset = "x + y + 2"
}.- Default:
- {}
-
-