Skip to content

Merge master to features/static-lambdas#45468

Merged
111 commits merged intofeatures/static-lambdasfrom
merges/master-to-features/static-lambdas
Jun 28, 2020
Merged

Merge master to features/static-lambdas#45468
111 commits merged intofeatures/static-lambdasfrom
merges/master-to-features/static-lambdas

Conversation

@dotnet-bot
Copy link
Collaborator

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 --force

Once all conflicts are resolved and all the tests pass, you are free to merge the pull request.

gekka and others added 30 commits May 18, 2020 15:17
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.
sharwell and others added 19 commits June 25, 2020 23:25
Fix failure to reuse pooled connections
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
@dotnet-bot
Copy link
Collaborator Author

Reset HEAD of merges/master-to-features/static-lambdas to 076c90fa6ca528c4340aadcbd59a1712a50d4e4e

@dotnet-bot dotnet-bot requested a review from a team as a code owner June 27, 2020 00:03
msftbot[bot] and others added 4 commits June 27, 2020 01:07
Reduce memory required for document change processing queues
…nsistency

Fix up nondeterminism in serializing naming style preferences
@dotnet-bot
Copy link
Collaborator Author

Reset HEAD of merges/master-to-features/static-lambdas to 327c010d408fd0c08c29ab9f952c74e02c165736

@ghost ghost merged commit a358295 into features/static-lambdas Jun 28, 2020
@ghost ghost deleted the merges/master-to-features/static-lambdas branch June 28, 2020 01:33
@dotnet-bot dotnet-bot restored the merges/master-to-features/static-lambdas branch June 29, 2020 00:03
@dotnet-bot dotnet-bot deleted the merges/master-to-features/static-lambdas branch June 29, 2020 00:03
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.