jif.visit
Class IntegerBoundsChecker.DataFlowItem
java.lang.Object
polyglot.visit.DataFlow.Item
jif.visit.IntegerBoundsChecker.DataFlowItem
- Enclosing class:
- IntegerBoundsChecker
protected static class IntegerBoundsChecker.DataFlowItem
- extends polyglot.visit.DataFlow.Item
The items that this dataflow analysis operates on is essetially a set
of integer constraints.
There is a Map from LocalInstances (of type int) to a set of lower bounds.
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
bounds
protected final java.util.Map<polyglot.types.LocalInstance,IntegerBoundsChecker.Bounds> bounds
- map from LocalInstances (of type int) a set of lower bounds. Elements in
the set are either Number or LocalInstances
IntegerBoundsChecker.DataFlowItem
public IntegerBoundsChecker.DataFlowItem()
IntegerBoundsChecker.DataFlowItem
protected IntegerBoundsChecker.DataFlowItem(java.util.Map<polyglot.types.LocalInstance,IntegerBoundsChecker.Bounds> bounds)
IntegerBoundsChecker.DataFlowItem
public IntegerBoundsChecker.DataFlowItem(IntegerBoundsChecker.DataFlowItem d)
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in class polyglot.visit.DataFlow.Item
hashCode
public int hashCode()
- Specified by:
hashCode
in class polyglot.visit.DataFlow.Item
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
update
public IntegerBoundsChecker.DataFlowItem update(java.util.Map<polyglot.types.LocalInstance,IntegerBoundsChecker.Bounds> updates,
polyglot.types.LocalInstance increased,
polyglot.types.LocalInstance decreased)
- Produce a new DataFlowItem that is updated with the updates. In
particular, the bounds in updates are known to be true. If a
LocalInstance has changed, it can be specified as increased,
decreased, or both. If increased is true, then it means that
the value for the local instance may have increased; similarly,
if decreased is true, it means that the value of the local instance
may have decreased.