accrue.analysis.readwritesets

## Class ReadWriteSet

- java.lang.Object
- - accrue.analysis.readwritesets.ReadWriteSet

- All Implemented Interfaces:
    Ordered<ReadWriteSet>

      public class ReadWriteSet
      extends java.lang.Object
      implements Ordered<ReadWriteSet>

  Sets of locations that are read and written

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ReadWriteSet` | `EMPTY` Empty read and write sets

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReadWriteSet(java.util.Set<AbstractLocation> readSet, java.util.Set<AbstractLocation> writeSet)` Construct from the raw sets

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)`
    `int` | `hashCode()`
    `boolean` | `leq(ReadWriteSet o)` Is the given object less than or equal to this one
    `java.util.Set<AbstractLocation>` | `readSet()` get the set of read locations
    `java.lang.String` | `toString()`
    `ReadWriteSet` | `upperBound(ReadWriteSet o)` Compute the upper bound of `this` and `o`
    `ReadWriteSet` | `widen(ReadWriteSet o)` Compute the widening operator on `this` and `o`.
    `java.util.Set<AbstractLocation>` | `writeSet()` Get the set of written locations

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### EMPTY

          public static final ReadWriteSet EMPTY

      Empty read and write sets

  - ### Constructor Detail

    - #### ReadWriteSet

          public ReadWriteSet(java.util.Set<AbstractLocation> readSet,
                      java.util.Set<AbstractLocation> writeSet)

      Construct from the raw sets
      Parameters:
        `readSet` - Set of locations that were read
        `writeSet` - Set of locations that were written

  - ### Method Detail

    - #### leq

          public boolean leq(ReadWriteSet o)

      Description copied from interface: `Ordered`
      Is the given object less than or equal to this one
      Specified by:
        `leq` in interface `Ordered<ReadWriteSet>`
      Parameters:
        `o` - object to compare to `this`
      Returns:
        true if this is less than or equal to `o`

    - #### upperBound

          public ReadWriteSet upperBound(ReadWriteSet o)

      Description copied from interface: `Ordered`
      Compute the upper bound of `this` and `o`
      Specified by:
        `upperBound` in interface `Ordered<ReadWriteSet>`
      Parameters:
        `o` - object to upper bound with this
      Returns:
        the upper bound of `this` with `o`

    - #### widen

          public ReadWriteSet widen(ReadWriteSet o)

      Description copied from interface: `Ordered`
      Compute the widening operator on `this` and `o`. A widening operator is an upper bound where all ascending chains eventually stabilize.
      Specified by:
        `widen` in interface `Ordered<ReadWriteSet>`
      Parameters:
        `o` - object to widen with `this`
      Returns:
        Widened upper bound of `this` and `o`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### readSet

          public java.util.Set<AbstractLocation> readSet()

      get the set of read locations
      Returns:
        read set

    - #### writeSet

          public java.util.Set<AbstractLocation> writeSet()

      Get the set of written locations
      Returns:
        write set

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`