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
|
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
|
00570c129a
|
feat: 添加批量和目录转换功能
批量转换服务:
- BatchConversionService: 批量转换服务实现
- ConvertDirectoryAsync: 目录转换(递归所有子目录)
- ConvertFilesAsync: 多文件批量转换
- 保持原始目录结构
- 自动生成批量报告
CLI 工具增强:
- --batch/-b: 启用批量转换模式
- --recursive/-r: 递归处理子目录
- --verbose: 显示详细信息
- convert 命令自动检测目录/文件模式
批量转换结果:
- BatchConversionResult: 批量转换结果
- ConvertedFileInfo: 成功文件详情
- FailedFileInfo: 失败文件详情
- 统计:总数/成功/失败/耗时
测试覆盖:
- ConvertDirectoryAsync_ValidDirectory: 目录转换测试
- ConvertFilesAsync_MultipleFiles: 多文件测试
总计:40 个测试全部通过 ✅
使用示例:
# 转换整个目录
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -o ./output-java -b
# 递归转换(默认)
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -b -r true
# 详细输出
dotnet run --project CodePlay.CLI -- convert -s CSharp -t Java -i ./src -b --verbose
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 10:31:34 +00:00 |
|
monkeycode-ai
|
cca683f35c
|
feat: 实现 Java 完整解析器和不可转换语法处理 (Task 2.2, 2.8)
Task 2.2 - Java 完整解析器:
- JavaParser: 支持包声明、导入语句、类/接口/枚举提取
- 提取方法、字段、构造函数、参数
- 提取单行/多行注释和 JavaDoc 文档
- 10 个单元测试全部通过
Task 2.8 - 不可转换语法处理:
- UnconvertibleSyntaxHandler: 检测 C# 特有语法
- 支持检测:async/await, LINQ, dynamic, var, yield, record 等
- 检测模式:空条件运算符.?,空合并??, 字符串插值$等
- 转换可行性评估:置信度评分和努力程度估算
- 自动生成 TODO 注释标记
- 3 个单元测试通过
Task 4.2 - API 认证:
- AuthController: JWT 认证端点 (login, refresh, me)
- Program.cs: JWT Bearer 认证配置
- Swagger 集成认证支持
总计:39 个测试全部通过 ✅
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 09:21:55 +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
|
dd02c3a053
|
feat: 实现 Java → C# 转换器 (Task 2.5)
新增组件:
- JavaToCSharpStrategy: Java 到 C# 转换策略
- JavaToCSharpConverter: Java 到 C# 转换器
- JavaParser: Java 简化解析器(基于文本处理)
- CSharpCodeGenerator: C# 代码生成器
功能实现:
- 18 种类型映射(Java → C#)
- package → namespace 转换
- import → using 转换
- JavaDoc → XML Doc 转换
- Stream API 检测并添加 TODO
- CompletableFuture 检测并添加 TODO
测试覆盖:
- 添加 4 个 JavaToCSharpConverterTests 测试用例
- 总测试数 17 个,全部通过
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 05:45:23 +00:00 |
|
monkeycode-ai
|
ae4de8a116
|
feat: 完成 C# 解析器测试、C# 转 Java 转换器和 Web API 控制器
核心功能实现:
- 实现 CSharpToJavaStrategy 转换策略(包含类型映射)
- 实现 CSharpToJavaConverter 转换器
- 实现 JavaCodeGenerator 代码生成器
- 实现 ConversionService 转换服务
- 实现 ConversionController Web API 控制器
- 注册 Swagger 文档和依赖注入
测试覆盖:
- CSharpParserTests: 8 个测试用例
- CSharpToJavaConverterTests: 5 个测试用例
- 共 13 个测试全部通过
任务完成:
- Task 1.2: 配置项目依赖
- Task 1.3: 建立基础架构
- Task 2.1: 实现 C# 解析器和测试
- Task 2.4: 实现 C# → Java 转换器
- Task 4.1: 创建 ASP.NET Core Web API
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 04:13:35 +00:00 |
|
monkeycode-ai
|
a0971cf974
|
feat: 完成 CodePlay 项目初始化和核心解析器实现
- 创建 CodePlay 解决方案和 4 个项目 (Core, Web, CLI, Tests)
- 实现核心数据模型 (ConversionRequest, ConversionResult, Project 等)
- 实现核心接口 (IParser, IConverter, ICodeGenerator 等)
- 实现基础抽象类 BaseParser
- 实现 CSharpParser 解析器 (基于 Roslyn)
- 添加 Microsoft.CodeAnalysis.CSharp NuGet 包
- 所有代码编译通过
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-03 02:57:13 +00:00 |
|