Trait reproto_core::translator::FlavorTranslator [] [src]

pub trait FlavorTranslator {
    type Source: 'static + Clone + Flavor;
    type Target: 'static + Clone + Flavor;
    fn translate_i32(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_i64(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_u32(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_u64(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_float(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_double(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_boolean(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_string(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_datetime(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_array(
        &self,
        _: <Self::Target as Flavor>::Type
    ) -> Result<<Self::Target as Flavor>::Type>;
fn translate_map(
        &self,
        _: <Self::Target as Flavor>::Type,
        _: <Self::Target as Flavor>::Type
    ) -> Result<<Self::Target as Flavor>::Type>;
fn translate_any(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_bytes(&self) -> Result<<Self::Target as Flavor>::Type>;
fn translate_package(
        &self,
        package: <Self::Source as Flavor>::Package
    ) -> Result<<Self::Target as Flavor>::Package>;
fn translate_name(
        &self,
        reg: RpReg,
        name: Loc<RpName<Self::Target>>
    ) -> Result<<Self::Target as Flavor>::Type>;
fn translate_field<T>(
        &self,
        translator: &T,
        diag: &mut Diagnostics,
        field: <Self::Source as Flavor>::Field
    ) -> Result<<Self::Target as Flavor>::Field>
    where
        T: Translator<Source = Self::Source, Target = Self::Target>
;
fn translate_endpoint<T>(
        &self,
        translator: &T,
        diag: &mut Diagnostics,
        endpoint: <Self::Source as Flavor>::Endpoint
    ) -> Result<<Self::Target as Flavor>::Endpoint>
    where
        T: Translator<Source = Self::Source, Target = Self::Target>
;
fn translate_local_name<T>(
        &self,
        translator: &T,
        diag: &mut Diagnostics,
        reg: RpReg,
        name: <Self::Source as Flavor>::Name
    ) -> Result<<Self::Target as Flavor>::Name>
    where
        T: Translator<Source = Self::Source, Target = Self::Target>
;
fn translate_enum_type<T>(
        &self,
        translator: &T,
        diag: &mut Diagnostics,
        enum_type: <Self::Source as Flavor>::EnumType
    ) -> Result<<Self::Target as Flavor>::EnumType>
    where
        T: Translator<Source = Self::Source, Target = Self::Target>
; }

Associated Types

Required Methods

Translate the given package.

Translate the given name.

Translate the given field.

Translate the given endpoint.

Translate a local declaration name.

Enum type to translate.

Implementors