GFramework/GFramework.SourceGenerators/Diagnostics/ContextRegistrationDiagnostics.cs
GeWuYou c5a33ed571 docs(source-generators): 添加源代码生成器文档和测试项目配置
- 新增 Context Get 注入生成器详细文档,包含使用示例和诊断信息
- 添加源代码生成器总览文档,涵盖 Log、Config Schema、ContextAware 等功能
- 配置测试项目 GFramework.SourceGenerators.Tests 的项目文件和依赖
- 生成器诊断规则新增至 Unshipped 分析器发布跟踪文件
2026-04-03 23:48:24 +08:00

45 lines
1.8 KiB
C#

using GFramework.SourceGenerators.Common.Constants;
namespace GFramework.SourceGenerators.Diagnostics;
/// <summary>
/// 提供 Context Get 注册可见性分析相关诊断。
/// </summary>
public static class ContextRegistrationDiagnostics
{
private const string SourceGeneratorsRuleCategory = $"{PathContests.SourceGeneratorsPath}.Rule";
/// <summary>
/// 当模型使用点在所属架构中找不到静态可见注册时报告。
/// </summary>
public static readonly DiagnosticDescriptor ModelRegistrationMissing = new(
"GF_ContextRegistration_001",
"Model usage has no statically discoverable registration",
"Model '{0}' used by '{1}' is not statically registered in architecture '{2}'",
SourceGeneratorsRuleCategory,
DiagnosticSeverity.Warning,
true);
/// <summary>
/// 当系统使用点在所属架构中找不到静态可见注册时报告。
/// </summary>
public static readonly DiagnosticDescriptor SystemRegistrationMissing = new(
"GF_ContextRegistration_002",
"System usage has no statically discoverable registration",
"System '{0}' used by '{1}' is not statically registered in architecture '{2}'",
SourceGeneratorsRuleCategory,
DiagnosticSeverity.Warning,
true);
/// <summary>
/// 当工具使用点在所属架构中找不到静态可见注册时报告。
/// </summary>
public static readonly DiagnosticDescriptor UtilityRegistrationMissing = new(
"GF_ContextRegistration_003",
"Utility usage has no statically discoverable registration",
"Utility '{0}' used by '{1}' is not statically registered in architecture '{2}'",
SourceGeneratorsRuleCategory,
DiagnosticSeverity.Warning,
true);
}