Class LessThanTransfer

All Implemented Interfaces:
ForwardTransferFunction<CFValue,CFStore>, TransferFunction<CFValue,CFStore>, NodeVisitor<TransferResult<CFValue,CFStore>,TransferInput<CFValue,CFStore>>

public class LessThanTransfer extends IndexAbstractTransfer
Implements 3 refinement rules:
  • 1. if left > right, right has type @LessThan("left")
  • 2. if left ≥ right, right has type @LessThan("left + 1")
  • 3. if 0 < right, left - right has type @LessThan("left")
These are implemented generally, so they also apply to e.g. < and ≤ comparisons.