diff options
| author | Rob Mensching <rob@firegiant.com> | 2017-12-01 01:09:42 -0800 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2017-12-01 01:09:42 -0800 |
| commit | 720c4a0db1a2fb2aa3e08e5c99d5198873e448ba (patch) | |
| tree | 6794b760149c2f9ff0e01fadc9f2faae5f2c6553 /src/WixToolset.Core | |
| parent | 5ee1645db44908f67eee90da9cd0197c60711eae (diff) | |
| download | wix-720c4a0db1a2fb2aa3e08e5c99d5198873e448ba.tar.gz wix-720c4a0db1a2fb2aa3e08e5c99d5198873e448ba.tar.bz2 wix-720c4a0db1a2fb2aa3e08e5c99d5198873e448ba.zip | |
Introduce ExampleExtension for testing
Diffstat (limited to 'src/WixToolset.Core')
| -rw-r--r-- | src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs | 5 | ||||
| -rw-r--r-- | src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs index 87ad0da8..8a67efe9 100644 --- a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs | |||
| @@ -633,6 +633,11 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 633 | } | 633 | } |
| 634 | } | 634 | } |
| 635 | 635 | ||
| 636 | public SourceLineNumber GetSourceLineNumbers(XElement element) | ||
| 637 | { | ||
| 638 | return Preprocessor.GetSourceLineNumbers(element); | ||
| 639 | } | ||
| 640 | |||
| 636 | public string GetConditionInnerText(XElement element) | 641 | public string GetConditionInnerText(XElement element) |
| 637 | { | 642 | { |
| 638 | var value = Common.GetInnerText(element)?.Trim().Replace('\t', ' ').Replace('\r', ' ').Replace('\n', ' '); | 643 | var value = Common.GetInnerText(element)?.Trim().Replace('\t', ' ').Replace('\r', ' ').Replace('\n', ' '); |
diff --git a/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs b/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs index 4075def8..b442da2b 100644 --- a/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs +++ b/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs | |||
| @@ -19,8 +19,16 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 19 | 19 | ||
| 20 | private IEnumerable<IExtensionData> ExtensionData { get; set; } | 20 | private IEnumerable<IExtensionData> ExtensionData { get; set; } |
| 21 | 21 | ||
| 22 | private Dictionary<string, IntermediateTupleDefinition> CustomDefinitionByName { get; } = new Dictionary<string, IntermediateTupleDefinition>(); | ||
| 23 | |||
| 24 | public void AddCustomTupleDefinition(IntermediateTupleDefinition definition) | ||
| 25 | { | ||
| 26 | this.CustomDefinitionByName.Add(definition.Name, definition); | ||
| 27 | } | ||
| 28 | |||
| 22 | public bool TryGetTupleDefinitionByName(string name, out IntermediateTupleDefinition tupleDefinition) | 29 | public bool TryGetTupleDefinitionByName(string name, out IntermediateTupleDefinition tupleDefinition) |
| 23 | { | 30 | { |
| 31 | // First, look in the built-ins. | ||
| 24 | tupleDefinition = TupleDefinitions.ByName(name); | 32 | tupleDefinition = TupleDefinitions.ByName(name); |
| 25 | 33 | ||
| 26 | if (tupleDefinition == null) | 34 | if (tupleDefinition == null) |
| @@ -30,6 +38,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 30 | this.LoadExtensionData(); | 38 | this.LoadExtensionData(); |
| 31 | } | 39 | } |
| 32 | 40 | ||
| 41 | // Second, look in the extensions. | ||
| 33 | foreach (var data in this.ExtensionData) | 42 | foreach (var data in this.ExtensionData) |
| 34 | { | 43 | { |
| 35 | if (data.TryGetTupleDefinitionByName(name, out tupleDefinition)) | 44 | if (data.TryGetTupleDefinitionByName(name, out tupleDefinition)) |
| @@ -37,6 +46,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 37 | break; | 46 | break; |
| 38 | } | 47 | } |
| 39 | } | 48 | } |
| 49 | |||
| 50 | // Finally, look in the custom tuple definitions provided during an intermediate load. | ||
| 51 | if (tupleDefinition == null) | ||
| 52 | { | ||
| 53 | this.CustomDefinitionByName.TryGetValue(name, out tupleDefinition); | ||
| 54 | } | ||
| 40 | } | 55 | } |
| 41 | 56 | ||
| 42 | return tupleDefinition != null; | 57 | return tupleDefinition != null; |
