mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
remove template dependency for trail objects
This commit is contained in:
parent
c05c5caab5
commit
15a7621e27
28 changed files with 46 additions and 58 deletions
|
@ -64,7 +64,7 @@ namespace {
|
|||
|
||||
class mam_impl;
|
||||
|
||||
typedef trail_stack<mam_impl> mam_trail_stack;
|
||||
typedef trail_stack mam_trail_stack;
|
||||
|
||||
typedef trail mam_trail;
|
||||
|
||||
|
@ -3816,7 +3816,7 @@ namespace {
|
|||
mam(ctx),
|
||||
m(ctx.get_manager()),
|
||||
m_use_filters(use_filters),
|
||||
m_trail_stack(*this),
|
||||
m_trail_stack(),
|
||||
m_ct_manager(m_lbl_hasher, m_trail_stack),
|
||||
m_compiler(ctx, m_ct_manager, m_lbl_hasher, use_filters),
|
||||
m_interpreter(ctx, *this, use_filters),
|
||||
|
|
|
@ -1941,7 +1941,7 @@ namespace smt {
|
|||
\brief Execute generic undo-objects.
|
||||
*/
|
||||
void context::undo_trail_stack(unsigned old_size) {
|
||||
::undo_trail_stack(*this, m_trail_stack, old_size);
|
||||
::undo_trail_stack(m_trail_stack, old_size);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace smt {
|
|||
theory_array_base(ctx),
|
||||
m_params(ctx.get_fparams()),
|
||||
m_find(*this),
|
||||
m_trail_stack(*this),
|
||||
m_trail_stack(),
|
||||
m_final_check_idx(0) {
|
||||
if (!ctx.relevancy())
|
||||
m_params.m_array_laziness = 0;
|
||||
|
|
|
@ -35,7 +35,6 @@ namespace smt {
|
|||
|
||||
class theory_array : public theory_array_base {
|
||||
protected:
|
||||
typedef trail_stack<theory_array> th_trail_stack;
|
||||
typedef union_find<theory_array> th_union_find;
|
||||
|
||||
struct var_data {
|
||||
|
@ -51,7 +50,7 @@ namespace smt {
|
|||
theory_array_params& m_params;
|
||||
theory_array_stats m_stats;
|
||||
th_union_find m_find;
|
||||
th_trail_stack m_trail_stack;
|
||||
trail_stack m_trail_stack;
|
||||
unsigned m_final_check_idx;
|
||||
|
||||
theory_var mk_var(enode * n) override;
|
||||
|
@ -104,7 +103,7 @@ namespace smt {
|
|||
virtual void display_var(std::ostream & out, theory_var v) const;
|
||||
void display(std::ostream & out) const override;
|
||||
void collect_statistics(::statistics & st) const override;
|
||||
th_trail_stack & get_trail_stack() { return m_trail_stack; }
|
||||
trail_stack & get_trail_stack() { return m_trail_stack; }
|
||||
virtual void merge_eh(theory_var v1, theory_var v2, theory_var, theory_var);
|
||||
static void after_merge_eh(theory_var r1, theory_var r2, theory_var v1, theory_var v2) {}
|
||||
void unmerge_eh(theory_var v1, theory_var v2);
|
||||
|
|
|
@ -1442,7 +1442,7 @@ namespace smt {
|
|||
m_util(ctx.get_manager()),
|
||||
m_autil(ctx.get_manager()),
|
||||
m_bb(ctx.get_manager(), ctx.get_fparams()),
|
||||
m_trail_stack(*this),
|
||||
m_trail_stack(),
|
||||
m_find(*this),
|
||||
m_approximates_large_bvs(false) {
|
||||
memset(m_eq_activity, 0, sizeof(m_eq_activity));
|
||||
|
|
|
@ -37,7 +37,6 @@ namespace smt {
|
|||
|
||||
class theory_bv : public theory {
|
||||
typedef rational numeral;
|
||||
typedef trail_stack<theory_bv> th_trail_stack;
|
||||
typedef union_find<theory_bv> th_union_find;
|
||||
typedef std::pair<theory_var, unsigned> var_pos;
|
||||
|
||||
|
@ -108,7 +107,7 @@ namespace smt {
|
|||
bv_util m_util;
|
||||
arith_util m_autil;
|
||||
bit_blaster m_bb;
|
||||
th_trail_stack m_trail_stack;
|
||||
trail_stack m_trail_stack;
|
||||
th_union_find m_find;
|
||||
vector<literal_vector> m_bits; // per var, the bits of a given variable.
|
||||
ptr_vector<expr> m_bits_expr;
|
||||
|
@ -268,7 +267,7 @@ namespace smt {
|
|||
|
||||
char const * get_name() const override { return "bit-vector"; }
|
||||
|
||||
th_trail_stack & get_trail_stack() { return m_trail_stack; }
|
||||
trail_stack & get_trail_stack() { return m_trail_stack; }
|
||||
void merge_eh(theory_var, theory_var, theory_var v1, theory_var v2);
|
||||
void after_merge_eh(theory_var r1, theory_var r2, theory_var v1, theory_var v2) { SASSERT(check_zero_one_bits(r1)); }
|
||||
void unmerge_eh(theory_var v1, theory_var v2);
|
||||
|
|
|
@ -701,7 +701,7 @@ namespace smt {
|
|||
m_util(m),
|
||||
m_autil(m),
|
||||
m_find(*this),
|
||||
m_trail_stack(*this) {
|
||||
m_trail_stack() {
|
||||
}
|
||||
|
||||
theory_datatype::~theory_datatype() {
|
||||
|
|
|
@ -27,7 +27,6 @@ Revision History:
|
|||
|
||||
namespace smt {
|
||||
class theory_datatype : public theory {
|
||||
typedef trail_stack<theory_datatype> th_trail_stack;
|
||||
typedef union_find<theory_datatype> th_union_find;
|
||||
|
||||
struct var_data {
|
||||
|
@ -49,7 +48,7 @@ namespace smt {
|
|||
array_util m_autil;
|
||||
ptr_vector<var_data> m_var_data;
|
||||
th_union_find m_find;
|
||||
th_trail_stack m_trail_stack;
|
||||
trail_stack m_trail_stack;
|
||||
datatype_factory * m_factory;
|
||||
stats m_stats;
|
||||
|
||||
|
@ -137,7 +136,7 @@ namespace smt {
|
|||
void collect_statistics(::statistics & st) const override;
|
||||
void init_model(model_generator & m) override;
|
||||
model_value_proc * mk_value(enode * n, model_generator & m) override;
|
||||
th_trail_stack & get_trail_stack() { return m_trail_stack; }
|
||||
trail_stack & get_trail_stack() { return m_trail_stack; }
|
||||
virtual void merge_eh(theory_var v1, theory_var v2, theory_var, theory_var);
|
||||
static void after_merge_eh(theory_var r1, theory_var r2, theory_var v1, theory_var v2) {}
|
||||
void unmerge_eh(theory_var v1, theory_var v2);
|
||||
|
|
|
@ -30,7 +30,7 @@ namespace smt {
|
|||
m_th_rw(ctx.get_manager()),
|
||||
m_converter(ctx.get_manager(), m_th_rw),
|
||||
m_rw(ctx.get_manager(), m_converter, params_ref()),
|
||||
m_trail_stack(*this),
|
||||
m_trail_stack(),
|
||||
m_fpa_util(m_converter.fu()),
|
||||
m_bv_util(m_converter.bu()),
|
||||
m_arith_util(m_converter.au()),
|
||||
|
|
|
@ -30,7 +30,6 @@ namespace smt {
|
|||
|
||||
class theory_fpa : public theory {
|
||||
protected:
|
||||
typedef trail_stack<theory_fpa> th_trail_stack;
|
||||
|
||||
|
||||
class fpa_value_proc : public model_value_proc {
|
||||
|
@ -84,7 +83,7 @@ namespace smt {
|
|||
th_rewriter m_th_rw;
|
||||
fpa2bv_converter_wrapped m_converter;
|
||||
fpa2bv_rewriter m_rw;
|
||||
th_trail_stack m_trail_stack;
|
||||
trail_stack m_trail_stack;
|
||||
fpa_value_factory * m_factory;
|
||||
fpa_util & m_fpa_util;
|
||||
bv_util & m_bv_util;
|
||||
|
|
|
@ -275,7 +275,7 @@ theory_seq::theory_seq(context& ctx):
|
|||
m_eq(m, *this, m_ax.ax()),
|
||||
m_regex(*this),
|
||||
m_arith_value(m),
|
||||
m_trail_stack(*this),
|
||||
m_trail_stack(),
|
||||
m_ls(m), m_rs(m),
|
||||
m_lhs(m), m_rhs(m),
|
||||
m_new_eqs(m),
|
||||
|
|
|
@ -49,7 +49,6 @@ namespace smt {
|
|||
typedef scoped_dependency_manager<assumption> dependency_manager;
|
||||
typedef dependency_manager::dependency dependency;
|
||||
|
||||
typedef trail_stack<theory_seq> th_trail_stack;
|
||||
struct expr_dep {
|
||||
expr* v;
|
||||
expr* e;
|
||||
|
@ -365,7 +364,7 @@ namespace smt {
|
|||
seq::eq_solver m_eq;
|
||||
seq_regex m_regex;
|
||||
arith_value m_arith_value;
|
||||
th_trail_stack m_trail_stack;
|
||||
trail_stack m_trail_stack;
|
||||
stats m_stats;
|
||||
ptr_vector<expr> m_todo, m_concat;
|
||||
expr_ref_vector m_ls, m_rs, m_lhs, m_rhs;
|
||||
|
@ -622,7 +621,7 @@ namespace smt {
|
|||
// model building
|
||||
app* mk_value(app* a);
|
||||
|
||||
th_trail_stack& get_trail_stack() { return m_trail_stack; }
|
||||
trail_stack& get_trail_stack() { return m_trail_stack; }
|
||||
void merge_eh(theory_var, theory_var, theory_var v1, theory_var v2) {}
|
||||
void after_merge_eh(theory_var r1, theory_var r2, theory_var v1, theory_var v2) { }
|
||||
void unmerge_eh(theory_var v1, theory_var v2) {}
|
||||
|
|
|
@ -85,8 +85,8 @@ namespace smt {
|
|||
cacheHitCount(0),
|
||||
cacheMissCount(0),
|
||||
m_fresh_id(0),
|
||||
m_trail_stack(*this),
|
||||
m_library_aware_trail_stack(*this),
|
||||
m_trail_stack(),
|
||||
m_library_aware_trail_stack(),
|
||||
m_find(*this),
|
||||
fixed_length_subterm_trail(m),
|
||||
fixed_length_assumptions(m)
|
||||
|
|
|
@ -332,7 +332,6 @@ class theory_str : public theory {
|
|||
}
|
||||
};
|
||||
|
||||
typedef trail_stack<theory_str> th_trail_stack;
|
||||
typedef union_find<theory_str> th_union_find;
|
||||
|
||||
typedef map<rational, expr*, obj_hash<rational>, default_eq<rational> > rational_map;
|
||||
|
@ -525,8 +524,8 @@ protected:
|
|||
// cache mapping each string S to Length(S)
|
||||
obj_map<expr, app*> length_ast_map;
|
||||
|
||||
th_trail_stack m_trail_stack;
|
||||
th_trail_stack m_library_aware_trail_stack;
|
||||
trail_stack m_trail_stack;
|
||||
trail_stack m_library_aware_trail_stack;
|
||||
th_union_find m_find;
|
||||
theory_var get_var(expr * n) const;
|
||||
expr * get_eqc_next(expr * n);
|
||||
|
@ -792,7 +791,7 @@ public:
|
|||
|
||||
bool overlapping_variables_detected() const { return loopDetected; }
|
||||
|
||||
th_trail_stack& get_trail_stack() { return m_trail_stack; }
|
||||
trail_stack& get_trail_stack() { return m_trail_stack; }
|
||||
void merge_eh(theory_var, theory_var, theory_var v1, theory_var v2) {}
|
||||
void after_merge_eh(theory_var r1, theory_var r2, theory_var v1, theory_var v2) { }
|
||||
void unmerge_eh(theory_var v1, theory_var v2) {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue