FerroBabe 0.1.1

A lightweight Rust library for disassembling Java class files.
Documentation
mod ferro;
mod opcode;

use std::fmt;

use crate::{Class, FerroBabeError};

pub use ferro::FerroFormatter;

pub trait Formatter {
    fn write_class(&self, class: &Class, output: &mut dyn fmt::Write) -> fmt::Result;

    fn format(&self, class: &Class) -> Result<String, FerroBabeError> {
        let mut output = String::new();
        self.write_class(class, &mut output)
            .map_err(|source| FerroBabeError::Format { source })?;
        Ok(output)
    }
}