-
Notifications
You must be signed in to change notification settings - Fork 199
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
Reclaim RazorProject type from the compiler #11379
Open
DustinCampbell
wants to merge
18
commits into
dotnet:main
Choose a base branch
from
DustinCampbell:reclaim-razorproject
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+477
−693
Conversation
This file contains 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
ComponentImportProjectFeature does the same work to produce a new byte array for its file content every time it produces a RazorProjectItem. This change computes the byte array once and reuses the same project item rather than creating a new one.
RazorProjectFileSystem has two abstract GetItem overloads that all subclasses must provide an implementation for. However, every subclass implements one GetItem the same way by delegating to the overload. This change just pushes that implementation into RazorProjectFileSystem.
All code that instantiates a NotFoundProjectItem always passes an empty string. This change removes that argument.
This updates up all three versions of MvcImportProjectFeature from Extensions, Extensions.Version1_X, and Extensions.Vserion2_X.
davidwengier
approved these changes
Jan 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Tooling (though I did look at the rest of it too)
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.
Razor tooling will be renaming
DocumentSnapshot
toRazorDocument
andProjectSnapshot
toRazorProject
. However, the compiler already declares aRazorProject
type in a different namespace. To avoid painful conflicts, this change removesRazorProject
from the compiler. On closer inspection, it turns out that the compiler'sRazorProject
is an unnecessary abstraction. It only serves as the base type forRazorProjectFileSystem
and instances are never exposed asRazorProject
. So, this change mergesRazorProject
intoRazorProjectFileSystem
.I've done a fair amount of clean up and called that out in the commit history. In addition, I added a new
InMemoryFileContent
helper class to remove a bunch of duplicated code converting strings into UTF byte arrays.