public Pair<Interval, NonRelationalDomain<Interval>> processIntegerValueChange(
Pair<Interval, NonRelationalDomain<Interval>> input, Expression ofWhat, int delta,
boolean postfixOrPrefix) {
Interval valueBeforeChange = input.left;
Interval valueAfterChange = sem.delta(valueBeforeChange, delta);
Variable var = EvaluationUtils.tryGetVariable(ofWhat);
NonRelationalDomain<Interval> output = input.right;
if (var != null && EvaluationUtils.isIntegerType(ofWhat))
output = output.updateVariable(var, valueAfterChange);
return Pair.create(postfixOrPrefix ? valueBeforeChange : valueAfterChange, output);
}