Merge master to features/static-lambdas#45468
Merged
111 commits merged intofeatures/static-lambdasfrom Jun 28, 2020
Merged
Conversation
… accessors had no references
…he comment more comprehensive
All array types for one elemnt type is consider same in our index. e.g. int[], int[][] and int[,] are just represent as int[]
Since they are already from the same compilation that triggered completion.
…emantic diagnostics for a specific tree, which are categorized by each analyzer that reported the diagnostic. We have existing APIs on this type that return the same diagnostics, but as a single group instead of categorized by analyzer. Latter is required by the IDE analyzer host as we cache diagnostics from each analyzer.
First step towards #44408 1. Refactor IDE open file analysis so that we have a single place where we execute the analyzers for document analysis. I have preserved the existing IDE layer diagnostic caching in this PR, but it should hopefully go away in future when we move the diagnostic computation to OOP. 2. Perf improvement: Currently, we execute open file analyzers one at a time by making separate calls into CompilationWithAnalyzers. This identified overhead where we are recomputing lot of stuff with each call and missing semantic model/bound node cache hits. This PR simplifies the approach by invoking a single syntax/semantic call into CompilationWithAnalyzers with all relevant analyzers. This required adding a new public API to CompilationWithAnalyzers to return syntax/semantic diagnostics for a tree/model grouped by analyzers, which has been split into a separate commit. 3. Remove code for code fix support for CompilationEndAction diagnostics - these actions are not executed in the IDE live analysis, so the code was not executing. Additionally, we have identified that we never want to run these actions in IDE live analysis due to associated perf concerns. Future steps: 1. Move open file diagnostic analyzer execution to OOP 2. Remove IDE layer diagnostic caching, and rely on caching at OOP side 3. Investigate moving even compiler diagnostic computation to OOP - need to ensure responsiveness of refreshing compiler diagnostics on typing is not affected
…emantic diagnostics for a specific tree, which are categorized by each analyzer that reported the diagnostic. We have existing APIs on this type that return the same diagnostics, but as a single group instead of categorized by analyzer. Latter is required by the IDE analyzer host as we cache diagnostics from each analyzer.
A workspace can customize which changes are allowed to be applied through TryApplyChanges. There's a CanApplyChanges that generally is called with each type of change which you can opt in for. There is also a specific overloads for filtering specific changes to CompilationOptions or ParseOptions, since a host may support changing some of those but not all of them. This documents our existing behavior and adds tests to confirm the behavior. There were some Debug.Asserts() that are incorrect and are now fixed.
Fix failure to reuse pooled connections
…cumentChangedAsync
Include line numbers in Integration Test stack traces
* Introduce LanguageVersion.CSharp9 * Limit netcoreapp3.0, 3.1 and netstdard 2.1 to C# 8.0 * Map CSharp9 to language version preview * Default to CSharp9 for netcoreapp5.0 * Add Tests
Perf improvement for completion of unimported extension methods
Fix inconsistencies in handling CompilerVisibleItemMetadata
* Additional tests for nested function contexts. * Override VisitFunctionPointerLoad in MethodToClassRewriter. * Adjust debug asserts.
…626.2 (#45482) Microsoft.DotNet.Arcade.Sdk From Version 1.0.0-beta.20302.3 -> To Version 1.0.0-beta.20326.2 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
We have two members in TypeKind that point to the same value, Struct and Structure. Because of this, Enum.ToString(), which under the covers uses a binary search, isn't stable which one it will pick and it can change if other TypeKinds are added. This ensures we keep using the same string consistently. We also have a few members in MethodKind that are also duplicates, but it appears those have kept stable. To be safe, we now serialize explicitly. Fixes #44714
Collaborator
Author
|
Reset HEAD of |
Function pointer bug fixes
Reduce memory required for document change processing queues
Update Language Feature Status
…nsistency Fix up nondeterminism in serializing naming style preferences
Collaborator
Author
|
Reset HEAD of |
This pull request was closed.
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 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.
This is an automatically generated pull request from master into features/static-lambdas.
git fetch --all git checkout merges/master-to-features/static-lambdas git reset --hard upstream/features/static-lambdas git merge upstream/master # Fix merge conflicts git commit git push upstream merges/master-to-features/static-lambdas --forceOnce all conflicts are resolved and all the tests pass, you are free to merge the pull request.