summaryrefslogtreecommitdiff
path: root/src/theory/sep/theory_sep.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-11-10 20:27:38 -0600
committerGitHub <noreply@github.com>2020-11-10 20:27:38 -0600
commit59d8647b04f86421949390a3e958ffdf0df07665 (patch)
treea916fa77cb38bb24da805b8e444c3584931652c8 /src/theory/sep/theory_sep.h
parente0009c822488a2c39f8907e37333409c1191d47b (diff)
Fix preregistration in TheorySep before declare-heap (#5411)
Followup to fix for #5343. This catches cases where separation logic constraints are preregistered to TheorySep before the heap has been declared, which should also result in an error.
Diffstat (limited to 'src/theory/sep/theory_sep.h')
-rw-r--r--src/theory/sep/theory_sep.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/theory/sep/theory_sep.h b/src/theory/sep/theory_sep.h
index 2cd7aba91..9e96dccc3 100644
--- a/src/theory/sep/theory_sep.h
+++ b/src/theory/sep/theory_sep.h
@@ -100,6 +100,8 @@ class TheorySep : public Theory {
/** finish initialization */
void finishInit() override;
//--------------------------------- end initialization
+ /** preregister term */
+ void preRegisterTerm(TNode n) override;
std::string identify() const override { return std::string("TheorySep"); }
@@ -284,6 +286,11 @@ class TheorySep : public Theory {
TypeNode getReferenceType( Node n );
TypeNode getDataType( Node n );
/**
+ * Register reference data types for atom. Calls the method below for
+ * the appropriate types.
+ */
+ void registerRefDataTypesAtom(Node atom);
+ /**
* This is called either when:
* (A) a declare-heap command is issued with tn1/tn2, and atom is null, or
* (B) an atom specifying the heap type tn1/tn2 is registered to this theory.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback