jif.visit
Class IntegerBoundsChecker.Bounds
java.lang.Object
jif.visit.IntegerBoundsChecker.Bounds
- Enclosing class:
- IntegerBoundsChecker
protected static class IntegerBoundsChecker.Bounds
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
POS_INF
public static final java.lang.Long POS_INF
NEG_INF
public static final java.lang.Long NEG_INF
range
protected final IntegerBoundsChecker.Interval range
bounds
protected final java.util.Set<IntegerBoundsChecker.Bound> bounds
IntegerBoundsChecker.Bounds
public IntegerBoundsChecker.Bounds()
IntegerBoundsChecker.Bounds
public IntegerBoundsChecker.Bounds(IntegerBoundsChecker.Interval range,
java.util.Set<IntegerBoundsChecker.Bound> bounds)
IntegerBoundsChecker.Bounds
public IntegerBoundsChecker.Bounds(java.lang.Long lowerBound,
java.lang.Long upperBound,
java.util.Set<IntegerBoundsChecker.Bound> bounds)
refine
public static java.lang.Long refine(java.lang.Long i,
java.lang.Long j,
IntegerBoundsChecker.Bound.Type type)
getNumericLower
public java.lang.Long getNumericLower()
getNumericUpper
public java.lang.Long getNumericUpper()
getBounds
public java.util.Set<IntegerBoundsChecker.Bound> getBounds()
getNumericBound
public java.lang.Long getNumericBound(IntegerBoundsChecker.Bound.Type type)
isTighterThan
public boolean isTighterThan(IntegerBoundsChecker.Bounds other)
- Returns whether these bounds are at least as tight as the other
bounds.
merge
public IntegerBoundsChecker.Bounds merge(IntegerBoundsChecker.Bounds b1)
- Merge two bounds. The merge is conservative, meaning that
the numeric (greatest lower) bound is the lower of the two,
and the set of locals is the intersection of both.
refine
public IntegerBoundsChecker.Bounds refine(IntegerBoundsChecker.Bounds b1)
- Merge two bounds. The merge is not conservative, meaning that the
facts in both branches are true. So the numeric (greatest lower)
bound is the greater of the two, and the set of locals is the union
of both.
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object