3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-08 15:13:23 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-04-29 10:04:42 -07:00
parent c64d044e60
commit b8193a0ae6
7 changed files with 35 additions and 47 deletions

View file

@ -334,7 +334,10 @@ public:
}
void inc_ref() { m_ref_count++; }
void dec_ref() { SASSERT(m_ref_count > 0); m_ref_count--; if (m_ref_count == 0) dealloc(this); }
void dec_ref() {
SASSERT(m_ref_count > 0);
if (--m_ref_count == 0) dealloc(this);
}
bool empty() const { return m_entries.empty(); }
bool contains(symbol const & k) const;
@ -565,27 +568,25 @@ void params_ref::copy(params_ref const & src) {
void params_ref::copy_core(params const * src) {
if (src == nullptr)
return;
svector<params::entry>::const_iterator it = src->m_entries.begin();
svector<params::entry>::const_iterator end = src->m_entries.end();
for (; it != end; ++it) {
switch (it->second.m_kind) {
for (auto const& p : src->m_entries) {
switch (p.second.m_kind) {
case CPK_BOOL:
m_params->set_bool(it->first, it->second.m_bool_value);
m_params->set_bool(p.first, p.second.m_bool_value);
break;
case CPK_UINT:
m_params->set_uint(it->first, it->second.m_uint_value);
m_params->set_uint(p.first, p.second.m_uint_value);
break;
case CPK_DOUBLE:
m_params->set_double(it->first, it->second.m_double_value);
m_params->set_double(p.first, p.second.m_double_value);
break;
case CPK_NUMERAL:
m_params->set_rat(it->first, *(it->second.m_rat_value));
m_params->set_rat(p.first, *(p.second.m_rat_value));
break;
case CPK_SYMBOL:
m_params->set_sym(it->first, symbol::mk_symbol_from_c_ptr(it->second.m_sym_value));
m_params->set_sym(p.first, symbol::mk_symbol_from_c_ptr(p.second.m_sym_value));
break;
case CPK_STRING:
m_params->set_str(it->first, it->second.m_str_value);
m_params->set_str(p.first, p.second.m_str_value);
break;
default:
UNREACHABLE();