Skip to content

Commit f47f288

Browse files
Rename MemberEqualityComparerAttribute to MemberEqualityComparer2Attribute
- Updated class definition from MemberEqualityComparerAttribute<T, TMember> to MemberEqualityComparer2Attribute<T, TMember> - Updated string literal in TypeSymbolExtensions.cs source generator logic - Updated all usage in samples and test files - Updated obsolete attribute message to reference new name 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Pawel Gerr <PawelGerr@users.noreply.github.com>
1 parent e8d61b2 commit f47f288

6 files changed

Lines changed: 15 additions & 15 deletions

File tree

samples/Basic.Samples/ValueObjects/ComplexValueObjectWithCustomEqualityComparison.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace Thinktecture.ValueObjects;
55
[ComplexValueObject(SkipToString = true, DefaultStringComparison = StringComparison.OrdinalIgnoreCase)]
66
public partial class ComplexValueObjectWithCustomEqualityComparison
77
{
8-
[MemberEqualityComparer<ComparerAccessors.StringOrdinal, string>]
8+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinal, string>]
99
public string Identifier { get; }
1010

1111
public string Name { get; } // unused in comparisons

src/Thinktecture.Runtime.Extensions.SourceGenerator/Extensions/TypeSymbolExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public static bool IsMemberEqualityComparerAttribute(this ITypeSymbol? attribute
214214
if (attributeType is null || attributeType.TypeKind == TypeKind.Error)
215215
return false;
216216

217-
return attributeType is { Name: "MemberEqualityComparerAttribute" or "ValueObjectMemberEqualityComparerAttribute", ContainingNamespace: { Name: "Thinktecture", ContainingNamespace.IsGlobalNamespace: true } };
217+
return attributeType is { Name: "MemberEqualityComparer2Attribute" or "ValueObjectMemberEqualityComparerAttribute", ContainingNamespace: { Name: "Thinktecture", ContainingNamespace.IsGlobalNamespace: true } };
218218
}
219219

220220
public static bool IsMemberIgnoreAttribute(this ITypeSymbol? attributeType)

src/Thinktecture.Runtime.Extensions/MemberEqualityComparerAttribute.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace Thinktecture;
44
/// Marks the member for equality comparison and provides an <see cref="IEqualityComparer{T}"/>.
55
/// </summary>
66
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
7-
[Obsolete("Use 'MemberEqualityComparerAttribute' instead.")]
7+
[Obsolete("Use 'MemberEqualityComparer2Attribute' instead.")]
88
// ReSharper disable once UnusedTypeParameter
99
public sealed class ValueObjectMemberEqualityComparerAttribute<T, TMember> : Attribute
1010
where T : IEqualityComparerAccessor<TMember>;
@@ -14,5 +14,5 @@ public sealed class ValueObjectMemberEqualityComparerAttribute<T, TMember> : Att
1414
/// </summary>
1515
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
1616
// ReSharper disable once UnusedTypeParameter
17-
public sealed class MemberEqualityComparerAttribute<T, TMember> : Attribute
17+
public sealed class MemberEqualityComparer2Attribute<T, TMember> : Attribute
1818
where T : IEqualityComparerAccessor<TMember>;

test/Thinktecture.Runtime.Extensions.SourceGenerator.Tests/AnalyzerAndCodeFixTests/TTRESG049_ComplexValueObjectWithStringMembersNeedsDefaultEqualityComparer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ namespace TestNamespace
7979
[ComplexValueObject]
8080
public partial class {|#0:TestValueObject|}
8181
{
82-
[MemberEqualityComparer<ComparerAccessors.StringOrdinal, string>]
82+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinal, string>]
8383
public string Property { get; }
8484
}
8585
}

test/Thinktecture.Runtime.Extensions.SourceGenerator.Tests/SourceGeneratorTests/ObjectFactorySourceGeneratorTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,10 @@ namespace Thinktecture.Tests
151151
[ObjectFactory<string>]
152152
public partial class TestValueObject
153153
{
154-
[MemberEqualityComparer<ComparerAccessors.StringOrdinal, string>]
154+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinal, string>]
155155
public readonly string _stringValue;
156156
157-
[MemberEqualityComparer<ComparerAccessors.Default<int>, int>]
157+
[MemberEqualityComparer2<ComparerAccessors.Default<int>, int>]
158158
public readonly int _intValue;
159159
160160
public string ReferenceProperty { get; }
@@ -205,10 +205,10 @@ namespace Thinktecture.Tests
205205
[ObjectFactory<string>(UseForSerialization = SerializationFrameworks.All)]
206206
public partial class TestValueObject
207207
{
208-
[MemberEqualityComparer<ComparerAccessors.StringOrdinalIgnoreCase, string>]
208+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinalIgnoreCase, string>]
209209
public readonly string _stringValue;
210210
211-
[MemberEqualityComparer<ComparerAccessors.Default<int>, int>]
211+
[MemberEqualityComparer2<ComparerAccessors.Default<int>, int>]
212212
public readonly int _intValue;
213213
214214
public string ReferenceProperty { get; }

test/Thinktecture.Runtime.Extensions.SourceGenerator.Tests/SourceGeneratorTests/ValueObjectSourceGeneratorTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -887,10 +887,10 @@ namespace Thinktecture.Tests
887887
[ComplexValueObject]
888888
public partial class TestValueObject
889889
{
890-
[MemberEqualityComparer<ComparerAccessors.StringOrdinal, string>]
890+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinal, string>]
891891
public readonly string _stringValue;
892892
893-
[MemberEqualityComparer<ComparerAccessors.Default<int>, int>]
893+
[MemberEqualityComparer2<ComparerAccessors.Default<int>, int>]
894894
public readonly int _intValue;
895895
896896
public string ReferenceProperty { get; }
@@ -939,10 +939,10 @@ namespace Thinktecture.Tests
939939
[ObjectFactory<string>]
940940
public partial class TestValueObject
941941
{
942-
[MemberEqualityComparer<ComparerAccessors.StringOrdinal, string>]
942+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinal, string>]
943943
public readonly string _stringValue;
944944
945-
[MemberEqualityComparer<ComparerAccessors.Default<int>, int>]
945+
[MemberEqualityComparer2<ComparerAccessors.Default<int>, int>]
946946
public readonly int _intValue;
947947
948948
public string ReferenceProperty { get; }
@@ -992,10 +992,10 @@ namespace Thinktecture.Tests
992992
[ObjectFactory<string>(UseForSerialization = SerializationFrameworks.All)]
993993
public partial class TestValueObject
994994
{
995-
[MemberEqualityComparer<ComparerAccessors.StringOrdinalIgnoreCase, string>]
995+
[MemberEqualityComparer2<ComparerAccessors.StringOrdinalIgnoreCase, string>]
996996
public readonly string _stringValue;
997997
998-
[MemberEqualityComparer<ComparerAccessors.Default<int>, int>]
998+
[MemberEqualityComparer2<ComparerAccessors.Default<int>, int>]
999999
public readonly int _intValue;
10001000
10011001
public string ReferenceProperty { get; }

0 commit comments

Comments
 (0)