summaryrefslogtreecommitdiff
path: root/src/theory/bv/theory_bv.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-07-16 12:10:58 -0500
committerGitHub <noreply@github.com>2020-07-16 12:10:58 -0500
commitf7559c879d1ebc7d4d9b9f72b0858bdf42c9ed8c (patch)
treef4ceec82dfec21737b4cc1c555706bd8426fc9e9 /src/theory/bv/theory_bv.h
parent051106d0033c8108008acba65ad02a77b5ddd19c (diff)
Make ExtTheory a utility and not a member of Theory (#4753)
Previously, we assumed that ExtTheory, the module for doing context-dependent simplification, was one-to-one with Theory. This design is not necessary. This makes this class a utility, which can be used as needed. This makes e.g. the initialization of TheoryStrings much easier, since the ExtTheory object can be created first.
Diffstat (limited to 'src/theory/bv/theory_bv.h')
-rw-r--r--src/theory/bv/theory_bv.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/theory/bv/theory_bv.h b/src/theory/bv/theory_bv.h
index c98de0f18..b0991c8b0 100644
--- a/src/theory/bv/theory_bv.h
+++ b/src/theory/bv/theory_bv.h
@@ -38,10 +38,11 @@ namespace CVC4 {
namespace proof {
class BitVectorProof;
}
-} // namespace CVC4
-namespace CVC4 {
namespace theory {
+
+class ExtTheory;
+
namespace bv {
class CoreSolver;
@@ -180,6 +181,9 @@ class TheoryBV : public Theory {
/** Index of the next literal to propagate */
context::CDO<unsigned> d_literalsToPropagateIndex;
+ /** Extended theory module, for context-dependent simplification. */
+ std::unique_ptr<ExtTheory> d_extTheory;
+
/**
* Keeps a map from nodes to the subtheory that propagated it so that we can explain it
* properly.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback