diff options
author | Zoltan Varga <vargaz@gmail.com> | 2020-07-15 12:27:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-15 12:27:08 +0300 |
commit | 26d148421cefd47aaeb5b1f408e6fc60e00d981b (patch) | |
tree | 500ca0150e630f9b08322a5fd405ca1f89c6992f | |
parent | 8362227c5ba876d9ab3bcd765ca9e1921b2dafa0 (diff) | |
parent | 18355d7d673a218c8b79954064b1eaa9dc91e0c6 (diff) |
Merge pull request #18 from mono/unmanaged-cconv
Add support for the unmanaged (0x9) calling convention from .net core.
-rw-r--r-- | reflect/MethodSignature.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/reflect/MethodSignature.cs b/reflect/MethodSignature.cs index 189f13b2..1d51421f 100644 --- a/reflect/MethodSignature.cs +++ b/reflect/MethodSignature.cs @@ -146,7 +146,7 @@ namespace IKVM.Reflection System.Runtime.InteropServices.CallingConvention unmanagedCallingConvention = 0; bool unmanaged; byte flags = br.ReadByte(); - switch (flags & 7) + switch (flags & 0xf) { case DEFAULT: callingConvention = CallingConventions.Standard; @@ -168,6 +168,10 @@ namespace IKVM.Reflection unmanagedCallingConvention = System.Runtime.InteropServices.CallingConvention.FastCall; unmanaged = true; break; + case 0x09: // UNMANAGED + unmanagedCallingConvention = (System.Runtime.InteropServices.CallingConvention)0x9; + unmanaged = true; + break; case VARARG: callingConvention = CallingConventions.VarArgs; unmanaged = false; |