3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00

Add methods to print pob

This commit is contained in:
Arie Gurfinkel 2018-06-28 14:23:14 -04:00
parent a63e4b48ca
commit 41a05e9d58
2 changed files with 14 additions and 4 deletions

View file

@ -126,7 +126,15 @@ void pob::get_skolems(app_ref_vector &v) {
}
}
std::ostream &pob::display(std::ostream &out, bool full) const {
out << pt().head()->get_name ()
<< " level: " << level()
<< " depth: " << depth()
<< " post_id: " << post()->get_id()
<< (is_in_queue() ? " in_queue" : "");
if (full) out << "\n" << m_post;
return out;
}
// ----------------
// pob_queue
@ -2174,9 +2182,7 @@ pob* pred_transformer::pob_manager::mk_pob(pob *parent,
p.set_post(post, b);
if (m_pobs.contains(p.post())) {
auto &buf = m_pobs[p.post()];
for (unsigned i = 0, sz = buf.size(); i < sz; ++i) {
pob *f = buf.get(i);
for (auto *f : m_pobs[p.post()]) {
if (f->parent() == parent && !f->is_in_queue()) {
f->inherit(p);
return f;

View file

@ -693,6 +693,7 @@ public:
if (m_ref_count == 0) {dealloc(this);}
}
std::ostream &display(std::ostream &out, bool full = false) const;
class on_expand_event
{
pob &m_p;
@ -702,6 +703,9 @@ public:
};
};
inline std::ostream &operator<<(std::ostream &out, pob const &p) {
return p.display(out);
}
struct pob_lt_proc : public std::binary_function<const pob*, const pob*, bool> {
bool operator() (const pob *pn1, const pob *pn2) const;