提交 78ed0b34 编写于 作者: C CyrusNajmabadi

Merge remote-tracking branch 'upstream/master' into removeSynchronousFindRefsObjectBrowser

......@@ -1095,5 +1095,23 @@ public void ToError()
VerifyNavigateToResultItem(item, "ToError", "ToError()", MatchKind.Regular, NavigateToItemKind.Method);
});
}
[WorkItem(18843, "https://github.com/dotnet/roslyn/issues/18843")]
[WpfFact, Trait(Traits.Feature, Traits.Features.NavigateTo)]
public async Task Test__arglist()
{
await TestAsync(
@"class C
{
public void ToError(__arglist)
{
}
}", async w =>
{
SetupVerifiableGlyph(StandardGlyphGroup.GlyphGroupMethod, StandardGlyphItem.GlyphItemPublic);
var item = (await _aggregator.GetItemsAsync("ToError")).Single();
VerifyNavigateToResultItem(item, "ToError", "[|ToError|](__arglist)", MatchKind.Exact, NavigateToItemKind.Method);
});
}
}
}
\ No newline at end of file
......@@ -113,7 +113,7 @@ public bool TryGetTelemetryId(out Guid telemetryId)
using (Logger.LogBlock(FunctionId.SuggestedActions_GetSuggestedActions, cancellationToken))
{
var document = GetMatchingDocumentAsync(range.Snapshot, cancellationToken).WaitAndGetResult(cancellationToken);
var document = range.Snapshot.GetOpenDocumentInCurrentContextWithChanges();
if (document == null)
{
// this is here to fail test and see why it is failed.
......@@ -288,7 +288,7 @@ private bool IsApplicable(CodeAction action, Workspace workspace)
if (!action.PerformFinalApplicabilityCheck)
{
// If we don't even need to perform the final applicability check,
// then the code actoin is applicable.
// then the code action is applicable.
return true;
}
......@@ -588,7 +588,10 @@ private static SuggestedActionSetPriority GetSuggestedActionSetPriority(CodeActi
applicableSpan);
}
public async Task<bool> HasSuggestedActionsAsync(ISuggestedActionCategorySet requestedActionCategories, SnapshotSpan range, CancellationToken cancellationToken)
public async Task<bool> HasSuggestedActionsAsync(
ISuggestedActionCategorySet requestedActionCategories,
SnapshotSpan range,
CancellationToken cancellationToken)
{
// Explicitly hold onto below fields in locals and use these locals throughout this code path to avoid crashes
// if these fields happen to be cleared by Dispose() below. This is required since this code path involves
......@@ -604,7 +607,7 @@ public async Task<bool> HasSuggestedActionsAsync(ISuggestedActionCategorySet req
using (var asyncToken = provider.OperationListener.BeginAsyncOperation("HasSuggestedActionsAsync"))
{
var document = await GetMatchingDocumentAsync(range.Snapshot, cancellationToken).ConfigureAwait(false);
var document = range.Snapshot.GetOpenDocumentInCurrentContextWithChanges();
if (document == null)
{
// this is here to fail test and see why it is failed.
......@@ -722,44 +725,6 @@ public async Task<bool> HasSuggestedActionsAsync(ISuggestedActionCategorySet req
return translatedSpan.Span.ToTextSpan();
}
private static async Task<Document> GetMatchingDocumentAsync(ITextSnapshot givenSnapshot, CancellationToken cancellationToken)
{
var buffer = givenSnapshot.TextBuffer;
if (buffer == null)
{
return null;
}
var workspace = buffer.GetWorkspace();
if (workspace == null)
{
return null;
}
var documentId = workspace.GetDocumentIdInCurrentContext(buffer.AsTextContainer());
if (documentId == null)
{
return null;
}
var document = workspace.CurrentSolution.GetDocument(documentId);
if (document == null)
{
return null;
}
var sourceText = await document.GetTextAsync(cancellationToken).ConfigureAwait(false);
cancellationToken.ThrowIfCancellationRequested();
var snapshot = sourceText.FindCorrespondingEditorTextSnapshot();
if (snapshot == null || snapshot.Version.ReiteratedVersionNumber != givenSnapshot.Version.ReiteratedVersionNumber)
{
return null;
}
return document;
}
private void OnTextViewClosed(object sender, EventArgs e)
{
Dispose();
......
......@@ -1014,7 +1014,14 @@ private void AppendParameters(SeparatedSyntaxList<ParameterSyntax> parameters, S
builder.Append(' ');
}
AppendTokens(parameter.Type, builder);
if (parameter.Type != null)
{
AppendTokens(parameter.Type, builder);
}
else
{
builder.Append(parameter.Identifier.Text);
}
first = false;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册