Bring release/vsmac17.4 up to release/dev17.4#65650
Bring release/vsmac17.4 up to release/dev17.4#65650davidwengier merged 990 commits intodotnet:release/vsmac17.4from
Conversation
Merge main to main-vs-deps
Expose IsGeneratedCode boolean property on diagnostic analyzer contexts
Merge main to main-vs-deps
Don't place bogus data in an in/out variable in venus
Semantic snippets - interface snippet
…ed types in some contexts (dotnet#64064)
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
Merge main to main-vs-deps
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
Merge main to main-vs-deps
Merge main to main-vs-deps
…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.
Merge main to main-vs-deps
Merge main to main-vs-deps
Fix regression in error list updates
…-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
…ot-being-added-or-removed-correctly
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
|
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 |
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. |
No description provided.