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

Metadata writer refactoring (3) #9459

Closed
wants to merge 85 commits into from
Closed

Conversation

tmat
Copy link
Member

@tmat tmat commented Mar 3, 2016

Refactors PeWriter into components independent of Roslyn, so that it can later be moved to System.Reflection.Metadata in CoreFX.

The goal is to provide PE/COFF builder and ECMA-335 metadata builder that can be used broadly to write managed and native PE files. The goal is not to immediately provide the full support for writing all existing sections of the PE/COFF format but rather to enable composing PE/COFF files from section blobs and to provide builders for sections commonly appearing in managed PE files.

Includes implementation of a set of types, blob encoders that can be used for serialization of various blob structures found in the ECMA-335 metadata (especially signatures). The introduced abstraction provides type-system enforced structure to the blobs with minimal runtime overhead.

More work will follow to polish the public surface of the builders and serializers.

Tracked by work item: #6904

@tmat tmat changed the title Metadata writer 3 Metadata writer refactoring (3) Mar 3, 2016
@tmat tmat mentioned this pull request Mar 3, 2016
@tmat tmat force-pushed the MetadataWriter-3 branch 5 times, most recently from ed3039d to 695a4b9 Compare March 11, 2016 17:22
@tmat tmat force-pushed the MetadataWriter-3 branch 2 times, most recently from f5c64ba to 695a4b9 Compare March 18, 2016 20:18
@tmat tmat force-pushed the MetadataWriter-3 branch from 695a4b9 to dee4be8 Compare March 20, 2016 18:12
@tmat tmat closed this Apr 29, 2016
@tmat tmat deleted the MetadataWriter-3 branch August 16, 2017 19:54
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