Skip to content

Add missing documentation - #131649

Open
alinpahontu2912 wants to merge 1 commit into
dotnet:mainfrom
alinpahontu2912:alinpahontu2912/xml-doc-completeness
Open

Add missing documentation#131649
alinpahontu2912 wants to merge 1 commit into
dotnet:mainfrom
alinpahontu2912:alinpahontu2912/xml-doc-completeness

Conversation

@alinpahontu2912

Copy link
Copy Markdown
Member

Add or update missing documentation for Compression area methods/enums

Copilot AI review requested due to automatic review settings July 31, 2026 14:40
@alinpahontu2912 alinpahontu2912 self-assigned this Jul 31, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @karelz, @dotnet/area-system-io-compression
See info in area-owners.md if you want to be subscribed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates XML documentation in the System.IO.Compression area to better describe existing members and correct a minor doc typo, improving API discoverability and reference docs quality.

Changes:

  • Add missing XML docs for ZipArchiveEntry.Crc32, ZipArchiveEntry.ExternalAttributes, and ZipArchiveEntry.Open(FileAccess, ReadOnlySpan<char>).
  • Add XML docs for the CompressionMode enum and its members.
  • Improve/extend BrotliStream XML docs (add exception docs for WriteAsync(byte[],int,int,...) and fix a parameter description typo for async read).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/libraries/System.IO.Compression/src/System/IO/Compression/ZipArchiveEntry.cs Adds XML documentation for checksum/attributes and the password+access Open overload.
src/libraries/System.IO.Compression/src/System/IO/Compression/CompressionMode.cs Adds enum and member summaries for CompressionMode.
src/libraries/System.IO.Compression.Brotli/src/System/IO/Compression/enc/BrotliStream.Compress.cs Adds exception documentation to WriteAsync(byte[],int,int,...).
src/libraries/System.IO.Compression.Brotli/src/System/IO/Compression/dec/BrotliStream.Decompress.cs Fixes a typo in the count parameter description.

Comment on lines +128 to 132
/// <exception cref="System.ArgumentNullException"><paramref name="buffer" /> is <see langword="null" />.</exception>
/// <exception cref="System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative.</exception>
/// <exception cref="System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length.</exception>
/// <exception cref="System.ObjectDisposedException">The write operation cannot be performed because the stream is closed.</exception>
/// <remarks><para>This method enables you to perform resource-intensive I/O operations without blocking the main thread. This performance consideration is particularly important in apps where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. The async methods are used in conjunction with the <see langword="async" /> and <see langword="await" /> keywords in Visual Basic and C#.</para>
@alinpahontu2912 alinpahontu2912 added this to the Future milestone Jul 31, 2026
Comment on lines +276 to +281
/// <summary>
/// Gets or sets the external file attributes of the entry, whose meaning depends on the platform
/// that created the archive (for example, Unix file mode bits or Windows file attributes).
/// </summary>
/// <exception cref="InvalidOperationException">The entry has been deleted from the archive.</exception>
/// <exception cref="ObjectDisposedException">The archive that the entry belongs to has been disposed.</exception>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR adds docs on some members that already existed in previous releases. I don't think these changes propagate to the website.

There is a tool for synchronizing between /// comments and public API docs, IIRC, the engineering team runs it before shipping the next .NET version so that newly added APIs (that have /// comments) get ported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants