diff options
Diffstat (limited to 'src/main/command_executor.cpp')
-rw-r--r-- | src/main/command_executor.cpp | 41 |
1 files changed, 9 insertions, 32 deletions
diff --git a/src/main/command_executor.cpp b/src/main/command_executor.cpp index 4089f4d1b..6501a1b0f 100644 --- a/src/main/command_executor.cpp +++ b/src/main/command_executor.cpp @@ -114,7 +114,7 @@ bool CommandExecutor::doCommand(Command* cmd) } else { if (d_solver->getOptions().base.verbosity > 2) { - *d_solver->getOptions().base.out << "Invoking: " << *cmd << std::endl; + d_solver->getDriverOptions().out() << "Invoking: " << *cmd << std::endl; } return doCommandSingleton(cmd); @@ -123,23 +123,14 @@ bool CommandExecutor::doCommand(Command* cmd) void CommandExecutor::reset() { - printStatistics(*d_solver->getOptions().base.err); - + printStatistics(d_solver->getDriverOptions().err()); Command::resetSolver(d_solver.get()); } bool CommandExecutor::doCommandSingleton(Command* cmd) { - bool status = true; - if (d_solver->getOptions().base.verbosity >= -1) - { - status = solverInvoke( - d_solver.get(), d_symman.get(), cmd, d_solver->getOptions().base.out); - } - else - { - status = solverInvoke(d_solver.get(), d_symman.get(), cmd, nullptr); - } + bool status = solverInvoke( + d_solver.get(), d_symman.get(), cmd, d_solver->getDriverOptions().out()); api::Result res; const CheckSatCommand* cs = dynamic_cast<const CheckSatCommand*>(cmd); @@ -210,16 +201,9 @@ bool CommandExecutor::doCommandSingleton(Command* cmd) bool solverInvoke(api::Solver* solver, SymbolManager* sm, Command* cmd, - std::ostream* out) + std::ostream& out) { - if (out == NULL) - { - cmd->invoke(solver, sm); - } - else - { - cmd->invoke(solver, sm, *out); - } + cmd->invoke(solver, sm, out); // ignore the error if the command-verbosity is 0 for this command std::string commandName = std::string("command-verbosity:") + cmd->getCommandName(); @@ -231,18 +215,11 @@ bool solverInvoke(api::Solver* solver, } void CommandExecutor::flushOutputStreams() { - printStatistics(*d_solver->getOptions().base.err); + printStatistics(d_solver->getDriverOptions().err()); // make sure out and err streams are flushed too - - if (d_solver->getOptions().base.out != nullptr) - { - *d_solver->getOptions().base.out << std::flush; - } - if (d_solver->getOptions().base.err != nullptr) - { - *d_solver->getOptions().base.err << std::flush; - } + d_solver->getDriverOptions().out() << std::flush; + d_solver->getDriverOptions().err() << std::flush; } } // namespace main |