From fb2436ef2e5ba9b5c16c7f0fdc948fc6d1faf8b5 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 25 Jun 2020 14:47:54 -0700 Subject: The Great Tuple to Symbol File Rename (tm) --- .../Link/IntermediateSymbolExtensions.cs | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/WixToolset.Core/Link/IntermediateSymbolExtensions.cs (limited to 'src/WixToolset.Core/Link/IntermediateSymbolExtensions.cs') diff --git a/src/WixToolset.Core/Link/IntermediateSymbolExtensions.cs b/src/WixToolset.Core/Link/IntermediateSymbolExtensions.cs new file mode 100644 index 00000000..db53f1ce --- /dev/null +++ b/src/WixToolset.Core/Link/IntermediateSymbolExtensions.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixToolset.Core.Link +{ + using WixToolset.Data; + + internal static class IntermediateSymbolExtensions + { + public static bool IsIdentical(this IntermediateSymbol first, IntermediateSymbol second) + { + var identical = (first.Definition.Type == second.Definition.Type && + first.Definition.Name == second.Definition.Name && + first.Definition.FieldDefinitions.Length == second.Definition.FieldDefinitions.Length); + + for (int i = 0; identical && i < first.Definition.FieldDefinitions.Length; ++i) + { + var firstField = first[i]; + var secondField = second[i]; + + identical = (firstField.AsString() == secondField.AsString()); + } + + return identical; + } + } +} -- cgit v1.2.3-55-g6feb