GFramework/GFramework.Godot.SourceGenerators/AnalyzerReleases.Unshipped.md
GeWuYou be928718e3 feat: 增强 AutoSceneGenerator 与 AutoRegisterExportedCollectionsGenerator 的验证与安全机制
### 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 → 仅生成一个源文件
2026-04-13 13:04:00 +08:00

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