This repository was archived by the owner on Jan 23, 2023. It is now read-only.
R2RDump changes to allow separation of presentation from parsing#27823
Closed
cshung wants to merge 1 commit intodotnet:masterfrom
Closed
R2RDump changes to allow separation of presentation from parsing#27823cshung wants to merge 1 commit intodotnet:masterfrom
cshung wants to merge 1 commit intodotnet:masterfrom
Conversation
Member
|
LGTM, but please file a bug about generation of warnings. There needs to be some way to see those, and to add them to parsers so that we can identify stuff that's not quite right. |
|
Thank you for your contribution. As announced in #27549 the dotnet/runtime repository will be used going forward for changes to this code base. Closing this PR as no more changes will be accepted into master for this repository. If you’d like to continue working on this change please move it to dotnet/runtime. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
The overall goal of this refactoring is to separate parsing from the presentation so that parsing can be its own library and the presentation is stacked on top of it.
The eventual goal is to have a .NET Core console application, depending on a class library targeting .NET Standard 2.0, so that the library is virtually usable anywhere we cared.
Right now, it is still a single project, but it is changed so that if there are separated, they will compile one their own. Not separating them now is intended, I plan to handle the actual splitting post-consolidation.
The presentation layer include these files:
All the rest belongs to the parsing library, which will have the
ILCompiler.Reflection.ReadyToRunnamespace.To make it compile, I have to make some changes, here is an overview of significant changes I made:
WriteTo()instance methods into extension methods and placed inExtensions.cs.Hopefully this can make the review easier.
There are few things that I wanted to do but turn out trickier:
Last but not least, here is a summary of the public interface of the new library, it is fairly large now. It would be nice if we can make this smaller and cleaner:
@dotnet/crossgen-contrib