summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-08-04 14:17:55 -0700
committerAndres Noetzli <andres.noetzli@gmail.com>2020-08-04 14:17:55 -0700
commit6d87c5719f925a70aaa5f63e7477d10e68701b11 (patch)
treeed32d2860689f8d843d30addb0536ea1d173600c
parent75f3d9108aebde9ebf8a9b2d82cc7d07be4297e1 (diff)
lazy registrationeqNotifyRewrite
-rw-r--r--src/theory/strings/theory_strings.cpp4
-rw-r--r--src/theory/strings/theory_strings.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp
index 9980beb41..63fb833b3 100644
--- a/src/theory/strings/theory_strings.cpp
+++ b/src/theory/strings/theory_strings.cpp
@@ -918,6 +918,10 @@ void TheoryStrings::checkCodes()
cc = Rewriter::rewrite(cc);
Assert(cc.isConst());
Node cp = d_termReg.getProxyVariableFor(c);
+ if (cp.isNull()) {
+ d_termReg.registerTerm(c, 0);
+ cp = d_termReg.getProxyVariableFor(c);
+ }
AlwaysAssert(!cp.isNull());
Node vc = nm->mkNode(STRING_TO_CODE, cp);
if (!d_state.areEqual(cc, vc))
diff --git a/src/theory/strings/theory_strings.h b/src/theory/strings/theory_strings.h
index 0ad11f30d..1ee6e6adc 100644
--- a/src/theory/strings/theory_strings.h
+++ b/src/theory/strings/theory_strings.h
@@ -183,7 +183,7 @@ class TheoryStrings : public Theory {
void eqNotifyRewrite(TNode t1, TNode t2) override
{
- d_termReg.registerTerm(t2, 0);
+ // d_termReg.registerTerm(t2, 0);
}
private:
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback