More cleanup of includes to reduce compilation times (#6037)
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>
Wed, 3 Mar 2021 16:50:45 +0000 (17:50 +0100)
committerGitHub <noreply@github.com>
Wed, 3 Mar 2021 16:50:45 +0000 (16:50 +0000)
commita02a794c383ae2381e1210f53174cefb8d94e615
tree0eac511c22ba9eeba1925e3afa4f0542edf5cf60
parent6db84f6e373f9651af48df7b654e3992f68472ac
More cleanup of includes to reduce compilation times (#6037)

Similar to #6031, this PR implements suggestions from iwyu to reduce the number of includes in header files by introducing forward declarations and moving includes to source files.
214 files changed:
src/base/exception.cpp
src/base/exception.h
src/base/listener.cpp
src/decision/decision_engine.cpp
src/decision/decision_engine.h
src/decision/justification_heuristic.cpp
src/decision/justification_heuristic.h
src/expr/buffered_proof_generator.h
src/expr/dtype.cpp
src/expr/kind_template.cpp
src/expr/lazy_proof.cpp
src/expr/lazy_proof.h
src/expr/lazy_proof_chain.cpp
src/expr/lazy_proof_chain.h
src/expr/node.cpp
src/expr/proof.cpp
src/expr/proof.h
src/expr/proof_checker.cpp
src/expr/proof_checker.h
src/expr/proof_ensure_closed.cpp
src/expr/proof_ensure_closed.h
src/expr/proof_generator.cpp
src/expr/proof_generator.h
src/expr/proof_node_algorithm.cpp
src/expr/proof_node_algorithm.h
src/expr/proof_node_manager.cpp
src/expr/proof_node_manager.h
src/expr/proof_node_to_sexpr.cpp
src/expr/proof_node_to_sexpr.h
src/expr/proof_node_updater.cpp
src/expr/proof_node_updater.h
src/expr/proof_step_buffer.cpp
src/expr/proof_step_buffer.h
src/expr/record.h
src/expr/sequence.cpp
src/expr/subs.cpp
src/expr/sygus_datatype.cpp
src/expr/symbol_manager.h
src/expr/tconv_seq_proof_generator.cpp
src/expr/tconv_seq_proof_generator.h
src/expr/term_canonize.cpp
src/expr/term_context_node.h
src/expr/term_context_stack.cpp
src/expr/term_conversion_proof_generator.cpp
src/expr/term_conversion_proof_generator.h
src/expr/type.cpp
src/expr/type_checker_template.cpp
src/expr/type_checker_util.h
src/expr/type_matcher.h
src/options/language.cpp
src/options/language.h
src/options/open_ostream.h
src/options/options_handler.h
src/preprocessing/assertion_pipeline.cpp
src/preprocessing/assertion_pipeline.h
src/preprocessing/passes/ackermann.cpp
src/preprocessing/passes/ackermann.h
src/preprocessing/passes/apply_substs.cpp
src/preprocessing/passes/apply_substs.h
src/preprocessing/passes/bool_to_bv.cpp
src/preprocessing/passes/bool_to_bv.h
src/preprocessing/passes/bv_abstraction.cpp
src/preprocessing/passes/bv_abstraction.h
src/preprocessing/passes/bv_eager_atoms.cpp
src/preprocessing/passes/bv_eager_atoms.h
src/preprocessing/passes/bv_gauss.cpp
src/preprocessing/passes/bv_gauss.h
src/preprocessing/passes/bv_intro_pow2.cpp
src/preprocessing/passes/bv_intro_pow2.h
src/preprocessing/passes/bv_to_bool.cpp
src/preprocessing/passes/bv_to_bool.h
src/preprocessing/passes/bv_to_int.cpp
src/preprocessing/passes/bv_to_int.h
src/preprocessing/passes/extended_rewriter_pass.cpp
src/preprocessing/passes/extended_rewriter_pass.h
src/preprocessing/passes/foreign_theory_rewrite.cpp
src/preprocessing/passes/foreign_theory_rewrite.h
src/preprocessing/passes/fun_def_fmf.cpp
src/preprocessing/passes/fun_def_fmf.h
src/preprocessing/passes/global_negate.cpp
src/preprocessing/passes/global_negate.h
src/preprocessing/passes/ho_elim.cpp
src/preprocessing/passes/ho_elim.h
src/preprocessing/passes/int_to_bv.cpp
src/preprocessing/passes/int_to_bv.h
src/preprocessing/passes/ite_removal.cpp
src/preprocessing/passes/ite_removal.h
src/preprocessing/passes/ite_simp.cpp
src/preprocessing/passes/ite_simp.h
src/preprocessing/passes/miplib_trick.cpp
src/preprocessing/passes/miplib_trick.h
src/preprocessing/passes/nl_ext_purify.cpp
src/preprocessing/passes/nl_ext_purify.h
src/preprocessing/passes/non_clausal_simp.cpp
src/preprocessing/passes/non_clausal_simp.h
src/preprocessing/passes/pseudo_boolean_processor.cpp
src/preprocessing/passes/pseudo_boolean_processor.h
src/preprocessing/passes/quantifier_macros.cpp
src/preprocessing/passes/quantifier_macros.h
src/preprocessing/passes/quantifiers_preprocess.cpp
src/preprocessing/passes/quantifiers_preprocess.h
src/preprocessing/passes/real_to_int.cpp
src/preprocessing/passes/real_to_int.h
src/preprocessing/passes/rewrite.cpp
src/preprocessing/passes/rewrite.h
src/preprocessing/passes/sep_skolem_emp.cpp
src/preprocessing/passes/sep_skolem_emp.h
src/preprocessing/passes/sort_infer.cpp
src/preprocessing/passes/sort_infer.h
src/preprocessing/passes/static_learning.cpp
src/preprocessing/passes/static_learning.h
src/preprocessing/passes/strings_eager_pp.cpp
src/preprocessing/passes/strings_eager_pp.h
src/preprocessing/passes/sygus_inference.cpp
src/preprocessing/passes/sygus_inference.h
src/preprocessing/passes/synth_rew_rules.cpp
src/preprocessing/passes/synth_rew_rules.h
src/preprocessing/passes/theory_preprocess.cpp
src/preprocessing/passes/theory_preprocess.h
src/preprocessing/passes/theory_rewrite_eq.cpp
src/preprocessing/passes/theory_rewrite_eq.h
src/preprocessing/passes/unconstrained_simplifier.cpp
src/preprocessing/passes/unconstrained_simplifier.h
src/preprocessing/preprocessing_pass.cpp
src/preprocessing/preprocessing_pass.h
src/preprocessing/preprocessing_pass_context.h
src/preprocessing/preprocessing_pass_registry.h
src/preprocessing/util/ite_utilities.cpp
src/preprocessing/util/ite_utilities.h
src/printer/let_binding.h
src/printer/printer.h
src/proof/cnf_proof.h
src/proof/proof_manager.h
src/prop/bvminisat/simp/SimpSolver.h
src/prop/cnf_stream.h
src/prop/minisat/core/Solver.h
src/prop/prop_engine.cpp
src/prop/prop_engine.h
src/prop/prop_proof_manager.cpp
src/prop/prop_proof_manager.h
src/prop/sat_proof_manager.h
src/prop/theory_proxy.h
src/smt/abduction_solver.cpp
src/smt/assertions.cpp
src/smt/assertions.h
src/smt/check_models.cpp
src/smt/check_models.h
src/smt/command.h
src/smt/dump_manager.h
src/smt/expand_definitions.cpp
src/smt/expand_definitions.h
src/smt/interpolation_solver.cpp
src/smt/managed_ostreams.h
src/smt/model.h
src/smt/model_blocker.cpp
src/smt/model_blocker.h
src/smt/node_command.cpp
src/smt/options_manager.h
src/smt/preprocess_proof_generator.cpp
src/smt/preprocess_proof_generator.h
src/smt/preprocessor.cpp
src/smt/preprocessor.h
src/smt/process_assertions.cpp
src/smt/process_assertions.h
src/smt/proof_manager.cpp
src/smt/proof_manager.h
src/smt/proof_post_processor.cpp
src/smt/proof_post_processor.h
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/smt/smt_solver.cpp
src/smt/term_formula_removal.cpp
src/smt/term_formula_removal.h
src/theory/arith/delta_rational.cpp
src/theory/arith/nl/iand_solver.cpp
src/theory/booleans/proof_circuit_propagator.cpp
src/theory/bv/bitblast/bitblaster.h
src/theory/bv/bv_solver_bitblast.h
src/theory/datatypes/sygus_datatype_utils.cpp
src/theory/datatypes/theory_datatypes.cpp
src/theory/inference_id.cpp
src/theory/lazy_tree_proof_generator.cpp
src/theory/quantifiers/single_inv_partition.cpp
src/theory/quantifiers/sygus/cegis_core_connective.h
src/theory/quantifiers/sygus/sygus_abduct.cpp
src/theory/quantifiers/sygus/sygus_interpol.cpp
src/theory/quantifiers/sygus/sygus_utils.cpp
src/theory/quantifiers/sygus/term_database_sygus.cpp
src/theory/quantifiers/sygus_sampler.cpp
src/theory/strings/regexp_operation.cpp
src/theory/strings/theory_strings_utils.cpp
src/theory/theory_engine.cpp
src/theory/theory_engine_proof_generator.cpp
src/theory/theory_id.cpp
src/theory/uf/cardinality_extension.cpp
src/theory/uf/eq_proof.cpp
src/theory/uf/theory_uf.cpp
src/util/bitvector.h
src/util/cardinality.cpp
src/util/integer_gmp_imp.h
src/util/poly_util.cpp
src/util/rational_gmp_imp.h
src/util/result.cpp
src/util/result.h
src/util/safe_print.cpp
src/util/safe_print.h
src/util/sampler.cpp
src/util/sampler.h
src/util/sexpr.h
src/util/string.h
test/unit/preprocessing/pass_bv_gauss_white.cpp
test/unit/prop/cnf_stream_white.cpp
test/unit/util/cardinality_black.cpp
test/unit/util/integer_black.cpp