ricecoder_refactoring/
lib.rs1pub mod adapters;
41pub mod config;
42pub mod error;
43pub mod impact;
44pub mod patterns;
45pub mod preview;
46pub mod providers;
47pub mod safety;
48pub mod types;
49pub mod validation;
50
51pub use adapters::{
53 GenericRefactoringProvider, PythonRefactoringProvider, RustRefactoringProvider,
54 TypeScriptRefactoringProvider,
55};
56pub use config::{ConfigLoader, ConfigManager, LanguageConfig, StorageConfigLoader};
57pub use error::{RefactoringError, Result};
58pub use impact::{Dependency, DependencyGraph, DependencyType, ImpactAnalyzer, Symbol, SymbolType};
59pub use patterns::{
60 PatternApplication, PatternExporter, PatternMatcher, PatternParameter, PatternScope,
61 PatternStore, PatternValidator, RefactoringPattern,
62};
63pub use preview::{DiffHunk, PreviewGenerator, UnifiedDiff};
64pub use providers::{LspProvider, LspProviderRegistry, ProviderRegistry, RefactoringProvider};
65pub use safety::{RollbackHandler, SafetyChecker};
66pub use types::{
67 ChangeType, FileChange, Refactoring, RefactoringOptions, RefactoringResult, RefactoringTarget,
68 RefactoringType, ValidationResult,
69};
70pub use validation::ValidationEngine;
71
72pub struct RefactoringEngine {
74 config_manager: ConfigManager,
75 provider_registry: ProviderRegistry,
76 impact_analyzer: ImpactAnalyzer,
77 preview_generator: PreviewGenerator,
78 safety_checker: SafetyChecker,
79 validation_engine: ValidationEngine,
80}
81
82impl RefactoringEngine {
83 pub fn new(config_manager: ConfigManager, provider_registry: ProviderRegistry) -> Self {
85 Self {
86 config_manager,
87 provider_registry,
88 impact_analyzer: ImpactAnalyzer::new(),
89 preview_generator: PreviewGenerator::new(),
90 safety_checker: SafetyChecker::new(),
91 validation_engine: ValidationEngine::new(),
92 }
93 }
94
95 pub fn config_manager(&self) -> &ConfigManager {
97 &self.config_manager
98 }
99
100 pub fn provider_registry(&self) -> &ProviderRegistry {
102 &self.provider_registry
103 }
104
105 pub fn impact_analyzer(&self) -> &ImpactAnalyzer {
107 &self.impact_analyzer
108 }
109
110 pub fn preview_generator(&self) -> &PreviewGenerator {
112 &self.preview_generator
113 }
114
115 pub fn safety_checker(&self) -> &SafetyChecker {
117 &self.safety_checker
118 }
119
120 pub fn validation_engine(&self) -> &ValidationEngine {
122 &self.validation_engine
123 }
124}