summaryrefslogtreecommitdiff
path: root/src/theory/rewriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/rewriter.h')
-rw-r--r--src/theory/rewriter.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/theory/rewriter.h b/src/theory/rewriter.h
index 8a641743b..32a8005d1 100644
--- a/src/theory/rewriter.h
+++ b/src/theory/rewriter.h
@@ -63,14 +63,14 @@ class Rewriter {
static void clearCaches();
/**
- * Registers a theory rewriter with this rewriter. This transfers the
- * ownership of the theory rewriter to the rewriter.
+ * Registers a theory rewriter with this rewriter. The rewriter does not own
+ * the theory rewriters.
*
* @param tid The theory that the theory rewriter should be associated with.
* @param trew The theory rewriter to register.
*/
static void registerTheoryRewriter(theory::TheoryId tid,
- std::unique_ptr<TheoryRewriter> trew);
+ TheoryRewriter* trew);
/**
* Register a prerewrite for a given kind.
@@ -112,11 +112,12 @@ class Rewriter {
private:
/**
- * Get the (singleton) instance of the rewriter.
+ * Get the rewriter associated with the SmtEngine in scope.
*
- * TODO(#3468): Get rid of this singleton
+ * TODO(#3468): Get rid of this function (it relies on there being an
+ * singleton with the current SmtEngine in scope)
*/
- static Rewriter& getInstance();
+ static Rewriter* getInstance();
/** Returns the appropriate cache for a node */
Node getPreRewriteCache(theory::TheoryId theoryId, TNode node);
@@ -148,8 +149,8 @@ class Rewriter {
void clearCachesInternal();
- /** Theory rewriters managed by this rewriter instance */
- std::unique_ptr<TheoryRewriter> d_theoryRewriters[theory::THEORY_LAST];
+ /** Theory rewriters used by this rewriter instance */
+ TheoryRewriter* d_theoryRewriters[theory::THEORY_LAST];
unsigned long d_iterationCount = 0;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback