private void InitReturnBufferArg(TypeSig returnType, bool hasThis) { if (returnType.IsStruct()) { var returnBuffer = new LocalVariableDescriptor() { IsParameter = true, Kind = StackValueKind.ByRef, IsTemp = false, ExactSize = TypeList.GetExactSize(StackValueKind.ByRef), }; // Ensure return buffer parameter goes after the this parameter if present _returnBufferArgIndex = hasThis ? 1 : 0; _localVariableTable.Insert(_returnBufferArgIndex.Value, returnBuffer); _parameterCount++; } }