Trait reproto_backend::package_processor::PackageProcessor
[−]
[src]
pub trait PackageProcessor<'el, F: 'static, N: 'static> where
Self: 'el + Sized,
F: Flavor<Name = N, Package = RpPackage>,
N: Name<F>, { type Out: Default + IntoBytes<Self>; type DeclIter: Iterator<Item = &'el RpDecl<F>>; fn ext(&self) -> &str; fn decl_iter(&self) -> Self::DeclIter; fn handle(&self) -> &'el Handle; fn default_process(
&self,
_: &mut Self::Out,
name: &'el F::Name
) -> Result<()> { ... } fn process_interface(
&self,
out: &mut Self::Out,
body: &'el RpInterfaceBody<F>
) -> Result<()> { ... } fn process_type(
&self,
out: &mut Self::Out,
body: &'el RpTypeBody<F>
) -> Result<()> { ... } fn process_tuple(
&self,
out: &mut Self::Out,
body: &'el RpTupleBody<F>
) -> Result<()> { ... } fn process_enum(
&self,
out: &mut Self::Out,
body: &'el RpEnumBody<F>
) -> Result<()> { ... } fn process_service(
&self,
out: &mut Self::Out,
body: &'el RpServiceBody<F>
) -> Result<()> { ... } fn populate_files(&self) -> Result<BTreeMap<F::Package, Self::Out>> { ... } fn do_populate_files<C>(
&self,
callback: C
) -> Result<BTreeMap<F::Package, Self::Out>>
where
C: FnMut(&'el RpDecl<F>) -> Result<()>, { ... } fn resolve_full_path(&self, package: &RpPackage) -> Result<RelativePathBuf> { ... } fn setup_module_path(&self, package: &RpPackage) -> Result<RelativePathBuf> { ... } fn write_files(
&'el self,
files: BTreeMap<F::Package, Self::Out>
) -> Result<()> { ... } }
Associated Types
Required Methods
fn ext(&self) -> &str
Access the extension for processing.
fn decl_iter(&self) -> Self::DeclIter
Iterate over all existing declarations.
fn handle(&self) -> &'el Handle
Provided Methods
fn default_process(&self, _: &mut Self::Out, name: &'el F::Name) -> Result<()>
fn process_interface(
&self,
out: &mut Self::Out,
body: &'el RpInterfaceBody<F>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el RpInterfaceBody<F>
) -> Result<()>
fn process_type(
&self,
out: &mut Self::Out,
body: &'el RpTypeBody<F>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el RpTypeBody<F>
) -> Result<()>
fn process_tuple(
&self,
out: &mut Self::Out,
body: &'el RpTupleBody<F>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el RpTupleBody<F>
) -> Result<()>
fn process_enum(
&self,
out: &mut Self::Out,
body: &'el RpEnumBody<F>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el RpEnumBody<F>
) -> Result<()>
fn process_service(
&self,
out: &mut Self::Out,
body: &'el RpServiceBody<F>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el RpServiceBody<F>
) -> Result<()>
fn populate_files(&self) -> Result<BTreeMap<F::Package, Self::Out>>
fn do_populate_files<C>(
&self,
callback: C
) -> Result<BTreeMap<F::Package, Self::Out>> where
C: FnMut(&'el RpDecl<F>) -> Result<()>,
&self,
callback: C
) -> Result<BTreeMap<F::Package, Self::Out>> where
C: FnMut(&'el RpDecl<F>) -> Result<()>,