{
try
{
- return d_expr->notExpr();
+ Term res = d_expr->notExpr();
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
{
try
{
- return d_expr->andExpr(*t.d_expr);
+ Term res = d_expr->andExpr(*t.d_expr);
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
{
try
{
- return d_expr->orExpr(*t.d_expr);
+ Term res = d_expr->orExpr(*t.d_expr);
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
{
try
{
- return d_expr->xorExpr(*t.d_expr);
+ Term res = d_expr->xorExpr(*t.d_expr);
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
{
try
{
- return d_expr->eqExpr(*t.d_expr);
+ Term res = d_expr->eqExpr(*t.d_expr);
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
{
try
{
- return d_expr->impExpr(*t.d_expr);
+ Term res = d_expr->impExpr(*t.d_expr);
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
{
try
{
- return d_expr->iteExpr(*then_t.d_expr, *else_t.d_expr);
+ Term res = d_expr->iteExpr(*then_t.d_expr, *else_t.d_expr);
+ (void)res.d_expr->getType(true); /* kick off type checking */
+ return res;
}
catch (const CVC4::TypeCheckingException& e)
{
// mkConst(Kind kind, Sort arg) const
TS_ASSERT_THROWS_NOTHING(d_solver.mkConst(EMPTYSET, Sort()));
- TS_ASSERT_THROWS_NOTHING(d_solver.mkConst(UNIVERSE_SET, d_solver.mkSetSort(d_solver.getBooleanSort())));
+ TS_ASSERT_THROWS_NOTHING(d_solver.mkConst(
+ UNIVERSE_SET, d_solver.mkSetSort(d_solver.getBooleanSort())));
TS_ASSERT_THROWS(d_solver.mkConst(EMPTYSET, d_solver.getBooleanSort()),
CVC4ApiException&);
TS_ASSERT_THROWS(d_solver.mkTerm(UNIVERSE_SET, Sort()), CVC4ApiException&);