-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Add new public APIs to CompilationWithAnalyzers to fetch syntax and s… #45347
Add new public APIs to CompilationWithAnalyzers to fetch syntax and s… #45347
Conversation
…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.
How often do we have a project with two distinct diagnostic analyzers enabled that support the same diagnostic ID?
If this is the only remaining problem, it could be addressed by adding a property to the diagnostic's property bag. |
I don't think that is common, but there is nothing preventing separate analyzer packages to use the same ID. In such a scenario, the IDE behavior would become non-deterministic.
What would be the key for the property? If it is the fully qualified analyzer type name, then we again run into the same potential problem about clashes. There is nothing that prevents a custom analyzer host to pass in multiple analyzer instances of the same analyzer, which would lead to the same problem. Additionally, this seems a little bit hacky mode of handshake between the analyzer driver and the analyzer host. Another potential problem is performance. The core analyzer driver already tracks which diagnostics were reported by this analyzer, and requiring the IDE to again figure out this mapping from diagnostic IDs to analyzers seems unnecessary performance overhead. I think your suggestion can work if this API addition or approval was non-trivial, but having this API seems a much more cleaner solution to the problem. Note that CompilationWithAnalyzers API only affects a handful of clients which are writing custom analyzer hosts, so a new API should have very limited impact, if any. |
I guess at this point my questions (or "ponderings") are:
|
Yes, for lightbulb case we explicitly execute a subset of analyzers. Also in open file analysis case, we skip executing analyzers whose results are cached and not invalidated. We can possibly remove the overload that doesn’t take explicit analyzer argument. However, that will make it inconsistent with other existing APIs on the type, all of which have two overloads, one that takes explicit analyzers argument and one that doesn’t and defaults to all analyzers.
I am fine with any option here. Current implementation and doc comments indicate third option. Clients should always check if key exists or not. |
@sharwell Actually, we will need to a similar One alternative to
With this proposal, we avoid requiring new Thoughts? |
…overloads instead of new APIs
Had an offline discussion with @AlekseyTs, who had a better proposal of adding overloads to existing |
…AnalysisResultAsync APIs as an outcome of design change in dotnet#45347
src/Compilers/Core/Portable/DiagnosticAnalyzer/CompilationWithAnalyzers.cs
Show resolved
Hide resolved
src/Compilers/Core/Portable/DiagnosticAnalyzer/CompilationWithAnalyzers.cs
Show resolved
Hide resolved
Thanks @cston. Ping @dotnet/roslyn-compiler for additional review. |
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.
LGTM (iteration 5)
Thank you @AlekseyTs! |
34202cc2f3 Merge pull request #46316 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps 75af7e1641 Merge pull request #46260 from CyrusNajmabadi/backportData a64a19cad8 simplify bf8fe89205 More error info 345504992a More error info 732c2297c4 Add more information c934ad59bc Report teh project name that we were unable to recover a symbol from. 917b9dfae1 Merge pull request #46160 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps d51eac0528 Merge pull request #46151 from dotnet/dev/jorobich/update-preview-6 34080ef09e Merge pull request #46043 from CyrusNajmabadi/backport 193a89a68d Update version for 16.7 Preview6 45a9697f7d Merge pull request #46097 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps 6a6327e9c1 Merge remote-tracking branch 'upstream/release/dev16.7' into backport 11b7e4b365 Merge pull request #46091 from sharwell/disable-tests 19f994aae6 Skip HighlightRefsMultipleSubmisionsVerifyRenameTags tests f96dcbb659 Merge pull request #46046 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps a799aee9ec Reorder 80a02e9e4b Consistency 43ebfec0d4 Fix 6b3c190863 Fix e1f207782d Include information why symbol key resolution has failed to help with debugging. 2e48ab405f Remove reference to non-existing VisualStudioInteractiveComponents.vsix from deployment VSIX. (#45979) a303c0d8a4 Merge pull request #45860 from cristianosuzuki77/release/dev16.7-vs-deps 598796cd27 Merge pull request #45997 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps b86742cf97 Merge pull request #45858 from JoeRobich/colors-pkgdef 2fdd46323a Merge pull request #45985 from dotnet/dev/jorobich/update-version 7a7466a723 Disable interpreting of strings as DateTime during deserialization (#45891) 82d46ca6da Merge pull request #45840 from allisonchou/ChangeSignatureAccessibility2 df07a32fab Update Version for preview 5. 9d16f1782c Merge pull request #45916 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps 9dd7c7db57 Merge pull request #45889 from 333fred/mark-shipped 3dc3d2c5fe Mark public APIs for 16.7 as shipped a957f39c24 Change base branch + add Narrator header to empty column + add resource files bdcfbad476 LOC CHECKIN 20200709 e90964cc17 Add VisualStudio2019.pkgdef to the Roslyn package b90347a691 Merge pull request #45717 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps 28ca0fad24 Merge pull request #45683 from tmat/CodeLensFix 2d9d7ad374 Avoid SoftCrashException from CodeLens data point invalidation calls 1348405bff Merge pull request #45584 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps c911f563c8 Merge pull request #45547 from dotnet/merges/release/dev16.7-to-release/dev16.7-vs-deps 6ff210c436 Reserve feature branch error codes (#45567) a2e42f89fe Merge pull request #45561 from RikkiGibson/deeplynestedgeneric-16.7 b067ef3f70 Merge remote-tracking branch 'dotnet/release/dev16.7' into merges/release/dev16.7-to-release/dev16.7-vs-deps 69d0238017 Merge pull request #45530 from dibarbet/disable_snippets 37da8fb72d Update EndToEndTests.cs f3773d9b4d Undo incorrect name change (#45545) ca3c46b7a2 Merge pull request #45501 from sharwell/param-name 908b92ba0b Merge pull request #45459 from allisonchou/ChangeSignatureModifier a0983953b1 Merge remote-tracking branch 'upstream/release/dev16.7' into merges/release/dev16.7-to-release/dev16.7-vs-deps 90e292944a Additional name suggestion tests 0cbea02311 Remove unused variable e02d3e1d87 Merge pull request #45529 from jasonmalinowski/revert-move-of-symbolsearch-to-editorfeatures 00a1134ad8 Remove snippets from completion list until they are supported b81b7c0805 Change contrast ratio to get close to 1.5:1 (#45526) 5d7dc2f175 Revert "Move SymbolSearch down to EditorFeatures (#45505)" 560cdb568b Merge pull request #45499 from jasonmalinowski/block-circular-references f19cf1f98f Code review feedback - switch ordering of if-statement d637730db4 Delay accessibility checks to avoid cycles (#45441) 886b7f51f2 Prevent trying to convert metadata references into circular project references 1f3fa3ff73 Merge pull request #45456 from dotnet/merges/master-to-master-vs-deps 7ddc52b1e6 Remove unnecessary Clone() (#45469) 35370ebd23 Align addition of a synthesized override of object.Equals(object? obj) in records with the latest design. (#45475) f755e8a8ed Move SymbolSearch down to EditorFeatures (#45505) 712609208e Allow independent methods to have the same parameter name 327c010d40 Merge pull request #45483 from jasonmalinowski/fix-serialization-inconsistency febdd08436 Merge pull request #45495 from 333fred/update-feature-status 4e102e1fa6 Merge pull request #45477 from sharwell/touch-document-lite fa69a8c956 Merge pull request #45473 from 333fred/func-ptr-bugs 71d1c6f5be VisitType in MethodToClassRewriter for function pointers. e93dca684c Fix up nondeterminism in serializing naming style preferences 076c90fa6c Update dependencies from https://github.com/dotnet/arcade build 20200626.2 (#45482) dc6c8e0684 Fix typo a86f5a96b4 Move to vnext 90364629d3 Add constant inerpolated strings to the test plan, update status for records. a670e7afd3 Don't emit ldftn when the result is unused. e1133adaad PR Feedback: * Additional tests for nested function contexts. * Override VisitFunctionPointerLoad in MethodToClassRewriter. * Adjust debug asserts. 36c029c699 Merge pull request #45455 from sharwell/cookbook-fixes ced84c0cc1 Merge pull request #45283 from genlu/CompletionPerf ff10cc413d Add records to compiler test plan (#45434) a0fdc69a2e Expand comment in CreateRecoverableText bd545a6c2e Replace binary serialization of encoding with a custom serializer. (#45374) 12f1b8f6c1 LangVersion 9 (#44911) 915da6a55e Merge pull request #45381 from tmat/StackTraceLineNumbers 2def19cbfb Avoid loading document text in AbstractObjectBrowserLibraryManager.DocumentChangedAsync 394d1c585c Allow TryGetTextVersion to pass through to the initial source 9c40d6a466 Ensure recoverable text is in temporary storage 2545d2c916 Merge pull request #45472 from sharwell/connection-pool b56431103a Merge pull request #45474 from tmat/NewLinesPageGuid ae195fd517 Fix test da2c25b821 Updates the option page type GUID to match the one in pkgdef 801f1ab718 Correct baselines. ab5e21a57f Correctly bind function pointer arguments for error recovery. Fixes https://github.com/dotnet/roslyn/issues/45418. 2875d18df9 Fix failure to reuse pooled connections 87304a1d19 Merge pull request #45435 from sharwell/reference-holder 3c614d2fbe Correctly support local functions in function pointer loads. Fixes https://github.com/dotnet/roslyn/issues/45447. 7aed56f4e2 Update dependencies from https://github.com/dotnet/roslyn build 20200619.6 (#45354) e57870e01d Merge pull request #44336 from gekka/master b001cfaae2 Extract SourcePropertySymbolBase class (#45411) 7a836c8e5a Merge pull request #45127 from 333fred/constant-value 44a5287f1e Use loop instead of enumerator fc5fe378d7 Merge pull request #45464 from sharwell/rm-conditional 3b9099a161 Address review comments 8f795fde88 Update src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/ExtensionMethodImportCompletionHelper.cs f2657e4e3e Code cleanup from review fd0e34033d Merge pull request #45322 from mavasani/OpenFileAnalysis 92fa91b726 Simplify weak set usage with WeakSet<T> b840ec1fe5 Track unrooted symbols in HashSet instead of ConditionalWeakTable d2a074f378 Remove unnecessary conditional compilation 2e23352c90 Move SourceOrdinaryMethodSymbol functionality that is not syntax specific into a new base class. (#45424) e75f8da4f3 Merge pull request #45316 from jasonmalinowski/fix-project-references-to-web-projects c74433d59d Disallow modifiers and add test 6a7aa5fd85 Merge pull request #45266 from jasonmalinowski/document-and-add-tests-for-tryapplychanges b321457df1 Remove redundant conditional. a807e98b52 Correct constant value logic in vb forto loops. 1577f486a2 Merge remote-tracking branch 'upstream/master' into OpenFileAnalysis 29eced91fd Address feedback 4d15a424a2 Fix inconsistencies in handling CompilerVisibleItemMetadata c3b4ade7f5 Document https://github.com/dotnet/roslyn/issues/32732 (#45440) b220db40b8 Enhance tests to show that Roslyn run on coreclr parses decimal literals correctly (#45438) 8acc9e8b2b Use reference null check followed by access in VB. 38eb489a89 Merge pull request #45347 from mavasani/NewApi_CompilationWithAnalyzers a723b9202b Merge pull request #45413 from dotnet/merges/master-to-master-vs-deps 25cc3f3d55 Merge pull request #44581 from allisonchou/SwitchExpressionError 70b1410f84 Fix compilation error, remove extraneous block. 41671b2edc Update xlf files with notes 988813b6b8 Temporarily restore warning 82aac2c716 Merge pull request #45035 from akhera99/bug_11510 c8b7158d01 Removed unused declaration. 6f9c8b6119 Remove the OperationConstantValue wrapper type and push the WeakReference logic into string specialized ConstantValue implemention. Optimized internal calls to `ConstantValue.HasValue` to get the underlying instance to avoid realizing strings for these cases. 45f802e21d Address feedback 2210f339a7 Don't fetch output paths for some Intellisense projects ad347e028d Delete some dead code d2e59f505c Remove some unused parameters 2616ecadea Update src/EditorFeatures/Test2/ReferenceHighlighting/AbstractReferenceHighlightingTests.vb fe31d6f673 Update src/EditorFeatures/Test2/ReferenceHighlighting/AbstractReferenceHighlightingTests.vb f1fa80afb1 Simplified logic for the test code 2f626aa360 Fix region analysis for checked, unchecked, and unsafe blocks. (#45334) 8386713024 Address feedback + update DocumentAnalysisExecutor to use the new GetAnalysisResultAsync APIs as an outcome of design change in https://github.com/dotnet/roslyn/pull/45347 abdbc3c2b6 Update test name and comment 037bfae5b0 Address offline feedback from Aleksey and add GetAnalysisResultAsync overloads instead of new APIs 27dc1e9d6e Update test name and comment 8968bc9f5e Address offline feedback from Aleksey and add GetAnalysisResultAsync overloads instead of new APIs c8d3f435e3 Update Binder_WithExpression.cs (#45397) 892df31409 Add missing guid on Code Style/Formatting/New Lines option page (#45407) c2d0166e26 Enable AdditionalFiles to respect CopyToOutputDirectory option (#45406) 1462b1e9c7 Merge pull request #45400 from dotnet/merges/master-to-master-vs-deps 2df7d87c58 Ignore SymbolKeys failed to resolve due to different target framework 69a2f558f7 Remove unnecessary setting 7f5df2705d Sg latebreak fixes (#45357) 6ac9071ae2 Address SymbolKey resolution issue when projects targeting different framework 9a658fab08 Annotate more public syntax APIs (#44266) 09db48d581 Finalize the design for the shape of the BaseTypeSyntax for records and implement SemanticModel APIs around it. (#45351) c4674ce218 Merge pull request #44604 from dymanoid/declare-as-nullable-code-fix 6230bcd1f1 Merge pull request #45211 from 333fred/api-notes 11e94bdd96 Merge pull request #45389 from dotnet/merges/master-to-master-vs-deps 430056a6bb Do not permit default literals in relational patterns (#45375) 35b67f8afd Binder Check for Unbound Generics in Methods (#45033) 0c92f53970 Merge pull request #45328 from 333fred/visit-type-tail 373d43030c Merge pull request #45373 from sharwell/span-tracker 022b6e65e8 Lazily realize IOperation.ConstantValue 9a29e6af78 Cache ReduceExtensionMethod result per receiver type eb5197d484 Remove unnecessary code 2cc47de51e Merge pull request #45377 from dotnet/merges/master-to-master-vs-deps 8c7732080d Merge branch 'master' of github.com:dotnet/roslyn into SwitchExpressionError 5a85e7fb41 Include line numbers in Integration Test stack traces 212fc8f225 Give an example in the non-exhaustive diagnostic (#44702) 00ebef4c29 Fix registration of IActiveStatementSpanTrackerFactory a69d15b974 Remove IActiveStatementSpanTracker from the MEF catalog 4129ecb6dc Merge pull request #43569 from zaytsev-victor/Fixes43267 16bd662726 Merge pull request #45227 from Youssef1313/nullable-cs8618-bug c22a2152d8 Merge pull request #45364 from dotnet/merges/master-to-master-vs-deps 8bd9b04e9a Document and test how CanApplyParse/CompilationOptions works 39d232235a Use constants for complex receiver type names 45588ccd60 Safety 7ca148c85d Support datetime completion in interpolation format clauses. 314cbb3d98 Cache `TypeArgumentsWithAnnotationsNoUseSiteDiagnostics` in a local. 968f15dbd2 Fix handling of ValueTupe type of tuple form in source 9fbd5fea5c Address review comments b6acf46dc2 Merge pull request #45340 from dotnet/merges/master-to-master-vs-deps 730e63429a Merge pull request #45309 from jnm2/show_formatting_intellisense_after_initial_quote 019199b114 Fix doc comments and one callsite 72a631ddb2 Fix doc comments and one callsite 5f2abba1e2 Add new public APIs to CompilationWithAnalyzers to fetch syntax and semantic 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. acdc9ccbbd Refactor to ensure single CompilationWithAnalyzers is created for document analysis 5ae370f7fe Add NuGet and analyzer config scenarios to SG cookbook (#45261) 6ec37b1b07 Make VisitType tail recursive in more cases. 5911981d56 Merge pull request #45324 from dotnet/merges/master-to-master-vs-deps c921538661 Refactor IDE open file diagnostic analysis + some perf improvements 92d1ce0660 Merge pull request #45147 from 333fred/notnull-clarity 7087a17656 Add new public APIs to CompilationWithAnalyzers to fetch syntax and semantic 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. 8498815774 Adjust baseline (#45300) 24f8c41edb Merge pull request #45312 from dotnet/merges/master-to-master-vs-deps 6be131effa Merge pull request #45289 from Youssef1313/patch-4 e1041a4678 Make 'G' the default format code because it matches DateTime.ToString() 82528373fa Show completion list after typing quote characters 6866afae0d Require completion list to be shown after typing first quote eff93a59bb Merge pull request #45278 from dotnet/merges/master-to-master-vs-deps 09d572522e Check partial method return type compatibility (#45128) ec5ddecfc6 Merge pull request #45240 from CyrusNajmabadi/designFeedback 9d9322c5f5 Fix regression 7c443bfd3d Merge branch 'master' into designFeedback f6b3ef2e19 Adjust baseline cd4359e73a Merge remote-tracking branch 'upstream/master' into merges/master-to-master-vs-deps 472c07233a Remove DropAppVersion from Versions.props (#45265) 2313621c0c Update src/EditorFeatures/CSharpTest/Diagnostics/Nullable/CSharpDeclareAsNullableCodeFixTests.cs accbfd9029 Fix baselines. f6e1d3c7f6 Call GetSyntaxRootAsync once outside loop 7647f552c8 Only include compilation options in the PDB that don't have default value (#45044) 6f87545add Making name of script globals type hidden (#43425) 27f94efeff Add missing semi-colon in test 386dd3b53d Fix completion of ext-method for receiver of type parameter type ca892c8d8d Add info for receiver of complex array type in syntax index 697e6309ab Merge pull request #43987 from CyrusNajmabadi/arrayBuilder f1cd5f8881 simplify 4e9ca14686 Merge pull request #45268 from dotnet/merges/master-to-master-vs-deps 388cc58a42 Simplify handling of error messages. e18704cc41 Merge pull request #45241 from 333fred/address-api-feedback a5e9bdcd77 simplify 4a9ab74888 simplify 2f70a03666 simplify fad4fd6909 simplify f83eec061c simplify a1ed31563a simplify a57f467890 simplify 59fff8c7be simplify 4cbd206195 simplify bc845b2ec5 simplify 7d7328d035 simplify 5eec563395 simplify 025c04eb2a simplify 3ebccf56d9 simplify d1217f4a8b simplify 9660be0a4f simplify 6ba5d167f8 simplify 6bf803e660 simplify 7df5a15581 simplify 680bac6541 simplify 35a88f9707 simplify 9cfc839dc3 simplify c9e7ac14f8 simplify f1dad5a579 simplify 513a1c6bc8 simplify f52e88cf5a simplify a7d992d7e5 simplify 8aee838575 simplify 32a2565531 simplify 2654793593 simplify ffcadc8ba1 simplify 0569a24ceb simplify 18378e016d simplify 0a216b280b simplify 63e0ce3332 simplify 3d6bb44eec Simplify 6ecda9de6a Fix fda2b7dbf9 Don't serialize method symbols from PE references f2db87d350 Fix public api file. d957f3e772 Implement val escape for switch expressions (#45242) 617846f202 Update src/EditorFeatures/CSharpTest/Diagnostics/Nullable/CSharpDeclareAsNullableCodeFixTests.cs 587fc0a988 Merge pull request #45257 from dotnet/merges/master-to-master-vs-deps 0335c20a01 Update CSharpDeclareAsNullableCodeFixTests.cs c0c593f6e0 Merge branch 'master' into arrayBuilder e833d922da Update CSharpDeclareAsNullableCodeFixTests.cs 841a6eaf11 Add removal a6a49efcc6 Apply feedback d04ebc2e1e Revert "Remove IActiveStatementSpanTracker from the MEF catalog" (#45239) 1477f00d7d Update CSharpDeclareAsNullableCodeFixTests.cs 5b3577bb0c Fix the failure 745c00944c Merge pull request #45248 from dotnet/merges/master-to-master-vs-deps d702fa672a Handle custom modifiers on copy ctor (#45136) 2ad1435fd8 Fix a crash when a nullable reference type is used in a pattern. (#45206) ca70f855e5 Add info about whether a complex receiver type is an array to SymboltreeInfo 5a3aa14efe Merge pull request #45203 from dotnet/merges/master-to-master-vs-deps 6878961a2e Make receiver type name part of the extension method filter 88dd4bb5d0 Implement SemanticModel.GetConversion for switch expressions. (#45069) 6e0768242a Import all custom modifiers and move their validation to compilers. (#45220) 17f87ae09c Rename IWithOperation.Value to Operand. 8c9f2e8dc2 Rename INegatedPatternOperation.NegatedPattern to Pattern. 38efd8756d Merge pull request #45231 from CyrusNajmabadi/replacePropCrash 10325bf713 Rename WithExpressionSyntax.Receiver to Expression. 5d50c20016 Use ParseOptions instead of language-specific overrides in ParseTypeName 4a13c7d697 Add attribute 7c6c103db5 Suffix SymbolKind.FunctionPointer with Type 18b403b229 Rename CompilationOutputFilePaths to CompilationOutputInfo. 5ce230057a Updates as per API design review feedback. 1fd21f8494 Make Inheritance_* tests contiguous (#45233) 64b18befa1 Add some tests (#45230) c7f09a266c Only warnAsError in correctness (#44261) edc844964a Merge branch 'replacePropCrash' of https://github.com/CyrusNajmabadi/roslyn into replacePropCrash b1265560c6 NRT and immutable array e666b94538 Simplify fe44abfefa Update src/Compilers/VisualBasic/Portable/Syntax/SyntaxFactory.vb b9ffafd888 Fix crash in 'replace property with methods' when updating object initializers 773b341027 Support FieldDeclarationSyntax in CS8618 fixer 603ea38218 Merge pull request #45013 from allisonchou/LSPFARSwitchToStreaming a8d8245b71 Add API review notes for d16.7 bb8ce6b6e2 FromSeconds to FromMilliseconds 5a4b4542c0 Code review feedback 86f183cec9 Properly wait for last batch of results to be reported b2b7139d2e Make extention method of array types simple in index 85b65a41b0 Disallow 'with' in expression trees (#45095) 5dbf9b190c Merge pull request #45125 from jasonmalinowski/do-not-generate-references-for-built-in-operators 77ef532fa6 Merge pull request #45068 from dibarbet/fix_deserialization_resolve 391765652b Don't generate references for built-in operators 6b954a1910 If you forget a Language attribute, give a useful message c16f7d8631 Assert our tests don't accidentally have compiler errors in them 538b6f9310 Merge pull request #45187 from dotnet/merges/master-to-master-vs-deps d1b3086cfd Remove unnecessary method 68950d0fd5 Switch to time-based batching ef50fdec4a Update dependencies from https://github.com/dotnet/roslyn build 20200614.5 (#45181) c2912f667b Merge pull request #44874 from allisonchou/DuplicateDiagnosticsLSP 6db1b7a58b Merge pull request #41443 from JoeRobich/add-telemetry-ids b89ea3912c Set telemetryId on remote solution and projects c2835e1b5c Merge pull request #45175 from dotnet/merges/master-to-master-vs-deps e1dcbb3dc2 Merge pull request #45101 from drewnoakes/update-analyzer-node-file-path fcb6e028f8 Merge pull request #45153 from dotnet/merges/master-to-master-vs-deps c0c192da28 Merge pull request #45150 from Kuinox/master fdfbaefff7 Update baselines. 8c3d23d393 Merge pull request #45116 from CyrusNajmabadi/removeCaching2 fa1edb0c1f Fix MakeMethodAsynchronous on ValueTask without generics. a32f63d290 Merge pull request #45143 from dotnet/merges/master-to-master-vs-deps 7ca0c7eb99 Report better errors when multiple invalid constraints are combined 18b41d0c42 Merge pull request #45118 from JoeRobich/dont-default-colors 0121044460 Merge pull request #45132 from dotnet/merges/master-to-master-vs-deps 7d8198e422 Merge pull request #45130 from dotnet/merges/release/dev16.7-preview3-vs-deps-to-master-vs-deps e7663ecbb0 Merge pull request #45007 from sigmachirality/FormatStringEdgeCase 96dd1c1b88 Merge pull request #45122 from dotnet/merges/master-to-master-vs-deps 787426cc1e Fix typos (#44967) 7714ab4a89 Merge pull request #45048 from dotnet/merges/release/dev16.7-preview3-to-master 9f8603f392 Merge pull request #43844 from sharwell/strict-mocks 142272603a Update syntax and commment d83908d78f Don't default classifications if colors have been customized 5745867674 Merge pull request #45097 from dotnet/merges/master-to-master-vs-deps a172b8de8f Ignore errors getting TelemetryHelper 387ba5814f Remove unnecessary types 3815a99100 Remove caching 1967d755a3 Merge pull request #44952 from CyrusNajmabadi/depProjFinder 4faa0bd35f Merge remote-tracking branch 'upstream/release/dev16.7-preview3' into merges/release/dev16.7-preview3-to-master 4f88176c24 add LiteralArray test to C# ValidateFormatString tests 0abb1a6c16 add WorkItem attribute to new test c6f473faee Merge pull request #45004 from sharwell/use-mef-2 6db6c5e4d5 Merge pull request #45090 from sharwell/unused-main ec48412635 Merge pull request #45104 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps f943a1a239 Merge pull request #45064 from ryzngard/issues/43086_recent_namespace_move 5cddfcec3c Merge pull request #45094 from gafter/dev16.7-preview3-44513 b4e45285e3 Don't use Contains b9f4db8541 PR feedback 7869637bad Merge pull request #45096 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 3ddcdae2f6 Handle new CPS analyzer node path format 94c70eb639 Record copy ctor must invoke base copy ctor (#45022) 3e9c9e8333 Merge pull request #45091 from genlu/RemoteWorkspacesCore 0ca538318b Use linked list e180bdc616 Reduce x86/Release baseline to try and make up for flakiness 2825a2511d Adjust baseline (#45085) 5f5c283ce3 Merge pull request #45006 from xuachen/patch-4 9fe39d8b6a Support pattern variables declared under "is not" (#44513) 427a164f1a Support pattern variables declared under "is not" (#44513) c891df1fa0 Merge pull request #45080 from dotnet/merges/master-to-master-vs-deps 22b08f0a9b Fix spelling of Telemetry 110dd2344d Add Constants for accessing SoutionSessionID 5f9ceb7021 Add ProjectGuid and SolutionSessionId to API telemetry ce18b40a9d Merge pull request #45061 from genlu/MakeEncServiceLazy a96b49cf67 Fix NRT warnings a04b7d3b26 Adjust baseline (#45085) 0415d00243 Merge pull request #45089 from CyrusNajmabadi/patternMatching cb0be79502 Target Remote.Workspaces to .NET Core 3.1 5cc698baf7 Exclude entry points from unused members analysis 615b3c0b84 Simplify with pattern matching 635bc4814b Merge pull request #45074 from CyrusNajmabadi/farProjectParallel 0615473fa0 Removed the special case of the parameter entirely 5497274267 Merge pull request #44867 from CyrusNajmabadi/spellCheckExplicit 67dfdee42f Merge pull request #44529 from eugenesmlv/remove-in-keyword c480fe9aa6 use null-coalescing assignment f2c3742685 Merge pull request #45057 from sharwell/inline-framework 4cdb2de824 Merge pull request #45073 from CyrusNajmabadi/farPerfIndexes 4c58c0b971 Update PublishData.json (#45059) 5c5d58d0fa Add support for language server exit & shutdown. (#44900) d3298d843d Merge pull request #43502 from sharwell/segmented-array 1969897b85 Actually fixed the test method names, forgot to save last time 3e83fc75b9 Update src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine_ProjectProcessing.cs 12087719aa Update src/Features/Core/Portable/SpellCheck/AbstractSpellCheckCodeFixProvider.cs 8f71e879ca Simplify 3953d03512 Ad contract back in. c463464713 Only distinct docs 3f5de7810c Merge branch 'master' into fix_deserialization_resolve dd5f432ebc Fix 81fac63f1d Fix 73c3c98fe0 Merge remote-tracking branch 'upstream/master' into spellCheckExplicit c983c3accc Process projects in parallel in FAR> 33a50f972e Merge pull request #45071 from dotnet/merges/master-to-master-vs-deps b9a1d7405e Merge pull request #45070 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 4362501d4a Revert "Revert" 3ff438e1ec Revert cf0c32a2a4 Compute and check document indices in parallel d083e1a6ef Fix spelling 38bbdf9c34 Docs 9155823204 Rename 519d25d4a8 Docs 1386401bca Docs 413d9fb432 Merge pull request #45029 from dotnet/merges/master-to-master-vs-deps a89b7b714c Merge pull request #45065 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 532a2a6a99 Merge pull request #45034 from dotnet/mavasani-patch-1 12fbed0675 Implement IEquatable<T> in record types (#44994) 2b5266f3df Only send relevant completion resolve parameters a85202d2d1 Merge pull request #44474 from dibarbet/lsp_solution 28932fc649 Merge pull request #45016 from jasonmalinowski/fix-vb-workspace-wireup a84e986a64 Clean up code a little 036a54817b Add historic data to the VS implementation of MoveToNamespace d67d239326 Make VisualStudioDebuggeeModuleMetadataProvider lazy adde59eb90 Fix hanging tests 508f29b6bc Update PublishData.json 15f9a091c4 Made test method names better 95adfbd52e Inline build property RoslynPortableTargetFrameworks de34e3687f Fix diagnostic for mixed partial type (#45025) 5596697b1c Merge pull request #45049 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 9165a531e1 Merge pull request #45023 from sharwell/netcore-editorfeatures-text db44df36f8 Keep 3 most recent items at top d45d32229b Merge pull request #40143 from Therzok/patch-2 0d6b83e7c3 Removed an unecessary test, made the test change more compact, made the comment more comprehensive 18e2a83490 Theme the move to namespace dialog 003add6a7b Remove extra empty line. 663a0531a9 Merge pull request #45039 from dotnet/merges/release/dev16.7-preview3-to-master 9083edf602 Merge pull request #45040 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 7e3dd033f6 Merge pull request #45011 from RikkiGibson/fix-stack-p3 501f7ee3fb address more feedback 401bbd6587 Use 'RoslynPortableTargetFrameworks' where applicable 31a883f950 Remove IActiveStatementSpanTracker from the MEF catalog 7462eb8610 Merge branch 'master' into patch-2 24070f6ac8 Fix whitespace formatting 8c06e22f41 Update the baseline...again b97c2ce971 Merge branch 'release/dev16.7-preview3' of github.com:dotnet/roslyn into fix-stack-p3 4f26f74127 Merge pull request #45005 from dpoeschl/ChangeSigNoCrashOnCancellation 2fb8f0f378 Generate proper GetHashCode for records. (#44992) c5dcda2d4b Fixed some spacing issues a6eb24799d Merge pull request #44995 from sharwell/rm-colon 7824bf9a00 Fixed the test and issue where indexers were not highlighted if their accessors had no references a5ce454a1d Add msbuild command syntax for /reportanalyzer 220fe56f5f Clarified Error 8521 (#44896) e4d75f3668 Merge pull request #45020 from dotnet/merges/master-to-master-vs-deps dfd9481c95 Merge pull request #44641 from sharwell/editing-tests 2a1b75e83e Merge pull request #44974 from allisonchou/ChangeSignatureAccessibility 97e27fdd94 Remove unnecssary ToArray calls 6b6f0123ce Merge pull request #45019 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps bd7ece3d3e Merge pull request #45018 from dotnet/merges/release/dev16.7-preview3-to-master 406a80cd06 Update target frameworks for Microsoft.Microsoft.CodeAnalysis.EditorFeatures.Text 1c6225104d Merge pull request #45000 from dotnet/merges/master-to-master-vs-deps b2a4f180fd Ensure we also add VB files dynamically if they weren't originally present 39f62eb5d6 Address review feedback 322bb9f0d1 Synthesize Deconstruct on positional records (#44806) db0d93721b Update tuple tests in StatementEditingTests to not be global statements e7b2d78189 Merge pull request #44646 from sharwell/snippet-tests 49871ff884 Switch LSP far back to using streaming 731f4b762e Merge pull request #44640 from sharwell/completion-tests e7305ab431 Merge pull request #44642 from sharwell/command-handler-tests 7e4665d420 Apply #44854 to preview3 branch 71b5c58c57 Merge pull request #44854 from nbalakin/balakin/stack-usage-optimization 51010e5b86 Msbuild target tests (#44365) 16eb523775 Merge pull request #44647 from sharwell/merging-tests bbfd3d523c Merge pull request #44643 from sharwell/formatter-tests b288e8fa84 add LiteralArray test 5aeded2160 add StringArray test dd35065f8a correct array syntax in ParamsObjectArray test c39cf0eb5e use ConvertedType instead of Type to determine if param array has been passed 7f8fdad778 Include no triggers 449e2961a2 Merge pull request #44954 from 333fred/static-types-in-func-ptrs 307e6959c1 Change RichNav to run daily 30e4f3f563 Merge pull request #44664 from sharwell/move-declaration ea75bfb319 Merge branch 'master' of github.com:dotnet/roslyn into DuplicateDiagnosticsLSP 08a96e2b1c Merge pull request #44577 from ryzngard/issues/44576_rename_from_other_file 3c62f4a056 ChangeSig - Don't crash on cancel when invoked from the lightbulb 728187a0a4 Use IActiveStatementSpanTracker through MEF 331e14713c Merge pull request #44986 from dpoeschl/ChangeSigAccessibilityDataGridCells e0d86a25d6 Merge pull request #44799 from dpoeschl/RemoveGetPositionBeforeParameterListClosingBrace 2c03519184 Merge pull request #43861 from allisonchou/SelectedItemChangeSignatureBug ffbafa4de1 Merge pull request #44977 from dotnet/merges/master-to-master-vs-deps bfb1fc185f Code review feedback c99b3ec237 Add tests f9920d364c Merge pull request #44990 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps a960ed9978 Merge pull request #44989 from dotnet/merges/release/dev16.7-preview3-to-master f6123289f0 Simplify 8e4c099235 Merge pull request #43998 from sharwell/cleaner-codegen 26e406020b Update error message. 256dfbcc69 Merge remote-tracking branch 'upstream/master' into spellCheckExplicit 4f7bf7f2b6 Remove unnecessary trailing colon 294d85c13b Add renamed file name in integration tests db8fe712f8 Inline 03ec4c31e1 Inline c64dc7075e When setting cell style, be sure to base it on the more general desired style 06fee5d944 Adjust Desktop baselines 04d5720d5c Simplify 26ad9ab959 Merge branch 'master' into issues/44576_rename_from_other_file 85cdc5c38c Merge branch 'master' of github.com:dotnet/roslyn into balakin/stack-usage-optimization 3a9001e9cc Merge pull request #44938 from mavasani/AnalyzerUtilitiesVersion 318e2d8688 Change Signature DataGrid accessibility when navigating cells with CAPS+Arrow 86028842ce Only run netcore tests on coreclr. 474bd37f19 Merge pull request #43835 from sharwell/cleanup-analyzer cc11e6d18e Add tests for moving a local into a local function 5e307a51a9 Update SmartTokenFormatterFormatRangeTests for top-level statements c6130149bf Update SmartTokenFormatterFormatTokenTests for top-level statements f3b9415e99 Snap config changes (#44964) b05dae0b90 Merge branch 'release/dev16.7-preview3' into AnalyzerUtilitiesVersion c7d939862d Merge pull request #44972 from dotnet/merges/release/dev16.7-preview3-vs-deps-to-master-vs-deps 577c7d6f61 Add parameter cancel button fix aa9f07ff7d Merge pull request #44947 from dotnet/merges/master-to-master-vs-deps f2ae4e60d4 Merge pull request #44973 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 847b97baa6 Merge pull request #44971 from dotnet/merges/release/dev16.7-preview3-to-master 0d76a21795 Change signature accessibility bugs 5866c2169b Merge pull request #44840 from dotnet/dev/gel/centralOptprof 5cb5f73a05 Merge pull request #44965 from dotnet/merges/release/dev16.7-preview3-to-release/dev16.7-preview3-vs-deps 8e196bcb35 Sg editorconfig access (#44875) c94b9fa839 Compiler Options in PDB fixups (#44950) b99a48b626 Merge pull request #44894 from sharwell/empty-resx 9461d4ba4e Merge remote-tracking branch 'dotnet/master' into strict-mocks 2bb37b925c Add span test. 4d60facc2e Rollback fd24c10ad1 REvert d90c762d37 Move back 7504784efa Doc dd70ba6563 Remove 412ed5d443 Move back for PR 526b03ee08 Simplify ac631c013e Simplify 6fa39b0617 Merge remote-tracking branch 'dotnet/master' into cleaner-codegen adc248e7f9 Simplify f309d21ac8 Verify the format of generated code during builds 4dc4660bb8 Update formatting analyzer 7d9567d777 Allow explicit construction of a loose mock a31623faa9 Simplify 0f20f1d0f1 Revert 0204116a1f revert 4e35211c2e Lint a1b9adfaef Simplify 210ece4245 Trigger completion in 'with' expression (#44925) e797cd2b90 Rename IOperation for 'with' expression (#44946) da37f20d45 temp 149f4ca323 Add tests. 9d3b6ddeb5 Fix failing tests. 60cc32efa5 Initial tests 0bb1ded262 Fixes 8e7f983240 Emit Clone methods in abstract records as abstract (#44935) dc643b07a4 Correctly error in function pointer scenarios: * When a static type is used as a parameter or return type. * When a restricted type is used as a parameter or return type. bb678d9161 Simplify cfc1f41ed3 Revert ec3d96e7e8 Revert f3ecdf4666 Fixes 075fe6b472 Merge pull request #44940 from mavasani/UpdateAnalyzers b954d77292 Merge branch 'perfFar' into depProjFinderPerf a9c79b65ea fast ivt 7d79ac708f Fix merge commit mistake 80ae6e54f3 REfactoring 1736c73173 Clarified Error 8050 (#44860) ab0f335859 Merge branch 'master' into balakin/stack-usage-optimization e29954ad26 Merge pull request #44934 from dotnet/merges/master-to-master-vs-deps 7c8c197e8d Merge remote-tracking branch 'upstream/master' into depProjFinder 5d99faaa3a delete these 571f437ba2 ImplementAbstractClass should trigger on records (#44917) 331fe27701 Merge remote-tracking branch 'upstream/master' into merges/master-to-master-vs-deps 6fb3c507a7 Dogfood the new .NET analyzers NuGet package 4c1710dc6c Bump up the version of Microsoft.CodeAnalysis.AnalyzerUtilities 1e0e919a83 Increase recursion test limits 6c89e5ce2b Current work 209b6d7979 Update test c187cfa67c Merge remote-tracking branch 'upstream/master' into perfFar f6b8f789ad in progress a1f167ca45 Add compiler options and metadata reference information into portable (#44373) 2a58f734cd When there is an error in an interpolated string, take the next quote as a close quote (#44899) 4f35ff5ab5 Merge pull request #44928 from dotnet/merges/master-to-master-vs-deps 896ac93c2a Merge pull request #44926 from jcouv/merge-records c82a696bf4 Merge remote-tracking branch 'dotnet/features/records' into merge-records a646747faa Put record parameters in scope withing instance initializers (#44906) dd66dbaf31 Merge pull request #44922 from CyrusNajmabadi/removeSuppression 9e27ea959b Simplify with an asynclazy. 345d9200da Inline method 66f8dd2837 Don't use extensions for private members d60510939f rename for clarity 4be66fea39 Misc. changes following recent records PR (#44912) dab17484a9 Merge remote-tracking branch 'upstream/master' into removeSuppression a9434127d2 Rename 7adb2a768b Adjust accessibility of a primary constructor in an abstract record. (#44914) 089d7bd103 Change name of record Clone method to unspeakable (#44852) 695da895bb Merge pull request #44905 from allisonchou/GoToImplBug ef0b1d109f Ensure correct binder is used to bind constructor initializers for synthesized parameter-less and copy constructors in records. (#44910) 9b82fcd101 Records: Support EqualityContract in Equals (#44882) c9adb9f7e9 Remove a bunch of PROTOTYPE comments (#44909) 3a5c406e80 Brace completion and IOperation for `with` expression (#44712) 9b22e9c880 Merge pull request #44892 from sharwell/use-mef b1ea4aebd5 Remove unnecessary using 95bc7f2c3a Add test adda0b2d9e Merge pull request #44878 from CyrusNajmabadi/removeSuppression 7772bed6bb Fix duplicate/inaccurate GoToDef #44846 fbf71cfe69 Add reqired API for moving SBD analyzer OOP (#43856) 062cfa52e0 Bind base arguments fo records (#44876) 09e286face not in code_style 9e363ac9ff Merge branch 'removeSuppression' of https://github.com/CyrusNajmabadi/roslyn into removeSuppression e6afc9599e Sg embedded sources (#44768) e5ee514923 Move to new pattern cae427f923 Update src/Features/CSharp/Portable/RemoveUnnecessarySuppression/CSharpRemoveUnnecessarySuppressionCodeFixProvider.cs 672c1e087f Update src/Analyzers/Core/Analyzers/IDEDiagnosticIds.cs 11f38edcc2 Add tests. efb10bd53f Tests d85e5e2bdd Adapt IDE to new record syntax (#44880) 5de855228b Update d1532d6ed1 Merge pull request #44817 from CyrusNajmabadi/unnecessaryParenFading c5f2778b2e Attempting to fix rebase issues ce876b56f0 Avoid localizing Empty.resx da02b3ea3c Merge pull request #44797 from akhera99/fix_nameof_bolding c552d5269b Merge pull request #44873 from mavasani/Issue43788 697663ab1a Simplify 9aa26974fa Add feature to remove confusing use of suppression operator 20f78b024e Ensure that TodoCommentOptions are serialized to OOP c2650718be Merge pull request #44864 from mavasani/UnusedUsings 5e8c7ade5d Merge pull request #44841 from agocke/record-keyword e669ac6622 Merge pull request #44858 from CyrusNajmabadi/removeMethod 3b8a202e5d Spellcheck should not offer the full signatures of explicit members when offering suggestions 8758854b5a Fixed spacing and removed unused directive cf257b4dff Remove build enforcement of unused usings in IDE layers a9fb862d38 Merge pull request #42180 from jasonmalinowski/switch-to-directory-watching 722719be2f Temporarily decrease stack depth 101da01f09 Merge branch 'master' into fix_nameof_bolding cf73630898 Update src/EditorFeatures/CSharpTest/Classification/SemanticClassifierTests.cs 8c624b212b Remove redundant helper. 4ca2cb58bf Merge branch 'master' into RemoveGetPositionBeforeParameterListClosingBrace f9756dd42e Clarify comment around behavior in Dispose() and why it's not taking locks 51b329c22e Merge pull request #44847 from jasonmalinowski/update-editorconfig-engine-switching 4f7a417a87 Remove temp variable to pass stack test c9ab85efda Merge pull request #44796 from mavasani/Issue44594 0b767d7bfe Adjust tests from comments 3b8cccc3a0 Adjust breaking change scope c912c90467 Add breaking change note to the post-2019 breaking changes doc 854bb369de Check for record declaration in more places c4b63daf9a Add partial test 5739a4cb68 Respond to PR comments 7871621011 Updated Error Message for CS1673 (#44835) 146ac32de7 Introduce ReportDiagnosticsIfObsolete overload to extract the cast from the caller 1ccf54713b Move a few varialbes out of case statements to reduce stack frame size fdb60ace2e Respond to PR comments 53caa79bea Change data class to "record" cef3156b1d Merge pull request #44812 from agocke/merge-to-records d9d1651662 Rename the Unit Testing side Json (#44814) c798f069ef Change the storage location for the option to use legacy .editorconfig cdda756672 Remove the constant for the .editorconfig experiment ff86816d03 Merge pull request #44655 from jasonmalinowski/quick-info-refactoring 082d76bf17 Fixed redundancy, logic duplication, and formatting issues b7743645d6 Add an LSP solution provider to retrieve the solution from the correct workspace. 73e55f01c2 Merge pull request #44775 from dibarbet/remove_classifications_exp b1c42b33a6 Merge pull request #44839 from CyrusNajmabadi/inferTypes a8293d7749 Merge with features/records 38bde2d971 Merge remote-tracking branch 'upstream/features/records' into merge-to-records 62af45eeaa Fix RecordTests (#44836) d995340c0e Remove a bunch of unnecessary null checking 5cf5afdc1c Move the nullable flow state shown from quick info into TokenInformation 0bb2853d6d Watch directories for source files and some metadata references 7f79df833a Merge pull request #44821 from dotnet/merges/master-to-master-vs-deps 96cb161ea7 Update RoslynSyntaxClassificationServiceFactory.cs 22e29d7b08 Fix vb type inference for tuples a4fb66a334 Move the Quick Info handling for await back into Quick Info 092f883c31 Merge pull request #44807 from allisonchou/FAR_LSP_Colorization a4b799585b Merge remote-tracking branch 'upstream/features/records' into merge-to-records 6f26a992b9 Introduce local function to reduce stack usage cc4206c8f3 Use MEF instead of direct construction b3512ae406 Merge remote-tracking branch 'upstream/master' into merge-to-records a15d2c96de Merge remote-tracking branch 'dotnet/master' into dev/gel/centralOptprof cff0243671 Use MEF catalog instead of direct construction 863ffa007b Change implementation of a SynthesizedRecordConstructor to act more like a constructor declared in source. (#44803) 558d04b318 Merge pull request #44808 from jasonmalinowski/fix-convert-struct-to-tuple-exception 7216978fc4 Update dependencies from https://github.com/dotnet/arcade build 20200602.3 (#44820) b5067a8a5b Refactored the bolding code to be more readable and easy to understand 56ce0562bb Use inherited properties for records (#44705) ba0920fe78 Pass readonly structure by ref to reduce caller stack frame size 047af13365 Introduce local function to reduce stack usage a9aa1e2446 Merge pull request #44819 from dotnet/merges/master-to-master-vs-deps 8f4ca69465 Add test 59df8c1bba Merge remote-tracking branch 'upstream/master' into unnecessaryParenFading 9486073103 Fix fading locations for unnecessary code. 19df9a7c1d Merge pull request #44815 from dotnet/merges/master-to-master-vs-deps b104b88c9b Merge pull request #44739 from CyrusNajmabadi/genConstructorWithProps a37aeb14c5 Merge pull request #44811 from jmarolf/bugfix/forward-cancellation-tokens d73b3e5f81 Code review feedback 3dc31fd765 Merge pull request #44800 from dotnet/merges/master-to-master-vs-deps ce442e70b1 propagate cancellation tokens 1b75734dee Revert "Revert "Refactoring of Active Statement tracking for OOP"" (#44734) 52d770bb97 Fix null reference exception with convert tuple with inaccessible System.HashCode 394b6c00b2 REvert 884fdff6f8 Merge pull request #44713 from CyrusNajmabadi/missingNamespace da26bc3a5a Update dependencies from https://github.com/dotnet/arcade build 20200601.10 (#44778) a9da7aca48 Add clarifying comment 865209aeb2 Added tests regarding bug 11510 79b5262cb7 Fix FAR bug + ClassifiedTextElement support d9fa00003d Simplify a42e17bf2d Merge pull request #44717 from dotnet/merges/release/dev16.7-preview2-vs-deps-to-master-vs-deps 9e16aa6a22 Simplify 0f7ebd123a Simplify further 6b3ce160ee Merge pull request #44798 from CyrusNajmabadi/featureVersion 7a80c18aaf Simplify more. b5c63ed3c9 Simplify eebb3e44cf Add support for nominal records (#44774) 46d0d1fc2b Remove `GetPositionBeforeParameterListClosingBrace` f6c95ab082 Merge pull request #43823 from CyrusNajmabadi/removeDuplicateBlankLines da1bbaf851 Update readme (#44386) d07a592846 Cleaner generated code e26e046a49 Only offer 'Use coalesce expression' in C#8 and above. 2c773129e8 Merge pull request #44790 from dotnet/merges/master-to-master-vs-deps 0e343bbbcd Remove experiment names 37d900c8a1 Ensure that we show all applicable refactorings for lightbulb under the caret 0f68e24c02 Implement parsing for record_base_arguments. (#44733) 90273de87d Merge pull request #44783 from RikkiGibson/update-dropapp-version 1b95c6df44 Merge pull request #44784 from RikkiGibson/update-dropapp-version 8e4264f3af Merge branch 'missingNamespace' of https://github.com/CyrusNajmabadi/roslyn into missingNamespace 2f5344b806 Merge pull request #44486 from sharwell/operation-feature a251dff55b Merge pull request #44751 from sharwell/update-slnf 8375541f49 Enable RS0101 (Avoid multiple blank lines) 369ece9f8d Share diagnostic severity configuration for C# and VB bce9312ecf Remove duplicate blank lines 73c001fa1e Remove duplicate blank lines d3458e83fc Update DropAppVersion 30913432c3 Merge pull request #44780 from dotnet/merges/master-to-master-vs-deps 0ae1008ef1 Flow analysis of with-expressions (#44644) 6ce8dedddd Merge pull request #44728 from mavasani/AddCodeActionValidation 0b37a163cc Lint 1d89b5099e Merge pull request #44776 from dotnet/merges/master-to-master-vs-deps 8e3e965f89 Update src/Workspaces/CoreTest/SymbolKeyTests.cs e236e2f635 Update src/Workspaces/CoreTest/SymbolKeyTests.cs 8bac85f4ef Update src/Workspaces/CoreTest/SymbolKeyTests.cs c11a126728 Update src/Workspaces/CoreTest/SymbolKeyTests.cs 9870470c8f Update src/Workspaces/CoreTest/SymbolKeyTests.cs 711ba7df99 Update src/Workspaces/CoreTest/SymbolKeyTests.cs 120769ebf9 Update src/Workspaces/CoreTest/SymbolKeyTests.cs cb9b20a142 Update src/Workspaces/CoreTest/SymbolKeyTests.cs c1e0dcac9e Update status for "function pointers" (#44760) aed0b405dc Merge remote-tracking branch 'upstream/master' into remove_classifications_exp a38625c172 Make value sets resilient in error recovery scenarios. (#44573) 4a2bda61ed Remove old classifications experiment 4961ed4f41 Fix test bfacce6859 Merge remote-tracking branch 'upstream/master' into AddCodeActionValidation 798ae85961 Add VB tests 1ac2dcf8be Simplify bdb3e5fd97 properly walk in reverse fbfebc0768 Merge pull request #44762 from dotnet/merges/master-to-master-vs-deps 6a62b685c4 Add direct symbol key test df76c4ac37 Merge remote-tracking branch 'upstream/master' into missingNamespace cedee2b388 Fix fix all for implement itnerface through members. f65d73cac6 Change optprof package version be437c7379 Merge pull request #44652 from dibarbet/fix_classification_uri 6060894286 Merge pull request #44583 from dibarbet/servicehub_process_start 8c7d323295 Merge pull request #44755 from dotnet/merges/master-to-master-vs-deps 6598951806 Potentially fixed a bug regarding static items not bolding 4fbceb3d42 Revert 77728dc to re-enabled central optprof 0dbdcf2db4 INvert b08173bcc3 Merge pull request #44750 from mavasani/RelaxDedupeLogicInCodeFixService 56dc42158c Ensure analyzer actions are invoked for SimpleProgramNamedTypeSymbol. (#44716) 438047c55d Merge pull request #44727 from dotnet/features/function-pointers d919cd220d Include the workspaces and code style layers in Compilers.slnf 97d5d269b6 Relax the de-duplication logic in CodeFixService to allow a code fix provider to register multiple code actions with same equivalence key for backward compatibility. See https://github.com/dotnet/roslyn/issues/44553#issuecomment-636305256 for details 449b96528f Add unit test to demonstrate the breaking change introduced in #41768, and described in https://github.com/dotnet/roslyn/issues/44553#issuecomment-636305256 6d68dce009 Revert verification for code refactorings - they do not require this validation until we support FixAll for refactorings c4d594354f Adjust assert message 65e4339637 Validation for nested code actions 51af5d7f29 Perform equivalence key validation only for code fixes with fixall support 9631a6e3bf Sort usings e6ad6c971f Add more information in the assert and handle null CodeRefactoring a9f28bbf04 Add code action equivalence key validation in test framework 8449260339 Merge pull request #44742 from dotnet/merges/master-to-master-vs-deps 9c8f0f9970 Add member back 83f28714ac Renames 6ddda48c2f Change accessibility df915f2b79 Simplify 52211605bf Simplify 824bf30182 Simplify 2d39bcfff8 Remove loc string a861f205da Simplify 19c0d73e40 Unit testing external access API (#44670) a62d9a2a8a Merge pull request #44718 from CyrusNajmabadi/popSwitchEquiv c277173921 Simplify 0cbda32252 Inline eff78f3d87 Add comment fdb0b240ee Simplify e6b8687754 Simplify 75b7f81667 Simplify ef6dfbc0bf Simplify 725f201ac4 Simplify 7891a39af4 Add workitems ec0038f513 Add VB tests 6bcd6c9617 Fix c# tests 9b11a0e2d1 Use immutable collections 1d827107ec Tests e0a0fc2353 make protected 50a40f7680 remove editor fie adf254cd26 remove editor 4fcc6b7928 Delete code c10d7f074a Almost there 77fb274c5a Intermediary f36e10a97b Update EndToEndTests.cs (#44686) e468a83ba6 Merge pull request #44731 from dotnet/merges/master-to-features/function-pointers 982c7f1735 Move member 17d2618176 Compilable f4de4bb987 Starting work 8131c588b4 Merge pull request #44707 from dotnet/merges/master-to-master-vs-deps 3fc72c9db2 Merge pull request #44654 from CyrusNajmabadi/checksumPerf f74d449c25 Merge pull request #44661 from Youssef1313/patch-2 c1e8715cf8 Connection refactoring (#44512) 1f4d655a5c Merge pull request #44726 from 333fred/merge-master f70905c2e7 Merge remote-tracking branch 'dotnet/master' into merge-master 079564385d Attempt to fix unit test c83b5230c4 Merge remote-tracking branch 'upstream/release/dev16.7-preview2-vs-deps' into merges/release/dev16.7-preview2-vs-deps-to-master-vs-deps 0ca488ccdc Merge pull request #44715 from 333fred/prototype-removal 81363b6aa4 Fix equivalence key for Populate-Switch 0ba8890bb8 Update ParenthesizedExpressionSyntaxExtensions.cs 5b0f74b23b Update ParenthesizedExpressionSyntaxExtensions.cs 81c84f1467 Merge pull request #44621 from dotnet/merges/release/dev16.7-preview2-to-release/dev16.7-preview2-vs-deps 3c1c0fcb4d Merge pull request #44673 from sharwell/ls-test fcd207c0f5 Use AssertTheseDiagnostics helper. b4ea73dc24 Address final prototype comments. 6d290f0d1d Merge pull request #44706 from 333fred/merge-master 0bbdb24e18 Add vb test 0f9c5c2577 Add docs 8c2ec2be9c Add docs 93b8659cc7 Update src/EditorFeatures/Test2/FindReferences/FindReferencesTests.OrdinaryMethodSymbols.vb beef218d45 Merge pull request #44709 from jcouv/fix-build 440c6400e3 Merge pull request #43886 from dibarbet/cleanup_logs e73922a786 Update src/Workspaces/Core/Portable/CodeGeneration/Symbols/CodeGenerationNamespaceSymbol.cs 34b1501aea Update ParenthesizedExpressionSyntaxExtensions.cs 0f278d2f3a Simpler impl f57dda249a REvert this appraoch e2e9cdfeee Add FAR test. f089d871f1 Use init-only for records and adjust binding (#44582) c98f0951f3 Update error code in ConvertIfToSwitch test 6e043fd914 Support missing namespaces in symbol keys 30c802c1d7 Merge pull request #44666 from dotnet/merges/master-to-master-vs-deps 037a56014e Fix IfToSwitch test. 2e2970d880 Fixup tests after merge. 2cd9c8c97e Merge remote-tracking branch 'upstream/master' into merge-master 91e77e70b3 Merge pull request #44564 from 333fred/ide 154e84f30f Fix ConvertIfToSwitch on top-level statement (#44645) e8194c5d72 Added parsing test. 5d4b41b9ef Add missing diagnostics. c5e9838a75 Merge pull request #44346 from dpoeschl/AddParameterInferCallSites 6f706da393 Correct public API files, fix build script. dd47d72a29 Narrow factory types, add tests. b68664fa00 Don't specify OpenClose, default value is false 52cdaaf163 Add comment 421d8561f7 Merge branch 'master' into cleanup_logs a009e5a683 Fix formatting c5c9f5497f Expose helper 358b99dc6c Update ParenthesizedExpressionSyntaxExtensions.cs ed7c4ae8af Update error messages for clarity and rename test. 1179178aba Test for not inferring inaccessible locals 535d786ac1 Don't sort fields & properties + comments d57ff242c4 Conditionally add using for non-codestyle. eda81b75c4 Update RemoveUnnecessaryExpressionParenthesesTests.cs d6b45eea40 Remove other unused using. ee207099b7 Remove unusued using. 86d253f459 Merge pull request #44662 from Enderlook/typo 05822000af Wait for callbacks to complete before returning 1c98fa418e Pass around a Document instead of SemanticModel+Workspace again 93621e5a55 Make GenerateInferredCallsiteExpressionAsync return just an Expression e6a8d54793 Fix formatting 2ac1636715 Getter control flow around GenerateInferredCallsiteExpressionAsync d8e49bc492 Pass around a Document instead of SemanticModel+Workspace 47ba106ac1 Fix wrong reporting for removing parenthesis for stackalloc 0176133188 Fix titles markdown in MetadataFormat.md 6214a1385d Update MoveDeclarationNearReferenceTests to reveal unexpected output formatting c7dcbe1493 Update CSharpMoveDeclarationNearReferenceCodeRefactoringProvider for top-level statements be34a9fe08 Update dependencies from https://github.com/dotnet/arcade build 20200528.5 (#44660) 3c2ec577ff Merge pull request #44653 from dotnet/merges/master-to-master-vs-deps ed8495defd Merge pull request #44622 from sharwell/statement-container 4f286beeb3 Fix implementation of ISyntaxFacts.IsStatementContainer for top-level statements f0543cfe54 Merge pull request #44633 from sharwell/classifier-tests d06bb7933e Merge pull request #44631 from sharwell/recommender-tests 998c9eb11f Improve performance of SyntaxTreeIndex checksum computation. 0150ae27b2 Readd spacing rule for delegate*, reorder for clarity. 04b4d29a90 Add navto benchmark fe3d26f821 Fix classification handler to use correct mapped uri and added test. 5e725e2918 Merge pull request #44648 from sharwell/format-engine-tests deeb91243a PR feedback: 3ca29da639 Address naming feedback from other PR. cba43db745 Merge remote-tracking branch 'dotnet/features/function-pointers' into ide dd42cea013 Merge pull request #44613 from 333fred/void-cast 31452473c3 Merge pull request #44638 from sharwell/reg-key 9d0655e999 Initial changes to help with profiling b6091e2244 Follow up on 'Top-level statements' feature merge - pack error codes and feature ids. (#44636) 9052e853d0 Remove redundant formatting rules. Apply PR feedback. 4d8265742e PR Feedback: c9e9ee3c6b Merge pull request #44609 from sharwell/conditional-import 5ce767102c Merge pull request #44632 from sharwell/automatic-completion-tests 7874cbd0b9 Merge pull request #44637 from sharwell/add-timeout 1a0a2e66c9 Update FormattingEngineTriviaTests for top-level statements 0e14a53ab0 Update LinkedFileDiffMergingTests for top-level statements acadf9d51a Update SnippetExpansionClient for top-level statements 629a20e5cd Correct condition. 0be25c4140 Merge pull request #44574 from dotnet/merges/master-to-master-vs-deps 3d643fa772 Merge remote-tracking branch 'dotnet/features/function-pointers' into ide c703569be4 PR Feedback and Tests * Added tests for all the new code paths. * Fixed up the formatter. * Fixed up extract method's understanding of rvalues for function pointers. e665b8b02b Update FixInterpolatedVerbatimStringCommandHandlerTests for top-level statements b204d56137 Adjust reported conversion for explicit conversions to match method groups. b1b41e03dd Update TopSyntaxComparer for top-level statements 597c5fdffd Update XmlDocumentationCommentCompletionProviderTests for top-level statements e92419d203 Update SymbolCompletionProvider tests for top-level statements 37f62260c1 Update ExternAliasCompletionProvider for top-level statements 0dbfdeac74 Add a registry storage location for StorageOptions.SQLiteInMemoryWriteCache 3d891d6a04 Apply a hang mitigating timeout to InteractiveWithDisplayFormAndWpfWindow ac66b476ed PR Feedback: * Add additional tests. * Handle new GetTypeInfo case revealed by tests. * Rename variables for clarity. 9e979342a4 Merge pull request #44602 from dotnet/revert-44113-EncOopPrep cdefefd2c2 Update TotalClassifierTests for top-level statements 11a255bc1c Update SyntacticClassifierTests for top-level statements 512c6ef538 Update AutomaticLiteralCompletionTests for top-level statements 956ef3a4f2 Update RefKeywordRecommenderTests for top-level statements 4298614c2a Update ReadOnlyKeywordRecommenderTests for top-level statements 1b2c0b38e4 Merge pull request #44612 from AlekseyTs/master ffbb9c7e8f Merge pull request #44590 from mavasani/Issue44589 a4c02766c5 Adjust Roslyn.VisualStudio.IntegrationTests.CSharp.CSharpIntelliSense.CtrlAltSpaceOption unit-test with Top-level statements in mind. c47bd2a867 Merge pull request #44619 from RikkiGibson/merges/release/dev16.7-preview2-to-master 04c2bdbb19 Revert "Revert "Make boolean value factory resilient in the face of errors. (#44441)" (#44575)" 5e2c3792d2 Merge remote-tracking branch 'upstream/release/dev16.7-preview2' 4afa268f52 Revert "Make boolean value factory resilient in the face of errors. (#44441)" (#44575) 9ebe89c5e1 Records: inheritance of members (tests only) (#44595) 407c8179bc Fix up existing messaging. ac105595b7 Clean up error messages for address of to non-function-pointer types. 527068cd8a Merge remote-tracking branch 'dotnet/features/SimplePrograms' b8cb1f8f5e Merge pull request #44436 from 333fred/public-api 79c941ff6f Merge pull request #44585 from AlekseyTs/SimplePrograms_31 db41587524 Conditionally import GeneratePkgDef.targets 8c62f62cd0 Fix exception in declare-as-nullable code fix (#44338) 9f2d2544a6 Merge pull request #44601 from CyrusNajmabadi/lambdaIntellisense c4ba7433cd Revert implicit change. e6e7a587da Rename test 40f75a93c8 Restore 'DesignTimeBuild' check 772e024155 Merge pull request #44402 from sharwell/completion-fixes 41d19b65b8 Merge remote-tracking branch 'upstream/master' into issues/44576_rename_from_other_file 2969eb9a73 Other typo. b8d3d2c836 Minor PR feedback. fc049f9cb7 Revert "Refactoring of Active Statement tracking for OOP (#44113)" 3f92052573 Merge pull request #44597 from xuachen/patch-2 043ad16811 No PR builds ef7f10bf84 Fix regression in lambda intellisense. f8a689a1e9 Update azure-pipelines-richnav.yml 9fb1220b47 Rename variable for clarity 15bc3eae13 Restructure possible inferred symbol ordering faa0c32ef0 Change string. Use WorkspacePathUtilities fd89007d99 Don't warn on uninitialized `[MaybeNull]` fields (#44435) 7779f1a5c0 Follow up on merge from master 1c98fe1fc6 Doc update: Clarifications of deterministic inputs (#44462) 4754b0f5ec Update the work around for .editorconfig evaluation bugs in command line builds 1edbf726a6 Add additional conversion verification. dfdc4efd75 Merge pull request #44440 from mavasani/RemoveLegacySuppressions 75a87bccdf Merge remote-tracking branch 'dotnet/master' into SimplePrograms_31 161627d2ea Log telemetry on servicehub process start. 6ea929dcf9 Merge pull request #44407 from CyrusNajmabadi/addImport 4a580347f5 PR Feedback: 15a1a7a524 Clarify comment 7b0aaff784 Implicit var switch expression fix 58c5fe1a46 lint 0dcc603b70 Don't reuse other syntax nodes for the with expression (#44071) a2cfcdbd96 Update compiler status for pattern-matching changes. (#44432) 280607e73a lint a76b3fdc65 Merge remote-tracking branch 'upstream/master' into addImport c7d55dc449 Merge pull request #43884 from EnzoMeertens/patch-2 068054adee Treat [module: ...] as a global attribute list dd969983bd Replace IsTerminator with a feature-specific abstract method c157ec645b Allow rename file even if rename was no initiated in that file 731ece3d45 Document location node 468caba2c3 Add RichCodeNav Indexing task to CI (#44069) 282ae6eee9 Merge pull request #44460 from allisonchou/ExtractInterfaceError e5b052dd78 Merge pull request #44504 from allisonchou/AndOrGlobalBug 58847ecbc9 Remove unnecessary item groups added to projitems by tooling 3c3750158b Address feedback 73b23d0734 Merge pull request #44493 from dotnet/dev/gel/FixOptprof 09a9c40f7a fix tests a3b0e6bbfd fix tests 0a75fcd598 fix tests afc171bb6e fix tests 1386506ee0 Add test and fix localization files ddea455a8d Fix build errors in tests 65b135b14d Merge remote-tracking branch 'dotnet/master' into AddParameterInferCallSites a192c7011e Extract helper for constructing inferred expressions 78015affb8 Merge pull request #44538 from agocke/merge-records 725e3fc446 Merge pull request #44555 from huoyaoyuan/equals-hashcode-abstract-base 9fd5f01285 Document CallSiteValue 3c506cd4ba Clarify that some strings are being used for the UI. 2ae59017f1 Improve `CallSiteKind.Inferred` comment 3e3dcfc755 Remove indirection 7d5502b9b0 PR feedback d1971b8b74 Basic handling of function pointer types in the IDE: 4647caeff7 Add unit test for issue 43290. 5c666f7605 Reject abstract base method when generating Equals and GetHashCode. a8da3c501a Merge remote-tracking branch 'upstream/master' into merge-records 2f6273b0e2 Merge pull request #44549 from CyrusNajmabadi/genConstructor b4e2e1bd13 Merge pull request #44368 from mavasani/RenameInSuppressMessage 79db35771e Restore 'generate constructor (without fields)' 548ad60d7d Add reference to Microsoft.ServiceHub.Framework (#43757) 4c6e1a98ab Merge pull request #44533 from dotnet/merges/master-to-master-vs-deps f0a9bba5a2 Merge pull request #44530 from dotnet/merges/master-to-master-vs-deps ab680e7d4a Update status for extended partials (#44484) 4dce52fb94 RemoteHostClientProvider refactoring (#44430) 680a020f29 Refactoring of Active Statement tracking for OOP (#44113) 5222059b8c Add nullable annotations to SolutionCrawler files and tiny refactorings (#44037) 4f7211b80b Code fix for CS1615 (Remove 'in' keyword) 475bfb11a4 Merge pull request #44527 from dotnet/merges/master-to-master-vs-deps 5b1f31a132 Use var 464cbb01c4 Fix formatting 1caf24a531 Use BoundNode's WasCompilerGenerated. 09b6462380 Changes from feedback: * Significantly expanded testing. * Reworded exception messages. * Simplified handling of getting semantic information in the CSharpSemanticModel. * Added comments as appropriate. * Added linux support for running the IOperation test hook from cli. 7b9ba62d86 Fix compiler 0aaa481fab Tweak lookup 57af2cd359 Merge pull request #44509 from dotnet/merges/master-to-master-vs-deps 7ec7d80d71 Walk less of the tree. 689028436c Add C# test 38110378e9 Add tests f0692015e0 Add test 8803b7169a use proper comparere in VB f93c5c67b5 Add docs. 1b2540ae48 Add docs ff746d19ec one parameter per line fa5c5f5b07 Simplify tests fde0f6f2d4 Simplify tests 7fe179740f Make tests clearer cd5afb8dde Make static 54a937172e Merge remote-tracking branch 'upstream/master' into addImport edffb8bfd1 Fix nullable annotation to match implementation 2ada2b9a15 Merge remote-tracking branch 'upstream/master' into RenameInSuppressMessage 287a25a513 Merge pull request #44520 from sharwell/increase-timeouts b66588c880 Increase timeouts to account for slower build machines cb43d26160 Merge pull request #44467 from CyrusNajmabadi/simplifyHelpers 69b3bf560e Merge pull request #44473 from sharwell/cref-completion 489101fdc9 Merge pull request #44490 from sharwell/quiet-launch a03e0c30a5 Merge pull request #44487 from sharwell/rename-waiter 73864c784f Merge pull request #44491 from mavasani/EnforceUseVar 2901aee9b9 Add comment 1b7f5dfc27 Global keyword recommender fix for and or a3606b67a7 Merge remote-tracking branch 'upstream/master' into simplifyHelpers a71c120496 Merge branch 'speculativeSymbolKey' into simplifyHelpers fc19eaf07f Use new helper 7d696a3a0f Merge pull request #44483 from dotnet/merges/master-to-master-vs-deps f6e1f8a31b Merge pull request #44482 from dotnet/merges/release/dev16.7-preview2-vs-deps-to-master-vs-deps dd7bbcb081 Few more IDE scenarios for top-level statements (#44455) ef8b51db3b Mark as public all symbol keys methods we expect other components to use. b386a47582 Merge pull request #44275 from JoeRobich/no-trailing-newline 80281917a0 Update docs 09f83287f4 Be resilient to not having the syntax tree for a body level symbol while resolving 8f92d7d681 Merge pull request #44497 from sharwell/increase-timeout acb25e3a77 Increase the test timeout e1c5111947 Automatically wait for rename in GetTagSpans f98c8ce657 Wait for rename operations to complete before assertion a5d25b08ed Cache more dafc955618 Disable test for assembly with missing ibc data bbb005e07d Revert temporary workaround to .editorconfig to enable FixAll in solution 8db8f7d9e5 Revert and suppress IDE0007 violation that causes compiler error CS8506: No best type was found for the switch expression 5bfb295d2a Merge pull request #43822 from CyrusNajmabadi/removeBlankLineBetweenBraces f277de8cf6 FixAll application for IDE0007 violations - no manual code changes were done in this commit b884a4d63f [Dogfooding] Enforce IDE0007 (prefer "var") as build warning in IDE projects 9ee971ce60 Initialize integration tests without showing console windows d5133acf0a Remove dead code around generating method invocations cabcfd3896 Remove unused variable 36a0750c12 Merge remote-tracking branch 'upstream/master' into RenameInSuppressMessage 35162394b5 Merge remote-tracking branch 'upstream/master' into RemoveLegacySuppressions 03c34759fc Merge pull request #44463 from mavasani/EnforceCA1822 a513ac4ac4 Remove unnecessary feature 'IOperation' b3c051596f Merge pull request #44481 from sharwell/increase-timeout a159ecb6e6 Increase the timeout for the Spanish queue 8e82fccaee Merge pull request #44464 from sharwell/avoid-exception 81e1c7d158 Merge pull request #44451 from CyrusNajmabadi/nuintCompletion b6cfbdf26a Merge pull request #44475 from dotnet/merges/release/dev16.7-preview2-to-release/dev16.7-preview2-vs-deps 49e414d802 Merge pull request #44466 from dotnet/merges/master-to-master-vs-deps d57fa5500e Enable RS0102 (Braces must not have blank lines between them) f46e631387 Remove blank lines between close braces that are on different lines. 61170c7855 Fix violations in test projects a17d6278f3 Merge pull request #44445 from sharwell/add-parameter 5a28f74e50 Merge pull request #44456 from sharwell/use-throw 5c005e8efb Remove unnecessary check 76fe53427f Simplify the helpers we use in symbol finding …
…emantic diagnostics for a specific tree, which are categorized by each analyzer that reported the diagnostic.
Current APIs and IDE usage
We have existing APIs on
CompilationWithAnalyzers
that return the analyzers diagnostics for a given tree:roslyn/src/Compilers/Core/Portable/DiagnosticAnalyzer/CompilationWithAnalyzers.cs
Lines 465 to 474 in 5ae370f
roslyn/src/Compilers/Core/Portable/DiagnosticAnalyzer/CompilationWithAnalyzers.cs
Lines 538 to 548 in 5ae370f
This is sufficient for the current IDE analyzer execution model for open files - run each analyzer sequentially on each open file by calling the above APIs with a single analyzer at a time.
New proposed APIs and IDE usage
As part of #44408, we are moving open file analyzer execution to OOP (outside devenv.exe). This allows us to execute all open file analysis concurrently in that process. However, the above APIs are not sufficient for this analysis model as we need to categorize diagnostics by each analyzer. The returned diagnostics for the above existing APIs are a single array
ImmutableArray<Diagnostic>
instead of a dictionary keyed by each analyzer. Additionally, theAD0001
diagnostics reported for analyzer exceptions cannot be mapped to specific analyzer. This PR proposes adding overloads forGetAnalysisResultAsync
, which are equivalent APIs that returnAnalysisResult
instead ofImmutableArray<Diagnostic>
:See #45322 (comment) for additional details.
NOTE: I will send out a separate email to Roslyn API review committee to get an API approval and post an update here.