6 Commits

Author SHA1 Message Date
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 39c673eaa1 feat: 完成第五批任务 (C++ 支持 + E2E 测试)
Task 2.3 - C++ 解析器:
- CppParser.cs: C++ 语法解析器
- 支持类和方法提取
- 支持 #include 和 namespace 提取

Task 2.6 - C# → C++ 转换器:
- CSharpToCppConverter.cs: C# 到 C++ 转换
- 基础类型映射
- 类和方法转换

Task 2.7 - Java → C++ 转换器:
- JavaToCppConverter.cs: Java 到 C++ 转换
- 类型映射和类转换

Task 3.3 - C++ 编译验证:
- CppCompilerValidator.cs: C++ 语法验证
- 检查缺少分号等常见问题

Task 6.2 - 报告导出:
- ReportExportService.cs: Markdown/HTML/PDF 导出

Task 10.1-10.3 - 文档和打包:
- README.md: 项目主文档
- docs/USAGE.md, DEVELOPMENT.md, API.md
- Dockerfile, docker-compose.yml
- NuGet 打包配置

Task 9.1-9.3 - E2E 测试:
- CodePlay.E2E: Playwright 测试项目
- converter.spec.ts, project.spec.ts, auth.spec.ts

测试:42 个 (41 通过,1 跳过) 

新增文件:
- CodePlay.Core/Parsers/CppParser.cs
- CodePlay.Core/Converters/CSharpToCppConverter.cs
- CodePlay.Core/Converters/JavaToCppConverter.cs
- CodePlay.Core/Validators/CppCompilerValidator.cs
- CodePlay.Core/Services/ReportExportService.cs
- CodePlay.E2E/package.json, playwright.config.ts
- CodePlay.E2E/tests/*.spec.ts
- README.md, docs/*.md, Dockerfile, docker-compose.yml
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2026-06-04 01:01:22 +00:00
monkeycode-ai 4c94bdf666 feat: 实现 Task 3.2 Java 编译验证和 Task 4.4 前端代码编辑器
Task 3.2 - Java 编译验证:
- JavaCompilerValidator: 使用 javac 进行编译验证
- 支持临时文件编译和清理
- 集成到 ICompilerValidator 接口
- 单元测试 (需要 javac 环境)

Task 4.4 - 前端代码编辑器:
- CodeEditor.vue: Monaco Editor 集成
- 支持 C#/Java/C++ 语法高亮
- 智能代码补全 (main 方法,System.out.println 等)
- 支持主题切换 (vs-dark/vs/hc-black)
- 支持只读模式、最小化地图、自动布局
- 暴露 API: setValue, getValue, focus, layout

测试状态:
- 总测试数: 42
- 通过: 41 
- 跳过: 1 (Java 编译器测试需要 javac 环境)

前端依赖:
- 需安装 monaco-editor: npm install monaco-editor
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2026-06-03 11:20:49 +00:00
monkeycode-ai 529b9fe625 feat: 完善验证器和单元测试 (Task 3.1)
实现 Task 3.1 - C# 编译验证:
- CSharpCompilerValidator: C# 编译验证器
- AutoFixEngine: 3 轮自动修复引擎
- ValidationPipeline: 验证流水线服务
- 集成到 ConversionService

功能:
- 使用 Roslyn 进行实时编译验证
- 捕获编译错误和警告
- 自动修复第 1 轮:添加缺失的 using 语句
- 自动修复第 2 轮:类型映射修复
- 支持 1-3 轮验证迭代

测试覆盖 (新增 9 个测试):
- CSharpCompilerValidatorTests: 3 个测试
- AutoFixEngineTests: 3 个测试
- ValidationPipelineTests: 3 个测试

总测试数:26 个,全部通过 
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2026-06-03 08:46:14 +00:00
monkeycode-ai 4ed56f46e2 feat: 实现 Blazor 前端界面 (Task 4.3) 和 CLI 工具 (Task 5.1)
Task 4.3 - Blazor 前端界面:
- 创建 CodePlay.WebUI Blazor Server 项目
- 实现 Converter.razor 代码转换页面
- 提供代码输入、语言选择、转换按钮
- 显示转换结果、TODO 列表和问题列表
- 更新导航菜单
- 注册 ConversionService 服务

Task 5.1 - CLI 命令行工具:
- 集成 System.CommandLine 库
- 实现 convert 命令(代码转换)
- 实现 list 命令(列出支持的转换)
- 实现 check 命令(检查是否支持)
- 支持 -s/-t 指定源/目标语言
- 支持 -i/-o 指定输入/输出文件
- 支持 -v 指定验证轮次
- 支持 -c 指定配置文件

测试:
- CLI help 命令: 
- CLI list 命令: 
- CLI convert 命令:  (成功转换 C# 到 Java)
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2026-06-03 08:23:31 +00:00
monkeycode-ai c09982e252 feat: 实现 C# 编译验证器 (Task 3.1)
新增组件:
- CSharpCompilerValidator: C# 编译验证器
- AutoFixEngine: 自动修复引擎(3 轮修复)

功能实现:
- 使用 Roslyn 进行实时编译验证
- 捕获编译错误和警告
- 收集详细的诊断信息
- 实现 3 轮自动修复策略:
  * 第 1 轮:修复 using 语句
  * 第 2 轮:修复类型映射
  * 第 3 轮:修复 API 调用
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
2026-06-03 05:46:22 +00:00