using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Reflection
{
/// Specifies flags for the attributes of a method implementation.
// Token: 0x02000231 RID: 561
[Token(Token = "0x2000231")]
[ComVisible(true)]
[Serializable]
public enum MethodImplAttributes
{
/// Specifies flags about code type.
// Token: 0x04000ABB RID: 2747
[Token(Token = "0x4000ABB")]
CodeTypeMask = 3,
/// Specifies that the method implementation is in Microsoft intermediate language (MSIL).
// Token: 0x04000ABC RID: 2748
[Token(Token = "0x4000ABC")]
IL = 0,
/// Specifies that the method implementation is native.
// Token: 0x04000ABD RID: 2749
[Token(Token = "0x4000ABD")]
Native,
/// Specifies that the method implementation is in Optimized Intermediate Language (OPTIL).
// Token: 0x04000ABE RID: 2750
[Token(Token = "0x4000ABE")]
OPTIL,
/// Specifies that the method implementation is provided by the runtime.
// Token: 0x04000ABF RID: 2751
[Token(Token = "0x4000ABF")]
Runtime,
/// Specifies whether the method is implemented in managed or unmanaged code.
// Token: 0x04000AC0 RID: 2752
[Token(Token = "0x4000AC0")]
ManagedMask,
/// Specifies that the method is implemented in unmanaged code.
// Token: 0x04000AC1 RID: 2753
[Token(Token = "0x4000AC1")]
Unmanaged = 4,
/// Specifies that the method is implemented in managed code.
// Token: 0x04000AC2 RID: 2754
[Token(Token = "0x4000AC2")]
Managed = 0,
/// Specifies that the method is not defined.
// Token: 0x04000AC3 RID: 2755
[Token(Token = "0x4000AC3")]
ForwardRef = 16,
/// Specifies that the method signature is exported exactly as declared.
// Token: 0x04000AC4 RID: 2756
[Token(Token = "0x4000AC4")]
PreserveSig = 128,
/// Specifies an internal call.
// Token: 0x04000AC5 RID: 2757
[Token(Token = "0x4000AC5")]
InternalCall = 4096,
/// Specifies that the method is single-threaded through the body. Static methods ( in Visual Basic) lock on the type, whereas instance methods lock on the instance. You can also use the C# lock statement or the Visual Basic SyncLock statement for this purpose.
// Token: 0x04000AC6 RID: 2758
[Token(Token = "0x4000AC6")]
Synchronized = 32,
/// Specifies that the method cannot be inlined.
// Token: 0x04000AC7 RID: 2759
[Token(Token = "0x4000AC7")]
NoInlining = 8,
/// Specifies that the method should be inlined wherever possible.
// Token: 0x04000AC8 RID: 2760
[Token(Token = "0x4000AC8")]
[ComVisible(false)]
AggressiveInlining = 256,
/// Specifies that the method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems.
// Token: 0x04000AC9 RID: 2761
[Token(Token = "0x4000AC9")]
NoOptimization = 64,
/// Specifies a range check value.
// Token: 0x04000ACA RID: 2762
[Token(Token = "0x4000ACA")]
MaxMethodImplVal = 65535
}
}