Exemplo n.º 1
0
        public static CallingConvention GetCSharpCallingConvention(this CppCallingConvention cppCallingConvention)
        {
            switch (cppCallingConvention)
            {
            case CppCallingConvention.C:
            case CppCallingConvention.Default:
                return(CallingConvention.Cdecl);

            case CppCallingConvention.X86StdCall:
                return(CallingConvention.StdCall);

            case CppCallingConvention.X86FastCall:
                return(CallingConvention.FastCall);

            case CppCallingConvention.X86ThisCall:
                return(CallingConvention.ThisCall);

            case CppCallingConvention.Win64:
                return(CallingConvention.Winapi);

            case CppCallingConvention.X86Pascal:
            case CppCallingConvention.AAPCS:
            case CppCallingConvention.AAPCS_VFP:
            case CppCallingConvention.X86RegCall:
            case CppCallingConvention.IntelOclBicc:
            case CppCallingConvention.X86_64SysV:
            case CppCallingConvention.X86VectorCall:
            case CppCallingConvention.Swift:
            case CppCallingConvention.PreserveMost:
            case CppCallingConvention.PreserveAll:
            case CppCallingConvention.AArch64VectorCall:
            case CppCallingConvention.Invalid:
            case CppCallingConvention.Unexposed:
                break;
            }
            return(CallingConvention.Cdecl);
        }
Exemplo n.º 2
0
 public static string ToManagedCallingConventionName(this CppCallingConvention callConv) =>
 callConv switch
 {