pub struct ModuleArtifact {
pub module_ref: ModuleRef,
pub host_requirements_ref: HostRequirementsRef,
pub host_requirements: HostRequirements,
pub exports: ModuleExports,
pub canonical_ir: Program,
pub dependencies: Vec<ModuleRef>,
}Fields§
§module_ref: ModuleRef§host_requirements_ref: HostRequirementsRef§host_requirements: HostRequirements§exports: ModuleExports§canonical_ir: Program§dependencies: Vec<ModuleRef>Implementations§
Source§impl ModuleArtifact
impl ModuleArtifact
pub fn from_program(program: Program) -> Result<Self, ModuleArtifactError>
pub fn process_ref(&self, process_name: &str) -> Option<&ProcessRef>
pub fn process_name_for_ref(&self, process_ref: &ProcessRef) -> Option<&str>
Sourcepub fn canonical_source(&self) -> Result<String, CanonicalSourceError>
pub fn canonical_source(&self) -> Result<String, CanonicalSourceError>
Pretty-print the saved canonical IR as Lashlang source.
The returned source is generated from canonical IR and host requirements. It preserves compile-equivalent structure, not comments or original formatting.
Sourcepub fn canonical_process_source(
&self,
process_ref: &ProcessRef,
) -> Result<Option<String>, CanonicalSourceError>
pub fn canonical_process_source( &self, process_ref: &ProcessRef, ) -> Result<Option<String>, CanonicalSourceError>
Pretty-print a focused process definition by process ref.
Returns Ok(None) when the ref is not exported by this module artifact.
The fragment is the process declaration itself; use
Self::canonical_source when the host needs a complete module snippet.
Sourcepub fn canonical_process_source_by_name(
&self,
process_name: &str,
) -> Result<Option<String>, CanonicalSourceError>
pub fn canonical_process_source_by_name( &self, process_name: &str, ) -> Result<Option<String>, CanonicalSourceError>
Pretty-print a focused process definition by exported process name.
Returns Ok(None) when the process is not declared by this artifact.
pub fn introspect( &self, ) -> Result<ModuleIntrospection, ModuleIntrospectionError>
pub fn verify(&self) -> Result<(), ModuleArtifactError>
pub fn to_store_bytes(&self) -> Result<Vec<u8>, ModuleArtifactError>
pub fn from_store_bytes(bytes: &[u8]) -> Result<Self, ModuleArtifactError>
Trait Implementations§
Source§impl Clone for ModuleArtifact
impl Clone for ModuleArtifact
Source§fn clone(&self) -> ModuleArtifact
fn clone(&self) -> ModuleArtifact
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 ModuleArtifact
impl Debug for ModuleArtifact
Source§impl<'de> Deserialize<'de> for ModuleArtifact
impl<'de> Deserialize<'de> for ModuleArtifact
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ModuleArtifact
impl PartialEq for ModuleArtifact
Source§fn eq(&self, other: &ModuleArtifact) -> bool
fn eq(&self, other: &ModuleArtifact) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ModuleArtifact
impl Serialize for ModuleArtifact
impl StructuralPartialEq for ModuleArtifact
Auto Trait Implementations§
impl Freeze for ModuleArtifact
impl RefUnwindSafe for ModuleArtifact
impl Send for ModuleArtifact
impl Sync for ModuleArtifact
impl Unpin for ModuleArtifact
impl UnsafeUnpin for ModuleArtifact
impl UnwindSafe for ModuleArtifact
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