GFramework/GFramework.SourceGenerators.Common
gewuyou 1d5404e206 docs(documentation-governance): 收口数据与 UI 文档措辞
- 更新 Game 数据与存储页面、Godot UI 页面中的 reader-facing 说明,移除内部证据口吻、外部项目指代和生硬导流

- 更新 CQRS 抽象层与 SourceGenerators.Common README 的标签表述,避免暴露源文件路径列表和实现级打包术语

- 补充 documentation-full-coverage-governance 的 RP-050 恢复点、验证结果与 origin/main stop-condition 计量
2026-04-29 13:36:07 +08:00
..

GFramework.SourceGenerators.Common

GFramework.SourceGenerators.CommonGFramework 多个源码生成器共享的公共支撑目录。它不是独立推广的运行时或 生成器采用入口,而是跟随各个 *.SourceGenerators 模块一起演化的内部基础设施。

目录定位

这个目录当前主要承载三类公共能力:

  • 生成器基类
    • 例如 AttributeClassGeneratorBaseAttributeEnumGeneratorBaseMetadataAttributeClassGeneratorBase
  • 共享诊断
    • 例如 Diagnostics/CommonDiagnostics.cs
  • 共享符号与冲突处理
    • 例如 Extensions/GeneratedMethodConflictExtensions.cs

如果你在 CoreCQRSGameGodot 侧生成器里看到相似的诊断或生成冲突语义,通常就是这里在统一约束。

与相邻模块的关系

  • GFramework.Core.SourceGenerators
    • 复用这里的生成器基类和部分通用 diagnostics。
  • GFramework.Cqrs.SourceGenerators
    • 以这里作为编译期公共依赖,并把公共 DLL 一起打进 analyzer 包。
  • GFramework.Godot.SourceGenerators
    • 同样复用这里的公共实现和共享约束。

这个目录不会单独作为消费包提供。对 NuGet 使用者来说,更实际的入口仍然是具体的 GeWuYou.GFramework.*.SourceGenerators 包。

什么时候需要读这里

  • 你在排查多个生成器共有的 diagnostics
  • 你想确认“为什么不同生成器对命名冲突采用同一套规则”
  • 你在扩展或维护生成器,而不是只消费它们

如果你的目标只是“选包并开始使用”,优先回到对应生成器模块 README 和文档专题页。

继续阅读