refactor: Quick Win cleanup - 102 lines deleted, zero regressions
Completed three high-efficiency refactoring tasks: ## Task 1: Pattern1Context deletion (40 lines) - Removed deprecated Pattern1Context struct from simple_while_minimal.rs - Removed context parameter from lowering pipeline - Simplified API surface (one less unused type) - Files: simple_while_minimal.rs, pattern1_minimal.rs, loop_to_join.rs ## Task 2: #[allow(dead_code)] cleanup (62 lines) - Deleted new_with_outputs() from inline_boundary.rs (truly dead, deprecated) - Deleted extract_type_hint() from generic_type_resolver.rs (future placeholder) - Removed 3 incorrect annotations (code IS actually used) - Added clear comments for future-work items ## Task 3: Test organization (0 lines, +26 doc lines) - Added 4-section navigation to loop_scope_shape/tests.rs - Improved test discoverability (17 tests → organized by module) - Low-risk organization improvement - Easy path for future per-module test file splitting ## Summary - Total deletion: 102 net lines - Files modified: 9 - Build status: ✅ Clean (0 errors, 0 warnings) - Test status: ✅ 21/21 PASS - Regressions: 0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -57,7 +57,6 @@ impl LoopVarClass {
|
||||
/// - `progress_carrier`: 進捗チェック用(将来の Verifier で使用予定)
|
||||
/// - `variable_definitions`: definition blocks collected from LoopFormIntake snapshots
|
||||
#[derive(Debug, Clone)]
|
||||
#[allow(dead_code)] // Block IDs and progress_carrier are reserved for future F-3/F-4 use
|
||||
pub(crate) struct LoopScopeShape {
|
||||
pub header: BasicBlockId,
|
||||
pub body: BasicBlockId,
|
||||
|
||||
@ -1,9 +1,25 @@
|
||||
//! Tests for loop_scope_shape module
|
||||
//!
|
||||
//! ## Test Organization
|
||||
//!
|
||||
//! This file contains tests for multiple components:
|
||||
//! - **LoopScopeShape tests** (shape.rs): from_loop_form, needs_phi, block_ids, ordering
|
||||
//! - **CaseAContext tests** (case_a*.rs): validation, lowering shape
|
||||
//! - **Variable classification tests** (structural.rs): classify, phi consistency
|
||||
//! - **Variable definitions tests** (builder.rs): availability, inspector
|
||||
//!
|
||||
//! Future work: Consider splitting into per-module test files for better organization.
|
||||
|
||||
use super::shape::LoopVarClass;
|
||||
use super::*;
|
||||
use crate::mir::join_ir::lowering::loop_form_intake::LoopFormIntake;
|
||||
use crate::mir::{BasicBlockId, MirQuery, ValueId};
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
|
||||
// ============================================================================
|
||||
// Test Fixtures (shared across all tests)
|
||||
// ============================================================================
|
||||
|
||||
fn make_dummy_loop_form() -> crate::mir::loop_form::LoopForm {
|
||||
crate::mir::loop_form::LoopForm {
|
||||
preheader: BasicBlockId::new(1),
|
||||
@ -47,6 +63,10 @@ impl MirQuery for EmptyQuery {
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// LoopScopeShape Tests (shape.rs)
|
||||
// ============================================================================
|
||||
|
||||
#[test]
|
||||
fn test_from_loop_form_basic() {
|
||||
let loop_form = make_dummy_loop_form();
|
||||
@ -118,6 +138,10 @@ fn test_ordered_accessors() {
|
||||
assert!(carriers.contains(&"i".to_string()));
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// CaseAContext Tests (case_a*.rs)
|
||||
// ============================================================================
|
||||
|
||||
/// CaseAContext::from_scope で header == exit のとき None を返すテスト
|
||||
#[test]
|
||||
fn test_from_scope_validation_header_eq_exit() {
|
||||
@ -234,6 +258,10 @@ fn test_needs_phi_consistency() {
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// Variable Classification Tests (structural.rs)
|
||||
// ============================================================================
|
||||
|
||||
/// classify() メソッドのテスト
|
||||
#[test]
|
||||
fn test_classify_method() {
|
||||
@ -326,6 +354,10 @@ fn test_get_exit_live() {
|
||||
assert!(exit_live.contains("i"));
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// Variable Definitions Tests (builder.rs)
|
||||
// ============================================================================
|
||||
|
||||
/// Phase 48-4: is_available_in_all() API テスト(空の variable_definitions)
|
||||
#[test]
|
||||
fn test_is_available_in_all_phase48_4() {
|
||||
|
||||
Reference in New Issue
Block a user