accrue.analysis.callgraph

## Class PCGAbsVal

- java.lang.Object
- - accrue.analysis.callgraph.PCGAbsVal

- All Implemented Interfaces:
    Ordered<PCGAbsVal>

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

- - ### Field Summary

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PCGAbsVal(java.util.Set<ThrowableType> terminationKinds, java.util.Set<EdgeIdentifier> throwSites, java.util.Set<EdgeIdentifier> returnSites, boolean canTerminateNormally)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canTerminateNormally()`
    `boolean` | `equals(java.lang.Object obj)`
    `int` | `hashCode()`
    `boolean` | `leq(PCGAbsVal o)` Is the given object less than or equal to this one
    `java.util.Set<EdgeIdentifier>` | `returnSites()`
    `java.util.Set<EdgeIdentifier>` | `throwSites()`
    `java.util.Set<ThrowableType>` | `throwTypes()`
    `java.lang.String` | `toString()`
    `PCGAbsVal` | `upperBound(PCGAbsVal o)` Compute the upper bound of `this` and `o`
    `PCGAbsVal` | `widen(PCGAbsVal 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 PCGAbsVal EMPTY

  - ### Constructor Detail

    - #### PCGAbsVal

          public PCGAbsVal(java.util.Set<ThrowableType> terminationKinds,
                   java.util.Set<EdgeIdentifier> throwSites,
                   java.util.Set<EdgeIdentifier> returnSites,
                   boolean canTerminateNormally)

  - ### Method Detail

    - #### leq

          public boolean leq(PCGAbsVal o)

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

    - #### upperBound

          public PCGAbsVal upperBound(PCGAbsVal o)

      Description copied from interface: `Ordered`
      Compute the upper bound of `this` and `o`
      Specified by:
        `upperBound` in interface `Ordered<PCGAbsVal>`
      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()

    - #### throwSites

          public java.util.Set<EdgeIdentifier> throwSites()

    - #### returnSites

          public java.util.Set<EdgeIdentifier> returnSites()

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