3 Commits

Author SHA1 Message Date
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 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