Prerelease Changelog
- Changed
Enum.GetName-Generator
suppressing duplicate method declarations when anotherGeneratedEnumGetNameAttribute
has the same enum type argument. - Changed
Enum.IsDefined-Generator
suppressing duplicate method declarations when anotherGeneratedEnumIsDefinedAttribute
has the same enum type argument. - Changed
Enum-Interceptor-Generator
requirement from C# 12.0 to C# 11.0- emit a regular constructor instead of a primary constructor for the (experimental) Interceptors Attribute
- consolidate required language version across all Generators (C# 11.0)
- align with required minimum .NET 7.0 SDK, where the TFM
net7.0
uses11.0
as defaultLangVersion
- Changed
Enum-Interceptor-Generator
to suppress adding the generated document when no target Enum-Method-Invocations are found. - Changed
Enum-Interceptor-Generator
to emit eachSystem.Enum
specialization only once, but with one or more Interceptor-Attributes instead. - Fixed InvalidOperationException in
Enum.GetName-Generator
when the type argument ofGeneratedEnumGetNameAttribute
is of error kind. - Fixed InvalidOperationException in
Enum.IsDefined-Generator
when the type argument ofGeneratedEnumIsDefinedAttribute
is of error kind. - Fixed ArgumentException in
Enum.GetName-Generator
when multiple partial class type declarations have at least oneGeneratedEnumGetNameAttribute
. - Fixed ArgumentException in
Enum.IsDefined-Generator
when multiple partial class type declarations have at least oneGeneratedEnumIsDefinedAttribute
. - Fixed
Enum.GetName-Generator
generating invalid C# source when the type argument ofGeneratedEnumGetNameAttribute
is not an enum type. - Fixed
Enum.IsDefined-Generator
generating invalid C# source when the type argument ofGeneratedEnumIsDefinedAttribute
is not an enum type.
- Added documentation to
README.md
.
1.0.0-prerelease.0 - 2023-11-16
- Added
Enum.GetName-Generator
(C# only)- generates a specialized
static string? GetName(TEnum)
method group - via
FlashOWare.Generators.GeneratedEnumGetNameAttribute<TEnum>
- generates a specialized
- Added
Enum.IsDefined-Generator
(C# only)- generates a specialized
static bool IsDefined(TEnum)
method group - via
FlashOWare.Generators.GeneratedEnumIsDefinedAttribute<TEnum>
- generates a specialized
- Added
Enum-Interceptor-Generator
(C# only)- generates experimental Interceptors
- for
System.Enum.GetName<TEnum>(TEnum)
method invocations - for
System.Enum.IsDefined<TEnum>(TEnum)
method invocations
- for
- generates experimental Interceptors
- Added generic Attribute
FlashOWare.Generators.GeneratedEnumGetNameAttribute<TEnum>
- used by
Enum.GetName-Generator
- used by
- Added generic Attribute
FlashOWare.Generators.GeneratedEnumIsDefinedAttribute<TEnum>
- used by
Enum.IsDefined-Generator
- used by
- Added
FlashOWare.Generators
(as Analyzers) targeting .NET Standard 2.0. - Added
FlashOWare.Generators.Attributes
(as Library) targeting .NET Standard 2.0. - Added
FlashOWare.Generators.props
- empty
- Added
FlashOWare.Generators.targets
- sets Property
InterceptorsPreviewNamespaces
to$(InterceptorsPreviewNamespaces);FlashOWare.Generated
- sets Property