• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #region Copyright notice and license
2 // Protocol Buffers - Google's data interchange format
3 // Copyright 2015 Google Inc.  All rights reserved.
4 //
5 // Use of this source code is governed by a BSD-style
6 // license that can be found in the LICENSE file or at
7 // https://developers.google.com/open-source/licenses/bsd
8 #endregion
9 
10 #if !NET5_0_OR_GREATER
11 // Copied with permission from https://github.com/dotnet/runtime/tree/8fbf206d0e518b45ca855832e8bfb391afa85972/src/libraries/System.Private.CoreLib/src/System/Diagnostics/CodeAnalysis
12 namespace System.Diagnostics.CodeAnalysis
13 {
14     /// <summary>
15     /// Specifies the types of members that are dynamically accessed.
16     ///
17     /// This enumeration has a <see cref="FlagsAttribute"/> attribute that allows a
18     /// bitwise combination of its member values.
19     /// </summary>
20     [Flags]
21     internal enum DynamicallyAccessedMemberTypes
22     {
23         /// <summary>
24         /// Specifies no members.
25         /// </summary>
26         None = 0,
27 
28         /// <summary>
29         /// Specifies the default, parameterless public constructor.
30         /// </summary>
31         PublicParameterlessConstructor = 0x0001,
32 
33         /// <summary>
34         /// Specifies all public constructors.
35         /// </summary>
36         PublicConstructors = 0x0002 | PublicParameterlessConstructor,
37 
38         /// <summary>
39         /// Specifies all non-public constructors.
40         /// </summary>
41         NonPublicConstructors = 0x0004,
42 
43         /// <summary>
44         /// Specifies all public methods.
45         /// </summary>
46         PublicMethods = 0x0008,
47 
48         /// <summary>
49         /// Specifies all non-public methods.
50         /// </summary>
51         NonPublicMethods = 0x0010,
52 
53         /// <summary>
54         /// Specifies all public fields.
55         /// </summary>
56         PublicFields = 0x0020,
57 
58         /// <summary>
59         /// Specifies all non-public fields.
60         /// </summary>
61         NonPublicFields = 0x0040,
62 
63         /// <summary>
64         /// Specifies all public nested types.
65         /// </summary>
66         PublicNestedTypes = 0x0080,
67 
68         /// <summary>
69         /// Specifies all non-public nested types.
70         /// </summary>
71         NonPublicNestedTypes = 0x0100,
72 
73         /// <summary>
74         /// Specifies all public properties.
75         /// </summary>
76         PublicProperties = 0x0200,
77 
78         /// <summary>
79         /// Specifies all non-public properties.
80         /// </summary>
81         NonPublicProperties = 0x0400,
82 
83         /// <summary>
84         /// Specifies all public events.
85         /// </summary>
86         PublicEvents = 0x0800,
87 
88         /// <summary>
89         /// Specifies all non-public events.
90         /// </summary>
91         NonPublicEvents = 0x1000,
92 
93         /// <summary>
94         /// Specifies all interfaces implemented by the type.
95         /// </summary>
96         Interfaces = 0x2000,
97 
98         /// <summary>
99         /// Specifies all members.
100         /// </summary>
101         All = ~None
102     }
103 }
104 #endif
105