// ReSharper disable ClassNeverInstantiated.Global // ReSharper disable once RedundantNullableDirective #nullable enable namespace Terminal.Gui.Analyzers.Internal.Attributes; /// Assembly attribute declaring a known pairing of an type to an extension class. /// This attribute should only be written by internal source generators for Terminal.Gui. No other usage of any kind is supported. [System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class AssemblyExtendedEnumTypeAttribute : System.Attribute { /// Creates a new instance of from the provided parameters. /// The of an decorated with a . /// The of the decorated with an referring to the same type as . public AssemblyExtendedEnumTypeAttribute (System.Type enumType, System.Type extensionClass) { EnumType = enumType; ExtensionClass = extensionClass; } ///An type that has been extended by Terminal.Gui source generators. public System.Type EnumType { get; init; } ///A class containing extension methods for . public System.Type ExtensionClass { get; init; } /// public override string ToString () => $"{EnumType.Name},{ExtensionClass.Name}"; }