Fix to the compatibility library (this does fix the build).
authorMorgan Deters <mdeters@cs.nyu.edu>
Sun, 22 Jun 2014 00:12:42 +0000 (20:12 -0400)
committerMorgan Deters <mdeters@cs.nyu.edu>
Sun, 22 Jun 2014 01:08:00 +0000 (21:08 -0400)
src/compat/cvc3_compat.cpp

index ee96f79ec5c10921c0f8f042a52fd09f69964c59..b4ab572835948c6e100308843180f2850a343bb7 100644 (file)
@@ -389,6 +389,18 @@ bool Expr::isRawList() const {
   return false;
 }
 
+bool Expr::isAtomic() const {
+  if (getType().isBool()) {
+    return isBoolConst();
+  }
+  for (int k = 0; k < arity(); ++k) {
+    if (!(*this)[k].isAtomic()) {
+      return false;
+    }
+  }
+  return true;
+}
+
 bool Expr::isAtomicFormula() const {
   if (!getType().isBool()) {
     return false;
@@ -459,16 +471,8 @@ std::string Expr::getUid() const {
 }
 
 std::string Expr::getString() const {
-  if(getKind() == CVC4::kind::SEXPR) {
-    CVC4::SExpr s = getConst<CVC4::SExpr>();
-    if(s.isString() || s.isKeyword()) {
-      return s.getValue();
-    }
-  } else if(getKind() == CVC4::kind::CONST_STRING) {
-    return getConst<CVC4::String>().toString();
-  }
-
-  CVC4::CheckArgument(false, *this, "CVC3::Expr::getString(): not a string Expr: `%s'", toString().c_str());
+  CVC4::CheckArgument(getKind() == CVC4::kind::CONST_STRING, *this, "CVC3::Expr::getString(): not a string Expr: `%s'", toString().c_str());
+  return getConst<CVC4::String>().toString();
 }
 
 std::vector<Expr> Expr::getVars() const {