Skip to content

Bring release/vsmac17.4 up to release/dev17.4#65650

Merged
davidwengier merged 990 commits intodotnet:release/vsmac17.4from
davidwengier:release/vsmac17.4
Nov 29, 2022
Merged

Bring release/vsmac17.4 up to release/dev17.4#65650
davidwengier merged 990 commits intodotnet:release/vsmac17.4from
davidwengier:release/vsmac17.4

Conversation

@davidwengier
Copy link
Member

No description provided.

dotnet-bot and others added 30 commits September 19, 2022 21:24
Expose IsGeneratedCode boolean property on diagnostic analyzer contexts
Don't place bogus data in an in/out variable in venus
And use MatchResult for filtering in CompletionService API so we have more information to work with across API boundary
Remove the usage of grid in Inheritance margin
…onToken

Pass cancellationToken to input processor
IPreviewDialogService.PreviewChanges does COM calls under the covers,
so we need to be on the UI thread for it.
Switch to messagepack serialization/deserialization for our ID types
…iewDeadlock

Cherrypick for 17.3: Fix potential deadlock if we are previewing a rename change
* Fix parsing of lambda parameter named "scoped"

* Keep only tests

* Update test case
Fixes [AB#1618061](https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1618061)

This was introduced by me with dotnet#63130. Earlier we used to cache full document diagnostics computed only from background analysis, which also handles updating the error list simulataneously. With the above PR, we also do this caching from other code paths if we are computing full document diagnostics (diagnostic tagger, LSP pull diags, etc.), but we don't raise events to update the error list from these code paths - basically the code added here: https://github.com/mavasani/roslyn/blob/cd5e6895d3dc8dfad270505b37d28be70077a645/src/Features/LanguageServer/Protocol/Features/Diagnostics/EngineV2/DiagnosticIncrementalAnalyzer_GetDiagnosticsForSpan.cs#L323-L329. So when background analysis gets to refreshing the document diagnostics, it founds cached items and ends up not updating the error list.

With this PR, we now cache the computed full document diagnostics in the new code paths only in LSP pull diagnostics mode. Verified that the repro in the above bug is fixed after this change.
…perators for the target language. (dotnet#64109)

Also ensure SymbolDisplay for VB can handle symbols for VB checked built-in operators after the
recent change in dotnet#63604. This fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1615080.
dotnet-bot and others added 14 commits October 26, 2022 14:02
…-release/dev17.3

Merge release/dev17.2 to release/dev17.3
When the list of analyzer references change for a project, we produce
a new list of AnalyzerFileReferences and pass that into
Project.WithAnalyzerReferences. The implementation of that method
figures out which references are added or removed, and also uses
those changes to update the list of generators being held by the
generator.

This seems innocent enough, except that the AnalyzerFileReferences
here implement value equality: two references are equal if they have
the same file path. These references however will not return the same
generator instances, because each reference does it's own loading
and caching of that list. Thus, when we computed the list of analyzers
that are added or removed, we won't see analyzer references that are
equal, and won't update the generator driver. Later code that expects
those to be in sync will then start throwing exceptions.

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1655835
If the last generator was removed, and it was generating trees, we would
have potentially left that tree in the Compilation that was returned.
I believe this would have been a transient issue -- any later change
to the project would have created a new CompilationTracker with an
InProgress state; the code that processes an InProgress state into
the final state would have correctly seen we no longer had a generator
and would have dropped the old compilation at that point.
…-release/dev17.4

Merge release/dev17.3 to release/dev17.4
…-release/dev17.4

Merge release/dev17.3 to release/dev17.4
Fixes [AB#1676229](https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/1676229)

Handle additional location in different project from the primary location project as well additional location in a document which was subsequently removed from the solution.

Verified that the added unit test fails prior to the product fix.
[Port] Gracefully handle additional locations in DiagnosticData.Create
@davidwengier davidwengier requested review from a team, 333fred and JoeRobich as code owners November 28, 2022 23:07
@davidwengier davidwengier requested a review from a team November 28, 2022 23:07
@davidwengier davidwengier requested a review from a team as a code owner November 28, 2022 23:07
@ghost ghost added the Area-IDE label Nov 28, 2022
@jaredpar
Copy link
Member

Is this change so big because it's including all the commits from razor-compiler that we merged in?

@davidwengier
Copy link
Member Author

Is this change so big because it's including all the commits from razor-compiler that we merged in?

This is Roslyn, not Razor 😛

Yesterday I created release/vsmac17.4 for the purposes of servicing VS Mac, and based it on the commit of Roslyn that VS Mac 17.4 currently references. There is a desire however to not only service VS Mac with a few fixes, but also bring it up to level with VS Windows 17.4, so this PR is just pointing release/vsmac17.4 to release/dev17.4. If I was a maintainer, I could have just done it with a push 😉

@sandyarmstrong
Copy link
Member

Is this change so big because it's including all the commits from razor-compiler that we merged in?

This is Roslyn, not Razor 😛

Yesterday I created release/vsmac17.4 for the purposes of servicing VS Mac, and based it on the commit of Roslyn that VS Mac 17.4 currently references. There is a desire however to not only service VS Mac with a few fixes, but also bring it up to level with VS Windows 17.4, so this PR is just pointing release/vsmac17.4 to release/dev17.4. If I was a maintainer, I could have just done it with a push 😉

To give a little more context, VSMac 17.4 was previously referencing a more recent Roslyn, but experienced a perf regression, so rolled back to the last known "good" insertion prior to GA. The intent was always to get even again once we had a fix for the regression. From my testing, #65538 appears to be the fix we needed.

So once this merges, we'll be adding that revert, and also a couple of other fixes needed on the Mac side.

@davidwengier davidwengier merged commit 704bd0a into dotnet:release/vsmac17.4 Nov 29, 2022
@davidwengier davidwengier deleted the release/vsmac17.4 branch November 29, 2022 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.