Trait FlavorTranslator

Source
pub trait FlavorTranslator {
    type Source: 'static + Clone + Flavor;
    type Target: 'static + Clone + Flavor;

Show 19 methods // Required methods 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>;
}

Required Associated Types§

Source

type Source: 'static + Clone + Flavor

Source

type Target: 'static + Clone + Flavor

Required Methods§

Source

fn translate_i32(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_i64(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_u32(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_u64(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_float(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_double(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_boolean(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_string(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_datetime(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_array( &self, _: <Self::Target as Flavor>::Type, ) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_map( &self, _: <Self::Target as Flavor>::Type, _: <Self::Target as Flavor>::Type, ) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_any(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_bytes(&self) -> Result<<Self::Target as Flavor>::Type>

Source

fn translate_package( &self, package: <Self::Source as Flavor>::Package, ) -> Result<<Self::Target as Flavor>::Package>

Translate the given package.

Source

fn translate_name( &self, reg: RpReg, name: Loc<RpName<Self::Target>>, ) -> Result<<Self::Target as Flavor>::Type>

Translate the given name.

Source

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>,

Translate the given field.

Source

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>,

Translate the given endpoint.

Source

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>,

Translate a local declaration name.

Source

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>,

Enum type to translate.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<P, F> FlavorTranslator for CoreFlavorTranslator<P, F>
where P: PackageTranslator<RpVersionedPackage, F::Package> + 'static, F: Flavor<Type = RpType<F>, Field = RpField<F>, Endpoint = RpEndpoint<F>, Name = Loc<RpName<F>>, EnumType = RpEnumType> + 'static,