package bixie.prover.princess; import java.math.BigInteger; import ap.SimpleAPI$; import ap.parser.IBoolLit; import ap.parser.IFormula; import bixie.prover.ProverExpr; import bixie.prover.ProverType; class FormulaExpr implements ProverExpr { protected final IFormula formula; FormulaExpr(IFormula formula) { this.formula = formula; } public String toString() { return SimpleAPI$.MODULE$.pp(formula); } public ProverType getType() { return BoolType.INSTANCE; } public BigInteger getIntLiteralValue() { throw new RuntimeException(); } public boolean getBooleanLiteralValue() { if (formula instanceof IBoolLit) return ((IBoolLit) formula).value(); throw new RuntimeException(); } public int hashCode() { return formula.hashCode(); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; FormulaExpr other = (FormulaExpr) obj; if (formula == null) { if (other.formula != null) return false; } else if (!formula.equals(other.formula)) return false; return true; } }