tomoaki
4ef2261e97
fix(joinir): Phase 269 P1.2 - static call normalization for this.method()
Problem:
- `this.method()` calls in static box loops were using string constant "StringUtils" as receiver
- This violated Box Theory (static box this should not be runtime object)
- Pattern8 was trying to pass receiver to JoinIR, causing SSA/PHI issues
Solution (3-part fix):
1. **MeResolverBox Fail-Fast** (stmts.rs): Remove string fallback, error message cleanup
2. **ReceiverNormalizeBox** (calls/build.rs): Normalize `this/me.method()` → static call at compile-time
3. **Pattern8 Skip Static Box** (pattern8_scan_bool_predicate.rs): Reject Pattern8 for static box contexts
Key changes:
- **stmts.rs**: Update error message - remove MeBindingInitializerBox mentions
- **calls/build.rs**: Add This/Me receiver check, normalize to static call if current_static_box exists
- **calls/lowering.rs**: Remove NewBox-based "me" initialization (2 locations - fixes Stage1Cli regression)
- **pattern8_scan_bool_predicate.rs**: Skip Pattern8 for static boxes (use Pattern1 fallback instead)
Result:
- ✅ phase269_p1_2_this_method_in_loop_vm.sh PASS (exit=7)
- ✅ No regression: phase259_p0_is_integer_vm PASS
- ✅ No regression: phase269_p0_pattern8_frag_vm PASS
- ✅ Stage1Cli unit tests PASS
- ✅ MIR uses CallTarget::Global, no const "StringUtils" as receiver
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 03:33:30 +09:00
..
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-12-04 15:00:45 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-12-04 13:32:58 +09:00
2025-12-04 13:32:58 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-12-01 11:10:46 +09:00
2025-11-06 15:41:52 +09:00
2025-11-24 05:23:26 +09:00
2025-11-06 15:41:52 +09:00
2025-11-27 08:18:09 +09:00
2025-11-27 08:18:09 +09:00
2025-11-27 02:58:38 +09:00
2025-11-27 02:58:38 +09:00
2025-11-23 04:10:12 +09:00
2025-11-22 01:21:38 +09:00
2025-12-04 17:47:19 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-12-07 19:00:12 +09:00
2025-12-07 19:00:12 +09:00
2025-12-06 03:30:03 +09:00
2025-12-06 00:10:27 +09:00
2025-12-07 19:00:12 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 09:02:02 +09:00
2025-11-21 11:16:38 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-12-02 12:36:28 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-28 17:13:52 +09:00
2025-12-13 22:51:13 +09:00
2025-12-16 21:37:07 +09:00
2025-12-17 01:01:07 +09:00
2025-12-17 04:25:57 +09:00
2025-12-17 04:26:05 +09:00
2025-12-17 06:10:59 +09:00
2025-12-17 05:43:44 +09:00
2025-12-17 16:33:26 +09:00
2025-12-17 16:57:11 +09:00
2025-12-17 18:29:27 +09:00
2025-12-17 18:29:27 +09:00
2025-12-17 21:25:12 +09:00
2025-12-17 18:29:27 +09:00
2025-12-17 22:47:42 +09:00
2025-12-17 23:16:53 +09:00
2025-12-18 01:58:38 +09:00
2025-12-18 02:18:57 +09:00
2025-12-18 02:32:08 +09:00
2025-12-18 02:39:33 +09:00
2025-12-18 02:55:02 +09:00
2025-12-18 03:43:10 +09:00
2025-12-18 03:43:10 +09:00
2025-12-18 04:53:04 +09:00
2025-12-18 05:50:16 +09:00
2025-12-18 06:09:36 +09:00
2025-12-18 06:45:56 +09:00
2025-12-18 07:07:04 +09:00
2025-12-18 07:53:27 +09:00
2025-12-18 07:18:00 +09:00
2025-12-18 09:13:13 +09:00
2025-12-18 09:36:25 +09:00
2025-12-18 21:51:33 +09:00
2025-12-15 12:12:54 +09:00
2025-12-15 06:24:18 +09:00
2025-12-15 13:02:26 +09:00
2025-12-18 22:11:08 +09:00
2025-12-18 22:46:32 +09:00
2025-12-19 00:15:32 +09:00
2025-12-19 00:15:32 +09:00
2025-12-19 00:15:32 +09:00
2025-12-19 00:15:32 +09:00
2025-12-19 00:15:32 +09:00
2025-12-19 05:28:49 +09:00
2025-12-19 05:28:49 +09:00
2025-12-19 04:41:01 +09:00
2025-12-19 08:36:45 +09:00
2025-12-19 16:19:49 +09:00
2025-12-19 16:19:49 +09:00
2025-12-19 16:19:49 +09:00
2025-12-19 16:19:49 +09:00
2025-12-19 16:19:49 +09:00
2025-12-19 16:19:49 +09:00
2025-12-19 17:03:56 +09:00
2025-12-19 17:03:56 +09:00
2025-12-08 21:39:49 +09:00
2025-12-08 21:39:49 +09:00
2025-12-08 23:14:10 +09:00
2025-12-08 23:14:10 +09:00
2025-12-08 23:14:10 +09:00
2025-12-08 23:14:10 +09:00
2025-12-08 23:59:19 +09:00
2025-12-08 23:59:19 +09:00
2025-12-09 00:59:38 +09:00
2025-12-09 00:59:38 +09:00
2025-12-09 00:59:38 +09:00
2025-12-09 01:09:54 +09:00
2025-12-09 01:09:54 +09:00
2025-12-09 01:47:07 +09:00
2025-12-09 01:47:07 +09:00
2025-12-09 01:47:07 +09:00
2025-12-09 03:07:15 +09:00
2025-12-09 03:07:15 +09:00
2025-12-09 03:40:25 +09:00
2025-12-09 04:20:28 +09:00
2025-12-09 04:20:28 +09:00
2025-12-09 14:45:04 +09:00
2025-12-09 14:45:04 +09:00
2025-12-09 18:32:03 +09:00
2025-12-09 18:32:03 +09:00
2025-12-09 18:32:03 +09:00
2025-12-09 18:32:03 +09:00
2025-12-09 18:32:03 +09:00
2025-12-09 18:32:03 +09:00
2025-12-10 00:01:53 +09:00
2025-12-10 04:10:45 +09:00
2025-12-10 01:53:06 +09:00
2025-11-22 00:00:51 +09:00
2025-12-10 02:07:28 +09:00
2025-12-10 09:28:08 +09:00
2025-12-10 15:00:20 +09:00
2025-12-10 17:59:24 +09:00
2025-12-10 17:59:24 +09:00
2025-12-11 17:24:32 +09:00
2025-12-19 20:30:58 +09:00
2025-12-19 23:32:25 +09:00
2025-12-20 01:24:04 +09:00
2025-12-20 20:05:11 +09:00
2025-12-21 00:29:50 +09:00
2025-12-21 02:40:07 +09:00
2025-12-21 10:23:38 +09:00
2025-12-21 11:49:03 +09:00
2025-12-22 01:41:19 +09:00
2025-12-22 03:33:30 +09:00
2025-12-21 23:12:52 +09:00
2025-12-10 16:20:44 +09:00
2025-11-06 15:41:52 +09:00
2025-09-01 23:44:34 +09:00
2025-12-04 13:32:58 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-12-02 14:07:19 +09:00
2025-12-02 12:36:28 +09:00
2025-12-02 14:07:19 +09:00
2025-11-21 11:16:38 +09:00
2025-11-21 11:16:38 +09:00
2025-12-04 13:54:45 +09:00
2025-11-21 13:19:18 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-11-24 04:13:41 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-24 14:17:02 +09:00
2025-11-24 14:17:02 +09:00
2025-11-21 11:16:38 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-11-21 06:21:45 +09:00
2025-12-16 15:53:40 +09:00
2025-12-16 17:08:15 +09:00
2025-12-16 17:08:15 +09:00
2025-12-16 17:08:15 +09:00
2025-11-21 06:21:45 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00