Files
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

53 lines
3.4 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodePlay.Core", "CodePlay.Core\CodePlay.Core.csproj", "{8A4D5D0E-9F3B-4D6E-8F2A-1C3D5E7F9A0B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodePlay.Persistence", "CodePlay.Persistence\CodePlay.Persistence.csproj", "{9B5E6E1F-0A4C-5E7F-9A3B-2D4E6F8A1C3D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodePlay.WebAPI", "CodePlay.WebAPI\CodePlay.WebAPI.csproj", "{0C6F7F2A-1B5D-6F8A-0B4C-3E5F7A9B2D4E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodePlay.CLI", "CodePlay.CLI\CodePlay.CLI.csproj", "{FA101DCD-3B12-492D-90A0-5E38B0F07490}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodePlay.Tests", "CodePlay.Tests\CodePlay.Tests.csproj", "{1D7A8B3C-2E6F-7A9B-1C5D-4F6A8B2C4E5F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodePlay.WebUI", "CodePlay.WebUI\CodePlay.WebUI.csproj", "{8D9840AE-AAE5-4D83-8470-6394687DC142}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8A4D5D0E-9F3B-4D6E-8F2A-1C3D5E7F9A0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A4D5D0E-9F3B-4D6E-8F2A-1C3D5E7F9A0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A4D5D0E-9F3B-4D6E-8F2A-1C3D5E7F9A0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A4D5D0E-9F3B-4D6E-8F2A-1C3D5E7F9A0B}.Release|Any CPU.Build.0 = Release|Any CPU
{9B5E6E1F-0A4C-5E7F-9A3B-2D4E6F8A1C3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9B5E6E1F-0A4C-5E7F-9A3B-2D4E6F8A1C3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B5E6E1F-0A4C-5E7F-9A3B-2D4E6F8A1C3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B5E6E1F-0A4C-5E7F-9A3B-2D4E6F8A1C3D}.Release|Any CPU.Build.0 = Release|Any CPU
{0C6F7F2A-1B5D-6F8A-0B4C-3E5F7A9B2D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C6F7F2A-1B5D-6F8A-0B4C-3E5F7A9B2D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C6F7F2A-1B5D-6F8A-0B4C-3E5F7A9B2D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C6F7F2A-1B5D-6F8A-0B4C-3E5F7A9B2D4E}.Release|Any CPU.Build.0 = Release|Any CPU
{FA101DCD-3B12-492D-90A0-5E38B0F07490}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA101DCD-3B12-492D-90A0-5E38B0F07490}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA101DCD-3B12-492D-90A0-5E38B0F07490}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA101DCD-3B12-492D-90A0-5E38B0F07490}.Release|Any CPU.Build.0 = Release|Any CPU
{1D7A8B3C-2E6F-7A9B-1C5D-4F6A8B2C4E5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D7A8B3C-2E6F-7A9B-1C5D-4F6A8B2C4E5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D7A8B3C-2E6F-7A9B-1C5D-4F6A8B2C4E5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D7A8B3C-2E6F-7A9B-1C5D-4F6A8B2C4E5F}.Release|Any CPU.Build.0 = Release|Any CPU
{8D9840AE-AAE5-4D83-8470-6394687DC142}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D9840AE-AAE5-4D83-8470-6394687DC142}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D9840AE-AAE5-4D83-8470-6394687DC142}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D9840AE-AAE5-4D83-8470-6394687DC142}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal