accrue.analysis.preciseExceptions

## Class PreciseExAbsVal

- java.lang.Object
- - accrue.analysis.preciseExceptions.PreciseExAbsVal

- All Implemented Interfaces:
    Ordered<PreciseExAbsVal>

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static PreciseExAbsVal` | `EMPTY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PreciseExAbsVal(java.util.Set<ThrowableType> terminationKinds, boolean canTerminateNormally)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canTerminateNormally()`
    `boolean` | `equals(java.lang.Object obj)`
    `int` | `hashCode()`
    `boolean` | `leq(PreciseExAbsVal o)` Is the given object less than or equal to this one
    `java.util.Set<ThrowableType>` | `throwTypes()`
    `java.lang.String` | `toString()`
    `PreciseExAbsVal` | `upperBound(PreciseExAbsVal o)` Compute the upper bound of `this` and `o`
    `PreciseExAbsVal` | `widen(PreciseExAbsVal o)` Compute the widening operator on `this` and `o`.

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

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

- - ### Field Detail

    - #### EMPTY

          public static final PreciseExAbsVal EMPTY

  - ### Constructor Detail

    - #### PreciseExAbsVal

          public PreciseExAbsVal(java.util.Set<ThrowableType> terminationKinds,
                         boolean canTerminateNormally)

  - ### Method Detail

    - #### leq

          public boolean leq(PreciseExAbsVal o)

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

    - #### upperBound

          public PreciseExAbsVal upperBound(PreciseExAbsVal o)

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

    - #### toString

          public java.lang.String toString()

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

    - #### throwTypes

          public java.util.Set<ThrowableType> throwTypes()

    - #### canTerminateNormally

          public boolean canTerminateNormally()

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

    - #### widen

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