ferro_babe/format/mod.rs
1mod ferro;
2mod opcode;
3
4use std::fmt;
5
6use crate::{Class, FerroBabeError};
7
8pub use ferro::FerroFormatter;
9
10pub trait Formatter {
11 fn write_class(&self, class: &Class, output: &mut dyn fmt::Write) -> fmt::Result;
12
13 fn format(&self, class: &Class) -> Result<String, FerroBabeError> {
14 let mut output = String::new();
15 self.write_class(class, &mut output)
16 .map_err(|source| FerroBabeError::Format { source })?;
17 Ok(output)
18 }
19}