pub struct TransformContext {
pub known_bases: BTreeSet<String>,
pub known_symbols: BTreeSet<String>,
}Expand description
Compilation-Kontext fuer den AMI4CCM-Transform.
Spec-Referenzen:
- §7.5 — abgeleitete Interfaces erben ihren ReplyHandler vom
ReplyHandler des Base-Interfaces (
AMI4CCM_<Base>ReplyHandler). Dazu braucht der Transformer eine Map der bereits transformierten Bases (known_bases). - §7.5 / §7.3.1 — wenn der naive
AMI4CCM_<Iface>-/-ReplyHandler- Name mit einem bestehenden Identifier im Compilation-Unit kollidiert, muessenAMI_-Prefixe ergaenzt werden, bis der Name eindeutig ist (known_symbols).
Fields§
§known_bases: BTreeSet<String>Set von Original-Interface-Namen, deren ReplyHandler bereits
generiert wurde. Wird bei transform_interface einer Iface mit
iface.bases = [Base] konsultiert: ist Base.text enthalten,
erbt der neue ReplyHandler von AMI4CCM_<Base>ReplyHandler
statt vom generischen CCM_AMI::ReplyHandler.
known_symbols: BTreeSet<String>Set aller Identifier im aktuellen Compilation-Scope. Wird vor
dem Emittieren der AMI4CCM-Interface-Namen gegen den
Konflikt-Resolver gepruescht (AMI_AMI4CCM_<Iface> etc.).
Implementations§
Source§impl TransformContext
impl TransformContext
Sourcepub fn mark_transformed(&mut self, iface_name: &str)
pub fn mark_transformed(&mut self, iface_name: &str)
Markiert einen Iface-Namen als bereits-transformiert, sodass abgeleitete Interfaces ihren ReplyHandler korrekt erben.
Sourcepub fn add_known_symbol(&mut self, name: &str)
pub fn add_known_symbol(&mut self, name: &str)
Registriert einen bereits-existierenden Identifier, gegen den der AMI4CCM-Naming-Resolver pruefen muss.
Trait Implementations§
Source§impl Clone for TransformContext
impl Clone for TransformContext
Source§fn clone(&self) -> TransformContext
fn clone(&self) -> TransformContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TransformContext
impl Debug for TransformContext
Source§impl Default for TransformContext
impl Default for TransformContext
Source§fn default() -> TransformContext
fn default() -> TransformContext
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TransformContext
impl RefUnwindSafe for TransformContext
impl Send for TransformContext
impl Sync for TransformContext
impl Unpin for TransformContext
impl UnsafeUnpin for TransformContext
impl UnwindSafe for TransformContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more