Removed 966 lines of dead code identified by Rust compiler warnings. 4 files completely deleted, multiple pattern implementations cleaned up. **Files Completely Deleted (4)**: - src/mir/builder/control_flow/joinir/api/entry.rs (15 lines) - src/mir/builder/control_flow/joinir/api/pipeline_contracts.rs (17 lines) - src/mir/builder/control_flow/joinir/api/receiver.rs (21 lines) - src/mir/builder/control_flow/joinir/patterns/pattern2_steps/promote_step_box.rs (33 lines) **Pattern 7 (SplitScan) - 423 lines deleted**: - Removed: can_lower(), lower(), cf_loop_pattern7_split_scan_impl() - Removed helper functions: contains_methodcall(), contains_variable_step(), contains_push() - Removed test code - Kept: extract_split_scan_plan() (used by router.rs) **Pattern 8 (BoolPredicate) - 222 lines deleted**: - Removed: cf_loop_pattern8_bool_predicate_impl() (impl MirBuilder block) - Kept: can_lower(), lower() (used by router.rs) **Pattern 5 (InfiniteEarlyExit) - 95 lines deleted**: - Removed: count_breaks_and_continues(), validate_continue_position(), validate_break_pattern() **Pattern 6 (ScanWithInit) - 110 lines deleted**: - Removed: contains_methodcall(), is_const_step_pattern() - Removed 4 test functions **JoinIR API - 53 lines deleted**: - Removed module: api/entry.rs - Removed module: api/pipeline_contracts.rs - Removed module: api/receiver.rs **EdgeCFG API - 30 lines deleted**: - EdgeStub: Removed new(), with_target() methods **Statistics**: - Total lines deleted: 966 - Files deleted: 4 - Dead code warnings eliminated: Multiple pattern implementations Build Status: ✅ Release build successful (0 errors) 🤖 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
11 lines
508 B
Rust
11 lines
508 B
Rust
//! JoinIR integration API (SSOT entry points)
|
|
//!
|
|
//! Purpose: provide a small, stable surface for pattern lowerers and merge code.
|
|
//! This reduces "where should I call this from?" drift and avoids re-implementing
|
|
//! contract logic (SSOT, fail-fast checks) in each pattern.
|
|
//!
|
|
//! Policy:
|
|
//! - Prefer SSOT helpers over ad-hoc logic in patterns.
|
|
//! - Avoid guessing (order/layout/name) in callers; callers pass explicit intent.
|
|
//! - Keep this module thin: mostly wrappers/re-exports with clear naming.
|