monkeycode-ai
|
db536cfb2c
|
feat: CodePlay 第二阶段优化 - 转换质量与特性完善
核心修复:
- 修复 LinqToStreamConverter 13 个正则双反斜杠转义错误 (87→0 失败)
- 修复 InheritanceConverter 接口判断逻辑 (纯 I 前缀父类→implements)
- 修复 PropertyConverter init-only 属性组索引
新增转换器 (C# 8-13 特性):
- NullCoalescingConverter: ??、?.、??= 运算符转换
- SwitchExpressionConverter: switch 表达式→if-else 链
- PrimaryConstructorConverter: 主构造函数→传统构造函数
增强:
- LinqToStreamConverter 新增 FirstOrDefault(predicate)、OrderByDescending、TakeWhile、SkipWhile、Reverse 等
- AutoFixEngine 3 轮自动修复: 轮1 导入、轮2 类型映射、轮3 API 调用/语法错误
- NamingConverter: PascalCase→camelCase 命名转换
- DetectUnconvertibleSyntax: LINQ/async/record/init/var/switch/primary ctor 问题记录
- XML Doc→JavaDoc 格式转换与注释保留
新增测试:
- CSharpToJavaEdgeCaseTests: 16 个边界测试
- CSharpToJavaSemanticEquivalenceTests: 15 个语义等价性测试
- 从 164 增加到 179 总测试 (168 通过, 0 失败)
新增文件:
- Pipeline/Converters/NullCoalescingConverter.cs
- Pipeline/Converters/SwitchExpressionConverter.cs
- Pipeline/Converters/PrimaryConstructorConverter.cs
- Converters/CSharpToCppStrategy.cs + CppCodeGenerator.cs
- Tests/Semantics/CSharpToJavaSemanticEquivalenceTests.cs
- Tests/CSharpAdvancedFeaturesTests.cs + CSharp13FeatureTests.cs
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-16 07:08:11 +00:00 |
|
monkeycode-ai
|
6745fba6ba
|
feat: 完成第一批高优先级任务 (Task 4.5, 4.7, 7.3)
Task 4.5 - 转换界面完善:
- ConverterView.vue: 完整转换界面
- 集成 Monaco Editor 代码编辑器
- 语言选择器 (C#/Java)
- 验证轮次选择 (1-3 轮)
- 转换结果显示
- 转换报告弹窗 (TODO 和问题)
- 光标位置显示
- 复制结果功能
- 状态栏统计
Task 4.7 - 项目管理界面:
- ProjectView.vue: 项目管理页面
- 项目列表展示
- 新建项目对话框
- 项目详情和转换历史
- 项目删除功能
- 路由配置更新
Task 7.3 - 数据库持久化:
- CodePlay.Persistence 项目创建
- AppDbContext: SQLite DbContext
- ConversionReport 和 ProjectInfo 数据模型
- DatabaseStorageService: IReportStorageService 实现
- 支持报告存储、查询、删除
- 统计信息聚合
- AddPersistence 扩展方法
测试:42 个测试(41 通过,1 跳过)✅
新增文件:
- CodePlay.Web/src/views/ConverterView.vue
- CodePlay.Web/src/views/ProjectView.vue
- CodePlay.Persistence/AppDbContext.cs
- CodePlay.Persistence/DatabaseStorageService.cs
- CodePlay.Web/src/router/index.ts (更新)
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 00:38:53 +00:00 |
|