org.checkerframework.checker.signedness.qual.Signed Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of guava Show documentation
Show all versions of guava Show documentation
Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
package org.checkerframework.checker.signedness.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.DefaultFor;
import org.checkerframework.framework.qual.SubtypeOf;
import org.checkerframework.framework.qual.TypeKind;
import org.checkerframework.framework.qual.UpperBoundFor;
/**
* The value is to be interpreted as signed. That is, if the most significant bit in the bitwise
* representation is set, then the bits should be interpreted as a negative number.
*
* @checker_framework.manual #signedness-checker Signedness Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@SubtypeOf({UnknownSignedness.class})
@DefaultFor(
typeKinds = {
TypeKind.BYTE,
TypeKind.INT,
TypeKind.LONG,
TypeKind.SHORT,
TypeKind.FLOAT,
TypeKind.DOUBLE
},
types = {
java.lang.Byte.class,
java.lang.Integer.class,
java.lang.Long.class,
java.lang.Short.class,
java.lang.Float.class,
java.lang.Double.class
})
@UpperBoundFor(
typeKinds = {TypeKind.FLOAT, TypeKind.DOUBLE},
types = {java.lang.Float.class, java.lang.Double.class})
public @interface Signed {}