Replace options listener infrastructure (#4764)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 17 Jul 2020 18:38:50 +0000 (13:38 -0500)
committerGitHub <noreply@github.com>
Fri, 17 Jul 2020 18:38:50 +0000 (13:38 -0500)
commitf99889b0c1260fccf28daac995e58312912bae9f
treec9bba127e62aedef587ee7da83950281a4c131f4
parente8df6f67cc2654f50d49995377a4b411668235e1
Replace options listener infrastructure (#4764)

This replaces the old options listener infrastructure with the OptionsManager introduced in cb8d041.

It eliminates a "beforeSearchListener", which was a custom way of some options throwing a modal exception if they were set after initialization. Now all options are consistent: no option can be set after initialization.

It also moves managed ostream objects to the OptionsManager.

@mpreiner The next step will be to remove the "notifies" field from the Options build system and then proceed with cleaning src/options/.
19 files changed:
src/base/listener.cpp
src/base/listener.h
src/options/base_options.toml
src/options/expr_options.toml
src/options/options.h
src/options/options_handler.cpp
src/options/options_handler.h
src/options/options_template.cpp
src/options/smt_options.toml
src/smt/managed_ostreams.h
src/smt/options_manager.cpp
src/smt/options_manager.h
src/smt/set_defaults.h
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/util/resource_manager.cpp
src/util/resource_manager.h
test/unit/util/CMakeLists.txt
test/unit/util/listener_black.h [deleted file]