mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
### AutoSceneGenerator
- 引入保留成员名称集合(GeneratedMemberNames),包含:
- SceneKeyStr
- __autoSceneBehavior_Generated
- 实现 ReportGeneratedMemberConflicts 方法:
- 检测用户定义成员与生成成员冲突
- 提供清晰的诊断信息
- 在生成流程中集成冲突检测,避免重复成员导致的编译错误
### AutoRegisterExportedCollectionsGenerator
- 增强集合注册生成器的验证逻辑:
- 新增诊断 GF_AutoExport_006:导出集合成员必须为实例可读成员
- 新增诊断 GF_AutoExport_007:注册表成员必须为实例可读成员
- 实现 IsInstanceReadableMember 方法:
- 校验成员为非静态字段或可读属性
- 修复符号访问性检查:
- 确保注册方法对所有者类型可访问
- 优化生成逻辑:
- 过滤重复的部分类声明,仅生成一次源码
### Tests
- AutoSceneGenerator
- 覆盖保留成员冲突场景:
- SceneKeyStr 冲突
- __autoSceneBehavior_Generated 冲突
- AutoRegisterExportedCollectionsGenerator
- 覆盖完整验证逻辑:
- 不可读成员 → GF_AutoExport_006 / 007
- 方法不可访问 → GF_AutoExport_003
- 多个 partial class → 仅生成一个源文件
4.0 KiB
4.0 KiB
; Unshipped analyzer release ; https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md
New Rules
| Rule ID | Category | Severity | Notes |
|---|---|---|---|
| GF_Godot_GetNode_001 | GFramework.Godot | Error | GetNodeDiagnostics |
| GF_Godot_GetNode_002 | GFramework.Godot | Error | GetNodeDiagnostics |
| GF_Godot_GetNode_003 | GFramework.Godot | Error | GetNodeDiagnostics |
| GF_Godot_GetNode_004 | GFramework.Godot | Error | GetNodeDiagnostics |
| GF_Godot_GetNode_005 | GFramework.Godot | Error | GetNodeDiagnostics |
| GF_Godot_GetNode_006 | GFramework.Godot | Warning | GetNodeDiagnostics |
| GF_Godot_BindNodeSignal_001 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_002 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_003 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_004 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_005 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_006 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_007 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_008 | GFramework.Godot | Warning | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_009 | GFramework.Godot | Warning | BindNodeSignalDiagnostics |
| GF_Godot_BindNodeSignal_010 | GFramework.Godot | Error | BindNodeSignalDiagnostics |
| GF_AutoBehavior_001 | GFramework.Godot.SourceGenerators.Behavior | Error | AutoBehaviorDiagnostics |
| GF_AutoBehavior_002 | GFramework.Godot.SourceGenerators.Behavior | Error | AutoBehaviorDiagnostics |
| GF_AutoBehavior_003 | GFramework.Godot.SourceGenerators.Behavior | Error | AutoBehaviorDiagnostics |
| GF_AutoBehavior_004 | GFramework.Godot.SourceGenerators.Behavior | Error | AutoBehaviorDiagnostics |
| GF_AutoExport_001 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |
| GF_AutoExport_002 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |
| GF_AutoExport_003 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |
| GF_AutoExport_004 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |
| GF_AutoExport_005 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |
| GF_AutoExport_006 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |
| GF_AutoExport_007 | GFramework.Godot.SourceGenerators.Registration | Error | AutoRegisterExportedCollectionsDiagnostics |