3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-01-06 02:52:43 +00:00

Fix lazy initialization of maximize_ac_sharing rewriter

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-12-12 09:23:37 +00:00
parent 8ad9766a5e
commit 06e38fb0b9
2 changed files with 9 additions and 9 deletions

View file

@ -169,4 +169,5 @@ bool maximize_bv_sharing::is_numeral(expr * n) const {
maximize_bv_sharing::maximize_bv_sharing(ast_manager & m):
maximize_ac_sharing(m),
m_util(m) {
init();
}

View file

@ -67,6 +67,14 @@ class maximize_ac_sharing : public default_rewriter_cfg {
protected:
void register_kind(decl_kind k);
void init() {
if (!m_init) {
init_core();
m_init = true;
}
}
virtual void init_core() = 0;
virtual bool is_numeral(expr * n) const = 0;
private:
ast_manager & m;
@ -80,15 +88,6 @@ private:
bool contains(func_decl * f, expr * arg1, expr * arg2);
void insert(func_decl * f, expr * arg1, expr * arg2);
void restore_entries(unsigned old_lim);
void init() {
if (!m_init) {
init_core();
m_init = true;
}
}
protected:
virtual void init_core() = 0;
virtual bool is_numeral(expr * n) const = 0;
public:
maximize_ac_sharing(ast_manager & m);
virtual ~maximize_ac_sharing();