pub struct ProgramTranslation { /* private fields */ }Expand description
A target-language artifact: a semantic translation or a reversible source envelope.
Implementations§
Source§impl ProgramTranslation
impl ProgramTranslation
Sourcepub const fn source_language(&self) -> &'static str
pub const fn source_language(&self) -> &'static str
Canonical source language.
Sourcepub const fn target_language(&self) -> &'static str
pub const fn target_language(&self) -> &'static str
Canonical target language.
Sourcepub fn code(&self) -> &str
pub fn code(&self) -> &str
Valid target-language source: the translated program or the portable envelope.
Sourcepub const fn contract(&self) -> &TranslationContract
pub const fn contract(&self) -> &TranslationContract
Preservation contract applied by this translation.
Sourcepub const fn semantics(&self) -> Option<&SemanticTranslation>
pub const fn semantics(&self) -> Option<&SemanticTranslation>
Encodings, assumptions, obligations, mappings and provenance of a semantic translation.
Sourcepub const fn diagnostic(&self) -> Option<&TranslationDiagnostic>
pub const fn diagnostic(&self) -> Option<&TranslationDiagnostic>
Why the program stayed outside the portable core, for an envelope.
Trait Implementations§
Source§impl Clone for ProgramTranslation
impl Clone for ProgramTranslation
Source§impl Debug for ProgramTranslation
impl Debug for ProgramTranslation
impl Eq for ProgramTranslation
Source§impl PartialEq for ProgramTranslation
impl PartialEq for ProgramTranslation
impl StructuralPartialEq for ProgramTranslation
Auto Trait Implementations§
impl Freeze for ProgramTranslation
impl RefUnwindSafe for ProgramTranslation
impl Send for ProgramTranslation
impl Sync for ProgramTranslation
impl Unpin for ProgramTranslation
impl UnsafeUnpin for ProgramTranslation
impl UnwindSafe for ProgramTranslation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more