pub struct ExecutionDescriptor<'a> {
pub line_numbers: Vec<usize>,
pub context: ExecutionContext<'a>,
pub parsed_outputs: Vec<AstNode<'a>>,
pub parse_tasks: Vec<ParseTask<'a>>,
pub validation_tasks: Vec<ValidationTask<'a>>,
pub execution_tasks: Vec<ExecutionTask<'a>>,
pub stats: ExecutionStats,
}Expand description
A comprehensive execution manifest that completely replaces AAML struct usage.
ExecutionDescriptor aggregates all necessary information for the Executer to
materialize the configuration without requiring the legacy AAML struct.
Fields§
§line_numbers: Vec<usize>Original line numbers from source, indexed by AST node
context: ExecutionContext<'a>Execution context containing parsed configuration data
parsed_outputs: Vec<AstNode<'a>>Original parsed AST nodes for reference and diagnostics
parse_tasks: Vec<ParseTask<'a>>Lazy tasks for the parsing phase
validation_tasks: Vec<ValidationTask<'a>>Lazy tasks for the validation phase
execution_tasks: Vec<ExecutionTask<'a>>Lazy tasks for the execution phase
stats: ExecutionStatsExecution statistics
Implementations§
Source§impl<'a> ExecutionDescriptor<'a>
impl<'a> ExecutionDescriptor<'a>
Sourcepub fn new(
parsed_outputs: Vec<AstNode<'a>>,
source: impl Into<Cow<'a, str>>,
) -> Self
pub fn new( parsed_outputs: Vec<AstNode<'a>>, source: impl Into<Cow<'a, str>>, ) -> Self
Creates a new execution descriptor from parsed AST.
Sourcepub fn add_parse_task(&mut self, task: ParseTask<'a>)
pub fn add_parse_task(&mut self, task: ParseTask<'a>)
Adds a parse task to the manifest.
Sourcepub fn add_parse_tasks(&mut self, tasks: Vec<ParseTask<'a>>)
pub fn add_parse_tasks(&mut self, tasks: Vec<ParseTask<'a>>)
Adds multiple parse tasks.
Sourcepub fn add_validation_task(&mut self, task: ValidationTask<'a>)
pub fn add_validation_task(&mut self, task: ValidationTask<'a>)
Adds a validation task.
Sourcepub fn add_validation_tasks(&mut self, tasks: Vec<ValidationTask<'a>>)
pub fn add_validation_tasks(&mut self, tasks: Vec<ValidationTask<'a>>)
Adds multiple validation tasks.
Sourcepub fn add_execution_task(&mut self, task: ExecutionTask<'a>)
pub fn add_execution_task(&mut self, task: ExecutionTask<'a>)
Adds an execution task.
Sourcepub fn add_execution_tasks(&mut self, tasks: Vec<ExecutionTask<'a>>)
pub fn add_execution_tasks(&mut self, tasks: Vec<ExecutionTask<'a>>)
Adds multiple execution tasks.
Sourcepub const fn task_count(&self) -> usize
pub const fn task_count(&self) -> usize
Returns the total number of tasks.
Sourcepub fn task_summary(&self) -> String
pub fn task_summary(&self) -> String
Returns a summary of tasks by type.
Sourcepub const fn update_stats(&mut self, stats: ExecutionStats)
pub const fn update_stats(&mut self, stats: ExecutionStats)
Updates execution statistics.
Sourcepub const fn context_mut(&mut self) -> &mut ExecutionContext<'a>
pub const fn context_mut(&mut self) -> &mut ExecutionContext<'a>
Returns a mutable reference to the execution context.
Sourcepub const fn context(&self) -> &ExecutionContext<'a>
pub const fn context(&self) -> &ExecutionContext<'a>
Returns an immutable reference to the execution context.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ExecutionDescriptor<'a>
impl<'a> RefUnwindSafe for ExecutionDescriptor<'a>
impl<'a> Send for ExecutionDescriptor<'a>
impl<'a> Sync for ExecutionDescriptor<'a>
impl<'a> Unpin for ExecutionDescriptor<'a>
impl<'a> UnsafeUnpin for ExecutionDescriptor<'a>
impl<'a> UnwindSafe for ExecutionDescriptor<'a>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.