refactor(joinir): Phase 286 P3.2 cleanup + normalizer modularization
## Legacy Pattern5 削除 (488行) - pattern5_infinite_early_exit.rs 完全削除 - LOOP_PATTERNS テーブルからエントリ削除 - Plan extractor が SSOT ## Normalizer 分割 (3294行 → 12ファイル) - helpers.rs: 共通ヘルパー関数 - pattern*.rs: 各パターン専用ファイル - mod.rs: ディスパッチャ ## ドキュメント更新 - Phase 286 README: クリーンアップ完了・Fail-Fast方針記載 - Phase 287 README: 将来計画 quick smoke 154/154 PASS 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -358,18 +358,14 @@ pub(crate) struct LoopPatternEntry {
|
||||
///
|
||||
/// **IMPORTANT**: Patterns are tried in array order (SSOT).
|
||||
/// Array order defines priority - earlier entries are tried first.
|
||||
/// Pattern5 (most specific) → Pattern4 → Pattern3 → Pattern1 → Pattern2
|
||||
/// Pattern4 → Pattern8 → Pattern9 → Pattern3 → Pattern1 → Pattern2
|
||||
///
|
||||
/// # Current Patterns (Structure-based detection, established Phase 131-11+)
|
||||
///
|
||||
/// Pattern detection strategies (updated Phase 282 P0):
|
||||
/// Pattern detection strategies (updated Phase 286):
|
||||
/// - Pattern6/7: ExtractionBased (Plan line, Phase 273+)
|
||||
/// - Pattern8/9: ExtractionBased (extraction functions, already implemented)
|
||||
/// - Pattern1-5: StructureBased (LoopFeatures classification, legacy)
|
||||
///
|
||||
/// - Pattern 5: Infinite Loop with Early Exit (llvm_stage3_loop_only.hako) [Phase 131-11]
|
||||
/// - Detection: pattern_kind == InfiniteEarlyExit
|
||||
/// - Structure: is_infinite_loop && has_break && has_continue
|
||||
/// - Pattern5/8/9: ExtractionBased (extraction functions, Plan line Phase 286+)
|
||||
/// - Pattern1-4: StructureBased (LoopFeatures classification, legacy)
|
||||
///
|
||||
/// - Pattern 4: Loop with Continue (loop_continue_pattern4.hako)
|
||||
/// - Detection: pattern_kind == Pattern4Continue
|
||||
@ -388,12 +384,8 @@ pub(crate) struct LoopPatternEntry {
|
||||
/// - Structure: has_break && !has_continue
|
||||
///
|
||||
/// Note: func_name is now only used for debug logging, not pattern detection
|
||||
/// Phase 286: Pattern5 removed (migrated to Plan-based routing)
|
||||
pub(crate) static LOOP_PATTERNS: &[LoopPatternEntry] = &[
|
||||
LoopPatternEntry {
|
||||
name: "Pattern5_InfiniteEarlyExit",
|
||||
detect: super::pattern5_infinite_early_exit::can_lower,
|
||||
lower: super::pattern5_infinite_early_exit::lower,
|
||||
},
|
||||
LoopPatternEntry {
|
||||
name: "Pattern4_WithContinue",
|
||||
detect: super::pattern4_with_continue::can_lower,
|
||||
|
||||
Reference in New Issue
Block a user