Struct reproto_core::translator::Context
[−]
[src]
pub struct Context<T> where
T: FlavorTranslator<Source = CoreFlavor>, { pub flavor: T, pub types: Rc<LinkedHashMap<RpName<T::Source>, Loc<RpReg>>>, pub decls: Option<RefCell<LinkedHashMap<RpName<T::Source>, RpReg>>>, }
Context used when translating.
Fields
flavor: T
Type used to translate types.
types: Rc<LinkedHashMap<RpName<T::Source>, Loc<RpReg>>>
Registered declarations of the source type.
decls: Option<RefCell<LinkedHashMap<RpName<T::Source>, RpReg>>>
Cached and translated registered declarations.
Trait Implementations
impl<T> Translator for Context<T> where
T: FlavorTranslator<Source = CoreFlavor>,
[src]
T: FlavorTranslator<Source = CoreFlavor>,
type Source = T::Source
type Target = T::Target
fn visit(
&self,
diag: &mut Diagnostics,
name: &Loc<RpName<Self::Source>>
) -> Result<()>
[src]
&self,
diag: &mut Diagnostics,
name: &Loc<RpName<Self::Source>>
) -> Result<()>
Indicate that the given name has been visited.
fn translate_package(
&self,
source: <Self::Source as Flavor>::Package
) -> Result<<Self::Target as Flavor>::Package>
[src]
&self,
source: <Self::Source as Flavor>::Package
) -> Result<<Self::Target as Flavor>::Package>
Translate the given package from one flavor to another.
fn translate_type(
&self,
diag: &mut Diagnostics,
source: <Self::Source as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>
[src]
&self,
diag: &mut Diagnostics,
source: <Self::Source as Flavor>::Type
) -> Result<<Self::Target as Flavor>::Type>
Translate the given type from one flavor to another.
fn translate_field(
&self,
diag: &mut Diagnostics,
source: <Self::Source as Flavor>::Field
) -> Result<<Self::Target as Flavor>::Field>
[src]
&self,
diag: &mut Diagnostics,
source: <Self::Source as Flavor>::Field
) -> Result<<Self::Target as Flavor>::Field>
Translate the given field from one flavor to another.
fn translate_endpoint(
&self,
diag: &mut Diagnostics,
source: <Self::Source as Flavor>::Endpoint
) -> Result<<Self::Target as Flavor>::Endpoint>
[src]
&self,
diag: &mut Diagnostics,
source: <Self::Source as Flavor>::Endpoint
) -> Result<<Self::Target as Flavor>::Endpoint>
Translate the given endpoint from one flavor to another.
fn translate_local_name(
&self,
diag: &mut Diagnostics,
reg: RpReg,
name: <Self::Source as Flavor>::Name
) -> Result<<Self::Target as Flavor>::Name>
[src]
&self,
diag: &mut Diagnostics,
reg: RpReg,
name: <Self::Source as Flavor>::Name
) -> Result<<Self::Target as Flavor>::Name>
Translate a local declaration name.
fn translate_enum_type(
&self,
diag: &mut Diagnostics,
enum_type: <Self::Source as Flavor>::EnumType
) -> Result<<Self::Target as Flavor>::EnumType>
[src]
&self,
diag: &mut Diagnostics,
enum_type: <Self::Source as Flavor>::EnumType
) -> Result<<Self::Target as Flavor>::EnumType>
Translate enum type.