summaryrefslogtreecommitdiff
path: root/src/api/cvc4cpp.cpp
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-07-13 19:48:07 -0700
committerGitHub <noreply@github.com>2020-07-13 21:48:07 -0500
commit78c0daa482b35b95c90dd058ee4dd8a981e1337f (patch)
treec45fe72ac96032b0e6f7ea53798443671ad08d86 /src/api/cvc4cpp.cpp
parent84fe644cb1956119b7b35ede06ee93583eae1925 (diff)
Use TypeNode/Node in ArrayStoreAll (#4728)
This commit changes ArrayStoreAll to use Node/TypeNode instead of Expr/Type.
Diffstat (limited to 'src/api/cvc4cpp.cpp')
-rw-r--r--src/api/cvc4cpp.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/api/cvc4cpp.cpp b/src/api/cvc4cpp.cpp
index 550dd760b..3cca1a071 100644
--- a/src/api/cvc4cpp.cpp
+++ b/src/api/cvc4cpp.cpp
@@ -1564,11 +1564,12 @@ bool Term::isConst() const
Term Term::getConstArrayBase() const
{
+ CVC4::ExprManagerScope exmgrs(*(d_solver->getExprManager()));
CVC4_API_CHECK_NOT_NULL;
// CONST_ARRAY kind maps to STORE_ALL internal kind
CVC4_API_CHECK(d_expr->getKind() == CVC4::Kind::STORE_ALL)
<< "Expecting a CONST_ARRAY Term when calling getConstArrayBase()";
- return Term(d_solver, d_expr->getConst<ArrayStoreAll>().getExpr());
+ return Term(d_solver, d_expr->getConst<ArrayStoreAll>().getValue().toExpr());
}
std::vector<Term> Term::getConstSequenceElements() const
@@ -3511,6 +3512,7 @@ Term Solver::mkBitVector(uint32_t size, std::string& s, uint32_t base) const
Term Solver::mkConstArray(Sort sort, Term val) const
{
CVC4_API_SOLVER_TRY_CATCH_BEGIN;
+ CVC4::ExprManagerScope exmgrs(*(d_exprMgr.get()));
CVC4_API_ARG_CHECK_NOT_NULL(sort);
CVC4_API_ARG_CHECK_NOT_NULL(val);
CVC4_API_SOLVER_CHECK_SORT(sort);
@@ -3518,8 +3520,8 @@ Term Solver::mkConstArray(Sort sort, Term val) const
CVC4_API_CHECK(sort.isArray()) << "Not an array sort.";
CVC4_API_CHECK(sort.getArrayElementSort().isComparableTo(val.getSort()))
<< "Value does not match element sort.";
- Term res = mkValHelper<CVC4::ArrayStoreAll>(
- CVC4::ArrayStoreAll(*sort.d_type, *val.d_expr));
+ Term res = mkValHelper<CVC4::ArrayStoreAll>(CVC4::ArrayStoreAll(
+ TypeNode::fromType(*sort.d_type), Node::fromExpr(*val.d_expr)));
return res;
CVC4_API_SOLVER_TRY_CATCH_END;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback