feat(joinir): Phase 225 - MethodCall init meta-driven lowering

- Remove hardcoded method whitelist from loop_body_local_init.rs
- Remove hardcoded box name matching
- Delegate to MethodCallLowerer for all MethodCall handling
- CoreMethodId metadata is now SSOT for init method validation
- substring now works in body-local init (-82 net lines)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-10 19:08:18 +09:00
parent 4e00edcea5
commit 0243de871f
7 changed files with 765 additions and 172 deletions

View File

@ -290,6 +290,7 @@ mod tests {
],
trim_helper: None,
promoted_loopbodylocals: Vec::new(), // Phase 224
condition_aliases: Vec::new(), // Phase 224-D
};
// Analyze carriers

View File

@ -405,6 +405,7 @@ mod tests {
],
trim_helper: None,
promoted_loopbodylocals: Vec::new(), // Phase 224
condition_aliases: Vec::new(), // Phase 224-D
},
loop_scope: LoopScopeShapeBuilder::empty_body_locals(
BasicBlockId(0),
@ -444,6 +445,7 @@ mod tests {
whitespace_chars: vec![" ".to_string(), "\t".to_string()],
}),
promoted_loopbodylocals: Vec::new(), // Phase 224
condition_aliases: Vec::new(), // Phase 224-D
},
loop_scope: LoopScopeShapeBuilder::empty_body_locals(
BasicBlockId(0),