Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * This file is part of the cvc5 project. 3 : : * 4 : : * Copyright (c) 2009-2026 by the authors listed in the file AUTHORS 5 : : * in the top-level source directory and their institutional affiliations. 6 : : * All rights reserved. See the file COPYING in the top-level source 7 : : * directory for licensing information. 8 : : * **************************************************************************** 9 : : * 10 : : * The preprocessing pass super class. 11 : : */ 12 : : 13 : : #include "preprocessing/preprocessing_pass.h" 14 : : 15 : : #include "preprocessing/assertion_pipeline.h" 16 : : #include "preprocessing/preprocessing_pass_context.h" 17 : : #include "printer/printer.h" 18 : : #include "smt/env.h" 19 : : #include "util/statistics_stats.h" 20 : : 21 : : namespace cvc5::internal { 22 : : namespace preprocessing { 23 : : 24 : 334770 : PreprocessingPassResult PreprocessingPass::apply( 25 : : AssertionPipeline* assertionsToPreprocess) { 26 : 334770 : TimerStat::CodeTimer codeTimer(d_timer); 27 [ + - ]: 334770 : Trace("preprocessing") << "PRE " << d_name << std::endl; 28 : 334770 : verbose(2) << d_name << "..." << std::endl; 29 : 334770 : PreprocessingPassResult result = applyInternal(assertionsToPreprocess); 30 [ + - ]: 334741 : Trace("preprocessing") << "POST " << d_name << std::endl; 31 : 334741 : return result; 32 : 334770 : } 33 : : 34 : 1824124 : PreprocessingPass::PreprocessingPass(PreprocessingPassContext* preprocContext, 35 : 1824124 : const std::string& name) 36 : : : EnvObj(preprocContext->getEnv()), 37 : 1824124 : d_preprocContext(preprocContext), 38 : 1824124 : d_name(name), 39 : 1824124 : d_timer(statisticsRegistry().registerTimer("preprocessing::" + name)) 40 : : { 41 : 1824124 : } 42 : : 43 : 1811704 : PreprocessingPass::~PreprocessingPass() {} 44 : : 45 : : } // namespace preprocessing 46 : : } // namespace cvc5::internal