Trait reproto_backend::PackageProcessor
[−]
[src]
pub trait PackageProcessor<'el> where
Self: 'el + Sized, { type Out: Default + IntoBytes<Self>; fn ext(&self) -> &str; fn env(&self) -> &'el Environment; fn out_path(&self) -> &Path; fn processed_package(&self, package: &RpVersionedPackage) -> RpPackage; fn default_process(
&self,
_: &mut Self::Out,
name: &'el RpName
) -> Result<()> { ... } fn process_interface(
&self,
out: &mut Self::Out,
body: &'el Loc<RpInterfaceBody>
) -> Result<()> { ... } fn process_type(
&self,
out: &mut Self::Out,
body: &'el Loc<RpTypeBody>
) -> Result<()> { ... } fn process_tuple(
&self,
out: &mut Self::Out,
body: &'el Loc<RpTupleBody>
) -> Result<()> { ... } fn process_enum(
&self,
out: &mut Self::Out,
body: &'el Loc<RpEnumBody>
) -> Result<()> { ... } fn process_service(
&self,
out: &mut Self::Out,
body: &'el Loc<RpServiceBody>
) -> Result<()> { ... } fn populate_files(&self) -> Result<BTreeMap<RpVersionedPackage, Self::Out>> { ... } fn do_populate_files<F>(
&self,
callback: F
) -> Result<BTreeMap<RpVersionedPackage, Self::Out>>
where
F: FnMut(&'el RpDecl) -> Result<()>, { ... } fn resolve_full_path(&self, package: &RpPackage) -> Result<PathBuf> { ... } fn setup_module_path(&self, package: &RpPackage) -> Result<PathBuf> { ... } fn write_files(
&'el self,
files: BTreeMap<RpVersionedPackage, Self::Out>
) -> Result<()> { ... } }
Associated Types
Required Methods
fn ext(&self) -> &str
fn env(&self) -> &'el Environment
fn out_path(&self) -> &Path
fn processed_package(&self, package: &RpVersionedPackage) -> RpPackage
Provided Methods
fn default_process(&self, _: &mut Self::Out, name: &'el RpName) -> Result<()>
fn process_interface(
&self,
out: &mut Self::Out,
body: &'el Loc<RpInterfaceBody>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el Loc<RpInterfaceBody>
) -> Result<()>
fn process_type(
&self,
out: &mut Self::Out,
body: &'el Loc<RpTypeBody>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el Loc<RpTypeBody>
) -> Result<()>
fn process_tuple(
&self,
out: &mut Self::Out,
body: &'el Loc<RpTupleBody>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el Loc<RpTupleBody>
) -> Result<()>
fn process_enum(
&self,
out: &mut Self::Out,
body: &'el Loc<RpEnumBody>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el Loc<RpEnumBody>
) -> Result<()>
fn process_service(
&self,
out: &mut Self::Out,
body: &'el Loc<RpServiceBody>
) -> Result<()>
&self,
out: &mut Self::Out,
body: &'el Loc<RpServiceBody>
) -> Result<()>
fn populate_files(&self) -> Result<BTreeMap<RpVersionedPackage, Self::Out>>
fn do_populate_files<F>(
&self,
callback: F
) -> Result<BTreeMap<RpVersionedPackage, Self::Out>> where
F: FnMut(&'el RpDecl) -> Result<()>,
&self,
callback: F
) -> Result<BTreeMap<RpVersionedPackage, Self::Out>> where
F: FnMut(&'el RpDecl) -> Result<()>,
fn resolve_full_path(&self, package: &RpPackage) -> Result<PathBuf>
fn setup_module_path(&self, package: &RpPackage) -> Result<PathBuf>
fn write_files(
&'el self,
files: BTreeMap<RpVersionedPackage, Self::Out>
) -> Result<()>
&'el self,
files: BTreeMap<RpVersionedPackage, Self::Out>
) -> Result<()>