diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/IDocumentProvider.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/IDocumentProvider.cs index 83635801a59932a68e0c8a1a9eb3ca969463df26..fcdb0914a1a49581aed2210cb4d3f9e354b682ee 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/IDocumentProvider.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/IDocumentProvider.cs @@ -10,8 +10,7 @@ namespace Microsoft.CodeAnalysis.Editor.Implementation.IntelliSense { internal interface IDocumentProvider { - Task GetDocumentAsync(ITextSnapshot snapshot, CancellationToken cancellationToken); - Document GetOpenDocumentInCurrentContextWithChanges(ITextSnapshot snapshot); + Document GetDocument(ITextSnapshot snapshot, CancellationToken cancellationToken); } internal class DocumentProvider : ForegroundThreadAffinitizedObject, IDocumentProvider @@ -21,16 +20,10 @@ public DocumentProvider(IThreadingContext threadingContext) { } - public Task GetDocumentAsync(ITextSnapshot snapshot, CancellationToken cancellationToken) + public Document GetDocument(ITextSnapshot snapshot, CancellationToken cancellationToken) { AssertIsBackground(); - return Task.FromResult(snapshot.AsText().GetDocumentWithFrozenPartialSemantics(cancellationToken)); - } - - public Document GetOpenDocumentInCurrentContextWithChanges(ITextSnapshot snapshot) - { - var text = snapshot.AsText(); - return text.GetOpenDocumentInCurrentContextWithChanges(); + return snapshot.AsText().GetDocumentWithFrozenPartialSemantics(cancellationToken); } } } diff --git a/src/EditorFeatures/Core/Implementation/IntelliSense/SignatureHelp/Controller.Session_ComputeModel.cs b/src/EditorFeatures/Core/Implementation/IntelliSense/SignatureHelp/Controller.Session_ComputeModel.cs index efee91a97eb831a3c5f90819017114ed2c41b834..e88ed99b2324126e2001a698f35a38ea1a43e254 100644 --- a/src/EditorFeatures/Core/Implementation/IntelliSense/SignatureHelp/Controller.Session_ComputeModel.cs +++ b/src/EditorFeatures/Core/Implementation/IntelliSense/SignatureHelp/Controller.Session_ComputeModel.cs @@ -55,7 +55,7 @@ internal partial class Session AssertIsBackground(); cancellationToken.ThrowIfCancellationRequested(); - var document = await Controller.DocumentProvider.GetDocumentAsync(caretPosition.Snapshot, cancellationToken).ConfigureAwait(false); + var document = Controller.DocumentProvider.GetDocument(caretPosition.Snapshot, cancellationToken); if (document == null) { return currentModel; diff --git a/src/EditorFeatures/Test2/IntelliSense/SignatureHelpControllerTests.vb b/src/EditorFeatures/Test2/IntelliSense/SignatureHelpControllerTests.vb index 984e30804ff4ec2ec8ed26ef99bfa775bb35d3ff..bc45e15cda30ef9a8b6afb64fb945051cdbf9d8b 100644 --- a/src/EditorFeatures/Test2/IntelliSense/SignatureHelpControllerTests.vb +++ b/src/EditorFeatures/Test2/IntelliSense/SignatureHelpControllerTests.vb @@ -25,7 +25,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense Public Sub InvokeSignatureHelpWithoutDocumentShouldNotStartNewSession() Dim emptyProvider = New Mock(Of IDocumentProvider) - emptyProvider.Setup(Function(p) p.GetDocumentAsync(It.IsAny(Of ITextSnapshot), It.IsAny(Of CancellationToken))).Returns(Task.FromResult(DirectCast(Nothing, Document))) + emptyProvider.Setup(Function(p) p.GetDocument(It.IsAny(Of ITextSnapshot), It.IsAny(Of CancellationToken))).Returns(DirectCast(Nothing, Document)) Dim controller As Controller = CreateController(documentProvider:=emptyProvider) controller.WaitForController() @@ -217,7 +217,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense New TypeCharCommandArgs(CreateMock(Of ITextView), CreateMock(Of ITextBuffer), "a"c), Sub() GetMocks(controller).Buffer.Insert(0, "a"), TestCommandExecutionContext.Create()) - GetMocks(controller).DocumentProvider.Verify(Function(p) p.GetDocumentAsync(It.IsAny(Of ITextSnapshot), It.IsAny(Of CancellationToken)), Times.Never) + GetMocks(controller).DocumentProvider.Verify(Function(p) p.GetDocument(It.IsAny(Of ITextSnapshot), It.IsAny(Of CancellationToken)), Times.Never) End Sub Private Shared ReadOnly s_controllerMocksMap As New ConditionalWeakTable(Of Controller, ControllerMocks) @@ -251,8 +251,7 @@ Namespace Microsoft.CodeAnalysis.Editor.UnitTests.IntelliSense Dim asyncListener = New Mock(Of IAsynchronousOperationListener) If documentProvider Is Nothing Then documentProvider = New Mock(Of IDocumentProvider) - documentProvider.Setup(Function(p) p.GetDocumentAsync(It.IsAny(Of ITextSnapshot), It.IsAny(Of CancellationToken))).Returns(Task.FromResult(document)) - documentProvider.Setup(Function(p) p.GetOpenDocumentInCurrentContextWithChanges(It.IsAny(Of ITextSnapshot))).Returns(document) + documentProvider.Setup(Function(p) p.GetDocument(It.IsAny(Of ITextSnapshot), It.IsAny(Of CancellationToken))).Returns(document) End If If provider Is Nothing Then