@joebigelow / wix-1 / commits / f7de7f52

Consolidate ProvidesDependencySymbol into WixDependencyProviderSymbol

Part of wixtoolset/issues#6388

Rob Mensching committed Mar 23, 2021 at 12:18 UTC f7de7f52a790e989a42fc48935dc61c93f3f4137
3 files changed +9 -93
src/WixToolset.Data/Symbols/ProvidesDependencySymbol.cs deleted
-84
@@ -1,84 +0,0 @@
1 -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 -
3 -namespace WixToolset.Data
4 -{
5 - using WixToolset.Data.Symbols;
6 -
7 - public static partial class SymbolDefinitions
8 - {
9 - public static readonly IntermediateSymbolDefinition ProvidesDependency = new IntermediateSymbolDefinition(
10 - SymbolDefinitionType.ProvidesDependency,
11 - new[]
12 - {
13 - new IntermediateFieldDefinition(nameof(ProvidesDependencySymbolFields.PackageRef), IntermediateFieldType.String),
14 - new IntermediateFieldDefinition(nameof(ProvidesDependencySymbolFields.Key), IntermediateFieldType.String),
15 - new IntermediateFieldDefinition(nameof(ProvidesDependencySymbolFields.Version), IntermediateFieldType.String),
16 - new IntermediateFieldDefinition(nameof(ProvidesDependencySymbolFields.DisplayName), IntermediateFieldType.String),
17 - new IntermediateFieldDefinition(nameof(ProvidesDependencySymbolFields.Attributes), IntermediateFieldType.Number),
18 - new IntermediateFieldDefinition(nameof(ProvidesDependencySymbolFields.Imported), IntermediateFieldType.Bool),
19 - },
20 - typeof(ProvidesDependencySymbol));
21 - }
22 -}
23 -
24 -namespace WixToolset.Data.Symbols
25 -{
26 - public enum ProvidesDependencySymbolFields
27 - {
28 - PackageRef,
29 - Key,
30 - Version,
31 - DisplayName,
32 - Attributes,
33 - Imported,
34 - }
35 -
36 - public class ProvidesDependencySymbol : IntermediateSymbol
37 - {
38 - public ProvidesDependencySymbol() : base(SymbolDefinitions.ProvidesDependency, null, null)
39 - {
40 - }
41 -
42 - public ProvidesDependencySymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.ProvidesDependency, sourceLineNumber, id)
43 - {
44 - }
45 -
46 - public IntermediateField this[ProvidesDependencySymbolFields index] => this.Fields[(int)index];
47 -
48 - public string PackageRef
49 - {
50 - get => (string)this.Fields[(int)ProvidesDependencySymbolFields.PackageRef];
51 - set => this.Set((int)ProvidesDependencySymbolFields.PackageRef, value);
52 - }
53 -
54 - public string Key
55 - {
56 - get => (string)this.Fields[(int)ProvidesDependencySymbolFields.Key];
57 - set => this.Set((int)ProvidesDependencySymbolFields.Key, value);
58 - }
59 -
60 - public string Version
61 - {
62 - get => (string)this.Fields[(int)ProvidesDependencySymbolFields.Version];
63 - set => this.Set((int)ProvidesDependencySymbolFields.Version, value);
64 - }
65 -
66 - public string DisplayName
67 - {
68 - get => (string)this.Fields[(int)ProvidesDependencySymbolFields.DisplayName];
69 - set => this.Set((int)ProvidesDependencySymbolFields.DisplayName, value);
70 - }
71 -
72 - public int? Attributes
73 - {
74 - get => (int?)this.Fields[(int)ProvidesDependencySymbolFields.Attributes];
75 - set => this.Set((int)ProvidesDependencySymbolFields.Attributes, value);
76 - }
77 -
78 - public bool Imported
79 - {
80 - get => (bool)this.Fields[(int)ProvidesDependencySymbolFields.Imported];
81 - set => this.Set((int)ProvidesDependencySymbolFields.Imported, value);
82 - }
83 - }
84 -}
src/WixToolset.Data/Symbols/SymbolDefinitions.cs
-3
@@ -461,9 +461,6 @@ namespace WixToolset.Data
461 case SymbolDefinitionType.Property:
462 return SymbolDefinitions.Property;
463
464 - case SymbolDefinitionType.ProvidesDependency:
465 - return SymbolDefinitions.ProvidesDependency;
466 -
464 case SymbolDefinitionType.PublishComponent:
465 return SymbolDefinitions.PublishComponent;
466
src/WixToolset.Data/Symbols/WixDependencyProviderSymbol.cs
+9 -6
@@ -10,7 +10,7 @@ namespace WixToolset.Data
10 SymbolDefinitionType.WixDependencyProvider,
11 new[]
12 {
13 - new IntermediateFieldDefinition(nameof(WixDependencyProviderSymbolFields.ComponentRef), IntermediateFieldType.String),
13 + new IntermediateFieldDefinition(nameof(WixDependencyProviderSymbolFields.ParentRef), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(WixDependencyProviderSymbolFields.ProviderKey), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixDependencyProviderSymbolFields.Version), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixDependencyProviderSymbolFields.DisplayName), IntermediateFieldType.String),
@@ -27,7 +27,7 @@ namespace WixToolset.Data.Symbols
27
28 public enum WixDependencyProviderSymbolFields
29 {
30 - ComponentRef,
30 + ParentRef,
31 ProviderKey,
32 Version,
33 DisplayName,
@@ -37,7 +37,8 @@ namespace WixToolset.Data.Symbols
37 [Flags]
38 public enum WixDependencyProviderAttributes
39 {
40 - ProvidesAttributesBundle = 0x10000
40 + ProvidesAttributesBundle = 0x10000,
41 + ProvidesAttributesImported = 0x20000
42 }
43
44 public class WixDependencyProviderSymbol : IntermediateSymbol
@@ -52,10 +53,10 @@ namespace WixToolset.Data.Symbols
53
54 public IntermediateField this[WixDependencyProviderSymbolFields index] => this.Fields[(int)index];
55
55 - public string ComponentRef
56 + public string ParentRef
57 {
57 - get => this.Fields[(int)WixDependencyProviderSymbolFields.ComponentRef].AsString();
58 - set => this.Set((int)WixDependencyProviderSymbolFields.ComponentRef, value);
58 + get => this.Fields[(int)WixDependencyProviderSymbolFields.ParentRef].AsString();
59 + set => this.Set((int)WixDependencyProviderSymbolFields.ParentRef, value);
60 }
61
62 public string ProviderKey
@@ -83,5 +84,7 @@ namespace WixToolset.Data.Symbols
84 }
85
86 public bool Bundle => (this.Attributes & WixDependencyProviderAttributes.ProvidesAttributesBundle) == WixDependencyProviderAttributes.ProvidesAttributesBundle;
87 +
88 + public bool Imported => (this.Attributes & WixDependencyProviderAttributes.ProvidesAttributesImported) == WixDependencyProviderAttributes.ProvidesAttributesImported;
89 }
90 }