refactor(joinir): Phase 287 P1 - Modularize ast_feature_extractor (facade pattern)
Extracted pattern recognizers from ast_feature_extractor.rs (1,148 lines) into specialized modules under pattern_recognizers/ directory. **Structure**: - ast_feature_extractor.rs: Facade (135 lines, re-exports) - pattern_recognizers/: 8 modules (1,126 lines total) - continue_break.rs: continue/break/return detection - infinite_loop.rs: loop(true) detection - if_else_phi.rs: if-else PHI pattern detection - carrier_count.rs: carrier variable counting - parse_number.rs: parse_number pattern (+ read_digits) - parse_string.rs: parse_string pattern (+ continue pattern) - skip_whitespace.rs: skip_whitespace pattern **Contract**: - Semantic invariance: All existing APIs preserved via re-exports - No routing changes, no detection spec changes - Public API unchanged (facade pattern) **Verification**: - Build: 0 errors, 0 warnings - Pattern6: RC:9 (maintained) - Smoke tests: 154/154 PASS 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -54,6 +54,7 @@
|
||||
|
||||
pub(in crate::mir::builder) mod common; // Phase 255 P2: Common AST helpers
|
||||
pub(in crate::mir::builder) mod extractors; // Phase 282 P3: Common extraction interfaces
|
||||
pub(in crate::mir::builder) mod pattern_recognizers; // Phase 287 P1: Modularized pattern recognizers
|
||||
pub(in crate::mir::builder) mod ast_feature_extractor;
|
||||
pub(in crate::mir::builder) mod policies; // Phase 93/94: Pattern routing policies (future expansion)
|
||||
pub(in crate::mir::builder) mod body_local_policy; // Phase 92 P3: promotion vs slot routing
|
||||
|
||||
Reference in New Issue
Block a user