org.checkerframework.dataflow.analysis.UnusedAbstractValue 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;
import org.checkerframework.javacutil.BugInCF;
/**
* 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
*/
public final class UnusedAbstractValue implements AbstractValue {
/** This class cannot be instantiated */
private UnusedAbstractValue() {
throw new AssertionError("Class UnusedAbstractValue cannot be instantiated.");
}
@Override
public UnusedAbstractValue leastUpperBound(UnusedAbstractValue other) {
throw new BugInCF("UnusedAbstractValue.leastUpperBound was called!");
}
}