blob: 032c8cf1ad5cf347b70ace05a0cae0f826392d5b [file] [log] [blame]
import org.checkerframework.common.value.qual.*;
public class Unaries {
public void complement() {
boolean a = false;
@BoolVal({true}) boolean b = !a;
@IntVal({-5}) int c = ~4;
@IntVal({-123456789}) long d = ~123456788;
}
public void prefix() {
byte a = 1;
@IntVal({2}) byte b = ++a;
@IntVal({3}) short c = ++a;
@IntVal({4}) int d = ++a;
@IntVal({5}) long e = ++a;
++a;
e = --a;
d = --a;
c = --a;
b = --a;
}
public void postfix() {
int a = 0;
@IntVal({0}) int b = a++;
@IntVal({1}) int c = a--;
b = a++;
@IntVal({1}) long d = a--;
double e = 0.25;
@DoubleVal({0.25}) double f = e++;
@DoubleVal({1.25}) double g = e--;
f = e;
}
public void plusminus() {
@IntVal({48}) int a = +48;
@IntVal({-49}) int b = -49;
@IntVal({34}) long c = +34;
@IntVal({-34}) long d = -34;
}
public void intRange(@IntRange(from = 0, to = 2) int val) {
int a = val;
@IntRange(from = -2, to = 0) int b = -a;
@IntRange(from = 0, to = 2) int c = +a;
@IntRange(from = -3, to = -1) int d = ~a;
@IntRange(from = 1, to = 3) int e = ++a;
@IntRange(from = 1, to = 3) int f = a++;
}
}