Skip to content

Commit 552d570

Browse files
committed
Add CompareReferenceInSameModule convenience properties
1 parent 532a392 commit 552d570

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/DotNet/SigComparer.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ public sealed class TypeEqualityComparer : IEqualityComparer<IType>, IEqualityCo
2121
/// </summary>
2222
public static readonly TypeEqualityComparer CaseInsensitive = new TypeEqualityComparer(SigComparerOptions.CaseInsensitiveAll);
2323

24+
/// <summary>
25+
/// Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
26+
/// </summary>
27+
public static readonly TypeEqualityComparer CompareReferenceInSameModule = new TypeEqualityComparer(SigComparerOptions.ReferenceCompareForMemberDefsInSameModule);
28+
2429
/// <summary>
2530
/// Constructor
2631
/// </summary>
@@ -96,6 +101,11 @@ public sealed class FieldEqualityComparer : IEqualityComparer<IField>, IEquality
96101
/// </summary>
97102
public static readonly FieldEqualityComparer CaseInsensitiveDontCompareDeclaringTypes = new FieldEqualityComparer(SigComparerOptions.CaseInsensitiveAll);
98103

104+
/// <summary>
105+
/// Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
106+
/// </summary>
107+
public static readonly FieldEqualityComparer CompareReferenceInSameModule = new FieldEqualityComparer(SigComparerOptions.ReferenceCompareForMemberDefsInSameModule);
108+
99109
/// <summary>
100110
/// Constructor
101111
/// </summary>
@@ -147,6 +157,11 @@ public sealed class MethodEqualityComparer : IEqualityComparer<IMethod>, IEquali
147157
/// </summary>
148158
public static readonly MethodEqualityComparer CaseInsensitiveDontCompareDeclaringTypes = new MethodEqualityComparer(SigComparerOptions.CaseInsensitiveAll);
149159

160+
/// <summary>
161+
/// Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
162+
/// </summary>
163+
public static readonly MethodEqualityComparer CompareReferenceInSameModule = new MethodEqualityComparer(SigComparerOptions.ReferenceCompareForMemberDefsInSameModule);
164+
150165
/// <summary>
151166
/// Constructor
152167
/// </summary>
@@ -210,6 +225,11 @@ public sealed class PropertyEqualityComparer : IEqualityComparer<PropertyDef> {
210225
/// </summary>
211226
public static readonly PropertyEqualityComparer CaseInsensitiveDontCompareDeclaringTypes = new PropertyEqualityComparer(SigComparerOptions.CaseInsensitiveAll);
212227

228+
/// <summary>
229+
/// Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
230+
/// </summary>
231+
public static readonly PropertyEqualityComparer CompareReferenceInSameModule = new PropertyEqualityComparer(SigComparerOptions.ReferenceCompareForMemberDefsInSameModule);
232+
213233
/// <summary>
214234
/// Constructor
215235
/// </summary>
@@ -249,6 +269,11 @@ public sealed class EventEqualityComparer : IEqualityComparer<EventDef> {
249269
/// </summary>
250270
public static readonly EventEqualityComparer CaseInsensitiveDontCompareDeclaringTypes = new EventEqualityComparer(SigComparerOptions.CaseInsensitiveAll);
251271

272+
/// <summary>
273+
/// Compares definitions in same module using reference comparison instead of comparing them by name, signature, etc.
274+
/// </summary>
275+
public static readonly EventEqualityComparer CompareReferenceInSameModule = new EventEqualityComparer(SigComparerOptions.ReferenceCompareForMemberDefsInSameModule);
276+
252277
/// <summary>
253278
/// Constructor
254279
/// </summary>

0 commit comments

Comments
 (0)