diff options
Diffstat (limited to 'src/expr/node_manager.h')
-rw-r--r-- | src/expr/node_manager.h | 47 |
1 files changed, 8 insertions, 39 deletions
diff --git a/src/expr/node_manager.h b/src/expr/node_manager.h index 098ff8eea..499cba457 100644 --- a/src/expr/node_manager.h +++ b/src/expr/node_manager.h @@ -109,20 +109,11 @@ class NodeManager { static thread_local NodeManager* s_current; - Options* d_options; StatisticsRegistry* d_statisticsRegistry; - ResourceManager* d_resourceManager; - /** The skolem manager */ std::shared_ptr<SkolemManager> d_skManager; - /** - * A list of registrations on d_options to that call into d_resourceManager. - * These must be garbage collected before d_options and d_resourceManager. - */ - ListenerRegistrationList* d_registrations; - NodeValuePool d_nodeValuePool; size_t next_id; @@ -389,26 +380,10 @@ class NodeManager { public: explicit NodeManager(ExprManager* exprManager); - explicit NodeManager(ExprManager* exprManager, const Options& options); ~NodeManager(); /** The node manager in the current public-facing CVC4 library context */ static NodeManager* currentNM() { return s_current; } - /** The resource manager associated with the current node manager */ - static ResourceManager* currentResourceManager() { return s_current->d_resourceManager; } - - /** Get this node manager's options (const version) */ - const Options& getOptions() const { - return *d_options; - } - - /** Get this node manager's options (non-const version) */ - Options& getOptions() { - return *d_options; - } - - /** Get this node manager's resource manager */ - ResourceManager* getResourceManager() { return d_resourceManager; } /** Get this node manager's skolem manager */ SkolemManager* getSkolemManager() { return d_skManager.get(); } @@ -1037,25 +1012,19 @@ public: class NodeManagerScope { /** The old NodeManager, to be restored on destruction. */ NodeManager* d_oldNodeManager; - Options::OptionsScope d_optionsScope; public: - - NodeManagerScope(NodeManager* nm) - : d_oldNodeManager(NodeManager::s_current) - , d_optionsScope(nm ? nm->d_options : NULL) { - // There are corner cases where nm can be NULL and it's ok. - // For example, if you write { Expr e; }, then when the null - // Expr is destructed, there's no active node manager. - //Assert(nm != NULL); - NodeManager::s_current = nm; - //Options::s_current = nm ? nm->d_options : NULL; - Debug("current") << "node manager scope: " - << NodeManager::s_current << "\n"; + NodeManagerScope(NodeManager* nm) : d_oldNodeManager(NodeManager::s_current) + { + // There are corner cases where nm can be NULL and it's ok. + // For example, if you write { Expr e; }, then when the null + // Expr is destructed, there's no active node manager. + // Assert(nm != NULL); + NodeManager::s_current = nm; + Debug("current") << "node manager scope: " << NodeManager::s_current << "\n"; } ~NodeManagerScope() { NodeManager::s_current = d_oldNodeManager; - //Options::s_current = d_oldNodeManager ? d_oldNodeManager->d_options : NULL; Debug("current") << "node manager scope: " << "returning to " << NodeManager::s_current << "\n"; } |