@Documented @Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(value=LTLengthOf.class) public @interface LTOMLengthOf
For example, an expression with type @LTLengthOf({"a", "b"})
is less than or equal to
both a.length-2
and b.length-2
. Equivalently, it is less than both a.length-1
and b.length-1
. The sequences a
and b
might have different
lengths.
In the annotation's name, "LTOM" stands for "less than one minus".
@LTOMLengthOf({"a"})
= @LTLengthOf(value={"a"}, offset=1)
, and
@LTOMLengthOf(value={"a"}, offset=x)
= @LTLengthOf(value={"a"}, offset=x+1)
for
any x.
@JavaExpression public abstract String[] value