Class UnusedAbstractValue

java.lang.Object
org.checkerframework.dataflow.analysis.UnusedAbstractValue
All Implemented Interfaces:
AbstractValue<UnusedAbstractValue>

public final class UnusedAbstractValue extends Object implements AbstractValue<UnusedAbstractValue>
UnusedAbstractValue is an AbstractValue that is not involved in any lub computation during dataflow analysis. For those analyses which handle lub computation at a higher level (e.g., store level), it is sufficient to use UnusedAbstractValue and unnecessary to implement another specific AbstractValue. Example analysis using UnusedAbstractValue is LiveVariable analysis. This is a workaround for issue https://github.com/eisop/checker-framework/issues/200
  • Method Details

    • leastUpperBound

      public UnusedAbstractValue leastUpperBound(UnusedAbstractValue other)
      Description copied from interface: AbstractValue
      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.
      Specified by:
      leastUpperBound in interface AbstractValue<UnusedAbstractValue>
      Parameters:
      other - the other value
      Returns:
      the least upper bound of the two values