ryo_executor/engine/mod.rs
1//! AST Mutation Engine
2//!
3//! Registry-centric mutation execution without file I/O.
4//!
5//! # Components
6//!
7//! - `ASTMutationEngine`: Core execution engine
8//! - `ASTMutationContext`: Context passed to mutations
9//! - `ASTRegApply`: Trait for registry-based mutation execution
10//! - `MutationEvent`: Events emitted during mutation
11//! - `SourceDumper`: Type-safe pipeline for source generation (Generator → Dumper)
12//! - `RegistryGenerator`: Generate files from ASTRegistry + SymbolRegistry (SymbolPath-based)
13//! - `modified_files`: Content-based modified file detection
14//!
15//! # Implementations
16//!
17//! The `impls` module contains `ASTRegApply` implementations for mutations
18//! defined in ryo-mutations.
19
20mod ast_mutation_engine;
21mod ast_reg_apply;
22mod events;
23pub mod impls;
24mod modified_files;
25mod registry_generator;
26mod source_pipeline;
27#[cfg(test)]
28mod tests;
29
30pub use ast_mutation_engine::{
31 ASTMutationContext, ASTMutationEngine, ExecutionResult, ResolveError,
32};
33pub use ast_reg_apply::ASTRegApply;
34pub use events::{collect_affected_ids, ModificationType, MutationEvent};
35pub use impls::{add_item_v2, create_mod_v2, remove_item_v2};
36pub use modified_files::collect_modified_symbols;
37pub use registry_generator::{
38 GeneratedCrate, GeneratedFile, GeneratedWorkspace, RegistryGenerator,
39};
40pub use source_pipeline::{multi_file_dumper, single_file_dumper, SourceDumper, SourceGenerator};