diff options
Diffstat (limited to 'src/mscorlib/shared/System/Reflection/MethodImplAttributes.cs')
-rw-r--r-- | src/mscorlib/shared/System/Reflection/MethodImplAttributes.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/mscorlib/shared/System/Reflection/MethodImplAttributes.cs b/src/mscorlib/shared/System/Reflection/MethodImplAttributes.cs new file mode 100644 index 0000000000..a1ed326002 --- /dev/null +++ b/src/mscorlib/shared/System/Reflection/MethodImplAttributes.cs @@ -0,0 +1,37 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +namespace System.Reflection +{ + // This Enum matchs the CorMethodImpl defined in CorHdr.h + public enum MethodImplAttributes + { + // code impl mask + CodeTypeMask = 0x0003, // Flags about code type. + IL = 0x0000, // Method impl is IL. + Native = 0x0001, // Method impl is native. + OPTIL = 0x0002, // Method impl is OPTIL + Runtime = 0x0003, // Method impl is provided by the runtime. + // end code impl mask + + // managed mask + ManagedMask = 0x0004, // Flags specifying whether the code is managed or unmanaged. + Unmanaged = 0x0004, // Method impl is unmanaged, otherwise managed. + Managed = 0x0000, // Method impl is managed. + // end managed mask + + // implementation info and interop + ForwardRef = 0x0010, // Indicates method is not defined; used primarily in merge scenarios. + PreserveSig = 0x0080, // Indicates method sig is exported exactly as declared. + + InternalCall = 0x1000, // Internal Call... + + Synchronized = 0x0020, // Method is single threaded through the body. + NoInlining = 0x0008, // Method may not be inlined. + AggressiveInlining = 0x0100, // Method should be inlined if possible. + NoOptimization = 0x0040, // Method may not be optimized. + + MaxMethodImplVal = 0xffff, + } +} |