
# 修复剩余内插字符串测试用例 - The Implementation Plan (Decomposed and Prioritized Task List)

## [x] 任务 1: 分析索引计算错误的原因
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 查看对象初始化器和函数调用参数中字符串提取的索引计算逻辑
  - 分析为什么 originalIndex 相差 1 个字符
  - 检查 `extractObjectInitializerStrings` 和 `processObjectInitializerStringsOnly` 方法的实现
- **Acceptance Criteria Addressed**: [AC-1]
- **Test Requirements**:
  - `programmatic` TR-1.1: 定位索引计算错误的具体代码位置 ✓
  - `human-judgement` TR-1.2: 理解为什么索引相差 1 个字符 ✓
- **Notes**: 重点关注对象初始化器和函数调用参数中的字符串索引计算

## [x] 任务 2: 修复索引计算问题
- **Priority**: P0
- **Depends On**: 任务 1
- **Description**: 
  - 修复对象初始化器中内插字符串的 originalIndex 计算
  - 修复函数调用参数中内插字符串的 originalIndex 计算
- **Acceptance Criteria Addressed**: [AC-1, AC-2]
- **Test Requirements**:
  - `programmatic` TR-2.1: 修复后 `should handle special characters in string expression 5` 测试用例必须通过 ✓
  - `programmatic` TR-2.2: 修复后 `should handle special characters in string expression 6` 测试用例必须通过 ✓
  - `programmatic` TR-2.3: 所有其他测试用例继续通过，无回归 ✓
- **Notes**: 确保修改不会影响其他类型字符串的索引计算
- **Modifications**: 在 `extractObjectInitializerStrings` 和 `processObjectInitializerStringsOnly` 方法中添加了对 `$"`, `$@"`, `@$"` 内插字符串的支持

## [x] 任务 3: 运行所有测试确保没有回归
- **Priority**: P0
- **Depends On**: 任务 2
- **Description**: 
  - 运行完整的测试套件，确保所有测试用例都能通过
  - 检查是否有任何测试出现回归
- **Acceptance Criteria Addressed**: [AC-2]
- **Test Requirements**:
  - `programmatic` TR-3.1: 运行 `npm test` 命令，所有 80 个测试用例必须通过 ✓
- **Notes**: 确保修复不会破坏任何现有功能

