static private int FixupCallStructReturn(TypeSig returnType, List <StackEntry> arguments, IILImporterProxy importer, bool hasThis) { // Create temp var lclNum = importer.GrabTemp(returnType.GetStackValueKind(), returnType.GetExactSize()); var returnBufferPtr = new LocalVariableAddressEntry(lclNum); // Ensure return buffer parameter goes after the this parameter if present var returnBufferArgPos = hasThis ? 1 : 0; arguments.Insert(returnBufferArgPos, returnBufferPtr); return(lclNum); }