refactor(joinir): move P5b escape policy under patterns/policies

This commit is contained in:
nyash-codex
2025-12-17 01:14:07 +09:00
parent e2cf15b141
commit 8e17534829
5 changed files with 11 additions and 13 deletions

View File

@ -53,7 +53,6 @@ pub(in crate::mir::builder) mod ast_feature_extractor;
pub(in crate::mir::builder) mod policies; // Phase 93/94: Pattern routing policies (future expansion)
pub(in crate::mir::builder) mod body_local_policy; // Phase 92 P3: promotion vs slot routing
pub(in crate::mir::builder) mod escape_pattern_recognizer; // Phase 91 P5b
pub(in crate::mir::builder) mod p5b_escape_derived_policy; // Phase 94: derived `ch` + conditional counter
pub(in crate::mir::builder) mod common_init;
pub(in crate::mir::builder) mod condition_env_builder;
pub(in crate::mir::builder) mod conversion_pipeline;

View File

@ -17,7 +17,9 @@ use crate::mir::join_ir::lowering::loop_update_analyzer::UpdateExpr;
use crate::mir::loop_pattern_detection::error_messages;
use crate::mir::loop_pattern_detection::function_scope_capture::CapturedEnv;
use crate::mir::ValueId;
use super::p5b_escape_derived_policy::{classify_p5b_escape_derived, P5bEscapeDerivedDecision};
use super::policies::p5b_escape_derived_policy::{
classify_p5b_escape_derived, P5bEscapeDerivedDecision,
};
use std::collections::BTreeMap;
struct Pattern2DebugLog {

View File

@ -36,7 +36,7 @@
---
### p5b_escape_derived_policy.rs (Phase 94)
**現在の場所**: `patterns/p5b_escape_derived_policy.rs`
**現在の場所**: `patterns/policies/p5b_escape_derived_policy.rs`
**責務**: P5b escapeパターン認識とBodyLocalDerivedルーティング
@ -51,8 +51,7 @@
- `P5bEscapeDerivedDecision::None` - 該当なし
**将来的な整理**:
- policies/へ移動してpolicy箱として統一
- 現在はpatterns/直下に配置
- policies/配下でpolicy箱として統一済みPhase 96
---

View File

@ -14,16 +14,14 @@
//! - **Fail-Fast**: パターンマッチング失敗は即座にReject/Noneを返す
//!
//! ## 将来の拡張
//! 現在はpolicies/ディレクトリの準備段階です。
//! 既存のpolicy関連ファイルp5b_escape_derived_policy.rs, body_local_policy.rs等
//! patterns/直下に配置されていますが、将来的にこのディレクトリへ移動する予定です。
//! policies/ は「認識とルーティング決定policy」を分離する受け皿です。
//! Phase 94P5b derivedから段階的に移設を開始しました。
//!
//! ### 段階的な移行計画
//! - Phase 1: ディレクトリ準備(今回)
//! - Phase 2: 既存policy箱の移動将来
//! - Phase 1: ディレクトリ準備 ✅
//! - Phase 2: 既存policy箱の移動進行中
//! - Phase 3: インターフェース統一(将来)
//!
//! 詳細は [README.md](README.md) を参照してください。
// 現在は空モジュール(将来の拡張用)
// 既存のpolicy関連ファイルは親モジュールpatterns/)に配置されています
pub(in crate::mir::builder) mod p5b_escape_derived_policy;

View File

@ -33,7 +33,7 @@ pub fn classify_p5b_escape_derived(
body: &[ASTNode],
loop_var_name: &str,
) -> P5bEscapeDerivedDecision {
let Some(info) = super::ast_feature_extractor::detect_escape_skip_pattern(body) else {
let Some(info) = super::super::ast_feature_extractor::detect_escape_skip_pattern(body) else {
return P5bEscapeDerivedDecision::None;
};