import org.checkerframework.checker.signedness.qual.*;
public class LowerUpperBound {
public void LowerUpperBoundTest(
@UnknownSignedness int unknown,
@Unsigned int unsigned,
@Signed int signed,
@Constant int constant) {
@UnknownSignedness int unkTest;
@Unsigned int unsTest;
@Signed int sinTest;
@Constant int conTest;
@SignednessBottom int botTest;
unkTest = unknown + unknown;
//:: error: (assignment.type.incompatible)
sinTest = unknown + unknown;
unkTest = unknown + signed;
//:: error: (assignment.type.incompatible)
sinTest = unknown + signed;
sinTest = signed + signed;
//:: error: (assignment.type.incompatible)
conTest = signed + signed;
sinTest = signed + constant;
//:: error: (assignment.type.incompatible)
conTest = signed + constant;
}
}