accrue.analysis.notnulldataflow

## Class NotNullAbsVal

- java.lang.Object
- - accrue.analysis.notnulldataflow.NotNullAbsVal

- All Implemented Interfaces:
    Ordered<NotNullAbsVal>, AbstractValue<NotNullAbsVal>, java.lang.Cloneable

      public class NotNullAbsVal
      extends java.lang.Object
      implements AbstractValue<NotNullAbsVal>

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `hashCode()`
    `boolean` | `isBottom()` An AbstractValue may indicate that it is the bottom element.
    `boolean` | `isMaybeNull()`
    `boolean` | `isNotNull()`
    `boolean` | `leq(NotNullAbsVal that)` Is the given object less than or equal to this one
    `java.lang.String` | `toString()`
    `NotNullAbsVal` | `upperBound(NotNullAbsVal that)` Compute the upper bound of `this` and `o`
    `static NotNullAbsVal` | `valueOf(boolean isNotNull)`
    `NotNullAbsVal` | `widen(NotNullAbsVal that)` Compute the widening operator on `this` and `o`.

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

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

- - ### Method Detail

    - #### leq

          public boolean leq(NotNullAbsVal that)

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

    - #### isBottom

          public boolean isBottom()

      Description copied from interface: `AbstractValue`
      An AbstractValue may indicate that it is the bottom element. Note that the analysis monotonically increases abstract values, i.e., the bottom value is typically the initial, and most precise value.
      Specified by:
        `isBottom` in interface `AbstractValue<NotNullAbsVal>`
      Returns:

    - #### upperBound

          public NotNullAbsVal upperBound(NotNullAbsVal that)

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

    - #### widen

          public NotNullAbsVal widen(NotNullAbsVal that)

      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<NotNullAbsVal>`
      Parameters:
        `that` - object to widen with `this`
      Returns:
        Widened upper bound of `this` and `o`

    - #### isNotNull

          public boolean isNotNull()

    - #### isMaybeNull

          public boolean isMaybeNull()

    - #### valueOf

          public static NotNullAbsVal valueOf(boolean isNotNull)

    - #### toString

          public java.lang.String toString()

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

    - #### hashCode

          public int hashCode()

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