Class UnusedAbstractValue
- java.lang.Object
-
- org.checkerframework.dataflow.analysis.UnusedAbstractValue
-
- All Implemented Interfaces:
AbstractValue<UnusedAbstractValue>
public final class UnusedAbstractValue extends java.lang.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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnusedAbstractValue
leastUpperBound(UnusedAbstractValue other)
Compute the least upper bound of two values.
-
-
-
Method Detail
-
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 interfaceAbstractValue<UnusedAbstractValue>
- Does not change
-
-