void Rewriter::registerTheoryRewriter(theory::TheoryId tid,
TheoryRewriter* trew)
{
- getInstance()->d_theoryRewriters[tid] = trew;
+ d_theoryRewriters[tid] = trew;
}
void Rewriter::registerPreRewrite(
* @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,
- TheoryRewriter* trew);
+ void registerTheoryRewriter(theory::TheoryId tid, TheoryRewriter* trew);
/**
* Register a prerewrite for a given kind.
/* Forward declarations */
namespace theory {
-class TheoryModel;
+
class CombinationEngine;
-class SharedSolver;
class DecisionManager;
class RelevanceManager;
+class Rewriter;
+class SharedSolver;
+class TheoryModel;
} // namespace theory
d_theoryOut[theoryId] = new theory::EngineOutputChannel(this, theoryId);
d_theoryTable[theoryId] =
new TheoryClass(d_env, *d_theoryOut[theoryId], theory::Valuation(this));
- theory::Rewriter::registerTheoryRewriter(
+ getRewriter()->registerTheoryRewriter(
theoryId, d_theoryTable[theoryId]->getTheoryRewriter());
}
}
private:
+ /**
+ * Get a pointer to the rewriter owned by the associated Env.
+ */
+ theory::Rewriter* getRewriter();
+
/**
* Queue of nodes for pre-registration.
*/