org.checkerframework.dataflow.analysis.AbstractValue Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of checker Show documentation
Show all versions of checker Show documentation
The Checker Framework enhances Java's type system to
make it more powerful and useful. This lets software developers
detect and prevent errors in their Java programs.
The Checker Framework includes compiler plug-ins ("checkers")
that find bugs or verify their absence. It also permits you to
write your own compiler plug-ins.
package org.checkerframework.dataflow.analysis;
/** An abstract value used in the org.checkerframework.dataflow analysis. */
public interface AbstractValue> {
/**
* Compute the least upper bound of two values.
*
* Important: This method must fulfill the following contract:
*
*
* - Does not change {@code this}.
*
- Does not change {@code other}.
*
- Returns a fresh object which is not aliased yet.
*
- Returns an object of the same (dynamic) type as {@code this}, even if the signature is
* more permissive.
*
- Is commutative.
*
*
* @param other the other value
* @return the least upper bound of the two values
*/
V leastUpperBound(V other);
}