3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-18 02:16:40 +00:00

remove model converter from transformer operators. Rely on reference in context

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2013-03-29 08:13:07 -07:00
parent 96f4606a7f
commit 06e3b6cfb8
41 changed files with 61 additions and 74 deletions

View file

@ -255,7 +255,7 @@ namespace datalog {
m_blaster.updt_params(m_params);
}
rule_set * operator()(rule_set const & source, model_converter_ref& mc) {
rule_set * operator()(rule_set const & source) {
// TODO pc
if (!m_context.get_params().bit_blast()) {
return 0;
@ -284,7 +284,7 @@ namespace datalog {
result->add_rule(m_rules.get(i));
}
if (mc) {
if (m_context.get_model_converter()) {
filter_model_converter* fmc = alloc(filter_model_converter, m);
bit_blast_model_converter* bvmc = alloc(bit_blast_model_converter, m);
func_decl_ref_vector const& old_funcs = m_rewriter.m_cfg.old_funcs();
@ -293,7 +293,7 @@ namespace datalog {
fmc->insert(new_funcs[i]);
bvmc->insert(old_funcs[i], new_funcs[i]);
}
mc = concat(mc.get(), concat(bvmc, fmc));
m_context.add_model_converter(concat(bvmc, fmc));
}
return result;
@ -308,8 +308,8 @@ namespace datalog {
dealloc(m_impl);
}
rule_set * mk_bit_blast::operator()(rule_set const & source, model_converter_ref& mc) {
return (*m_impl)(source, mc);
rule_set * mk_bit_blast::operator()(rule_set const & source) {
return (*m_impl)(source);
}
};