1
2
3
4
5
6
7
8
9
10
11
12
13
14
use proc_macro2::TokenStream;

use crate::{bundle::MessageBundle, Error};

mod common;
mod msgfn;
mod msgstruct;

pub use msgfn::FunctionPerMessageCodeGenerator;
pub use msgstruct::MessageBundleCodeGenerator;

pub trait CodeGenerator {
    fn generate(&self, bundle: &MessageBundle) -> Result<TokenStream, Error>;
}