3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00

Remove empty leaf destructors. (#6211)

This commit is contained in:
Bruce Mitchener 2022-07-30 16:07:03 +07:00 committed by GitHub
parent f7fbb78fc8
commit 5d0dea05aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
134 changed files with 10 additions and 322 deletions

View file

@ -159,8 +159,6 @@ namespace datalog {
public:
restore_rules(context& ctx, rule_set& r): ctx(ctx), m_old_rules(alloc(rule_set, r)) {}
~restore_rules() override {}
void undo() override {
ctx.replace_rules(*m_old_rules);
reset();
@ -173,7 +171,6 @@ namespace datalog {
unsigned m_old_size;
public:
restore_vec_size_trail(Vec& v): m_vector(v), m_old_size(v.size()) {}
~restore_vec_size_trail() override {}
void undo() override { m_vector.shrink(m_old_size); }
};

View file

@ -105,7 +105,6 @@ namespace datalog {
class rel_context_base : public engine_base {
public:
rel_context_base(ast_manager& m, char const* name): engine_base(m, name) {}
~rel_context_base() override {}
virtual relation_manager & get_rmanager() = 0;
virtual const relation_manager & get_rmanager() const = 0;
virtual relation_base & get_relation(func_decl * pred) = 0;
@ -141,7 +140,6 @@ namespace datalog {
context const& ctx;
public:
contains_pred(context& ctx): ctx(ctx) {}
~contains_pred() override {}
bool operator()(expr* e) override {
return ctx.is_predicate(e);

View file

@ -190,7 +190,6 @@ namespace datalog {
const unsigned * cols1, const unsigned * cols2)
: convenient_join_fn(o1_sig, o2_sig, col_cnt, cols1, cols2), m_join(j)
{}
~join_fn() override {}
relation_base * operator()(const relation_base & r1, const relation_base & r2) override {
check_relation const& t1 = get(r1);
check_relation const& t2 = get(r2);
@ -219,7 +218,6 @@ namespace datalog {
: convenient_join_project_fn(o1_sig, o2_sig, col_cnt, cols1, cols2,
removed_col_cnt, removed_cols), m_join(j)
{}
~join_project_fn() override {}
relation_base * operator()(const relation_base & r1, const relation_base & r2) override {
check_relation const& t1 = get(r1);
check_relation const& t2 = get(r2);
@ -527,8 +525,6 @@ namespace datalog {
m_filter(f) {
}
~filter_identical_fn() override {}
void operator()(relation_base & _r) override {
check_relation& r = get(_r);
check_relation_plugin& p = r.get_plugin();
@ -563,8 +559,6 @@ namespace datalog {
m_condition(condition) {
}
~filter_interpreted_fn() override {}
void operator()(relation_base & tb) override {
check_relation& r = get(tb);
check_relation_plugin& p = r.get_plugin();
@ -590,8 +584,6 @@ namespace datalog {
m_project(p) {
}
~project_fn() override {}
relation_base * operator()(const relation_base & tb) override {
check_relation const& t = get(tb);
check_relation_plugin& p = t.get_plugin();
@ -618,8 +610,6 @@ namespace datalog {
m_permute(permute) {
}
~rename_fn() override {}
relation_base * operator()(const relation_base & _t) override {
check_relation const& t = get(_t);
check_relation_plugin& p = t.get_plugin();
@ -647,7 +637,6 @@ namespace datalog {
m_val(val),
m_col(col)
{}
~filter_equal_fn() override { }
void operator()(relation_base & tb) override {
check_relation & t = get(tb);
check_relation_plugin& p = t.get_plugin();
@ -760,8 +749,6 @@ namespace datalog {
m_cond(cond),
m_xform(xform)
{}
~filter_proj_fn() override {}
relation_base* operator()(const relation_base & tb) override {
check_relation const & t = get(tb);

View file

@ -799,7 +799,6 @@ namespace datalog {
protected:
relation_base(relation_plugin & plugin, const relation_signature & s)
: base_ancestor(plugin, s) {}
~relation_base() override {}
public:
virtual relation_base * complement(func_decl* p) const = 0;
@ -1040,7 +1039,6 @@ namespace datalog {
protected:
table_base(table_plugin & plugin, const table_signature & s)
: base_ancestor(plugin, s) {}
~table_base() override {}
public:
table_base * clone() const override;
virtual table_base * complement(func_decl* p, const table_element * func_columns = nullptr) const;

View file

@ -794,8 +794,6 @@ namespace datalog {
m_delta_indexes(delta_indexes),
m_delta_rels(delta_rels) {}
~union_mapper() override {}
bool operator()(table_element * func_columns) override {
relation_base & otgt_orig = m_tgt.get_inner_rel(func_columns[0]);
const relation_base & osrc = m_src.get_inner_rel(func_columns[1]);

View file

@ -128,8 +128,6 @@ namespace datalog {
m_ref(t)
{}
~lazy_table() override {}
lazy_table_plugin& get_lplugin() const {
return dynamic_cast<lazy_table_plugin&>(table_base::get_plugin());
}
@ -164,7 +162,6 @@ namespace datalog {
m_table = table;
// SASSERT(&p.m_plugin == &table->get_lplugin());
}
~lazy_table_base() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_BASE; }
table_base* force() override { return m_table.get(); }
};
@ -183,7 +180,6 @@ namespace datalog {
m_cols2(col_cnt, cols2),
m_t1(t1.get_ref()),
m_t2(t2.get_ref()) { }
~lazy_table_join() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_JOIN; }
unsigned_vector const& cols1() const { return m_cols1; }
unsigned_vector const& cols2() const { return m_cols2; }
@ -201,7 +197,6 @@ namespace datalog {
: lazy_table_ref(src.get_lplugin(), sig),
m_cols(col_cnt, cols),
m_src(src.get_ref()) {}
~lazy_table_project() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_PROJECT; }
unsigned_vector const& cols() const { return m_cols; }
@ -217,8 +212,7 @@ namespace datalog {
: lazy_table_ref(src.get_lplugin(), sig),
m_cols(col_cnt, cols),
m_src(src.get_ref()) {}
~lazy_table_rename() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_RENAME; }
unsigned_vector const& cols() const { return m_cols; }
lazy_table_ref* src() const { return m_src.get(); }
@ -231,8 +225,7 @@ namespace datalog {
public:
lazy_table_filter_identical(unsigned col_cnt, const unsigned * cols, lazy_table const& src)
: lazy_table_ref(src.get_lplugin(), src.get_signature()), m_cols(col_cnt, cols), m_src(src.get_ref()) {}
~lazy_table_filter_identical() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_FILTER_IDENTICAL; }
unsigned_vector const& cols() const { return m_cols; }
lazy_table_ref* src() const { return m_src.get(); }
@ -249,8 +242,7 @@ namespace datalog {
m_col(col),
m_value(value),
m_src(src.get_ref()) {}
~lazy_table_filter_equal() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_FILTER_EQUAL; }
unsigned col() const { return m_col; }
table_element value() const { return m_value; }
@ -265,8 +257,7 @@ namespace datalog {
lazy_table_filter_interpreted(lazy_table const& src, app* condition)
: lazy_table_ref(src.get_lplugin(), src.get_signature()),
m_condition(condition, src.get_lplugin().get_ast_manager()), m_src(src.get_ref()) {}
~lazy_table_filter_interpreted() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_FILTER_INTERPRETED; }
app* condition() const { return m_condition; }
lazy_table_ref* src() const { return m_src.get(); }
@ -287,7 +278,6 @@ namespace datalog {
m_src(src.get_ref()),
m_cols1(c1),
m_cols2(c2) {}
~lazy_table_filter_by_negation() override {}
lazy_table_kind kind() const override { return LAZY_TABLE_FILTER_BY_NEGATION; }
lazy_table_ref* tgt() const { return m_tgt.get(); }
lazy_table_ref* src() const { return m_src.get(); }

View file

@ -1589,8 +1589,6 @@ namespace datalog {
m_union_fn = plugin.mk_union_fn(t, *m_aux_table, static_cast<table_base *>(nullptr));
}
~default_table_map_fn() override {}
void operator()(table_base & t) override {
SASSERT(t.get_signature()==m_aux_table->get_signature());
if(!m_aux_table->empty()) {
@ -1644,8 +1642,6 @@ namespace datalog {
m_former_row.resize(get_result_signature().size());
}
~default_table_project_with_reduce_fn() override {}
virtual void modify_fact(table_fact & f) const {
unsigned ofs=1;
unsigned r_i=1;

View file

@ -406,8 +406,6 @@ namespace datalog {
m_key_fact.resize(t.get_signature().size());
}
~full_signature_key_indexer() override {}
query_result get_matching_offsets(const key_value & key) const override {
unsigned key_len = m_key_cols.size();
for (unsigned i=0; i<key_len; i++) {

View file

@ -29,7 +29,6 @@ namespace spacer {
class lemma_sanity_checker : public lemma_generalizer {
public:
lemma_sanity_checker(context &ctx) : lemma_generalizer(ctx) {}
~lemma_sanity_checker() override {}
void operator()(lemma_ref &lemma) override;
};
@ -59,7 +58,6 @@ class lemma_bool_inductive_generalizer : public lemma_generalizer {
bool array_only = false)
: lemma_generalizer(ctx), m_failure_limit(failure_limit),
m_array_only(array_only) {}
~lemma_bool_inductive_generalizer() override {}
void operator()(lemma_ref &lemma) override;
void collect_statistics(statistics &st) const override;
@ -83,7 +81,6 @@ class unsat_core_generalizer : public lemma_generalizer {
public:
unsat_core_generalizer(context &ctx) : lemma_generalizer(ctx) {}
~unsat_core_generalizer() override {}
void operator()(lemma_ref &lemma) override;
void collect_statistics(statistics &st) const override;
@ -96,14 +93,12 @@ class lemma_array_eq_generalizer : public lemma_generalizer {
public:
lemma_array_eq_generalizer(context &ctx) : lemma_generalizer(ctx) {}
~lemma_array_eq_generalizer() override {}
void operator()(lemma_ref &lemma) override;
};
class lemma_eq_generalizer : public lemma_generalizer {
public:
lemma_eq_generalizer(context &ctx) : lemma_generalizer(ctx) {}
~lemma_eq_generalizer() override {}
void operator()(lemma_ref &lemma) override;
};
@ -130,7 +125,6 @@ class lemma_quantifier_generalizer : public lemma_generalizer {
public:
lemma_quantifier_generalizer(context &ctx, bool normalize_cube = true);
~lemma_quantifier_generalizer() override {}
void operator()(lemma_ref &lemma) override;
void collect_statistics(statistics &st) const override;
@ -174,7 +168,6 @@ class limit_num_generalizer : public lemma_generalizer {
public:
limit_num_generalizer(context &ctx, unsigned failure_limit);
~limit_num_generalizer() override {}
void operator()(lemma_ref &lemma) override;

View file

@ -88,8 +88,6 @@ public:
m_old_hyp_reducer(old_hyp_reducer)
{}
~iuc_solver() override {}
/* iuc solver specific */
virtual void get_iuc(expr_ref_vector &core);
void set_split_literals(bool v) { m_split_literals = v; }

View file

@ -105,8 +105,6 @@ namespace datalog {
add_invariant_model_converter(ast_manager& m): m(m), a(m), m_funcs(m), m_invs(m) {}
~add_invariant_model_converter() override { }
void add(func_decl* p, expr* inv) {
if (!m.is_true(inv)) {
m_funcs.push_back(p);

View file

@ -46,8 +46,6 @@ namespace datalog {
qa_model_converter(ast_manager& m):
m(m), m_old_funcs(m), m_new_funcs(m) {}
~qa_model_converter() override {}
model_converter * translate(ast_translation & translator) override {
return alloc(qa_model_converter, m);
}

View file

@ -195,7 +195,6 @@ namespace datalog {
m_head_visitor(ctx, m_subst),
m_tail_visitor(ctx, m_subst)
{}
~mk_rule_inliner() override { }
rule_set * operator()(rule_set const & source) override;
};

View file

@ -30,8 +30,6 @@ namespace datalog {
public:
scale_model_converter(ast_manager& m): m(m), m_trail(m), a(m) {}
~scale_model_converter() override {}
void add_new2old(func_decl* new_f, func_decl* old_f) {
m_trail.push_back(old_f);
m_trail.push_back(new_f);

View file

@ -99,8 +99,6 @@ namespace datalog {
*/
mk_slice(context & ctx);
~mk_slice() override { }
rule_set * operator()(rule_set const & source) override;
func_decl* get_predicate(func_decl* p) { func_decl* q = p; m_predicates.find(p, q); return q; }