3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-04-27 17:48:04 +02:00
parent 74292a48e5
commit 5dbba8bd53
9 changed files with 27 additions and 19 deletions

View file

@ -390,6 +390,8 @@ namespace datatype {
TRACE("datatype", tout << "declaring " << datatypes[i]->name() << "\n";);
if (m_defs.find(datatypes[i]->name(), d)) {
TRACE("datatype", tout << "delete previous version for " << datatypes[i]->name() << "\n";);
sort_ref_vector srts(*m_manager);
u().reset();
dealloc(d);
}
m_defs.insert(datatypes[i]->name(), datatypes[i]);

View file

@ -239,7 +239,6 @@ namespace datatype {
map<symbol, def*, symbol_hash_proc, symbol_eq_proc> m_defs;
svector<symbol> m_def_block;
unsigned m_class_id;
util & u() const;
void inherit(decl_plugin* other_p, ast_translation& tr) override;
@ -279,6 +278,8 @@ namespace datatype {
def const& get_def(sort* s) const { return *(m_defs[datatype_name(s)]); }
def& get_def(symbol const& s) { return *(m_defs[s]); }
bool is_declared(sort* s) const { return m_defs.contains(datatype_name(s)); }
util & u() const;
private:
bool is_value_visit(expr * arg, ptr_buffer<app> & todo) const;