aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-06-25 14:43:50 -0700
committerRob Mensching <rob@firegiant.com>2020-06-25 14:50:31 -0700
commit38afa9e7bc7eacc021f8805f607368a05751e3c3 (patch)
tree803b0a8d9a06a7d6f7c4df408437017ae21a883e /src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
parent8968578d50858721317d410549a9f9b5c62bf1f7 (diff)
downloadwix-38afa9e7bc7eacc021f8805f607368a05751e3c3.tar.gz
wix-38afa9e7bc7eacc021f8805f607368a05751e3c3.tar.bz2
wix-38afa9e7bc7eacc021f8805f607368a05751e3c3.zip
The Great Tuple to Symbol Rename (tm)
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
index 8b459d69..66ca502d 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
@@ -10,18 +10,18 @@ namespace WixToolset.Core.WindowsInstaller.Bind
10 using System.Text; 10 using System.Text;
11 using System.Text.RegularExpressions; 11 using System.Text.RegularExpressions;
12 using WixToolset.Data; 12 using WixToolset.Data;
13 using WixToolset.Data.Tuples; 13 using WixToolset.Data.Symbols;
14 using WixToolset.Data.WindowsInstaller; 14 using WixToolset.Data.WindowsInstaller;
15 15
16 internal class ModularizeCommand 16 internal class ModularizeCommand
17 { 17 {
18 public ModularizeCommand(WindowsInstallerData output, string modularizationSuffix, IEnumerable<WixSuppressModularizationTuple> suppressTuples) 18 public ModularizeCommand(WindowsInstallerData output, string modularizationSuffix, IEnumerable<WixSuppressModularizationSymbol> suppressSymbols)
19 { 19 {
20 this.Output = output; 20 this.Output = output;
21 this.ModularizationSuffix = modularizationSuffix; 21 this.ModularizationSuffix = modularizationSuffix;
22 22
23 // Gather all the unique suppress modularization identifiers. 23 // Gather all the unique suppress modularization identifiers.
24 this.SuppressModularizationIdentifiers = new HashSet<string>(suppressTuples.Select(s => s.Id.Id)); 24 this.SuppressModularizationIdentifiers = new HashSet<string>(suppressSymbols.Select(s => s.Id.Id));
25 } 25 }
26 26
27 private WindowsInstallerData Output { get; } 27 private WindowsInstallerData Output { get; }
@@ -144,17 +144,17 @@ namespace WixToolset.Core.WindowsInstaller.Bind
144 { 144 {
145 Debug.Assert(ColumnModularizeType.Condition == modularizeType); 145 Debug.Assert(ColumnModularizeType.Condition == modularizeType);
146 146
147 // This heinous looking regular expression is actually quite an elegant way 147 // This heinous looking regular expression is actually quite an elegant way
148 // to shred the entire condition into the identifiers that need to be 148 // to shred the entire condition into the identifiers that need to be
149 // modularized. Let's break it down piece by piece: 149 // modularized. Let's break it down piece by piece:
150 // 150 //
151 // 1. Look for the operators: NOT, EQV, XOR, OR, AND, IMP (plus a space). Note that the 151 // 1. Look for the operators: NOT, EQV, XOR, OR, AND, IMP (plus a space). Note that the
152 // regular expression is case insensitive so we don't have to worry about 152 // regular expression is case insensitive so we don't have to worry about
153 // all the permutations of these strings. 153 // all the permutations of these strings.
154 // 2. Look for quoted strings. Quoted strings are just text and are ignored 154 // 2. Look for quoted strings. Quoted strings are just text and are ignored
155 // outright. 155 // outright.
156 // 3. Look for environment variables. These look like identifiers we might 156 // 3. Look for environment variables. These look like identifiers we might
157 // otherwise be interested in but start with a percent sign. Like quoted 157 // otherwise be interested in but start with a percent sign. Like quoted
158 // strings these enviroment variable references are ignored outright. 158 // strings these enviroment variable references are ignored outright.
159 // 4. Match all identifiers that are things that need to be modularized. Note 159 // 4. Match all identifiers that are things that need to be modularized. Note
160 // the special characters (!, $, ?, &) that denote Component and Feature states. 160 // the special characters (!, $, ?, &) that denote Component and Feature states.