mirror of
https://github.com/Z3Prover/z3
synced 2025-08-11 13:40:52 +00:00
Optimize datatype CLI performance by skipping accessor loop for 0-ary constructors
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
cb8fcdea11
commit
a0168d80fa
1 changed files with 5 additions and 3 deletions
|
@ -2477,9 +2477,11 @@ void cmd_context::dt_eh::operator()(sort * dt, pdecl* pd) {
|
|||
func_decl * r = m_dt_util.get_constructor_recognizer(c);
|
||||
m_owner.insert(r);
|
||||
// TRACE(new_dt_eh, tout << "new recognizer: " << r->get_name() << "\n";);
|
||||
for (func_decl * a : *m_dt_util.get_constructor_accessors(c)) {
|
||||
TRACE(new_dt_eh, tout << "new accessor: " << a->get_name() << "\n";);
|
||||
m_owner.insert(a);
|
||||
if (c->get_arity() > 0) {
|
||||
for (func_decl * a : *m_dt_util.get_constructor_accessors(c)) {
|
||||
TRACE(new_dt_eh, tout << "new accessor: " << a->get_name() << "\n";);
|
||||
m_owner.insert(a);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!m_owner.m_scopes.empty() && !m_owner.m_global_decls) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue