Chat() << "....node manager contains " << nm->poolSize()
<< " nodes before cleanup" << endl;
d_iteUtilities.clear();
- Rewriter::clearCaches();
+ d_preprocContext->getRewriter()->clearCaches();
nm->reclaimZombiesUntil(options::zombieHuntThreshold());
Chat() << "....node manager contains " << nm->poolSize()
<< " nodes after cleanup" << endl;
{
return d_env.getLogicInfo();
}
+
+theory::Rewriter* PreprocessingPassContext::getRewriter()
+{
+ return d_env.getRewriter();
+}
+
theory::TrustSubstitutionMap&
PreprocessingPassContext::getTopLevelSubstitutions()
{
/** Get the current logic info of the environment */
const LogicInfo& getLogicInfo();
- /** Gets a reference to the top-level substitution map */
+ /** Get a pointer to the Rewriter owned by the associated Env. */
+ theory::Rewriter* getRewriter();
+
+ /** Get a reference to the top-level substitution map */
theory::TrustSubstitutionMap& getTopLevelSubstitutions();
/** Record symbols in assertions
return RewriteResponse(tresponse.d_status, trn.getNode());
}
-void Rewriter::clearCaches() {
- Rewriter* rewriter = getInstance();
-
+void Rewriter::clearCaches()
+{
#ifdef CVC5_ASSERTIONS
- rewriter->d_rewriteStack.reset(nullptr);
+ d_rewriteStack.reset(nullptr);
#endif
- rewriter->clearCachesInternal();
+ clearCachesInternal();
}
} // namespace theory
/** Set proof node manager */
void setProofNodeManager(ProofNodeManager* pnm);
- /**
- * Garbage collects the rewrite caches.
- */
- static void clearCaches();
+ /** Garbage collects the rewrite caches. */
+ void clearCaches();
/**
* Registers a theory rewriter with this rewriter. The rewriter does not own