nyash-codex
a13f14cea0
feat(mir): Phase 21.7 Step 1-2 - NamingBox decode & Hotfix 7修正
## 実装内容
### Step 1: NamingBox decode関数追加 (naming.rs)
- ✅ `decode_static_method(func_name) -> Option<(box, method, arity)>`
- ✅ `is_static_method_name(func_name) -> bool`
- 対称性: encode ⇔ decode のペア実装で一貫性確保
### Step 2: unified_emitter Hotfix 7修正 (Lines 267-304)
- ✅ StaticCompiler box kind判定追加
- ✅ static box method は receiver 追加をスキップ
- ✅ instance method(RuntimeData/UserDefined)のみ receiver 追加
- ✅ トレース: NYASH_STATIC_METHOD_TRACE=1 でログ出力
## 判定ロジック
```rust
if box_kind == CalleeBoxKind::StaticCompiler {
// "BoxName.method/arity" 形式か確認
let func_name = format!("{}.{}/{}", box_name, method, args.len());
if is_static_method_name(&func_name) {
// static box method → receiver 追加しない
}
}
```
## 検証
✅ Stage-1 テスト: RC=0 (apps/tests/stage1_skip_ws_repro.hako)
✅ ビルド成功(0 error)
## 次のステップ
- Step 3: methodization実装 (HAKO_MIR_BUILDER_METHODIZE=1)
Co-Authored-By: ChatGPT5 <chatgpt@openai.com>
2025-11-21 23:52:10 +09:00
..
2025-11-06 15:41:52 +09:00
2025-08-21 00:41:26 +09:00
2025-08-21 00:41:26 +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-09-03 01:37:38 +09:00
2025-09-04 11:34:15 +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-08-21 00:41:26 +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-09-02 09:26:09 +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-09-08 03:30:35 +09:00
2025-09-08 03:30:35 +09:00
2025-11-06 15:41:52 +09:00
2025-11-14 15:18:14 +09:00
2025-11-14 15:18:14 +09:00
2025-11-13 16:40:58 +09:00
2025-11-21 23:52:10 +09:00
2025-11-14 20:19:00 +09:00
2025-11-06 15:41:52 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 23:52:10 +09:00
2025-11-15 22:32:13 +09:00
2025-11-20 03:56:12 +09:00
2025-11-19 23:12:01 +09:00
2025-11-18 09:26:39 +09:00
2025-11-20 03:56:12 +09:00
2025-11-18 18:56:35 +09:00
2025-11-19 00:02:41 +09:00
2025-11-19 00:02:41 +09:00
2025-11-19 00:02:41 +09:00
2025-11-19 23:12:01 +09:00
2025-11-19 03:28:58 +09:00
2025-11-19 10:08:04 +09:00
2025-11-19 23:12:01 +09:00
2025-11-20 03:56:12 +09:00
2025-11-20 03:56:12 +09:00
2025-11-15 22:32:13 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 09:43:42 +09:00
2025-09-11 00:21:11 +09:00
2025-11-04 16:33:04 +09:00
2025-11-06 15:41:52 +09:00