package org.batfish.z3.node; import java.util.Collections; import java.util.Set; import org.batfish.common.BatfishException; import org.batfish.z3.NodProgram; import com.microsoft.z3.Z3Exception; public class VarIntExpr extends IntExpr { private String _var; public VarIntExpr(String var) { _var = var; } @Override public boolean equals(Object o) { if (o instanceof VarIntExpr) { VarIntExpr rhs = (VarIntExpr) o; return _var.equals(rhs._var); } return false; } public String getVariable() { return _var; } @Override public Set<String> getVariables() { return Collections.singleton(_var); } @Override public int hashCode() { return _var.hashCode(); } @Override public void print(StringBuilder sb, int indent) { sb.append(_var); } @Override public com.microsoft.z3.BitVecExpr toBitVecExpr(NodProgram nodProgram) throws Z3Exception { com.microsoft.z3.BitVecExpr ret = nodProgram.getVariables().get(_var); if (ret == null) { throw new BatfishException( "nodProgram missing mapping for variable: '" + _var + "'"); } return ret; } }