-
Notifications
You must be signed in to change notification settings - Fork 880
Show C# and VB uses of an F# symbol in Find All References #20463
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
Open
xperiandri
wants to merge
10
commits into
dotnet:main
Choose a base branch
from
xperiandri:feature/find-references-csharp
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.
+545
−43
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
7a5dca5
Build multi-project and multi-target Roslyn solutions in FSharp.Edito…
xperiandri a860dea
Share the find-usages test context between test files
xperiandri 8c0ae25
Host C# projects in the editor test workspace
xperiandri e8d07b7
Report C# and VB uses of an F# symbol in Find All References
xperiandri 68f148c
Test Find All References from an F# declaration into C#
xperiandri c8233cb
Add the release note for PR #20463
xperiandri f8c8212
Give a literal the field id Roslyn resolves
xperiandri 0470f62
Search the C# and VB consumers alongside the F# projects
xperiandri ec64e8a
Ask the assembly that declares the symbol, and name an enum case as a…
xperiandri eea9dba
Keep one failed item from ending the search, and one name from meanin…
xperiandri File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
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.
Fixed in
eea9dba5f2, though not by requiring an exact path everywhere: a consumer normally references the copy of the assembly in its own output, not the file the producer writes, so an exact match would find no consumers at all in the common case, which is why the filter was written on the file name.What the file name cannot survive is a second project producing one named the same, which is your scenario. So the filter now asks that first — whether any other project of the solution has an
OutputFilePathwith this file name — and where it does, only the declaring project's own output path counts; where it does not, the name identifies the assembly as before.Worth noting the second line of defence added in
ec64e8a505for the neighbouring thread: the documentation comment id is resolved among the symbols of the declaring assembly rather than compilation-wide, so even a consumer picked up wrongly no longer yields uses of another assembly's member unless that assembly also carries the same simple name.