main
cs 26 lines 1.08 KB
Raw
1 // 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.
2
3 namespace WixToolset.Core.Link
4 {
5 using WixToolset.Data;
6
7 internal static class IntermediateSymbolExtensions
8 {
9 public static bool IsIdentical(this IntermediateSymbol first, IntermediateSymbol second)
10 {
11 var identical = (first.Definition.Type == second.Definition.Type &&
12 (first.Definition.Type != SymbolDefinitionType.MustBeFromAnExtension || first.Definition.Name == second.Definition.Name) &&
13 first.Definition.FieldDefinitions.Length == second.Definition.FieldDefinitions.Length);
14
15 for (var i = 0; identical && i < first.Definition.FieldDefinitions.Length; ++i)
16 {
17 var firstField = first[i];
18 var secondField = second[i];
19
20 identical = (firstField.AsString() == secondField.AsString());
21 }
22
23 return identical;
24 }
25 }
26 }