diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-01-11 09:46:28 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-11 09:46:28 -0600 |
commit | b8841e768a37131c492508cd0e12b9acd8bf4c2b (patch) | |
tree | a4de18a51ac37abcf874265bea431154f18cc2ac /src/expr/node_manager.cpp | |
parent | ae82eb306143ade54a6f99b2aae0b62b8c77cd35 (diff) |
Further simplifications in preparation for removing Expr layer (#5756)
This deletes variable flags from NodeManager::mkVar and moves ExprManager sort flags to NodeManager.
These flags are used for determining when a variable or sort should be printed via the old dump infrastructure. The old dump infrastructure is simplified in this PR accordingly.
This PR should preserve behavior of the previous dumping with a minor exception that the internal trace "declarations" will also included symbols introduced from define-fun. This will be further refactored later. This is in preparation for removing the includes expr.h/expr_manager.h from node_manager.h.
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r-- | src/expr/node_manager.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp index 540e02979..59afec4a6 100644 --- a/src/expr/node_manager.cpp +++ b/src/expr/node_manager.cpp @@ -904,27 +904,26 @@ TypeNode NodeManager::mkSortConstructor(const std::string& name, return type; } -Node NodeManager::mkVar(const std::string& name, const TypeNode& type, uint32_t flags) { +Node NodeManager::mkVar(const std::string& name, const TypeNode& type) +{ Node n = NodeBuilder<0>(this, kind::VARIABLE); setAttribute(n, TypeAttr(), type); setAttribute(n, TypeCheckedAttr(), true); setAttribute(n, expr::VarNameAttr(), name); - setAttribute(n, expr::GlobalVarAttr(), flags & ExprManager::VAR_FLAG_GLOBAL); for(std::vector<NodeManagerListener*>::iterator i = d_listeners.begin(); i != d_listeners.end(); ++i) { - (*i)->nmNotifyNewVar(n, flags); + (*i)->nmNotifyNewVar(n); } return n; } -Node* NodeManager::mkVarPtr(const std::string& name, - const TypeNode& type, uint32_t flags) { +Node* NodeManager::mkVarPtr(const std::string& name, const TypeNode& type) +{ Node* n = NodeBuilder<0>(this, kind::VARIABLE).constructNodePtr(); setAttribute(*n, TypeAttr(), type); setAttribute(*n, TypeCheckedAttr(), true); setAttribute(*n, expr::VarNameAttr(), name); - setAttribute(*n, expr::GlobalVarAttr(), flags & ExprManager::VAR_FLAG_GLOBAL); for(std::vector<NodeManagerListener*>::iterator i = d_listeners.begin(); i != d_listeners.end(); ++i) { - (*i)->nmNotifyNewVar(*n, flags); + (*i)->nmNotifyNewVar(*n); } return n; } @@ -1048,24 +1047,24 @@ Node NodeManager::mkChain(Kind kind, const std::vector<Node>& children) return mkNode(kind::AND, cchildren); } -Node NodeManager::mkVar(const TypeNode& type, uint32_t flags) { +Node NodeManager::mkVar(const TypeNode& type) +{ Node n = NodeBuilder<0>(this, kind::VARIABLE); setAttribute(n, TypeAttr(), type); setAttribute(n, TypeCheckedAttr(), true); - setAttribute(n, expr::GlobalVarAttr(), flags & ExprManager::VAR_FLAG_GLOBAL); for(std::vector<NodeManagerListener*>::iterator i = d_listeners.begin(); i != d_listeners.end(); ++i) { - (*i)->nmNotifyNewVar(n, flags); + (*i)->nmNotifyNewVar(n); } return n; } -Node* NodeManager::mkVarPtr(const TypeNode& type, uint32_t flags) { +Node* NodeManager::mkVarPtr(const TypeNode& type) +{ Node* n = NodeBuilder<0>(this, kind::VARIABLE).constructNodePtr(); setAttribute(*n, TypeAttr(), type); setAttribute(*n, TypeCheckedAttr(), true); - setAttribute(*n, expr::GlobalVarAttr(), flags & ExprManager::VAR_FLAG_GLOBAL); for(std::vector<NodeManagerListener*>::iterator i = d_listeners.begin(); i != d_listeners.end(); ++i) { - (*i)->nmNotifyNewVar(*n, flags); + (*i)->nmNotifyNewVar(*n); } return n; } |