Throw exception on unhandled cases in SMT-LIB Expression conversion

This commit is contained in:
Martin Blicha 2023-07-27 14:45:15 +02:00
parent 4b50f26834
commit 0fbeb3a69d

View File

@ -358,8 +358,9 @@ namespace
std::set<std::string> boolOperators{"and", "or", "not", "=", "<", ">", "<=", ">=", std::set<std::string> boolOperators{"and", "or", "not", "=", "<", ">", "<=", ">=",
"=>"}; "=>"};
sort = contains(boolOperators, op) ? SortProvider::boolSort : arguments.back().sort; sort = contains(boolOperators, op) ? SortProvider::boolSort : arguments.back().sort;
return smtutil::Expression(op, std::move(arguments), std::move(sort));
} }
return smtutil::Expression(op, std::move(arguments), std::move(sort)); smtAssert(false, "Unhandled case in expression conversion");
} else { } else {
// check for const array // check for const array
if (_subExpr.size() == 2 and !isAtom(_subExpr[0])) if (_subExpr.size() == 2 and !isAtom(_subExpr[0]))