1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
import org.checkerframework.checker.signedness.qual.*;
public class Comparisons {
public void ComparisonTest(
@Unsigned int unsigned, @PolySigned int polysigned, @UnknownSignedness int unknown) {
boolean testRes;
// :: error: (comparison.unsignedlhs)
testRes = unsigned < unknown;
// :: error: (comparison.unsignedlhs)
testRes = polysigned < unknown;
// :: error: (comparison.unsignedrhs)
testRes = unknown < unsigned;
// :: error: (comparison.unsignedrhs)
testRes = unknown < polysigned;
// :: error: (comparison.unsignedlhs)
testRes = unsigned <= unknown;
// :: error: (comparison.unsignedlhs)
testRes = polysigned <= unknown;
// :: error: (comparison.unsignedrhs)
testRes = unknown <= unsigned;
// :: error: (comparison.unsignedrhs)
testRes = unknown <= polysigned;
// :: error: (comparison.unsignedlhs)
testRes = unsigned > unknown;
// :: error: (comparison.unsignedlhs)
testRes = polysigned > unknown;
// :: error: (comparison.unsignedrhs)
testRes = unknown > unsigned;
// :: error: (comparison.unsignedrhs)
testRes = unknown > polysigned;
// :: error: (comparison.unsignedlhs)
testRes = unsigned >= unknown;
// :: error: (comparison.unsignedrhs)
testRes = unknown >= unsigned;
// :: error: (comparison.unsignedlhs)
testRes = polysigned >= unknown;
// :: error: (comparison.unsignedrhs)
testRes = unknown >= polysigned;
}
public void EqualsTest(@Unsigned int unsigned, @Signed int signed) {
boolean testRes;
// :: error: (comparison.mixed.unsignedlhs)
testRes = unsigned == signed;
// :: error: (comparison.mixed.unsignedrhs)
testRes = signed == unsigned;
// :: error: (comparison.mixed.unsignedlhs)
testRes = unsigned != signed;
// :: error: (comparison.mixed.unsignedrhs)
testRes = signed != unsigned;
}
}
|