Interface AbstractValue<V extends AbstractValue<V>>

All Known Implementing Classes:
AccumulationValue, CFAbstractValue, CFValue, Constant, KeyForValue, NullnessNoInitValue, UnusedAbstractValue

public interface AbstractValue<V extends AbstractValue<V>>
An abstract value used in the org.checkerframework.dataflow analysis.
  • Method Summary

    Modifier and Type
    Method
    Description
    Compute the least upper bound of two values.
  • Method Details

    • leastUpperBound

      V leastUpperBound(V other)
      Compute the least upper bound of two values.

      Important: This method must fulfill the following contract:

      • Does not change this.
      • Does not change other.
      • Returns a fresh object which is not aliased yet.
      • Returns an object of the same (dynamic) type as this, even if the signature is more permissive.
      • Is commutative.
      Parameters:
      other - the other value
      Returns:
      the least upper bound of the two values