Trait midenc_session::Emit

source ·
pub trait Emit {
    // Required methods
    fn name(&self) -> Option<Symbol>;
    fn output_type(&self, mode: OutputMode) -> OutputType;
    fn write_to<W: Write>(
        &self,
        writer: W,
        mode: OutputMode,
        session: &Session,
    ) -> Result<()>;

    // Provided methods
    fn write_to_stdout(&self, session: &Session) -> Result<()> { ... }
    fn write_to_file(
        &self,
        path: &Path,
        mode: OutputMode,
        session: &Session,
    ) -> Result<()> { ... }
}

Required Methods§

source

fn name(&self) -> Option<Symbol>

The name of this item, if applicable

source

fn output_type(&self, mode: OutputMode) -> OutputType

The output type associated with this item and the given mode

source

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, session: &Session, ) -> Result<()>

Write this item to the given std::io::Write handle, using mode to determine the output type

Provided Methods§

source

fn write_to_stdout(&self, session: &Session) -> Result<()>

Write this item to standard output, inferring the best OutputMode based on whether or not stdout is a tty or not

source

fn write_to_file( &self, path: &Path, mode: OutputMode, session: &Session, ) -> Result<()>

Write this item to the given file path, using mode to determine the output type

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Emit for Module

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, _mode: OutputMode) -> OutputType

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, _session: &Session, ) -> Result<()>

source§

impl Emit for Library

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, mode: OutputMode) -> OutputType

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, _session: &Session, ) -> Result<()>

source§

impl Emit for Program

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, mode: OutputMode) -> OutputType

source§

fn write_to_file( &self, path: &Path, mode: OutputMode, session: &Session, ) -> Result<()>

source§

fn write_to_stdout(&self, session: &Session) -> Result<()>

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, _session: &Session, ) -> Result<()>

source§

impl<'a, T: Emit> Emit for &'a T

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, mode: OutputMode) -> OutputType

source§

fn write_to_stdout(&self, session: &Session) -> Result<()>

source§

fn write_to_file( &self, path: &Path, mode: OutputMode, session: &Session, ) -> Result<()>

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, session: &Session, ) -> Result<()>

source§

impl<'a, T: Emit> Emit for &'a mut T

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, mode: OutputMode) -> OutputType

source§

fn write_to_stdout(&self, session: &Session) -> Result<()>

source§

fn write_to_file( &self, path: &Path, mode: OutputMode, session: &Session, ) -> Result<()>

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, session: &Session, ) -> Result<()>

source§

impl<T: Emit> Emit for Box<T>

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, mode: OutputMode) -> OutputType

source§

fn write_to_stdout(&self, session: &Session) -> Result<()>

source§

fn write_to_file( &self, path: &Path, mode: OutputMode, session: &Session, ) -> Result<()>

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, session: &Session, ) -> Result<()>

source§

impl<T: Emit> Emit for Arc<T>

source§

fn name(&self) -> Option<Symbol>

source§

fn output_type(&self, mode: OutputMode) -> OutputType

source§

fn write_to_stdout(&self, session: &Session) -> Result<()>

source§

fn write_to_file( &self, path: &Path, mode: OutputMode, session: &Session, ) -> Result<()>

source§

fn write_to<W: Write>( &self, writer: W, mode: OutputMode, session: &Session, ) -> Result<()>

Implementors§