docs: complete XML doc comments via fixdocs (2757 to 131 findings)

Add missing <returns>/<param>/<summary>/<typeparam> tags and clean up
misused inheritdoc across 481 files so the documented API surface is
complete. Documentation-only (zero code lines changed). The 131 remaining
findings are inheritdoc-style warnings deliberately left to preserve
hand-written implementation rationale (plan-decision notes, race-condition
explanations).
This commit is contained in:
Joseph Doherty
2026-06-03 12:34:34 -04:00
parent c6d9b20d9f
commit bd6c0b4d3d
481 changed files with 2550 additions and 1668 deletions
@@ -22,15 +22,9 @@ public sealed class ModbusCoalescingBisectionTests
{
/// <summary>Gets or sets the protected address that will cause read failures.</summary>
public ushort ProtectedAddress { get; set; } = ushort.MaxValue;
/// <summary>Simulates connecting to the Modbus device.</summary>
/// <param name="ct">The cancellation token.</param>
/// <returns>A completed task.</returns>
/// <inheritdoc />
public Task ConnectAsync(CancellationToken ct) => Task.CompletedTask;
/// <summary>Simulates sending a Modbus PDU and failing if the protected address is accessed.</summary>
/// <param name="unitId">The Modbus unit ID.</param>
/// <param name="pdu">The protocol data unit.</param>
/// <param name="ct">The cancellation token.</param>
/// <returns>The response PDU or an exception if the protected address is accessed.</returns>
/// <inheritdoc />
public Task<byte[]> SendAsync(byte unitId, byte[] pdu, CancellationToken ct)
{
var addr = (ushort)((pdu[1] << 8) | pdu[2]);
@@ -54,6 +48,7 @@ public sealed class ModbusCoalescingBisectionTests
}
/// <summary>Verifies that bisection narrows a multi-register prohibition on each reprobe cycle.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task Bisection_Narrows_Multi_Register_Prohibition_Per_Reprobe()
{
@@ -98,6 +93,7 @@ public sealed class ModbusCoalescingBisectionTests
}
/// <summary>Verifies that the prohibition is cleared when both bisected halves succeed in recovery.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task Bisection_Clears_When_Both_Halves_Are_Healthy()
{
@@ -127,6 +123,7 @@ public sealed class ModbusCoalescingBisectionTests
}
/// <summary>Verifies that the prohibition splits into two entries when both bisected halves still fail.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task Bisection_Splits_Into_Two_When_Both_Halves_Still_Fail()
{
@@ -160,15 +157,9 @@ public sealed class ModbusCoalescingBisectionTests
private sealed class TwoHoleTransport : IModbusTransport
{
public readonly HashSet<ushort> ProtectedAddresses = new();
/// <summary>Simulates connecting to the Modbus device.</summary>
/// <param name="ct">The cancellation token.</param>
/// <returns>A completed task.</returns>
/// <inheritdoc />
public Task ConnectAsync(CancellationToken ct) => Task.CompletedTask;
/// <summary>Simulates sending a Modbus PDU and failing if any protected address is accessed.</summary>
/// <param name="unitId">The Modbus unit ID.</param>
/// <param name="pdu">The protocol data unit.</param>
/// <param name="ct">The cancellation token.</param>
/// <returns>The response PDU or an exception if a protected address is accessed.</returns>
/// <inheritdoc />
public Task<byte[]> SendAsync(byte unitId, byte[] pdu, CancellationToken ct)
{
var addr = (ushort)((pdu[1] << 8) | pdu[2]);