main
cs 55 lines 2.14 KB
Raw
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.ComPlus
4 {
5 using WixToolset.Data;
6 using WixToolset.ComPlus.Symbols;
7
8 public static partial class ComPlusSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition ComPlusAssemblyDependency = new IntermediateSymbolDefinition(
11 ComPlusSymbolDefinitionType.ComPlusAssemblyDependency.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(ComPlusAssemblyDependencySymbolFields.AssemblyRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ComPlusAssemblyDependencySymbolFields.RequiredAssemblyRef), IntermediateFieldType.String),
16 },
17 typeof(ComPlusAssemblyDependencySymbol));
18 }
19 }
20
21 namespace WixToolset.ComPlus.Symbols
22 {
23 using WixToolset.Data;
24
25 public enum ComPlusAssemblyDependencySymbolFields
26 {
27 AssemblyRef,
28 RequiredAssemblyRef,
29 }
30
31 public class ComPlusAssemblyDependencySymbol : IntermediateSymbol
32 {
33 public ComPlusAssemblyDependencySymbol() : base(ComPlusSymbolDefinitions.ComPlusAssemblyDependency, null, null)
34 {
35 }
36
37 public ComPlusAssemblyDependencySymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(ComPlusSymbolDefinitions.ComPlusAssemblyDependency, sourceLineNumber, id)
38 {
39 }
40
41 public IntermediateField this[ComPlusAssemblyDependencySymbolFields index] => this.Fields[(int)index];
42
43 public string AssemblyRef
44 {
45 get => this.Fields[(int)ComPlusAssemblyDependencySymbolFields.AssemblyRef].AsString();
46 set => this.Set((int)ComPlusAssemblyDependencySymbolFields.AssemblyRef, value);
47 }
48
49 public string RequiredAssemblyRef
50 {
51 get => this.Fields[(int)ComPlusAssemblyDependencySymbolFields.RequiredAssemblyRef].AsString();
52 set => this.Set((int)ComPlusAssemblyDependencySymbolFields.RequiredAssemblyRef, value);
53 }
54 }
55 }