3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 00:05:46 +00:00

fix combinator signatures

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-11-19 08:42:18 -08:00
parent b8ac3e6ce4
commit 5eefa9c34b
3 changed files with 65 additions and 11 deletions

View file

@ -36,7 +36,7 @@ protected:
void inc_ref() { m_ref_count++; }
void dec_ref() { SASSERT(m_ref_count > 0); --m_ref_count; }
virtual bool is_psort() const { return false; }
virtual size_t obj_size() const = 0;
virtual size_t obj_size() const { UNREACHABLE(); return sizeof(*this); }
pdecl(unsigned id, unsigned num_params):m_id(id), m_num_params(num_params), m_ref_count(0) {}
virtual void finalize(pdecl_manager & m) {}
virtual ~pdecl() {}
@ -74,9 +74,9 @@ public:
virtual bool is_sort_wrapper() const { return false; }
virtual sort * instantiate(pdecl_manager & m, sort * const * s) { return nullptr; }
// we use hash-consing for psorts.
virtual char const * hcons_kind() const = 0;
virtual unsigned hcons_hash() const = 0;
virtual bool hcons_eq(psort const * other) const = 0;
virtual char const * hcons_kind() const { UNREACHABLE(); return nullptr; }
virtual unsigned hcons_hash() const { UNREACHABLE(); return 0; }
virtual bool hcons_eq(psort const * other) const { UNREACHABLE(); return false; }
void reset_cache(pdecl_manager& m) override;
};