/* Copyright (c) 2013 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Author: Leonardo de Moura */ #include "kernel/io_state.h" #include "kernel/kernel_exception.h" namespace lean { io_state::io_state(): m_formatter(mk_simple_formatter()), m_regular_channel(std::make_shared()), m_diagnostic_channel(std::make_shared()) { } io_state::io_state(options const & opts, formatter const & fmt): m_options(opts), m_formatter(fmt), m_regular_channel(std::make_shared()), m_diagnostic_channel(std::make_shared()) { } io_state::~io_state() {} void io_state::set_regular_channel(std::shared_ptr const & out) { if (out) m_regular_channel = out; } void io_state::set_diagnostic_channel(std::shared_ptr const & out) { if (out) m_diagnostic_channel = out; } void io_state::set_options(options const & opts) { m_options = opts; } void io_state::set_formatter(formatter const & f) { m_formatter = f; } }