using Microsoft.CodeAnalysis; namespace GFramework.SourceGenerators.logging; /// /// 提供诊断描述符的静态类,用于GFramework日志生成器的编译时检查 /// internal static class LoggerDiagnostics { /// /// 定义诊断描述符:要求使用[Log]特性的类必须声明为partial /// /// /// 当类使用[Log]特性但未声明为partial时,编译器将报告此错误 /// public static readonly DiagnosticDescriptor MustBePartial = new( id: "GFLOG001", title: "Class must be partial", messageFormat: "Class '{0}' must be declared partial to use [Log]", category: "GFramework.Logging", DiagnosticSeverity.Error, isEnabledByDefault: true ); /// /// 定义诊断描述符:LogAttribute无法生成Logger的错误情况 /// public static readonly DiagnosticDescriptor LogAttributeInvalid = new( id: "GFW_LOG001", title: "LogAttribute cannot generate Logger", messageFormat: "LogAttribute on class '{0}' is ineffective: {1}", category: "GFramework.Godot.Logging", DiagnosticSeverity.Warning, isEnabledByDefault: true); }