@joebigelow / wix-1 / commits / eedde7ee

Simplify BaseWindowsInstallerBackendBinderExtension

Move the standard symbol to table row conversion into the Binder so there is less functionality in the extension assembly.

Rob Mensching committed Mar 23, 2022 at 10:16 UTC eedde7ee47ab7b3bef417f2d631814b586cdb011
2 files changed +16 -10
src/api/wix/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
+8 -7
@@ -63,23 +63,24 @@ namespace WixToolset.Extensibility
63 /// <summary>
64 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
65 /// </summary>
66 - public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) => null;
66 + public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files)
67 + {
68 + return null;
69 + }
70
71 /// <summary>
72 /// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
73 /// </summary>
71 - public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null;
74 + public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory)
75 + {
76 + return null;
77 + }
78
79 /// <summary>
80 /// See <see cref="IWindowsInstallerBackendBinderExtension.TryProcessSymbol(IntermediateSection, IntermediateSymbol, WindowsInstallerData, TableDefinitionCollection)"/>
81 /// </summary>
82 public virtual bool TryProcessSymbol(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData data, TableDefinitionCollection tableDefinitions)
83 {
78 - if (this.TableDefinitions.Any(t => t.SymbolDefinition == symbol.Definition))
79 - {
80 - return this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(section, symbol, data, tableDefinitions);
81 - }
82 -
84 return false;
85 }
86
src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateWindowsInstallerDataFromIRCommand.cs
+8 -3
@@ -264,7 +264,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
264 break;
265
266 case SymbolDefinitionType.MustBeFromAnExtension:
267 - unknownSymbol = !this.AddSymbolFromExtension(symbol);
267 + if (!this.AddSymbolFromExtension(symbol))
268 + {
269 + unknownSymbol = !this.AddSymbolDefaultly(symbol);
270 + }
271 break;
272
273 default:
@@ -1267,8 +1270,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1270 return false;
1271 }
1272
1270 - private bool AddSymbolDefaultly(IntermediateSymbol symbol) =>
1271 - this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(this.Section, symbol, this.Data, this.TableDefinitions);
1273 + private bool AddSymbolDefaultly(IntermediateSymbol symbol)
1274 + {
1275 + return this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(this.Section, symbol, this.Data, this.TableDefinitions);
1276 + }
1277
1278 private void EnsureModuleIgnoredTable(IntermediateSymbol symbol, string ignoredTable)
1279 {