Annotation Interface SignedPositive


@Documented @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER}) public @interface SignedPositive
The expression's value is in the signed positive range; that is, its most significant bit is not set. The value has the same interpretation as @Signed and @Unsigned — both interpretations are equivalent.

Programmers should rarely write @SignedPositive. Instead, the programmer should write @Signed or @Unsigned to indicate how the programmer intends the value to be interpreted.

Internally, this is translated to the @SignednessGlb annotation. This means that programmers do not see this annotation in error messages.

@SignedPositive corresponds to @NonNegative in the Index Checker's type system.

See Also:
See the Checker Framework Manual:
Signedness Checker