Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Field Summary
`protected java.util.Map<polyglot.types.LocalInstance,IntegerBoundsChecker.Bounds>` | `bounds` map from LocalInstances (of type int) a set of lower bounds.

Constructor Summary
`` | `IntegerBoundsChecker.DataFlowItem()`
`` | `IntegerBoundsChecker.DataFlowItem(IntegerBoundsChecker.DataFlowItem d)`
`protected` | `IntegerBoundsChecker.DataFlowItem(java.util.Map<polyglot.types.LocalInstance,IntegerBoundsChecker.Bounds> bounds)`

Method Summary
`boolean` | `equals(java.lang.Object o)`
`int` | `hashCode()`
`java.lang.String` | `toString()`
`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.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### 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

Constructor Detail

### 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)

Method Detail

### 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD