Skip to content

Commit cfcd770

Browse files
committed
Simplify target grouping comparer
Replace the custom `TargetNameExtensionComparer` type in `VerifyEngine` with an inline `EqualityComparer<Target>.Create(...)` instance. This keeps the grouping behavior the same while reducing dedicated comparer boilerplate.
1 parent 641afe6 commit cfcd770

1 file changed

Lines changed: 3 additions & 11 deletions

File tree

src/Verify/Verifier/VerifyEngine.cs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ async Task Inner(FilePair file, Target target)
8282
HandleCompareResult(result, file);
8383
}
8484

85-
foreach (var group in targetList.GroupBy(_ => _, TargetNameExtensionComparer.Instance))
85+
foreach (var group in targetList.GroupBy(_ => _, targetNameExtensionComparer))
8686
{
8787
var targets = group.ToList();
8888
if (targets.Count == 1)
@@ -296,14 +296,6 @@ async Task<bool> ProcessNew()
296296
static void AcceptChanges(in FilePair file) =>
297297
File.Move(file.ReceivedPath, file.VerifiedPath, true);
298298

299-
private sealed class TargetNameExtensionComparer : IEqualityComparer<Target>
300-
{
301-
public static readonly TargetNameExtensionComparer Instance = new();
302-
303-
public bool Equals(Target x, Target y) =>
304-
(x.Name ?? "") == (y.Name ?? "") && x.Extension == y.Extension;
305-
306-
public int GetHashCode(Target obj) =>
307-
(obj.Name ?? "", obj.Extension).GetHashCode();
308-
}
299+
static readonly IEqualityComparer<Target> targetNameExtensionComparer =
300+
EqualityComparer<Target>.Create(_ => (_.Name ?? "", _.Extension));
309301
}

0 commit comments

Comments
 (0)