Move SymbolWithSection to internal implementation detail of Core
Rob Mensching committed
Jul 21, 2020 at 14:21 UTC
e2b9ee292ecb8fd23843f815600817cba7438b2a
1 file changed
-90
src/WixToolset.Data/SymbolWithSection.cs
deleted
-90
@@ -1,90 +0,0 @@
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.Data
4
-{
5
- using System;
6
- using System.Collections.Generic;
7
- using System.Linq;
8
-
9
- /// <summary>
10
- /// Symbol with section representing a single unique symbol.
11
- /// </summary>
12
- public sealed class SymbolWithSection
13
- {
14
- private HashSet<SymbolWithSection> possibleConflicts;
15
- private HashSet<SymbolWithSection> redundants;
16
-
17
- /// <summary>
18
- /// Creates a symbol for a symbol.
19
- /// </summary>
20
- /// <param name="symbol">Symbol for the symbol</param>
21
- public SymbolWithSection(IntermediateSection section, IntermediateSymbol symbol)
22
- {
23
- this.Symbol = symbol;
24
- this.Section = section;
25
- this.Name = String.Concat(this.Symbol.Definition.Name, ":", this.Symbol.Id.Id);
26
- }
27
-
28
- /// <summary>
29
- /// Gets the accessibility of the symbol which is a direct reflection of the accessibility of the row's accessibility.
30
- /// </summary>
31
- /// <value>Accessbility of the symbol.</value>
32
- public AccessModifier Access => this.Symbol.Id.Access;
33
-
34
- /// <summary>
35
- /// Gets the name of the symbol.
36
- /// </summary>
37
- /// <value>Name of the symbol.</value>
38
- public string Name { get; }
39
-
40
- /// <summary>
41
- /// Gets the symbol for this symbol.
42
- /// </summary>
43
- /// <value>Symbol for this symbol.</value>
44
- public IntermediateSymbol Symbol { get; }
45
-
46
- /// <summary>
47
- /// Gets the section for the symbol.
48
- /// </summary>
49
- /// <value>Section for the symbol.</value>
50
- public IntermediateSection Section { get; }
51
-
52
- /// <summary>
53
- /// Gets any duplicates of this symbol with sections that are possible conflicts.
54
- /// </summary>
55
- public IEnumerable<SymbolWithSection> PossiblyConflicts => this.possibleConflicts ?? Enumerable.Empty<SymbolWithSection>();
56
-
57
- /// <summary>
58
- /// Gets any duplicates of this symbol with sections that are redundant.
59
- /// </summary>
60
- public IEnumerable<SymbolWithSection> Redundants => this.redundants ?? Enumerable.Empty<SymbolWithSection>();
61
-
62
- /// <summary>
63
- /// Adds a duplicate symbol with sections that is a possible conflict.
64
- /// </summary>
65
- /// <param name="symbolWithSection">Symbol with section that is a possible conflict of this symbol.</param>
66
- public void AddPossibleConflict(SymbolWithSection symbolWithSection)
67
- {
68
- if (null == this.possibleConflicts)
69
- {
70
- this.possibleConflicts = new HashSet<SymbolWithSection>();
71
- }
72
-
73
- this.possibleConflicts.Add(symbolWithSection);
74
- }
75
-
76
- /// <summary>
77
- /// Adds a duplicate symbol that is redundant.
78
- /// </summary>
79
- /// <param name="symbolWithSection">Symbol with section that is redundant of this symbol.</param>
80
- public void AddRedundant(SymbolWithSection symbolWithSection)
81
- {
82
- if (null == this.redundants)
83
- {
84
- this.redundants = new HashSet<SymbolWithSection>();
85
- }
86
-
87
- this.redundants.Add(symbolWithSection);
88
- }
89
- }
90
-}