/Mono.Cecil/MethodImplAttributes.cs

http://github.com/jbevain/cecil · C# · 36 lines · 21 code · 5 blank · 10 comment · 0 complexity · 3d45f1d9d071e3e93033ce75954334e2 MD5 · raw file

  1. //
  2. // Author:
  3. // Jb Evain (jbevain@gmail.com)
  4. //
  5. // Copyright (c) 2008 - 2015 Jb Evain
  6. // Copyright (c) 2008 - 2011 Novell, Inc.
  7. //
  8. // Licensed under the MIT/X11 license.
  9. //
  10. using System;
  11. namespace Mono.Cecil {
  12. [Flags]
  13. public enum MethodImplAttributes : ushort {
  14. CodeTypeMask = 0x0003,
  15. IL = 0x0000, // Method impl is CIL
  16. Native = 0x0001, // Method impl is native
  17. OPTIL = 0x0002, // Reserved: shall be zero in conforming implementations
  18. Runtime = 0x0003, // Method impl is provided by the runtime
  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. // Implementation info and interop
  23. ForwardRef = 0x0010, // Indicates method is defined; used primarily in merge scenarios
  24. PreserveSig = 0x0080, // Reserved: conforming implementations may ignore
  25. InternalCall = 0x1000, // Reserved: shall be zero in conforming implementations
  26. Synchronized = 0x0020, // Method is single threaded through the body
  27. NoOptimization = 0x0040, // Method is not optimized by the JIT.
  28. NoInlining = 0x0008, // Method may not be inlined
  29. AggressiveInlining = 0x0100, // Method should be inlined, if possible.
  30. }
  31. }