
# 统一匹配 return 语句中的字符串表达式 - The Implementation Plan (Decomposed and Prioritized Task List)

## [x] 任务 1: 分析当前代码和失败测试的问题
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 查看当前失败的测试用例，分析 return 语句中的字符串为什么没有被正确提取
  - 检查 `processStatementAndExtractValue` 和 `extractValueExpression` 方法中 return 语句的处理逻辑
  - 查看 `extractValueUntilSemicolon` 等相关辅助方法的实现
- **Acceptance Criteria Addressed**: [AC-1]
- **Test Requirements**:
  - `programmatic` TR-1.1: 定位 return 语句字符串提取错误的具体位置 ✓
  - `human-judgement` TR-1.2: 理解当前逻辑中的问题所在 ✓
- **Notes**: 重点关注 return 语句中的特殊字符字符串处理

## [x] 任务 2: 修复 return 语句中的字符串提取逻辑
- **Priority**: P0
- **Depends On**: 任务 1
- **Description**: 
  - 修复 `processStatementAndExtractValue` 方法中处理 return 语句的逻辑
  - 确保 return 语句能够正确地被识别和处理
  - 确保 return 语句中的字符串边界能够正确识别
- **Acceptance Criteria Addressed**: [AC-1, AC-3]
- **Test Requirements**:
  - `programmatic` TR-2.1: 修复后 `should handle special characters in string expression of return sentence` 测试用例必须通过 ✓
  - `programmatic` TR-2.2: 代码符合 TypeScript 语法规范，不使用保留关键字作为变量名 ✓
- **Notes**: 确保修改不会影响其他语句类型的处理
- **Modifications**: 在 `src/CSharpStringExtractor.ts:1736-1765` 中添加了检查逻辑：当 fullStatement === processedFullStatement 时，直接使用原始的 valueExpression，而不是重新提取

## [x] 任务 3: 运行所有测试确保没有回归
- **Priority**: P0
- **Depends On**: 任务 2
- **Description**: 
  - 运行完整的测试套件，确保所有测试用例都能通过
  - 检查是否有任何测试出现回归
- **Acceptance Criteria Addressed**: [AC-2]
- **Test Requirements**:
  - `programmatic` TR-3.1: 运行 `npm test` 命令，所有 75+ 个测试用例必须通过 ✓ (78 个测试全部通过)
  - `programmatic` TR-3.2: 检查 TypeScript 编译没有错误 ✓ (核心源代码无错误)
- **Notes**: 确保修复不会破坏任何现有功能

## [x] 任务 4: 清理临时调试文件
- **Priority**: P2
- **Depends On**: 任务 3
- **Description**: 
  - 删除所有临时创建的调试文件
  - 确保代码仓库的整洁
- **Acceptance Criteria Addressed**: []
- **Test Requirements**:
  - `human-judgement` TR-4.1: 代码仓库中不再有临时的调试文件 ✓
- **Notes**: 保持 git 仓库的整洁
- **Deleted Files**: 所有根目录下的 debug-*.ts 文件和临时文本文件

