diff options
Diffstat (limited to 'third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/constantpropagation/Constant.java')
-rw-r--r-- | third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/constantpropagation/Constant.java | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/constantpropagation/Constant.java b/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/constantpropagation/Constant.java deleted file mode 100644 index a95af7fa43..0000000000 --- a/third_party/checker_framework_dataflow/java/org/checkerframework/dataflow/constantpropagation/Constant.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.checkerframework.dataflow.constantpropagation; - -/*>>> -import org.checkerframework.checker.nullness.qual.Nullable; -*/ - -import java.util.Objects; -import org.checkerframework.dataflow.analysis.AbstractValue; - -public class Constant implements AbstractValue<Constant> { - - /** What kind of abstract value is this? */ - protected Type type; - - /** The value of this abstract value (or null) */ - protected /*@Nullable*/ Integer value; - - public enum Type { - CONSTANT, - TOP, - BOTTOM, - } - - public Constant(Type type) { - assert !type.equals(Type.CONSTANT); - this.type = type; - } - - public Constant(Integer value) { - this.type = Type.CONSTANT; - this.value = value; - } - - public boolean isTop() { - return type.equals(Type.TOP); - } - - public boolean isBottom() { - return type.equals(Type.BOTTOM); - } - - public boolean isConstant() { - return type.equals(Type.CONSTANT); - } - - public Integer getValue() { - assert isConstant(); - return value; - } - - public Constant copy() { - if (isConstant()) { - return new Constant(value); - } - return new Constant(type); - } - - @Override - public Constant leastUpperBound(Constant other) { - if (other.isBottom()) { - return this.copy(); - } - if (this.isBottom()) { - return other.copy(); - } - if (other.isTop() || this.isTop()) { - return new Constant(Type.TOP); - } - if (other.getValue().equals(getValue())) { - return this.copy(); - } - return new Constant(Type.TOP); - } - - @Override - public boolean equals(Object obj) { - if (obj == null || !(obj instanceof Constant)) { - return false; - } - Constant other = (Constant) obj; - return type == other.type && Objects.equals(value, other.value); - } - - @Override - public int hashCode() { - return type.hashCode() + (value != null ? value.hashCode() : 0); - } - - @Override - public String toString() { - switch (type) { - case TOP: - return "T"; - case BOTTOM: - return "-"; - case CONSTANT: - return value.toString(); - } - assert false; - return "???"; - } -} |