Provides classes and predicates for range analysis.
An inferred bound can either be a specific integer, the abstract value of an SSA variable, or the abstract value of an interesting expression. The latter category includes array lengths that are not SSA variables.
If an inferred bound relies directly on a condition, then this condition is reported as the reason for the bound.
A reason for an inferred bound pointing to a condition.
A reason for an inferred bound that indicates that the bound is inferred without going through a bounding condition.
A reason for an inferred bound. This can either be