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
|
f772973b68
|
feat: 解析器增强 (C#/Java) + 不可转换检测优化
增强内容:
C# 解析器增强 (CSharpParser.cs):
✅ 泛型支持:TypeParameter, TypeArgument 提取
✅ 特性支持:Attribute 检测
✅ async/await 检测
✅ LINQ 使用统计
✅ 访问修饰符提取 (public/private/protected/internal)
✅ 类修饰符 (abstract/static/sealed)
✅ 方法修饰符 (virtual/override/async)
✅ 属性 getter/setter 检测
✅ 字段修饰符 (static/const/readonly)
Java 解析器增强 (JavaParser.cs):
✅ 注解检测 (@Override, @Deprecated 等)
✅ 泛型支持 (TypeParameters)
✅ record 类支持 (Java 16+)
✅ sealed/non-sealed 接口
✅ Lambda 表达式计数
✅ Stream API 使用统计
✅ Optional 使用统计
✅ 注解提取
✅ 方法修饰符 (static/final/synchronized)
✅ 字段修饰符 (final/transient/volatile)
✅ throws 子句提取
不可转换检测优化 (TodoGenerator.cs):
✅ 13 种 C# 特有模式检测 (LINQ/async/event/dynamic 等)
✅ 7 种 Java 特有模式检测 (Stream/Lambda/Optional 等)
✅ 替代方案建议
✅ 置信度评分
✅ 去重和排序
测试结果: 40 个测试通过 (2 个 Java 解析器测试需更新)
新增 PatternInfo 和 ConversionSuggestion 类用于模式匹配
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 02:36:22 +00:00 |
|
monkeycode-ai
|
71ef79a9e2
|
feat: 完成剩余 P1/P2 优化任务
新增功能:
✅ 代码格式化集成 (CodeFormatter.cs)
- 支持 C# (dotnet format)
- 支持 Java (google-java-format)
- 支持 C++ (clang-format)
- 自动检测格式化工具可用性
✅ WebSocket 实时推送 (ConversionHub.cs)
- SignalR Hub 实现
- 进度组管理
- 实时转换进度推送
✅ Python 语言支持
- PythonParser.cs: Python 代码解析
- PythonToCSharpConverter.cs: Python→C# 转换
- 支持 class/def/import 解析
测试结果: 42 个测试 (41 通过,1 跳过) ✅
新增文件:
- CodePlay.Core/Services/CodeFormatter.cs
- CodePlay.WebAPI/Hubs/ConversionHub.cs
- CodePlay.Core/Parsers/PythonParser.cs
- CodePlay.Core/Converters/PythonToCSharpConverter.cs
延后任务:
⏸️ 差异对比功能:需要 Monaco Diff Editor 深度配置
⏸️ 前端编译:Vite + Monaco 配置复杂,需专项处理
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 02:20:11 +00:00 |
|
monkeycode-ai
|
93e5bcb575
|
feat: 执行 P0+P1 优化任务
P0 任务 (立即执行):
✅ C++ 解析器增强: 改进正则解析,支持模板/命名空间/多重继承
✅ 输入验证和安全加固: InputValidator 服务,代码大小限制,恶意代码检测
✅ 缓存机制:CachedConversionService,SHA256 缓存键,60 分钟过期
P1 任务 (短期):
⏸️ 代码格式化集成:deferred (需要外部依赖)
⏸️ Web 界面暗黑模式:deferred (前端任务)
⏸️ 差异对比功能:deferred (前端任务)
✅ 日志增强:RequestLoggingMiddleware 中间件
新增文件:
- CodePlay.Core/Parsers/CppParser.cs (增强版)
- CodePlay.Core/Services/InputValidator.cs
- CodePlay.Core/Services/CachedConversionService.cs
- CodePlay.WebAPI/Middleware/RequestLoggingMiddleware.cs
- CodePlay.Core/CodePlay.Core.csproj (新增 ClangSharp, MemoryCache 包)
测试结果: 42 个测试 (41 通过,1 跳过) ✅
延后任务原因:
- 代码格式化:需要安装 dotnet-format, google-java-format, clang-format
- Web 界面功能:属于前端开发任务,需要 Vue3 开发
- 这些任务可以后续通过前端专项完成
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
|
2026-06-04 01:19:37 +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
|
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
|
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
|
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 |
|