internal static unsafe IntPtr MakeThunk(ThunkKind thunkKind, IntPtr targetPointer, IntPtr instantiatingArg, ArgIteratorData argIteratorData, bool[] paramsByRefForced) { int callConversionInfo = CallConversionInfo.RegisterCallConversionInfo(thunkKind, targetPointer, instantiatingArg, argIteratorData, paramsByRefForced); return FindExistingOrAllocateThunk(callConversionInfo); }
//public: //------------------------------------------------------------ // Constructor //------------------------------------------------------------ public ArgIterator(ArgIteratorData argData, CallingConvention callConv, bool hasParamType, bool extraFunctionPointerArg, bool[] forcedByRefParams, bool skipFirstArg, bool extraObjectFirstArg) { this = default(ArgIterator); _argData = argData; _hasThis = callConv == CallingConvention.ManagedInstance; _hasParamType = hasParamType; _extraFunctionPointerArg = extraFunctionPointerArg; _forcedByRefParams = forcedByRefParams; _skipFirstArg = skipFirstArg; _extraObjectFirstArg = extraObjectFirstArg; _interpreterCallingConvention = callConv; }