First part of options refactoring (#6428)
authorGereon Kremer <gkremer@stanford.edu>
Mon, 26 Apr 2021 19:43:15 +0000 (21:43 +0200)
committerGitHub <noreply@github.com>
Mon, 26 Apr 2021 19:43:15 +0000 (19:43 +0000)
commitc32f952b1e496a5bd05552f676d51b5af3e49ed0
tree50ad233923f494b5f551d3ba0b6a4705ed5b24db
parent2bf51317486cfbfc8c19e32256ca9727bfb2e42a
First part of options refactoring (#6428)

This PR does a first round of refactoring and gets rid of a significant portion of generated code. In particular

- it removes options::optionName.wasSetByUser() (we still have Options::wasSetByUser())
- it removes options::optionName.set() (we still have Options::set())
- it removes options::optionName.getName() in favor of options::optionName.name
- it removes the specializations of Options::assign() and Options::assignBool() from the headers
- it eliminates runHandlerAndPredicates() and runBoolPredicates()

The removed methods are only used in few places with are changed to using Options::current().X() instead.

In the future, we also want to get rid of options::optionName() and use Options::operator[]() instead, and furthermore not use Options::current() but use the options from the Env object. This PR already adds Env::getOption() as a shorthand for Env::getOptions()[...] and uses it as a proof of concept within SmtEngine.
19 files changed:
src/options/bv_options.toml
src/options/mkoptions.py
src/options/module_template.cpp
src/options/open_ostream.cpp
src/options/options.h
src/options/options_handler.cpp
src/options/options_public_functions.cpp
src/options/options_template.cpp
src/printer/printer.cpp
src/prop/minisat/simp/SimpSolver.cc
src/smt/env.h
src/smt/managed_ostreams.cpp
src/smt/options_manager.cpp
src/smt/set_defaults.cpp
src/smt/smt_engine.cpp
src/smt/update_ostream.h
src/theory/arith/theory_arith_private.cpp
src/theory/quantifiers/expr_miner.cpp
src/theory/quantifiers/sygus/sygus_repair_const.cpp