From 3d8cb5355ca31c3e4c5a9e42dce7618324376b67 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 26 Aug 2025 16:51:55 -0400 Subject: [PATCH] Disable oop processing for some diagnostics calls --- ...AnalyzerService_RemoteOrLocalDispatcher.cs | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/Features/Core/Portable/Diagnostics/Service/DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs b/src/Features/Core/Portable/Diagnostics/Service/DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs index cc549b40ae847..0675d9f112387 100644 --- a/src/Features/Core/Portable/Diagnostics/Service/DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs +++ b/src/Features/Core/Portable/Diagnostics/Service/DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs @@ -202,23 +202,28 @@ public async Task> ComputeDiagnosticsAsync( if (allAnalyzers.Length == 0) return []; - var client = await RemoteHostClient.TryGetClientAsync(document.Project, cancellationToken).ConfigureAwait(false); - if (client is not null) - { - var allAnalyzerIds = allAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); - var syntaxAnalyzersIds = syntaxAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); - var semanticSpanAnalyzersIds = semanticSpanAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); - var semanticDocumentAnalyzersIds = semanticDocumentAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); - - var result = await client.TryInvokeAsync>( - document.Project, - (service, solution, cancellationToken) => service.ComputeDiagnosticsAsync( - solution, document.Id, range, - allAnalyzerIds, syntaxAnalyzersIds, semanticSpanAnalyzersIds, semanticDocumentAnalyzersIds, - incrementalAnalysis, logPerformanceInfo, cancellationToken), - cancellationToken).ConfigureAwait(false); + var useOOP = false; - return result.HasValue ? result.Value : []; + if (useOOP) + { + var client = await RemoteHostClient.TryGetClientAsync(document.Project, cancellationToken).ConfigureAwait(false); + if (client is not null) + { + var allAnalyzerIds = allAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); + var syntaxAnalyzersIds = syntaxAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); + var semanticSpanAnalyzersIds = semanticSpanAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); + var semanticDocumentAnalyzersIds = semanticDocumentAnalyzers.Select(a => a.GetAnalyzerId()).ToImmutableHashSet(); + + var result = await client.TryInvokeAsync>( + document.Project, + (service, solution, cancellationToken) => service.ComputeDiagnosticsAsync( + solution, document.Id, range, + allAnalyzerIds, syntaxAnalyzersIds, semanticSpanAnalyzersIds, semanticDocumentAnalyzersIds, + incrementalAnalysis, logPerformanceInfo, cancellationToken), + cancellationToken).ConfigureAwait(false); + + return result.HasValue ? result.Value : []; + } } return await ComputeDiagnosticsInProcessAsync(