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); }
public static string ToManagedCallingConventionName(this CppCallingConvention callConv) => callConv switch {