feat(joinir): Phase 183 LoopBodyLocal role separation + test fixes
Phase 183 Implementation: - Added is_var_used_in_condition() helper for AST variable detection - Implemented LoopBodyLocal filtering in TrimLoopLowerer - Created 4 test files for P1/P2 patterns - Added 5 unit tests for variable detection Test Fixes: - Fixed test_is_outer_scope_variable_pinned (BasicBlockId import) - Fixed test_pattern2_accepts_loop_param_only (literal node usage) Refactoring: - Unified pattern detection documentation - Consolidated CarrierInfo initialization - Documented LoopScopeShape construction paths 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -131,7 +131,7 @@ impl LoopConditionScopeBox {
|
||||
/// - If matches loop_param_name → LoopParam
|
||||
/// - Else if in outer scope (via condition_var_analyzer) → OuterLocal
|
||||
/// - Else → LoopBodyLocal (conservative default)
|
||||
pub fn analyze(
|
||||
pub(crate) fn analyze(
|
||||
loop_param_name: &str,
|
||||
condition_nodes: &[&ASTNode],
|
||||
scope: Option<&LoopScopeShape>,
|
||||
|
||||
Reference in New Issue
Block a user