mirror of
https://github.com/Z3Prover/z3
synced 2026-06-20 07:36:31 +00:00
fix crashes when using replace_all
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
64e7f29533
commit
0bcdca787f
5 changed files with 53 additions and 38 deletions
|
|
@ -364,6 +364,13 @@ namespace recfun {
|
|||
return alloc(def, m(), m_fid, name, n, domain, range, is_generated);
|
||||
}
|
||||
|
||||
func_decl *util::find_def_decl(symbol const &name, unsigned n, sort *const *params, sort *range, bool is_generated) {
|
||||
def d(m_manager, m_fid, name, n, params, range, is_generated);
|
||||
if (m_plugin->has_def(d.get_decl()))
|
||||
return d.get_decl();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void util::set_definition(replace& subst, promise_def & d, bool is_macro, unsigned n_vars, var * const * vars, expr * rhs) {
|
||||
expr_ref rhs1(rhs, m());
|
||||
if (!is_macro)
|
||||
|
|
@ -551,6 +558,7 @@ namespace recfun {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
expr_ref plugin::redirect_ite(replace& subst, unsigned n, var * const* vars, expr * e) {
|
||||
expr_ref result(e, m());
|
||||
util u(m());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue