Deprecate ltl::clone(f) in favor of f->clone().

* src/ltlvisit/clone.hh (clone): Document and declare as deprecated.
* src/ltlast/formula_tree.cc, src/ltlvisit/basicreduce.cc,
src/ltlvisit/clone.cc, src/ltlvisit/contain.cc,
src/ltlvisit/lunabbrev.cc, src/ltlvisit/reduce.cc,
src/ltlvisit/syntimpl.cc, src/tgba/bdddict.cc,
src/tgba/formula2bdd.cc, src/tgba/tgbabddconcretefactory.cc,
src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2tgba_fm.cc,
src/tgbatest/complementation.cc, wrap/python/tests/ltlsimple.py:
Adjust clone() usage, and remove the #include "clone.hh" when
appropriate.
This commit is contained in:
Alexandre Duret-Lutz 2009-11-08 19:41:40 +01:00
parent e44f1b8997
commit 48fb19ea44
16 changed files with 103 additions and 91 deletions

View file

@ -27,7 +27,6 @@
#include "ltlvisit/nenoform.hh"
#include "ltlvisit/destroy.hh"
#include "ltlvisit/tostring.hh"
#include "ltlvisit/clone.hh"
#include "ltlvisit/contain.hh"
#include "ltl2taa.hh"
@ -68,7 +67,7 @@ namespace spot
const formula* f = node; // Handle negation
if (negated_)
{
f = unop::instance(unop::Not, clone(node));
f = unop::instance(unop::Not, node->clone());
to_free_.push_back(f);
}
init_ = to_string(f);
@ -76,7 +75,7 @@ namespace spot
dst.push_back(std::string("sink"));
taa::transition* t = res_->create_transition(init_, dst);
res_->add_condition(t, clone(f));
res_->add_condition(t, f->clone());
succ_state ss = { dst, f, constant::true_instance() };
succ_.push_back(ss);
}
@ -165,14 +164,14 @@ namespace spot
i1->Q.push_back(init_); // Add the initial state
i1->acc = node;
t = res_->create_transition(init_, i1->Q);
res_->add_condition(t, clone(i1->condition));
res_->add_acceptance_condition(t, clone(node));
res_->add_condition(t, i1->condition->clone());
res_->add_acceptance_condition(t, node->clone());
succ_.push_back(*i1);
}
for (i2 = v2.succ_.begin(); i2 != v2.succ_.end(); ++i2)
{
t = res_->create_transition(init_, i2->Q);
res_->add_condition(t, clone(i2->condition));
res_->add_condition(t, i2->condition->clone());
succ_.push_back(*i2);
}
return;
@ -185,16 +184,16 @@ namespace spot
{
std::vector<std::string> u; // Union
std::copy(i1->Q.begin(), i1->Q.end(), ii(u, u.begin()));
formula* f = clone(i1->condition); // Refined rule
formula* f = i1->condition->clone(); // Refined rule
if (!refined_ || !contained)
{
std::copy(i2->Q.begin(), i2->Q.end(), ii(u, u.begin()));
f = multop::instance(multop::And, f, clone(i2->condition));
f = multop::instance(multop::And, f, i2->condition->clone());
}
to_free_.push_back(f);
t = res_->create_transition(init_, u);
res_->add_condition(t, clone(f));
res_->add_condition(t, f->clone());
succ_state ss = { u, f, constant::true_instance() };
succ_.push_back(ss);
}
@ -205,9 +204,9 @@ namespace spot
i2->Q.push_back(init_); // Add the initial state
t = res_->create_transition(init_, i2->Q);
res_->add_condition(t, clone(i2->condition));
res_->add_condition(t, i2->condition->clone());
if (refined_ && i2->acc != constant::true_instance())
res_->add_acceptance_condition(t, clone(i2->acc));
res_->add_acceptance_condition(t, i2->acc->clone());
succ_.push_back(*i2);
}
return;
@ -262,15 +261,15 @@ namespace spot
Q.push_back(p[n].Q[m]);
Q.push_back(init_);
t = res_->create_transition(init_, Q);
res_->add_condition(t, clone(p[n].condition));
res_->add_condition(t, p[n].condition->clone());
if (p[n].acc != constant::true_instance())
res_->add_acceptance_condition(t, clone(p[n].acc));
res_->add_acceptance_condition(t, p[n].acc->clone());
succ_.push_back(p[n]);
return;
}
}
t = res_->create_transition(init_, p[n].Q);
res_->add_condition(t, clone(p[n].condition));
res_->add_condition(t, p[n].condition->clone());
succ_.push_back(p[n]);
}
return;
@ -280,7 +279,7 @@ namespace spot
for (i = vs[n].succ_.begin(); i != vs[n].succ_.end(); ++i)
{
t = res_->create_transition(init_, i->Q);
res_->add_condition(t, clone(i->condition));
res_->add_condition(t, i->condition->clone());
succ_.push_back(*i);
}
return;
@ -349,8 +348,8 @@ namespace spot
continue;
const succ_state& ss(vs[i].succ_[pos[i] - 1]);
std::copy(ss.Q.begin(), ss.Q.end(), ii(u, u.begin()));
f = multop::instance(multop::And, clone(ss.condition), f);
a = multop::instance(multop::And, clone(ss.acc), a);
f = multop::instance(multop::And, ss.condition->clone(), f);
a = multop::instance(multop::And, ss.acc->clone(), a);
}
to_free_.push_back(f);
to_free_.push_back(a);

View file

@ -110,7 +110,7 @@ namespace spot
}
else
{
f = clone(f);
f = f->clone();
num = dict->register_anonymous_variables(1, this);
next_map[f] = num;
next_formula_map[num] = f;
@ -139,13 +139,13 @@ namespace spot
{
vf_map::const_iterator isi = next_formula_map.find(var);
if (isi != next_formula_map.end())
return clone(isi->second);
return isi->second->clone();
isi = dict->acc_formula_map.find(var);
if (isi != dict->acc_formula_map.end())
return clone(isi->second);
return isi->second->clone();
isi = dict->var_formula_map.find(var);
if (isi != dict->var_formula_map.end())
return clone(isi->second);
return isi->second->clone();
assert(0);
// Never reached, but some GCC versions complain about
// a missing return otherwise.
@ -213,7 +213,7 @@ namespace spot
formula* ac = var_to_formula(var);
if (!a->has_acceptance_condition(ac))
a->declare_acceptance_condition(clone(ac));
a->declare_acceptance_condition(ac->clone());
a->add_acceptance_condition(t, ac);
b = high;
}
@ -604,7 +604,7 @@ namespace spot
res &= all_promises_;
}
f2b_[clone(f)] = res;
f2b_[f->clone()] = res;
// Register the reverse mapping if it is not already done.
if (b2f_.find(res) == b2f_.end())
@ -627,7 +627,7 @@ namespace spot
{
// The translated bdd maps to an already seen formula.
destroy(f);
f = clone(i->second);
f = i->second->clone();
}
else if (new_variable && lcc_)
{
@ -641,7 +641,7 @@ namespace spot
f2b_[f] = j->second;
i->second = j->first;
destroy(f);
f = clone(i->second);
f = i->second->clone();
break;
}
}