Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically port Reflection.PortableExecutable.PE* APIs #3193

Merged
merged 18 commits into from
Oct 11, 2019

Conversation

carlossanlop
Copy link
Member

No description provided.

@carlossanlop carlossanlop added new-content Indicates PRs that contain new articles waiting-on-reviews Indicates PRs that cannot be merged because of the lack of reviews 🏁 Release: .NET Core 2.x Identifies work items for the .NET Core 2.x releases labels Sep 16, 2019
@carlossanlop carlossanlop added this to the September 2019 milestone Sep 16, 2019
@carlossanlop carlossanlop self-assigned this Sep 16, 2019
Copy link

@rpetrusha rpetrusha left a comment

Choose a reason for hiding this comment

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

I've left a number of suggestions and comments about the first two files in your PR, @carlossanlop. I'll do the remainder separately.

@@ -86,7 +86,15 @@
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
<remarks>

Choose a reason for hiding this comment

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

All of the documentation appears in the Remarks section, with nothing in the Summary section. Should they be moved the the summary?

Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to add cross references?

@@ -44,9 +44,17 @@
<ReturnType>System.Int32</ReturnType>
</ReturnValue>

Choose a reason for hiding this comment

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

Can we provide a summary? Something like "Represents the header of a Portable Executable (PE) file."?

Copy link
Member Author

Choose a reason for hiding this comment

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

@tmat does this summary look good to you or would you prefer a different description?

xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeader.xml Outdated Show resolved Hide resolved

## Remarks

Represents `IMAGE_DIRECTORY_ENTRY_TLS`.

Choose a reason for hiding this comment

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

Remarks without summary.

Copy link

@rpetrusha rpetrusha left a comment

Choose a reason for hiding this comment

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

Some additional comments/suggestions.

@@ -75,8 +75,9 @@
<param name="sizeOfStackCommit">To be added.</param>

Choose a reason for hiding this comment

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

  • This needs a type summary. Perhaps, "Defines the header for a portable executable (PE) file."
  • Can we provide descriptions for the constructor's parameters?

Copy link
Member Author

Choose a reason for hiding this comment

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

@tmat do you agree with the proposed summary?
Sure @rpetrusha I'll complete the constructors.

xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEHeaders.xml Outdated Show resolved Hide resolved
Copy link

@rpetrusha rpetrusha left a comment

Choose a reason for hiding this comment

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

Additional changes up to the PEReader.GetSectionData method.

xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
xml/System.Reflection.PortableExecutable/PEReader.xml Outdated Show resolved Hide resolved
@@ -458,9 +575,13 @@
</Parameters>
<Docs>
<param name="entry">To be added.</param>

Choose a reason for hiding this comment

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

Can we provide parameter and return value descriptions here?

@rpetrusha
Copy link

I've finished reviewing this PR, @carlossanlop. I should have just made the edits directly, but unfortunately I only did that in some cases, and largely left suggestions for the remaining changes.

@carlossanlop
Copy link
Member Author

Hey @tmat we need your help again.
Can you please provide summaries for these types? There weren't any in the source code. I am not familiar with the purpose of these APIs, so your suggestions would be the most accurate for the documentation.

Here is your PR that introduced them: dotnet/corefx#5354
Here is the roslyn PR with the initial implementation: dotnet/roslyn#7683
Here is the roslyn issue originally tracking the work item: dotnet/roslyn#6904

@@ -17,7 +17,7 @@
</Base>
<Interfaces />
<Docs>
<summary>To be added.</summary>
<summary>Builds PE directories.</summary>
Copy link
Member Author

Choose a reason for hiding this comment

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

@tmat I added this but I don't think it's descriptive enough. Can you please provide a better summary?

carlossanlop and others added 2 commits September 26, 2019 14:52
Co-Authored-By: Ron Petrusha <[email protected]>
Co-Authored-By: Ron Petrusha <[email protected]>
Copy link
Contributor

@sdmaclea sdmaclea left a comment

Choose a reason for hiding this comment

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

I am wondering wheether all the "Represents IMAGE_DIRECTORY_ENTRY_*" remarks should be links to some specification. These remarks do not seem to have sufficient context, but perhaps a PE/COFF expert would immediately understand them.

@@ -86,7 +86,15 @@
<Docs>
<summary>To be added.</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
<remarks>
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you want to add cross references?

@rpetrusha
Copy link

@carlossanlop, do you want to address the comments from @sdmaclea, or is this ready to merge?

@carlossanlop
Copy link
Member Author

@rpetrusha, let's get this merged. We can add cross references later.

@rpetrusha
Copy link

Sounds good, @carlossanlop. I'll merge now.

@rpetrusha rpetrusha merged commit 9d12dfe into dotnet:master Oct 11, 2019
@mairaw mairaw removed the waiting-on-reviews Indicates PRs that cannot be merged because of the lack of reviews label Nov 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏁 Release: .NET Core 2.x Identifies work items for the .NET Core 2.x releases new-content Indicates PRs that contain new articles
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants