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
@@ -25,11 +25,7 @@ public sealed class AbCipFetchUdtShapeTests
/// <summary>Gets the last template ID read.</summary>
public uint LastTemplateId { get; private set; }
/// <summary>Reads the template data for the specified device and template ID.</summary>
/// <param name="deviceParams">The device parameters.</param>
/// <param name="templateInstanceId">The template instance ID.</param>
/// <param name="ct">The cancellation token.</param>
/// <returns>A task that returns the template response bytes.</returns>
/// <inheritdoc />
public Task<byte[]> ReadAsync(AbCipTagCreateParams deviceParams, uint templateInstanceId, CancellationToken ct)
{
ReadCount++;
@@ -50,8 +46,7 @@ public sealed class AbCipFetchUdtShapeTests
/// <summary>Gets or sets an optional customization function for reader creation.</summary>
public Func<IAbCipTemplateReader>? Customise { get; set; }
/// <summary>Creates a new template reader.</summary>
/// <returns>The created reader.</returns>
/// <inheritdoc />
public IAbCipTemplateReader Create()
{
var r = Customise?.Invoke() ?? new FakeTemplateReader();
@@ -93,6 +88,7 @@ public sealed class AbCipFetchUdtShapeTests
}
/// <summary>Verifies that FetchUdtShapeAsync decodes a blob and caches the result.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task FetchUdtShapeAsync_decodes_blob_and_caches_result()
{
@@ -123,6 +119,7 @@ public sealed class AbCipFetchUdtShapeTests
}
/// <summary>Verifies that different template IDs result in separate fetch operations.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task FetchUdtShapeAsync_different_templateIds_each_fetch()
{
@@ -154,6 +151,7 @@ public sealed class AbCipFetchUdtShapeTests
}
/// <summary>Verifies that FetchUdtShapeAsync returns null for an unknown device.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task FetchUdtShapeAsync_unknown_device_returns_null()
{
@@ -170,6 +168,7 @@ public sealed class AbCipFetchUdtShapeTests
}
/// <summary>Verifies that a decode failure returns null and does not cache the result.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task FetchUdtShapeAsync_decode_failure_returns_null_and_does_not_cache()
{
@@ -193,6 +192,7 @@ public sealed class AbCipFetchUdtShapeTests
}
/// <summary>Verifies that a reader exception returns null.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task FetchUdtShapeAsync_reader_exception_returns_null()
{
@@ -211,6 +211,7 @@ public sealed class AbCipFetchUdtShapeTests
}
/// <summary>Verifies that FlushOptionalCachesAsync empties the template cache.</summary>
/// <returns>A task that represents the asynchronous test operation.</returns>
[Fact]
public async Task FlushOptionalCachesAsync_empties_template_cache()
{
@@ -241,11 +242,7 @@ public sealed class AbCipFetchUdtShapeTests
/// <summary>Test implementation of IAbCipTemplateReader that throws on read.</summary>
private sealed class ThrowingTemplateReader : IAbCipTemplateReader
{
/// <summary>Throws an exception when read is attempted.</summary>
/// <param name="p">The device parameters.</param>
/// <param name="id">The template ID.</param>
/// <param name="ct">The cancellation token.</param>
/// <returns>Never returns; throws instead.</returns>
/// <inheritdoc />
public Task<byte[]> ReadAsync(AbCipTagCreateParams p, uint id, CancellationToken ct) =>
throw new InvalidOperationException("fake read failure");