diff options
| author | Rob Mensching <rob@firegiant.com> | 2020-06-25 14:43:50 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2020-06-25 14:50:31 -0700 |
| commit | 38afa9e7bc7eacc021f8805f607368a05751e3c3 (patch) | |
| tree | 803b0a8d9a06a7d6f7c4df408437017ae21a883e /src/WixToolset.Core/Bind | |
| parent | 8968578d50858721317d410549a9f9b5c62bf1f7 (diff) | |
| download | wix-38afa9e7bc7eacc021f8805f607368a05751e3c3.tar.gz wix-38afa9e7bc7eacc021f8805f607368a05751e3c3.tar.bz2 wix-38afa9e7bc7eacc021f8805f607368a05751e3c3.zip | |
The Great Tuple to Symbol Rename (tm)
Diffstat (limited to 'src/WixToolset.Core/Bind')
| -rw-r--r-- | src/WixToolset.Core/Bind/DelayedField.cs | 12 | ||||
| -rw-r--r-- | src/WixToolset.Core/Bind/FileFacade.cs | 58 | ||||
| -rw-r--r-- | src/WixToolset.Core/Bind/FileResolver.cs | 16 | ||||
| -rw-r--r-- | src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs | 10 | ||||
| -rw-r--r-- | src/WixToolset.Core/Bind/ResolveFieldsCommand.cs | 38 |
5 files changed, 67 insertions, 67 deletions
diff --git a/src/WixToolset.Core/Bind/DelayedField.cs b/src/WixToolset.Core/Bind/DelayedField.cs index 7d0045e6..25641516 100644 --- a/src/WixToolset.Core/Bind/DelayedField.cs +++ b/src/WixToolset.Core/Bind/DelayedField.cs | |||
| @@ -6,26 +6,26 @@ namespace WixToolset.Core.Bind | |||
| 6 | using WixToolset.Extensibility.Data; | 6 | using WixToolset.Extensibility.Data; |
| 7 | 7 | ||
| 8 | /// <summary> | 8 | /// <summary> |
| 9 | /// Structure used to hold a row and field that contain binder variables, which need to be resolved | 9 | /// Holds a symbol and field that contain binder variables, which need to be resolved |
| 10 | /// later, once the files have been resolved. | 10 | /// later, once the files have been resolved. |
| 11 | /// </summary> | 11 | /// </summary> |
| 12 | internal class DelayedField : IDelayedField | 12 | internal class DelayedField : IDelayedField |
| 13 | { | 13 | { |
| 14 | /// <summary> | 14 | /// <summary> |
| 15 | /// Basic constructor for struct | 15 | /// Creates a delayed field. |
| 16 | /// </summary> | 16 | /// </summary> |
| 17 | /// <param name="row">Row for the field.</param> | 17 | /// <param name="symbol">Symbol for the field.</param> |
| 18 | /// <param name="field">Field needing further resolution.</param> | 18 | /// <param name="field">Field needing further resolution.</param> |
| 19 | public DelayedField(IntermediateTuple row, IntermediateField field) | 19 | public DelayedField(IntermediateSymbol symbol, IntermediateField field) |
| 20 | { | 20 | { |
| 21 | this.Row = row; | 21 | this.Symbol = symbol; |
| 22 | this.Field = field; | 22 | this.Field = field; |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | /// <summary> | 25 | /// <summary> |
| 26 | /// The row containing the field. | 26 | /// The row containing the field. |
| 27 | /// </summary> | 27 | /// </summary> |
| 28 | public IntermediateTuple Row { get; } | 28 | public IntermediateSymbol Symbol { get; } |
| 29 | 29 | ||
| 30 | /// <summary> | 30 | /// <summary> |
| 31 | /// The field needing further resolving. | 31 | /// The field needing further resolving. |
diff --git a/src/WixToolset.Core/Bind/FileFacade.cs b/src/WixToolset.Core/Bind/FileFacade.cs index 511f4aab..075d3d34 100644 --- a/src/WixToolset.Core/Bind/FileFacade.cs +++ b/src/WixToolset.Core/Bind/FileFacade.cs | |||
| @@ -5,25 +5,25 @@ namespace WixToolset.Core.Bind | |||
| 5 | using System; | 5 | using System; |
| 6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
| 7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
| 8 | using WixToolset.Data.Tuples; | 8 | using WixToolset.Data.Symbols; |
| 9 | using WixToolset.Data.WindowsInstaller; | 9 | using WixToolset.Data.WindowsInstaller; |
| 10 | using WixToolset.Data.WindowsInstaller.Rows; | 10 | using WixToolset.Data.WindowsInstaller.Rows; |
| 11 | 11 | ||
| 12 | public class FileFacade | 12 | public class FileFacade |
| 13 | { | 13 | { |
| 14 | public FileFacade(FileTuple file, AssemblyTuple assembly) | 14 | public FileFacade(FileSymbol file, AssemblySymbol assembly) |
| 15 | { | 15 | { |
| 16 | this.FileTuple = file; | 16 | this.FileSymbol = file; |
| 17 | this.AssemblyTuple = assembly; | 17 | this.AssemblySymbol = assembly; |
| 18 | 18 | ||
| 19 | this.Identifier = file.Id; | 19 | this.Identifier = file.Id; |
| 20 | this.ComponentRef = file.ComponentRef; | 20 | this.ComponentRef = file.ComponentRef; |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | public FileFacade(bool fromModule, FileTuple file) | 23 | public FileFacade(bool fromModule, FileSymbol file) |
| 24 | { | 24 | { |
| 25 | this.FromModule = fromModule; | 25 | this.FromModule = fromModule; |
| 26 | this.FileTuple = file; | 26 | this.FileSymbol = file; |
| 27 | 27 | ||
| 28 | this.Identifier = file.Id; | 28 | this.Identifier = file.Id; |
| 29 | this.ComponentRef = file.ComponentRef; | 29 | this.ComponentRef = file.ComponentRef; |
| @@ -44,9 +44,9 @@ namespace WixToolset.Core.Bind | |||
| 44 | 44 | ||
| 45 | private FileRow FileRow { get; } | 45 | private FileRow FileRow { get; } |
| 46 | 46 | ||
| 47 | private FileTuple FileTuple { get; } | 47 | private FileSymbol FileSymbol { get; } |
| 48 | 48 | ||
| 49 | private AssemblyTuple AssemblyTuple { get; } | 49 | private AssemblySymbol AssemblySymbol { get; } |
| 50 | 50 | ||
| 51 | public string Id => this.Identifier.Id; | 51 | public string Id => this.Identifier.Id; |
| 52 | 52 | ||
| @@ -56,12 +56,12 @@ namespace WixToolset.Core.Bind | |||
| 56 | 56 | ||
| 57 | public int DiskId | 57 | public int DiskId |
| 58 | { | 58 | { |
| 59 | get => this.FileRow == null ? this.FileTuple.DiskId ?? 1 : this.FileRow.DiskId; | 59 | get => this.FileRow == null ? this.FileSymbol.DiskId ?? 1 : this.FileRow.DiskId; |
| 60 | set | 60 | set |
| 61 | { | 61 | { |
| 62 | if (this.FileRow == null) | 62 | if (this.FileRow == null) |
| 63 | { | 63 | { |
| 64 | this.FileTuple.DiskId = value; | 64 | this.FileSymbol.DiskId = value; |
| 65 | } | 65 | } |
| 66 | else | 66 | else |
| 67 | { | 67 | { |
| @@ -70,16 +70,16 @@ namespace WixToolset.Core.Bind | |||
| 70 | } | 70 | } |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | public string FileName => this.FileRow == null ? this.FileTuple.Name : this.FileRow.FileName; | 73 | public string FileName => this.FileRow == null ? this.FileSymbol.Name : this.FileRow.FileName; |
| 74 | 74 | ||
| 75 | public int FileSize | 75 | public int FileSize |
| 76 | { | 76 | { |
| 77 | get => this.FileRow == null ? this.FileTuple.FileSize : this.FileRow.FileSize; | 77 | get => this.FileRow == null ? this.FileSymbol.FileSize : this.FileRow.FileSize; |
| 78 | set | 78 | set |
| 79 | { | 79 | { |
| 80 | if (this.FileRow == null) | 80 | if (this.FileRow == null) |
| 81 | { | 81 | { |
| 82 | this.FileTuple.FileSize = value; | 82 | this.FileSymbol.FileSize = value; |
| 83 | } | 83 | } |
| 84 | else | 84 | else |
| 85 | { | 85 | { |
| @@ -90,12 +90,12 @@ namespace WixToolset.Core.Bind | |||
| 90 | 90 | ||
| 91 | public string Language | 91 | public string Language |
| 92 | { | 92 | { |
| 93 | get => this.FileRow == null ? this.FileTuple.Language : this.FileRow.Language; | 93 | get => this.FileRow == null ? this.FileSymbol.Language : this.FileRow.Language; |
| 94 | set | 94 | set |
| 95 | { | 95 | { |
| 96 | if (this.FileRow == null) | 96 | if (this.FileRow == null) |
| 97 | { | 97 | { |
| 98 | this.FileTuple.Language = value; | 98 | this.FileSymbol.Language = value; |
| 99 | } | 99 | } |
| 100 | else | 100 | else |
| 101 | { | 101 | { |
| @@ -104,16 +104,16 @@ namespace WixToolset.Core.Bind | |||
| 104 | } | 104 | } |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | public int? PatchGroup => this.FileRow == null ? this.FileTuple.PatchGroup : null; | 107 | public int? PatchGroup => this.FileRow == null ? this.FileSymbol.PatchGroup : null; |
| 108 | 108 | ||
| 109 | public int Sequence | 109 | public int Sequence |
| 110 | { | 110 | { |
| 111 | get => this.FileRow == null ? this.FileTuple.Sequence : this.FileRow.Sequence; | 111 | get => this.FileRow == null ? this.FileSymbol.Sequence : this.FileRow.Sequence; |
| 112 | set | 112 | set |
| 113 | { | 113 | { |
| 114 | if (this.FileRow == null) | 114 | if (this.FileRow == null) |
| 115 | { | 115 | { |
| 116 | this.FileTuple.Sequence = value; | 116 | this.FileSymbol.Sequence = value; |
| 117 | } | 117 | } |
| 118 | else | 118 | else |
| 119 | { | 119 | { |
| @@ -122,22 +122,22 @@ namespace WixToolset.Core.Bind | |||
| 122 | } | 122 | } |
| 123 | } | 123 | } |
| 124 | 124 | ||
| 125 | public SourceLineNumber SourceLineNumber => this.FileRow == null ? this.FileTuple.SourceLineNumbers : this.FileRow.SourceLineNumbers; | 125 | public SourceLineNumber SourceLineNumber => this.FileRow == null ? this.FileSymbol.SourceLineNumbers : this.FileRow.SourceLineNumbers; |
| 126 | 126 | ||
| 127 | public string SourcePath => this.FileRow == null ? this.FileTuple.Source.Path : this.FileRow.Source; | 127 | public string SourcePath => this.FileRow == null ? this.FileSymbol.Source.Path : this.FileRow.Source; |
| 128 | 128 | ||
| 129 | public bool Compressed => this.FileRow == null ? (this.FileTuple.Attributes & FileTupleAttributes.Compressed) == FileTupleAttributes.Compressed : (this.FileRow.Attributes & WindowsInstallerConstants.MsidbFileAttributesCompressed) == WindowsInstallerConstants.MsidbFileAttributesCompressed; | 129 | public bool Compressed => this.FileRow == null ? (this.FileSymbol.Attributes & FileSymbolAttributes.Compressed) == FileSymbolAttributes.Compressed : (this.FileRow.Attributes & WindowsInstallerConstants.MsidbFileAttributesCompressed) == WindowsInstallerConstants.MsidbFileAttributesCompressed; |
| 130 | 130 | ||
| 131 | public bool Uncompressed => this.FileRow == null ? (this.FileTuple.Attributes & FileTupleAttributes.Uncompressed) == FileTupleAttributes.Uncompressed : (this.FileRow.Attributes & WindowsInstallerConstants.MsidbFileAttributesNoncompressed) == WindowsInstallerConstants.MsidbFileAttributesNoncompressed; | 131 | public bool Uncompressed => this.FileRow == null ? (this.FileSymbol.Attributes & FileSymbolAttributes.Uncompressed) == FileSymbolAttributes.Uncompressed : (this.FileRow.Attributes & WindowsInstallerConstants.MsidbFileAttributesNoncompressed) == WindowsInstallerConstants.MsidbFileAttributesNoncompressed; |
| 132 | 132 | ||
| 133 | public string Version | 133 | public string Version |
| 134 | { | 134 | { |
| 135 | get => this.FileRow == null ? this.FileTuple.Version : this.FileRow.Version; | 135 | get => this.FileRow == null ? this.FileSymbol.Version : this.FileRow.Version; |
| 136 | set | 136 | set |
| 137 | { | 137 | { |
| 138 | if (this.FileRow == null) | 138 | if (this.FileRow == null) |
| 139 | { | 139 | { |
| 140 | this.FileTuple.Version = value; | 140 | this.FileSymbol.Version = value; |
| 141 | } | 141 | } |
| 142 | else | 142 | else |
| 143 | { | 143 | { |
| @@ -146,22 +146,22 @@ namespace WixToolset.Core.Bind | |||
| 146 | } | 146 | } |
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | public AssemblyType? AssemblyType => this.FileRow == null ? this.AssemblyTuple?.Type : null; | 149 | public AssemblyType? AssemblyType => this.FileRow == null ? this.AssemblySymbol?.Type : null; |
| 150 | 150 | ||
| 151 | public string AssemblyApplicationFileRef => this.FileRow == null ? this.AssemblyTuple?.ApplicationFileRef : throw new NotImplementedException(); | 151 | public string AssemblyApplicationFileRef => this.FileRow == null ? this.AssemblySymbol?.ApplicationFileRef : throw new NotImplementedException(); |
| 152 | 152 | ||
| 153 | public string AssemblyManifestFileRef => this.FileRow == null ? this.AssemblyTuple?.ManifestFileRef : throw new NotImplementedException(); | 153 | public string AssemblyManifestFileRef => this.FileRow == null ? this.AssemblySymbol?.ManifestFileRef : throw new NotImplementedException(); |
| 154 | 154 | ||
| 155 | /// <summary> | 155 | /// <summary> |
| 156 | /// Gets the set of MsiAssemblyName rows created for this file. | 156 | /// Gets the set of MsiAssemblyName rows created for this file. |
| 157 | /// </summary> | 157 | /// </summary> |
| 158 | /// <value>RowCollection of MsiAssemblyName table.</value> | 158 | /// <value>RowCollection of MsiAssemblyName table.</value> |
| 159 | public List<MsiAssemblyNameTuple> AssemblyNames { get; set; } | 159 | public List<MsiAssemblyNameSymbol> AssemblyNames { get; set; } |
| 160 | 160 | ||
| 161 | /// <summary> | 161 | /// <summary> |
| 162 | /// Gets or sets the MsiFileHash row for this file. | 162 | /// Gets or sets the MsiFileHash row for this file. |
| 163 | /// </summary> | 163 | /// </summary> |
| 164 | public MsiFileHashTuple Hash { get; set; } | 164 | public MsiFileHashSymbol Hash { get; set; } |
| 165 | 165 | ||
| 166 | /// <summary> | 166 | /// <summary> |
| 167 | /// Allows direct access to the underlying FileRow as requried for patching. | 167 | /// Allows direct access to the underlying FileRow as requried for patching. |
diff --git a/src/WixToolset.Core/Bind/FileResolver.cs b/src/WixToolset.Core/Bind/FileResolver.cs index 6bc5a676..d11fcadc 100644 --- a/src/WixToolset.Core/Bind/FileResolver.cs +++ b/src/WixToolset.Core/Bind/FileResolver.cs | |||
| @@ -41,13 +41,13 @@ namespace WixToolset.Core.Bind | |||
| 41 | 41 | ||
| 42 | private IEnumerable<ILibrarianExtension> LibrarianExtensions { get; } | 42 | private IEnumerable<ILibrarianExtension> LibrarianExtensions { get; } |
| 43 | 43 | ||
| 44 | public string Resolve(SourceLineNumber sourceLineNumbers, IntermediateTupleDefinition tupleDefinition, string source) | 44 | public string Resolve(SourceLineNumber sourceLineNumbers, IntermediateSymbolDefinition symbolDefinition, string source) |
| 45 | { | 45 | { |
| 46 | var checkedPaths = new List<string>(); | 46 | var checkedPaths = new List<string>(); |
| 47 | 47 | ||
| 48 | foreach (var extension in this.LibrarianExtensions) | 48 | foreach (var extension in this.LibrarianExtensions) |
| 49 | { | 49 | { |
| 50 | var resolved = extension.ResolveFile(sourceLineNumbers, tupleDefinition, source); | 50 | var resolved = extension.ResolveFile(sourceLineNumbers, symbolDefinition, source); |
| 51 | 51 | ||
| 52 | if (resolved?.CheckedPaths != null) | 52 | if (resolved?.CheckedPaths != null) |
| 53 | { | 53 | { |
| @@ -60,7 +60,7 @@ namespace WixToolset.Core.Bind | |||
| 60 | } | 60 | } |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | return this.MustResolveUsingBindPaths(source, tupleDefinition, sourceLineNumbers, BindStage.Normal, checkedPaths); | 63 | return this.MustResolveUsingBindPaths(source, symbolDefinition, sourceLineNumbers, BindStage.Normal, checkedPaths); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | /// <summary> | 66 | /// <summary> |
| @@ -72,7 +72,7 @@ namespace WixToolset.Core.Bind | |||
| 72 | /// <param name="bindStage">The binding stage used to determine what collection of bind paths will be used</param> | 72 | /// <param name="bindStage">The binding stage used to determine what collection of bind paths will be used</param> |
| 73 | /// <param name="alreadyCheckedPaths">Optional collection of paths already checked.</param> | 73 | /// <param name="alreadyCheckedPaths">Optional collection of paths already checked.</param> |
| 74 | /// <returns>Should return a valid path for the stream to be imported.</returns> | 74 | /// <returns>Should return a valid path for the stream to be imported.</returns> |
| 75 | public string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage, IEnumerable<string> alreadyCheckedPaths = null) | 75 | public string ResolveFile(string source, IntermediateSymbolDefinition symbolDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage, IEnumerable<string> alreadyCheckedPaths = null) |
| 76 | { | 76 | { |
| 77 | var checkedPaths = new List<string>(); | 77 | var checkedPaths = new List<string>(); |
| 78 | 78 | ||
| @@ -83,7 +83,7 @@ namespace WixToolset.Core.Bind | |||
| 83 | 83 | ||
| 84 | foreach (var extension in this.ResolverExtensions) | 84 | foreach (var extension in this.ResolverExtensions) |
| 85 | { | 85 | { |
| 86 | var resolved = extension.ResolveFile(source, tupleDefinition, sourceLineNumbers, bindStage); | 86 | var resolved = extension.ResolveFile(source, symbolDefinition, sourceLineNumbers, bindStage); |
| 87 | 87 | ||
| 88 | if (resolved?.CheckedPaths != null) | 88 | if (resolved?.CheckedPaths != null) |
| 89 | { | 89 | { |
| @@ -96,10 +96,10 @@ namespace WixToolset.Core.Bind | |||
| 96 | } | 96 | } |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | return this.MustResolveUsingBindPaths(source, tupleDefinition, sourceLineNumbers, bindStage, checkedPaths); | 99 | return this.MustResolveUsingBindPaths(source, symbolDefinition, sourceLineNumbers, bindStage, checkedPaths); |
| 100 | } | 100 | } |
| 101 | 101 | ||
| 102 | private string MustResolveUsingBindPaths(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage, List<string> checkedPaths) | 102 | private string MustResolveUsingBindPaths(string source, IntermediateSymbolDefinition symbolDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage, List<string> checkedPaths) |
| 103 | { | 103 | { |
| 104 | string resolved = null; | 104 | string resolved = null; |
| 105 | 105 | ||
| @@ -180,7 +180,7 @@ namespace WixToolset.Core.Bind | |||
| 180 | 180 | ||
| 181 | if (null == resolved) | 181 | if (null == resolved) |
| 182 | { | 182 | { |
| 183 | throw new WixException(ErrorMessages.FileNotFound(sourceLineNumbers, source, tupleDefinition.Name, checkedPaths)); | 183 | throw new WixException(ErrorMessages.FileNotFound(sourceLineNumbers, source, symbolDefinition.Name, checkedPaths)); |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | return resolved; | 186 | return resolved; |
diff --git a/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs b/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs index be0e4578..a10b98dc 100644 --- a/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs +++ b/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs | |||
| @@ -42,15 +42,15 @@ namespace WixToolset.Core.Bind | |||
| 42 | { | 42 | { |
| 43 | try | 43 | try |
| 44 | { | 44 | { |
| 45 | var propertyRow = delayedField.Row; | 45 | var propertySymbol = delayedField.Symbol; |
| 46 | 46 | ||
| 47 | // process properties first in case they refer to other binder variables | 47 | // process properties first in case they refer to other binder variables |
| 48 | if (delayedField.Row.Definition.Type == TupleDefinitionType.Property) | 48 | if (delayedField.Symbol.Definition.Type == SymbolDefinitionType.Property) |
| 49 | { | 49 | { |
| 50 | var value = ResolveDelayedVariables(propertyRow.SourceLineNumbers, delayedField.Field.AsString(), this.VariableCache); | 50 | var value = ResolveDelayedVariables(propertySymbol.SourceLineNumbers, delayedField.Field.AsString(), this.VariableCache); |
| 51 | 51 | ||
| 52 | // update the variable cache with the new value | 52 | // update the variable cache with the new value |
| 53 | var key = String.Concat("property.", propertyRow.AsString(0)); | 53 | var key = String.Concat("property.", propertySymbol.Id.Id); |
| 54 | this.VariableCache[key] = value; | 54 | this.VariableCache[key] = value; |
| 55 | 55 | ||
| 56 | // update the field data | 56 | // update the field data |
| @@ -103,7 +103,7 @@ namespace WixToolset.Core.Bind | |||
| 103 | { | 103 | { |
| 104 | try | 104 | try |
| 105 | { | 105 | { |
| 106 | var value = ResolveDelayedVariables(delayedField.Row.SourceLineNumbers, delayedField.Field.AsString(), this.VariableCache); | 106 | var value = ResolveDelayedVariables(delayedField.Symbol.SourceLineNumbers, delayedField.Field.AsString(), this.VariableCache); |
| 107 | delayedField.Field.Set(value); | 107 | delayedField.Field.Set(value); |
| 108 | } | 108 | } |
| 109 | catch (WixException we) | 109 | catch (WixException we) |
diff --git a/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs b/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs index af7e262a..629e5f28 100644 --- a/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs +++ b/src/WixToolset.Core/Bind/ResolveFieldsCommand.cs | |||
| @@ -6,7 +6,7 @@ namespace WixToolset.Core.Bind | |||
| 6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
| 7 | using System.Linq; | 7 | using System.Linq; |
| 8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
| 9 | using WixToolset.Data.Tuples; | 9 | using WixToolset.Data.Symbols; |
| 10 | using WixToolset.Extensibility; | 10 | using WixToolset.Extensibility; |
| 11 | using WixToolset.Extensibility.Data; | 11 | using WixToolset.Extensibility.Data; |
| 12 | using WixToolset.Extensibility.Services; | 12 | using WixToolset.Extensibility.Services; |
| @@ -45,13 +45,13 @@ namespace WixToolset.Core.Bind | |||
| 45 | var fileResolver = new FileResolver(this.BindPaths, this.Extensions); | 45 | var fileResolver = new FileResolver(this.BindPaths, this.Extensions); |
| 46 | 46 | ||
| 47 | // Build the column lookup only when needed. | 47 | // Build the column lookup only when needed. |
| 48 | Dictionary<string, WixCustomTableColumnTuple> customColumnsById = null; | 48 | Dictionary<string, WixCustomTableColumnSymbol> customColumnsById = null; |
| 49 | 49 | ||
| 50 | foreach (var sections in this.Intermediate.Sections) | 50 | foreach (var sections in this.Intermediate.Sections) |
| 51 | { | 51 | { |
| 52 | foreach (var tuple in sections.Tuples) | 52 | foreach (var symbol in sections.Symbols) |
| 53 | { | 53 | { |
| 54 | foreach (var field in tuple.Fields) | 54 | foreach (var field in symbol.Fields) |
| 55 | { | 55 | { |
| 56 | if (field.IsNull()) | 56 | if (field.IsNull()) |
| 57 | { | 57 | { |
| @@ -63,20 +63,20 @@ namespace WixToolset.Core.Bind | |||
| 63 | // Custom table cells require an extra look up to the column definition as the | 63 | // Custom table cells require an extra look up to the column definition as the |
| 64 | // cell's data type is always a string (because strings can store anything) but | 64 | // cell's data type is always a string (because strings can store anything) but |
| 65 | // the column definition may be more specific. | 65 | // the column definition may be more specific. |
| 66 | if (tuple.Definition.Type == TupleDefinitionType.WixCustomTableCell) | 66 | if (symbol.Definition.Type == SymbolDefinitionType.WixCustomTableCell) |
| 67 | { | 67 | { |
| 68 | // We only care about the Data in a CustomTable cell. | 68 | // We only care about the Data in a CustomTable cell. |
| 69 | if (field.Name != nameof(WixCustomTableCellTupleFields.Data)) | 69 | if (field.Name != nameof(WixCustomTableCellSymbolFields.Data)) |
| 70 | { | 70 | { |
| 71 | continue; | 71 | continue; |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | if (customColumnsById == null) | 74 | if (customColumnsById == null) |
| 75 | { | 75 | { |
| 76 | customColumnsById = this.Intermediate.Sections.SelectMany(s => s.Tuples.OfType<WixCustomTableColumnTuple>()).ToDictionary(t => t.Id.Id); | 76 | customColumnsById = this.Intermediate.Sections.SelectMany(s => s.Symbols.OfType<WixCustomTableColumnSymbol>()).ToDictionary(t => t.Id.Id); |
| 77 | } | 77 | } |
| 78 | 78 | ||
| 79 | if (customColumnsById.TryGetValue(tuple.Fields[(int)WixCustomTableCellTupleFields.TableRef].AsString() + "/" + tuple.Fields[(int)WixCustomTableCellTupleFields.ColumnRef].AsString(), out var customColumn)) | 79 | if (customColumnsById.TryGetValue(symbol.Fields[(int)WixCustomTableCellSymbolFields.TableRef].AsString() + "/" + symbol.Fields[(int)WixCustomTableCellSymbolFields.ColumnRef].AsString(), out var customColumn)) |
| 80 | { | 80 | { |
| 81 | fieldType = customColumn.Type; | 81 | fieldType = customColumn.Type; |
| 82 | } | 82 | } |
| @@ -93,7 +93,7 @@ namespace WixToolset.Core.Bind | |||
| 93 | var original = field.AsString(); | 93 | var original = field.AsString(); |
| 94 | if (!String.IsNullOrEmpty(original)) | 94 | if (!String.IsNullOrEmpty(original)) |
| 95 | { | 95 | { |
| 96 | var resolution = this.VariableResolver.ResolveVariables(tuple.SourceLineNumbers, original, !this.AllowUnresolvedVariables); | 96 | var resolution = this.VariableResolver.ResolveVariables(symbol.SourceLineNumbers, original, !this.AllowUnresolvedVariables); |
| 97 | if (resolution.UpdatedValue) | 97 | if (resolution.UpdatedValue) |
| 98 | { | 98 | { |
| 99 | field.Set(resolution.Value); | 99 | field.Set(resolution.Value); |
| @@ -101,7 +101,7 @@ namespace WixToolset.Core.Bind | |||
| 101 | 101 | ||
| 102 | if (resolution.DelayedResolve) | 102 | if (resolution.DelayedResolve) |
| 103 | { | 103 | { |
| 104 | delayedFields.Add(new DelayedField(tuple, field)); | 104 | delayedFields.Add(new DelayedField(symbol, field)); |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | isDefault = resolution.IsDefault; | 107 | isDefault = resolution.IsDefault; |
| @@ -109,7 +109,7 @@ namespace WixToolset.Core.Bind | |||
| 109 | } | 109 | } |
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | // Move to next tuple if we've hit an error resolving variables. | 112 | // Move to next symbol if we've hit an error resolving variables. |
| 113 | if (this.Messaging.EncounteredError) // TODO: make this error handling more specific to just the failure to resolve variables in this field. | 113 | if (this.Messaging.EncounteredError) // TODO: make this error handling more specific to just the failure to resolve variables in this field. |
| 114 | { | 114 | { |
| 115 | continue; | 115 | continue; |
| @@ -122,7 +122,7 @@ namespace WixToolset.Core.Bind | |||
| 122 | 122 | ||
| 123 | #if TODO_PATCHING | 123 | #if TODO_PATCHING |
| 124 | // Skip file resolution if the file is to be deleted. | 124 | // Skip file resolution if the file is to be deleted. |
| 125 | if (RowOperation.Delete == tuple.Operation) | 125 | if (RowOperation.Delete == symbol.Operation) |
| 126 | { | 126 | { |
| 127 | continue; | 127 | continue; |
| 128 | } | 128 | } |
| @@ -151,13 +151,13 @@ namespace WixToolset.Core.Bind | |||
| 151 | #endif | 151 | #endif |
| 152 | 152 | ||
| 153 | // resolve the path to the file | 153 | // resolve the path to the file |
| 154 | var value = fileResolver.ResolveFile(objectField.Path, tuple.Definition, tuple.SourceLineNumbers, BindStage.Normal); | 154 | var value = fileResolver.ResolveFile(objectField.Path, symbol.Definition, symbol.SourceLineNumbers, BindStage.Normal); |
| 155 | field.Set(value); | 155 | field.Set(value); |
| 156 | } | 156 | } |
| 157 | else if (!fileResolver.RebaseTarget && !fileResolver.RebaseUpdated) // Normal binding for Patch Scenario (normal patch, no re-basing logic) | 157 | else if (!fileResolver.RebaseTarget && !fileResolver.RebaseUpdated) // Normal binding for Patch Scenario (normal patch, no re-basing logic) |
| 158 | { | 158 | { |
| 159 | // resolve the path to the file | 159 | // resolve the path to the file |
| 160 | var value = fileResolver.ResolveFile(objectField.Path, tuple.Definition, tuple.SourceLineNumbers, BindStage.Normal); | 160 | var value = fileResolver.ResolveFile(objectField.Path, symbol.Definition, symbol.SourceLineNumbers, BindStage.Normal); |
| 161 | field.Set(value); | 161 | field.Set(value); |
| 162 | } | 162 | } |
| 163 | #if TODO_PATCHING | 163 | #if TODO_PATCHING |
| @@ -179,7 +179,7 @@ namespace WixToolset.Core.Bind | |||
| 179 | } | 179 | } |
| 180 | } | 180 | } |
| 181 | 181 | ||
| 182 | objectField.Data = fileResolver.ResolveFile(filePathToResolve, tuple.Definition.Name, tuple.SourceLineNumbers, BindStage.Updated); | 182 | objectField.Data = fileResolver.ResolveFile(filePathToResolve, symbol.Definition.Name, symbol.SourceLineNumbers, BindStage.Updated); |
| 183 | } | 183 | } |
| 184 | #endif | 184 | #endif |
| 185 | } | 185 | } |
| @@ -192,7 +192,7 @@ namespace WixToolset.Core.Bind | |||
| 192 | #if TODO_PATCHING | 192 | #if TODO_PATCHING |
| 193 | if (null != objectField.PreviousData) | 193 | if (null != objectField.PreviousData) |
| 194 | { | 194 | { |
| 195 | objectField.PreviousData = this.BindVariableResolver.ResolveVariables(tuple.SourceLineNumbers, objectField.PreviousData, false, out isDefault); | 195 | objectField.PreviousData = this.BindVariableResolver.ResolveVariables(symbol.SourceLineNumbers, objectField.PreviousData, false, out isDefault); |
| 196 | 196 | ||
| 197 | if (!Messaging.Instance.EncounteredError) // TODO: make this error handling more specific to just the failure to resolve variables in this field. | 197 | if (!Messaging.Instance.EncounteredError) // TODO: make this error handling more specific to just the failure to resolve variables in this field. |
| 198 | { | 198 | { |
| @@ -217,7 +217,7 @@ namespace WixToolset.Core.Bind | |||
| 217 | if (!fileResolver.RebaseTarget && !fileResolver.RebaseUpdated) | 217 | if (!fileResolver.RebaseTarget && !fileResolver.RebaseUpdated) |
| 218 | { | 218 | { |
| 219 | // resolve the path to the file | 219 | // resolve the path to the file |
| 220 | objectField.PreviousData = fileResolver.ResolveFile((string)objectField.PreviousData, tuple.Definition.Name, tuple.SourceLineNumbers, BindStage.Normal); | 220 | objectField.PreviousData = fileResolver.ResolveFile((string)objectField.PreviousData, symbol.Definition.Name, symbol.SourceLineNumbers, BindStage.Normal); |
| 221 | } | 221 | } |
| 222 | else | 222 | else |
| 223 | { | 223 | { |
| @@ -235,14 +235,14 @@ namespace WixToolset.Core.Bind | |||
| 235 | } | 235 | } |
| 236 | 236 | ||
| 237 | // resolve the path to the file | 237 | // resolve the path to the file |
| 238 | objectField.PreviousData = fileResolver.ResolveFile((string)objectField.PreviousData, tuple.Definition.Name, tuple.SourceLineNumbers, BindStage.Target); | 238 | objectField.PreviousData = fileResolver.ResolveFile((string)objectField.PreviousData, symbol.Definition.Name, symbol.SourceLineNumbers, BindStage.Target); |
| 239 | 239 | ||
| 240 | } | 240 | } |
| 241 | } | 241 | } |
| 242 | catch (WixFileNotFoundException) | 242 | catch (WixFileNotFoundException) |
| 243 | { | 243 | { |
| 244 | // display the error with source line information | 244 | // display the error with source line information |
| 245 | Messaging.Instance.Write(WixErrors.FileNotFound(tuple.SourceLineNumbers, (string)objectField.PreviousData)); | 245 | Messaging.Instance.Write(WixErrors.FileNotFound(symbol.SourceLineNumbers, (string)objectField.PreviousData)); |
| 246 | } | 246 | } |
| 247 | } | 247 | } |
| 248 | } | 248 | } |
