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

Provided Methods

Implementors