Skip to main content

CodebaseDoc

Struct CodebaseDoc 

Source
pub struct CodebaseDoc { /* private fields */ }
Expand description

Stable export model for the linked compiled machine inventory.

Implementations§

Source§

impl CodebaseDoc

Source

pub fn linked() -> Result<Self, CodebaseDocError>

Builds a combined codebase document from every linked machine visible to the current build.

Source

pub fn try_from_linked( linked: &'static [LinkedMachineGraph], ) -> Result<Self, CodebaseDocError>

Builds a combined codebase document from an explicit linked machine inventory.

Source

pub fn try_from_linked_with_validator_entries( linked: &'static [LinkedMachineGraph], validator_entries: &'static [LinkedValidatorEntryDescriptor], ) -> Result<Self, CodebaseDocError>

Builds a combined codebase document from explicit linked machine and validator-entry inventories.

Source

pub fn machines(&self) -> &[CodebaseMachine]

Exported machines in stable codebase order.

Resolved static cross-machine links in stable order.

Source

pub fn relations(&self) -> &[CodebaseRelation]

Resolved exact static relations in stable order.

Source

pub fn machine(&self, index: usize) -> Option<&CodebaseMachine>

Returns one exported machine by its stable codebase index.

Source

pub fn relation(&self, index: usize) -> Option<&CodebaseRelation>

Returns one exported relation by its stable codebase index.

Source

pub fn machine_relation_groups(&self) -> &[CodebaseMachineRelationGroup]

Groups exact relations by source and target machine for renderer and inspector use.

Source

pub fn composition_relation_groups(&self) -> Vec<CodebaseMachineRelationGroup>

Groups exact relations that are owned by composition machines.

Source

pub fn outbound_relations_for_machine( &self, machine_index: usize, ) -> impl Iterator<Item = &CodebaseRelation> + '_

Exact relations whose source belongs to machine_index.

Source

pub fn inbound_relations_for_machine( &self, machine_index: usize, ) -> impl Iterator<Item = &CodebaseRelation> + '_

Exact relations whose target belongs to machine_index.

Source

pub fn outbound_relations_for_state( &self, machine_index: usize, state_index: usize, ) -> impl Iterator<Item = &CodebaseRelation> + '_

Exact relations whose source belongs to one exported state.

Source

pub fn inbound_relations_for_state( &self, machine_index: usize, state_index: usize, ) -> impl Iterator<Item = &CodebaseRelation> + '_

Exact relations whose target belongs to one exported state.

Source

pub fn outbound_relations_for_transition( &self, machine_index: usize, transition_index: usize, ) -> impl Iterator<Item = &CodebaseRelation> + '_

Exact relations whose source belongs to one exported transition site.

Source

pub fn inbound_relations_for_transition( &self, machine_index: usize, transition_index: usize, ) -> impl Iterator<Item = &CodebaseRelation> + '_

Exact relations whose target belongs to one exported transition site.

The current exact relation surface never targets transitions, so this iterator is always empty. It exists so the inspector can use the same navigation API shape for machines, states, and transitions.

Source

pub fn relation_detail( &self, index: usize, ) -> Option<CodebaseRelationDetail<'_>>

Resolves one exact relation into typed source and target references for downstream consumers such as the inspector TUI.

Trait Implementations§

Source§

impl Clone for CodebaseDoc

Source§

fn clone(&self) -> CodebaseDoc

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CodebaseDoc

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for CodebaseDoc

Source§

fn eq(&self, other: &CodebaseDoc) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for CodebaseDoc

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for CodebaseDoc

Source§

impl StructuralPartialEq for CodebaseDoc

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.