# 内插字符串处理增强 - The Implementation Plan (Decomposed and Prioritized Task List)

## [x] Task 1: 分析 processFunctionCallArguments 方法，理解当前实现
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 仔细阅读 processFunctionCallArguments 方法的完整实现
  - 理解它当前如何处理字符串字面量
  - 识别需要修改的具体位置
  - 参考其他已实现内插字符串处理的方法（如 extractClassMemberStrings）
- **Acceptance Criteria Addressed**: [AC-1, AC-2, AC-3, AC-4]
- **Test Requirements**:
  - `programmatic` TR-1.1: 完整理解方法逻辑
- **Notes**: 首先仔细阅读代码，确保理解需要修改的所有部分

## [/] Task 2: 更新字符串起始位置检测，支持内插字符串
- **Priority**: P0
- **Depends On**: [Task 1]
- **Description**: 
  - 修改 simpleStringLiteralPositions 收集逻辑
  - 添加对 $""、@$"" 和 $@"" 格式的支持
  - 确保内插字符串的起始位置也被记录下来
- **Acceptance Criteria Addressed**: [AC-1, AC-2, AC-3]
- **Test Requirements**:
  - `programmatic` TR-2.1: simpleStringLiteralPositions 包含内插字符串的起始位置
- **Notes**: 参考 extractClassMemberStrings 中处理内插字符串的模式

## [ ] Task 3: 更新函数括号查找逻辑，支持内插字符串
- **Priority**: P0
- **Depends On**: [Task 2]
- **Description**: 
  - 修改查找括号时的字符串状态管理逻辑
  - 添加对内插字符串的识别，避免在内插字符串内部误判括号
- **Acceptance Criteria Addressed**: [AC-1, AC-2, AC-3]
- **Test Requirements**:
  - `programmatic` TR-3.1: 查找括号位置时正确处理内插字符串
- **Notes**: 确保在查找括号时不会被内插字符串中的字符干扰

## [ ] Task 4: 更新参数检测逻辑，支持内插字符串
- **Priority**: P0
- **Depends On**: [Task 3]
- **Description**: 
  - 修改 hasStringLiteral 的检测方式
  - 更新简单字符串字面量的判断逻辑，添加对内插字符串的支持
  - 确保内插字符串被正确识别为简单字符串字面量
- **Acceptance Criteria Addressed**: [AC-1, AC-2, AC-3, AC-4]
- **Test Requirements**:
  - `programmatic` TR-4.1: 内插字符串被正确识别为有字符串字面量
  - `programmatic` TR-4.2: 内插字符串被正确判断为简单字符串字面量

## [ ] Task 5: 运行并调试三个目标测试用例
- **Priority**: P0
- **Depends On**: [Task 4]
- **Description**: 
  - 运行测试，检查三个目标测试用例
  - 修复任何发现的问题
  - 确保 originalIndex 正确
- **Acceptance Criteria Addressed**: [AC-1, AC-2, AC-3]
- **Test Requirements**:
  - `programmatic` TR-5.1: should handle right value expression 测试通过
  - `programmatic` TR-5.2: should handle special characters in string 8 测试通过
  - `programmatic` TR-5.3: should handle assignment expression with both sides strings 测试通过

## [ ] Task 6: 运行完整测试套件，确保所有现有测试继续通过
- **Priority**: P0
- **Depends On**: [Task 5]
- **Description**: 
  - 运行完整的 Jest 测试套件
  - 检查并修复任何可能失败的现有测试
  - 确保没有引入新的问题
- **Acceptance Criteria Addressed**: [AC-4]
- **Test Requirements**:
  - `programmatic` TR-6.1: 所有 113+ 现有测试用例通过
