mirror of
https://github.com/Z3Prover/z3
synced 2026-07-05 23:06:12 +00:00
prepare for enodes over lambdas
This commit is contained in:
parent
705569df24
commit
d025b34606
17 changed files with 65 additions and 62 deletions
|
|
@ -59,7 +59,7 @@ namespace smt {
|
|||
equality propagation, and the theory central bus of equalities.
|
||||
*/
|
||||
class enode {
|
||||
app * m_owner; //!< The application that 'owns' this enode.
|
||||
expr * m_owner; //!< The application that 'owns' this enode.
|
||||
enode * m_root; //!< Representative of the equivalence class
|
||||
enode * m_next; //!< Next element in the equivalence class.
|
||||
enode * m_cg;
|
||||
|
|
@ -166,7 +166,7 @@ namespace smt {
|
|||
|
||||
void del_eh(ast_manager & m, bool update_children_parent = true);
|
||||
|
||||
app * get_app() const { return m_owner; }
|
||||
app * get_app() const { SASSERT(is_app()); return to_app(m_owner); }
|
||||
|
||||
expr *get_expr() const {
|
||||
return m_owner;
|
||||
|
|
@ -179,13 +179,13 @@ namespace smt {
|
|||
unsigned get_owner_id() const { return m_owner->get_id(); }
|
||||
unsigned get_expr_id() const { return m_owner->get_id(); }
|
||||
|
||||
func_decl * get_decl() const { return m_owner->get_decl(); }
|
||||
unsigned get_decl_id() const { return m_owner->get_decl()->get_small_id(); }
|
||||
func_decl * get_decl() const { return is_app() ? to_app(m_owner)->get_decl() : nullptr; }
|
||||
unsigned get_decl_id() const { return is_app() ? to_app(m_owner)->get_decl()->get_small_id() : 43; }
|
||||
|
||||
sort* get_sort() const { return m_owner->get_sort(); }
|
||||
|
||||
family_id get_family_id() const {
|
||||
return m_owner->get_family_id();
|
||||
return is_app() ? to_app(m_owner)->get_family_id() : basic_family_id;
|
||||
}
|
||||
|
||||
unsigned hash() const {
|
||||
|
|
@ -225,7 +225,7 @@ namespace smt {
|
|||
}
|
||||
|
||||
unsigned get_num_args() const {
|
||||
return m_suppress_args ? 0 : m_owner->get_num_args();
|
||||
return m_suppress_args || !is_app() ? 0 : to_app(m_owner)->get_num_args();
|
||||
}
|
||||
|
||||
enode * get_arg(unsigned idx) const {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue