diff options
Diffstat (limited to 'src/mscorlib/src/System/Runtime/CompilerServices/MethodImplAttribute.cs')
-rw-r--r-- | src/mscorlib/src/System/Runtime/CompilerServices/MethodImplAttribute.cs | 61 |
1 files changed, 18 insertions, 43 deletions
diff --git a/src/mscorlib/src/System/Runtime/CompilerServices/MethodImplAttribute.cs b/src/mscorlib/src/System/Runtime/CompilerServices/MethodImplAttribute.cs index b4991110f8..b24018cf78 100644 --- a/src/mscorlib/src/System/Runtime/CompilerServices/MethodImplAttribute.cs +++ b/src/mscorlib/src/System/Runtime/CompilerServices/MethodImplAttribute.cs @@ -2,72 +2,47 @@ // 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.Runtime.CompilerServices { - - using System; - using System.Reflection; - + +using System; +using System.Reflection; + +namespace System.Runtime.CompilerServices +{ // This Enum matchs the miImpl flags defined in corhdr.h. It is used to specify // certain method properties. - - [Serializable] - [Flags] - public enum MethodImplOptions - { - Unmanaged = System.Reflection.MethodImplAttributes.Unmanaged, - ForwardRef = System.Reflection.MethodImplAttributes.ForwardRef, - PreserveSig = System.Reflection.MethodImplAttributes.PreserveSig, - InternalCall = System.Reflection.MethodImplAttributes.InternalCall, - Synchronized = System.Reflection.MethodImplAttributes.Synchronized, - NoInlining = System.Reflection.MethodImplAttributes.NoInlining, - AggressiveInlining = System.Reflection.MethodImplAttributes.AggressiveInlining, - NoOptimization = System.Reflection.MethodImplAttributes.NoOptimization, - // **** If you add something, update internal MethodImplAttribute(MethodImplAttributes methodImplAttributes)! **** - } + // Custom attribute to specify additional method properties. [Serializable] - public enum MethodCodeType + [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor, Inherited = false)] + sealed public class MethodImplAttribute : Attribute { - IL = System.Reflection.MethodImplAttributes.IL, - Native = System.Reflection.MethodImplAttributes.Native, - /// <internalonly/> - OPTIL = System.Reflection.MethodImplAttributes.OPTIL, - Runtime = System.Reflection.MethodImplAttributes.Runtime - } - - // Custom attribute to specify additional method properties. -[Serializable] -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor, Inherited = false)] - sealed public class MethodImplAttribute : Attribute - { - internal MethodImplOptions _val; - public MethodCodeType MethodCodeType; + internal MethodImplOptions _val; + public MethodCodeType MethodCodeType; internal MethodImplAttribute(MethodImplAttributes methodImplAttributes) { - MethodImplOptions all = - MethodImplOptions.Unmanaged | MethodImplOptions.ForwardRef | MethodImplOptions.PreserveSig | + MethodImplOptions all = + MethodImplOptions.Unmanaged | MethodImplOptions.ForwardRef | MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall | MethodImplOptions.Synchronized | MethodImplOptions.NoInlining | MethodImplOptions.AggressiveInlining | MethodImplOptions.NoOptimization; _val = ((MethodImplOptions)methodImplAttributes) & all; } - + public MethodImplAttribute(MethodImplOptions methodImplOptions) { _val = methodImplOptions; } - + public MethodImplAttribute(short value) { _val = (MethodImplOptions)value; } - + public MethodImplAttribute() { } - - public MethodImplOptions Value { get {return _val;} } - } + public MethodImplOptions Value { get { return _val; } } + } } |