From bbf65314d1888d8a20af3f1356ccfd7f5f09933d Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Wed, 5 Oct 2022 12:26:16 -0700 Subject: [PATCH] Add more logging to GetSignatureHelp (#1717) * Add more logging to GetSignatureHelp * cleanup * cleanup --- .../LanguageServices/BindingQueue.cs | 12 +++--------- .../LanguageServices/LanguageService.cs | 3 ++- .../LanguageServices/QueueItem.cs | 6 +++--- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/BindingQueue.cs b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/BindingQueue.cs index 480b9cf8..6bb05cbf 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/BindingQueue.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/BindingQueue.cs @@ -89,18 +89,12 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices /// public virtual QueueItem QueueBindingOperation( string key, - Func bindOperation, - Func timeoutOperation = null, - Func errorHandler = null, + Func bindOperation, + Func? timeoutOperation = null, + Func? errorHandler = null, int? bindingTimeout = null, int? waitForLockTimeout = null) { - // don't add null operations to the binding queue - if (bindOperation == null) - { - return null; - } - QueueItem queueItem = new QueueItem() { Key = key, diff --git a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/LanguageService.cs b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/LanguageService.cs index 379745d3..30df39ea 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/LanguageService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/LanguageService.cs @@ -1551,11 +1551,12 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices } else { + Logger.Verbose($"GetSignatureHelp - Didn't get any method locations from parse result"); return null; } }); - queueItem.ItemProcessed.WaitOne(); + Logger.Verbose($"GetSignatureHelp - Got result {queueItem.Result}"); return queueItem.GetResultAsT(); } finally diff --git a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/QueueItem.cs b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/QueueItem.cs index 30cc3548..6da8a659 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/QueueItem.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/LanguageServices/QueueItem.cs @@ -29,12 +29,12 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices /// /// Gets or sets the bind operation callback method /// - public Func BindOperation { get; set; } + public Func BindOperation { get; set; } /// /// Gets or sets the timeout operation to call if the bind operation doesn't finish within timeout period /// - public Func TimeoutOperation { get; set; } + public Func? TimeoutOperation { get; set; } /// /// Gets or sets the operation to call if the bind operation encounters an unexpected exception. @@ -66,7 +66,7 @@ namespace Microsoft.SqlTools.ServiceLayer.LanguageServices /// /// Converts the result of the execution to type T /// - public T GetResultAsT() where T : class + public T? GetResultAsT() where T : class { //var task = this.ResultsTask; return (this.Result != null)