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:
parent
f7fbb78fc8
commit
5d0dea05aa
134 changed files with 10 additions and 322 deletions
|
@ -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); }
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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(); }
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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++) {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue