System.Reflection.Metadata: migrate XML docs (fill-gaps)#2
Open
richlander wants to merge 1 commit intomainfrom
Open
System.Reflection.Metadata: migrate XML docs (fill-gaps)#2richlander wants to merge 1 commit intomainfrom
richlander wants to merge 1 commit intomainfrom
Conversation
192 types processed, 21 files modified. Doc-only migration from dotnet-api-docs using slash merge --mode fill-gaps. Quality before: 1310/1738 Good (75.4%) Quality after: 1331/1782 Good (74.7%), gaps filled where C# had none Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jkotas
reviewed
Feb 21, 2026
| #endif | ||
|
|
||
| /// <summary> | ||
| /// Initializes a new instance of the AssemblyNameInfo class. |
jkotas
reviewed
Feb 21, 2026
| /// <exception cref="InvalidOperationException">Builder is not writable, it has been linked with another one.</exception> | ||
| /// <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="byteCount"/> is negative.</exception> | ||
| /// <exception cref="T:System.InvalidOperationException">The builder is not writable, it has been linked with another one.</exception> | ||
| internal void WriteBytes(ReadOnlySpan<byte> buffer) |
There was a problem hiding this comment.
Wrong method. The doc comment should be on the public ones.
jkotas
reviewed
Feb 21, 2026
| private uint FrozenLength => _length | IsFrozenMask; | ||
| private Span<byte> Span => _buffer.AsSpan(0, Length); | ||
|
|
||
| /// <param name="capacity">To be added.</param> |
There was a problem hiding this comment.
Should we omit these "To be added" comments (or replace them with AI generated boilerplate)? It is easy to scan for public APIs with missing docs anytime. We do not have to have placeholders for it.
| namespace System.Reflection.Metadata | ||
| { | ||
| /// <summary> | ||
| /// Represents the method body in ECMA 335 assembly. |
There was a problem hiding this comment.
Suggested change
| /// Represents the method body in ECMA 335 assembly. | |
| /// Represents the method body in ECMA-335 assembly. |
| /// The method body contains Common Intermediate Language (CIL) instructions that make up a method and information about its local variables and exception regions. You can use the <see cref="System.Reflection.Metadata.PEReaderExtensions.GetMethodBody"/> method to get a <c>MethodBodyBlock</c> instance for the specified method. | ||
| /// The format of CIL instructions and metadata is defined by the ECMA-335 specification. For more information, see [Standard ECMA-335 - Common Language Infrastructure (CLI)](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) on the Ecma International Web site. | ||
| /// This example shows how to read method bodies for all methods in the specified type definition and display method body information: | ||
| /// [!code-csharp[](~/snippets/csharp/System.Reflection.Metadata/MethodBodyBlock/MethodBodyBlockSnippets.cs#PrintMethods)] |
There was a problem hiding this comment.
How are we thinking about code examples?
| get { return _heapOffset == 0; } | ||
| } | ||
|
|
||
| /// <param name="obj">To be added.</param> |
Comment on lines
+78
to
+79
| /// <param name="left">To be added.</param> | ||
| /// <param name="right">To be added.</param> |
Comment on lines
+85
to
+86
| /// <param name="left">To be added.</param> | ||
| /// <param name="right">To be added.</param> |
| WriteBytes(new ReadOnlySpan<byte>(buffer, byteCount)); | ||
| } | ||
|
|
||
| /// <param name="value">To be added.</param> |
There was a problem hiding this comment.
My base assumption is that every item should have a <summary>. I will stop for now, but everytime I marked something "Incomplete." that is what I was implying.
| namespace System.Reflection.Metadata | ||
| { | ||
| /// <summary> | ||
| /// Reads metadata as defined by the ECMA 335 CLI specification. |
There was a problem hiding this comment.
Suggested change
| /// Reads metadata as defined by the ECMA 335 CLI specification. | |
| /// Reads metadata as defined by the ECMA-335 CLI specification. |
| /// You can use constructors, such as <see cref="System.Reflection.Metadata.MetadataReader.#ctor(System.Byte,System.Int32)"/>, to create an instance of <see cref="System.Reflection.Metadata.MetadataReader"/> for a given memory location. To read metadata from the Portable Executable assembly file, create <see cref="System.Reflection.PortableExecutable.PEReader"/> and use the <see cref="System.Reflection.Metadata.PEReaderExtensions.GetMetadataReader(System.Reflection.PortableExecutable.PEReader)"/> extension method. | ||
| /// The format of CLI metadata is defined by the ECMA-335 specification. For more information, see [Standard ECMA-335 - Common Language Infrastructure (CLI)](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) on the Ecma International Web site. | ||
| /// This example shows how to create <see cref="System.Reflection.Metadata.MetadataReader"/> for an assembly and read all type definitions from it: | ||
| /// <code lang="csharp" source="~/snippets/csharp/System.Reflection.Metadata/MetadataReader/MetadataReaderSnippets.cs" id="SnippetMetadataReader" /> |
| namespace System.Reflection.Metadata | ||
| { | ||
| /// <summary> | ||
| /// Reads metadata as defined by the ECMA 335 CLI specification. |
There was a problem hiding this comment.
Suggested change
| /// Reads metadata as defined by the ECMA 335 CLI specification. | |
| /// Reads metadata as defined by the ECMA-335 CLI specification. |
| /// You can use constructors, such as <see cref="System.Reflection.Metadata.MetadataReader.#ctor(System.Byte,System.Int32)"/>, to create an instance of <see cref="System.Reflection.Metadata.MetadataReader"/> for a given memory location. To read metadata from the Portable Executable assembly file, create <see cref="System.Reflection.PortableExecutable.PEReader"/> and use the <see cref="System.Reflection.Metadata.PEReaderExtensions.GetMetadataReader(System.Reflection.PortableExecutable.PEReader)"/> extension method. | ||
| /// The format of CLI metadata is defined by the ECMA-335 specification. For more information, see [Standard ECMA-335 - Common Language Infrastructure (CLI)](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) on the Ecma International Web site. | ||
| /// This example shows how to create <see cref="System.Reflection.Metadata.MetadataReader"/> for an assembly and read all type definitions from it: | ||
| /// <code lang="csharp" source="~/snippets/csharp/System.Reflection.Metadata/MetadataReader/MetadataReaderSnippets.cs" id="SnippetMetadataReader" /> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Doc-only migration for
System.Reflection.Metadata— 192 types, 19 files modified, +415 lines. Generated byslash merge --mode fill-gaps. See richlander/runtime#1 for full context on the approach, tooling, and design goals.Quality: before → after
mainThe member count increased from 1,738 to 1,782 because
fill-gapsadds///comments to members that previously had no C# docs, making them visible to the quality analyzer. The 21 newly-Good members are gaps that were filled fromdotnet-api-docsXML.This is a doc-only migration — no samples were added. Samples would be a follow-up pass using the LLM agent fleet workflow described in PR #1.