From 2bb37beda887d120a0ddabf874ad25357101faa1 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 1 Nov 2017 10:59:45 -0700 Subject: Update to WiX Intermediate Representation --- src/WixToolset.Core/Localizer.cs | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'src/WixToolset.Core/Localizer.cs') diff --git a/src/WixToolset.Core/Localizer.cs b/src/WixToolset.Core/Localizer.cs index 72d0955b..a19c32fb 100644 --- a/src/WixToolset.Core/Localizer.cs +++ b/src/WixToolset.Core/Localizer.cs @@ -18,7 +18,7 @@ namespace WixToolset public static readonly XNamespace WxlNamespace = "http://wixtoolset.org/schemas/v4/wxl"; private static string XmlElementName = "WixLocalization"; - private Dictionary variables; + private Dictionary variables; private Dictionary localizedControls; /// @@ -27,7 +27,7 @@ namespace WixToolset public Localizer(IEnumerable localizations) { this.Codepage = -1; - this.variables = new Dictionary(); + this.variables = new Dictionary(); this.localizedControls = new Dictionary(); foreach (var localization in localizations) @@ -37,9 +37,9 @@ namespace WixToolset this.Codepage = localization.Codepage; } - foreach (WixVariableRow wixVariableRow in localization.Variables) + foreach (var variable in localization.Variables) { - Localizer.AddWixVariable(this.variables, wixVariableRow); + Localizer.AddWixVariable(this.variables, variable); } foreach (KeyValuePair localizedControl in localization.LocalizedControls) @@ -86,7 +86,7 @@ namespace WixToolset /// Collection containing TableDefinitions to use when loading the localization file. /// Suppress xml schema validation while loading. /// Returns the loaded localization file. - public static Localization ParseLocalizationFile(string path, TableDefinitionCollection tableDefinitions) + public static Localization ParseLocalizationFile(string path) { XElement root = XDocument.Load(path).Root; Localization localization = null; @@ -96,7 +96,7 @@ namespace WixToolset { if (Localizer.WxlNamespace == root.Name.Namespace) { - localization = ParseWixLocalizationElement(root, tableDefinitions); + localization = ParseWixLocalizationElement(root); } else // invalid or missing namespace { @@ -123,7 +123,7 @@ namespace WixToolset /// /// Dictionary of variable rows. /// Row to add to the variables dictionary. - private static void AddWixVariable(IDictionary variables, WixVariableRow wixVariableRow) + private static void AddWixVariable(IDictionary variables, BindVariable wixVariableRow) { if (!variables.TryGetValue(wixVariableRow.Id, out var existingWixVariableRow) || (existingWixVariableRow.Overridable && !wixVariableRow.Overridable)) { @@ -139,7 +139,7 @@ namespace WixToolset /// Parses the WixLocalization element. /// /// Element to parse. - private static Localization ParseWixLocalizationElement(XElement node, TableDefinitionCollection tableDefinitions) + private static Localization ParseWixLocalizationElement(XElement node) { int codepage = -1; string culture = null; @@ -171,7 +171,7 @@ namespace WixToolset } } - Dictionary variables = new Dictionary(); + Dictionary variables = new Dictionary(); Dictionary localizedControls = new Dictionary(); foreach (XElement child in node.Elements()) @@ -181,7 +181,7 @@ namespace WixToolset switch (child.Name.LocalName) { case "String": - Localizer.ParseString(child, variables, tableDefinitions); + Localizer.ParseString(child, variables); break; case "UI": @@ -206,7 +206,7 @@ namespace WixToolset /// Parse a localization string into a WixVariableRow. /// /// Element to parse. - private static void ParseString(XElement node, IDictionary variables, TableDefinitionCollection tableDefinitions) + private static void ParseString(XElement node, IDictionary variables) { string id = null; bool overridable = false; @@ -251,12 +251,15 @@ namespace WixToolset if (!Messaging.Instance.EncounteredError) { - WixVariableRow wixVariableRow = new WixVariableRow(sourceLineNumbers, tableDefinitions["WixVariable"]); - wixVariableRow.Id = id; - wixVariableRow.Overridable = overridable; - wixVariableRow.Value = value; + var variable = new BindVariable + { + SourceLineNumbers = sourceLineNumbers, + Id = id, + Overridable = overridable, + Value = value, + }; - Localizer.AddWixVariable(variables, wixVariableRow); + Localizer.AddWixVariable(variables, variable); } } -- cgit v1.2.3-55-g6feb