diff options
| author | Rob Mensching <rob@firegiant.com> | 2017-11-01 10:59:45 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2017-11-01 10:59:45 -0700 |
| commit | 2bb37beda887d120a0ddabf874ad25357101faa1 (patch) | |
| tree | c35e97b03274b86cfc9ff7fd2caeee211165a140 /src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs | |
| parent | df7413aeed3aea3425dff20ae0c8b1be3a3ab525 (diff) | |
| download | wix-2bb37beda887d120a0ddabf874ad25357101faa1.tar.gz wix-2bb37beda887d120a0ddabf874ad25357101faa1.tar.bz2 wix-2bb37beda887d120a0ddabf874ad25357101faa1.zip | |
Update to WiX Intermediate Representation
Diffstat (limited to 'src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs')
| -rw-r--r-- | src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs b/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs index 15365c2a..d05135cf 100644 --- a/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs +++ b/src/WixToolset.Core/Bind/ResolveDelayedFieldsCommand.cs | |||
| @@ -34,19 +34,19 @@ namespace WixToolset.Core.Bind | |||
| 34 | { | 34 | { |
| 35 | try | 35 | try |
| 36 | { | 36 | { |
| 37 | Row propertyRow = delayedField.Row; | 37 | var propertyRow = delayedField.Row; |
| 38 | 38 | ||
| 39 | // process properties first in case they refer to other binder variables | 39 | // process properties first in case they refer to other binder variables |
| 40 | if ("Property" == propertyRow.Table.Name) | 40 | if (delayedField.Row.Definition.Type == TupleDefinitionType.Property) |
| 41 | { | 41 | { |
| 42 | string value = WixVariableResolver.ResolveDelayedVariables(propertyRow.SourceLineNumbers, (string)delayedField.Field.Data, this.VariableCache); | 42 | var value = WixVariableResolver.ResolveDelayedVariables(propertyRow.SourceLineNumbers, delayedField.Field.AsString(), this.VariableCache); |
| 43 | 43 | ||
| 44 | // update the variable cache with the new value | 44 | // update the variable cache with the new value |
| 45 | string key = String.Concat("property.", Common.Demodularize(this.OutputType, this.ModularizationGuid, (string)propertyRow[0])); | 45 | var key = String.Concat("property.", Common.Demodularize(this.OutputType, this.ModularizationGuid, (string)propertyRow[0])); |
| 46 | this.VariableCache[key] = value; | 46 | this.VariableCache[key] = value; |
| 47 | 47 | ||
| 48 | // update the field data | 48 | // update the field data |
| 49 | delayedField.Field.Data = value; | 49 | delayedField.Field.Set(value); |
| 50 | } | 50 | } |
| 51 | else | 51 | else |
| 52 | { | 52 | { |
| @@ -103,11 +103,12 @@ namespace WixToolset.Core.Bind | |||
| 103 | } | 103 | } |
| 104 | 104 | ||
| 105 | // process the remaining fields in case they refer to property binder variables | 105 | // process the remaining fields in case they refer to property binder variables |
| 106 | foreach (DelayedField delayedField in deferredFields) | 106 | foreach (var delayedField in deferredFields) |
| 107 | { | 107 | { |
| 108 | try | 108 | try |
| 109 | { | 109 | { |
| 110 | delayedField.Field.Data = WixVariableResolver.ResolveDelayedVariables(delayedField.Row.SourceLineNumbers, (string)delayedField.Field.Data, this.VariableCache); | 110 | var value = WixVariableResolver.ResolveDelayedVariables(delayedField.Row.SourceLineNumbers, delayedField.Field.AsString(), this.VariableCache); |
| 111 | delayedField.Field.Set(value); | ||
| 111 | } | 112 | } |
| 112 | catch (WixException we) | 113 | catch (WixException we) |
| 113 | { | 114 | { |
