Eliminate remaining references to parent TheoryStrings object (#4315)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 16 Apr 2020 14:50:43 +0000 (09:50 -0500)
committerGitHub <noreply@github.com>
Thu, 16 Apr 2020 14:50:43 +0000 (09:50 -0500)
commitf0e6c103304fc5c00c9bdfb699ad878ead5c66ed
treeb18b69c9793125d8d1f3e995b8aaa0b538ae43b6
parent912b65006615fe4074cde54b080f48e3d6c12042
Eliminate remaining references to parent TheoryStrings object (#4315)

This PR makes it so that the module dependencies in the theory of strings are acyclic. This is important for further organization towards proofs for strings.

The main change in this PR is to ensure that InferenceManager has a pointer to ExtTheory, which is needed for several of its methods. This required changing several solvers into unique_ptr to properly initialize.
src/theory/strings/extf_solver.cpp
src/theory/strings/extf_solver.h
src/theory/strings/inference_manager.cpp
src/theory/strings/inference_manager.h
src/theory/strings/regexp_solver.cpp
src/theory/strings/regexp_solver.h
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings.h