aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/Bind
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/Bind
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/Bind')
-rw-r--r--src/WixToolset.Core/Bind/DelayedField.cs12
-rw-r--r--src/WixToolset.Core/Bind/FileFacade.cs58
-rw-r--r--src/WixToolset.Core/Bind/FileResolver.cs16
-rw-r--r--src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs10
-rw-r--r--src/WixToolset.Core/Bind/ResolveFieldsCommand.cs38
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 }