mirror of
https://github.com/Z3Prover/z3
synced 2025-06-21 21:33:39 +00:00
fix #5289
This commit is contained in:
parent
4d41db2920
commit
b1606487f0
9 changed files with 88 additions and 41 deletions
|
@ -54,7 +54,9 @@ namespace recfun {
|
|||
unsigned arity, sort* const * domain, sort* range, bool is_generated)
|
||||
: m(m), m_name(s),
|
||||
m_domain(m, arity, domain),
|
||||
m_range(range, m), m_vars(m), m_cases(),
|
||||
m_range(range, m),
|
||||
m_vars(m),
|
||||
m_cases(),
|
||||
m_decl(m),
|
||||
m_rhs(m),
|
||||
m_fid(fid)
|
||||
|
@ -413,6 +415,16 @@ namespace recfun {
|
|||
m_defs.insert(d->get_decl(), d);
|
||||
return promise_def(&u(), d);
|
||||
}
|
||||
|
||||
void plugin::erase_def(func_decl* f) {
|
||||
def* d = nullptr;
|
||||
if (m_defs.find(f, d)) {
|
||||
for (case_def & c : d->get_cases())
|
||||
m_case_defs.erase(c.get_decl());
|
||||
m_defs.erase(f);
|
||||
dealloc(d);
|
||||
}
|
||||
}
|
||||
|
||||
void plugin::set_definition(replace& r, promise_def & d, unsigned n_vars, var * const * vars, expr * rhs) {
|
||||
u().set_definition(r, d, n_vars, vars, rhs);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue