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; |