mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 定义了 Godot 源代码生成器的诊断规则表格 - 添加了上下文获取生成器的全面单元测试 - 实现了自动生成行为和注册导出集合的诊断功能 - 配置了全局 using 语句简化代码生成器实现 - 添加了完整的分析器发布跟踪文档记录新规则
41 lines
1.5 KiB
C#
41 lines
1.5 KiB
C#
using GFramework.SourceGenerators.Common.Constants;
|
|
|
|
namespace GFramework.Godot.SourceGenerators.Diagnostics;
|
|
|
|
internal static class AutoRegisterExportedCollectionsDiagnostics
|
|
{
|
|
private const string Category = $"{PathContests.GodotNamespace}.SourceGenerators.Registration";
|
|
|
|
public static readonly DiagnosticDescriptor NestedClassNotSupported = new(
|
|
"GF_AutoExport_001",
|
|
"AutoRegisterExportedCollections does not support nested classes",
|
|
"AutoRegisterExportedCollections does not support nested class '{0}'",
|
|
Category,
|
|
DiagnosticSeverity.Error,
|
|
true);
|
|
|
|
public static readonly DiagnosticDescriptor RegistryMemberNotFound = new(
|
|
"GF_AutoExport_002",
|
|
"Registry member was not found",
|
|
"Member '{0}' referenced by exported collection '{1}' was not found on '{2}'",
|
|
Category,
|
|
DiagnosticSeverity.Error,
|
|
true);
|
|
|
|
public static readonly DiagnosticDescriptor RegisterMethodNotFound = new(
|
|
"GF_AutoExport_003",
|
|
"Register method was not found",
|
|
"Method '{0}' was not found on registry member '{1}' for exported collection '{2}'",
|
|
Category,
|
|
DiagnosticSeverity.Error,
|
|
true);
|
|
|
|
public static readonly DiagnosticDescriptor CollectionTypeMustBeEnumerable = new(
|
|
"GF_AutoExport_004",
|
|
"Exported collection must be enumerable",
|
|
"Member '{0}' must be enumerable to use RegisterExportedCollection",
|
|
Category,
|
|
DiagnosticSeverity.Error,
|
|
true);
|
|
}
|