refactor(json_v0_bridge): Phase 25.1p - FunctionDefBuilder箱化+me予約修正
【変更内容】 1. FunctionDefBuilder 箱化(SSOT化) - インスタンスメソッド判定の一元化 - パラメータ ValueId 生成の統一 - 変数マップ初期化の統一 2. ValueId(0) me 予約バグ修正 - is_instance_method() で box_name != "Main" 判定 - インスタンスメソッドは me を ValueId(0) に予約 - variable_map["me"] = ValueId(0) を自動設定 3. コード削減・可読性向上 - 60行 → 40行(関数定義処理) - 重複ロジック削除 - デバッグログ追加(is_instance表示) 【効果】 - json_v0_bridge 経路の ValueId(0) 未定義エラー解消 - Stage-B compiler で static box メソッドが正しく動作 - 設計の一貫性向上(me の扱いが明確) 【非スコープ】 - Rust MirBuilder 側は未修正(Phase 26で統一予定) - lower_static_method_as_function は現状維持 関連: Phase 25.1m (静的メソッド修正), Phase 25.1c/k (SSA修正) 🐱 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -124,3 +124,6 @@ Status: completed(静的メソッド / LoopForm v2 continue + PHI の根治完
|
||||
- Stage‑B 本体:
|
||||
- `Main.main` 処理内で `String(...) > Integer(13)` のような異種型比較に起因する型エラーが残っている(continue/PHI 修正とは独立)。
|
||||
- これは Stage‑B の JSON 生成 / body_src 構造に属する問題のため、25.1m では扱わず、25.1c 続き or 次フェーズで箱単位に切り出して対応する。
|
||||
- Stage‑1 / Stage‑B の JSON v0 defs については、25.1m で `src/runner/json_v0_bridge/lowering.rs` を調整し、
|
||||
- `box_name != "Main"` の関数定義をインスタンスメソッドとして扱い、
|
||||
- Bridge 側で暗黙 receiver `me` を先頭パラメータにバインドすることで、`me._push_module_entry(...)` のような呼び出し時に `me` が未定義にならないようにした。
|
||||
|
||||
Reference in New Issue
Block a user