1 // Licensed to the .NET Foundation under one or more agreements. 2 // The .NET Foundation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 namespace System.Reflection 6 { 7 // This Enum matchs the CorMethodImpl defined in CorHdr.h 8 public enum MethodImplAttributes 9 { 10 // code impl mask 11 CodeTypeMask = 0x0003, // Flags about code type. 12 IL = 0x0000, // Method impl is IL. 13 Native = 0x0001, // Method impl is native. 14 OPTIL = 0x0002, // Method impl is OPTIL 15 Runtime = 0x0003, // Method impl is provided by the runtime. 16 // end code impl mask 17 18 // managed mask 19 ManagedMask = 0x0004, // Flags specifying whether the code is managed or unmanaged. 20 Unmanaged = 0x0004, // Method impl is unmanaged, otherwise managed. 21 Managed = 0x0000, // Method impl is managed. 22 // end managed mask 23 24 // implementation info and interop 25 ForwardRef = 0x0010, // Indicates method is not defined; used primarily in merge scenarios. 26 PreserveSig = 0x0080, // Indicates method sig is exported exactly as declared. 27 28 InternalCall = 0x1000, // Internal Call... 29 30 Synchronized = 0x0020, // Method is single threaded through the body. 31 NoInlining = 0x0008, // Method may not be inlined. 32 AggressiveInlining = 0x0100, // Method should be inlined if possible. 33 NoOptimization = 0x0040, // Method may not be optimized. 34 35 MaxMethodImplVal = 0xffff, 36 } 37 } 38