提交 11965a02 编写于 作者: C CyrusNajmabadi

Ensure we don't crash on null fixes.

上级 11146bfd
......@@ -110,7 +110,7 @@ private async Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(CodeFixContex
{
cancellationToken.ThrowIfCancellationRequested();
var fixData = await reference.GetFixDataAsync(document, node, placeSystemNamespaceFirst, cancellationToken).ConfigureAwait(false);
var fixData = await reference.TryGetFixDataAsync(document, node, placeSystemNamespaceFirst, cancellationToken).ConfigureAwait(false);
var codeAction = TryCreateCodeAction(document, fixData);
result.AddIfNotNull(codeAction);
......@@ -123,9 +123,13 @@ private async Task<ImmutableArray<CodeAction>> GetCodeActionsAsync(CodeFixContex
return result.ToImmutableAndFree();
}
private CodeAction TryCreateCodeAction(
Document document, AddImportFixData fixData)
private CodeAction TryCreateCodeAction(Document document, AddImportFixData fixData)
{
if (fixData == null)
{
return null;
}
switch (fixData.Kind)
{
case AddImportFixKind.ProjectSymbol:
......
......@@ -22,7 +22,7 @@ private partial class AssemblyReference : Reference
_referenceAssemblyWithType = referenceAssemblyWithType;
}
public override async Task<AddImportFixData> GetFixDataAsync(
public override async Task<AddImportFixData> TryGetFixDataAsync(
Document document, SyntaxNode node, bool placeSystemNamespaceFirst, CancellationToken cancellationToken)
{
var textChanges = await GetTextChangesAsync(
......
......@@ -27,7 +27,7 @@ private partial class PackageReference : Reference
_versionOpt = versionOpt;
}
public override async Task<AddImportFixData> GetFixDataAsync(
public override async Task<AddImportFixData> TryGetFixDataAsync(
Document document, SyntaxNode node, bool placeSystemNamespaceFirst, CancellationToken cancellationToken)
{
var textChanges = await GetTextChangesAsync(
......
......@@ -117,7 +117,7 @@ public override int GetHashCode()
return (newContextNode, newDocument);
}
public abstract Task<AddImportFixData> GetFixDataAsync(
public abstract Task<AddImportFixData> TryGetFixDataAsync(
Document document, SyntaxNode node, bool placeSystemNamespaceFirst, CancellationToken cancellationToken);
protected async Task<ImmutableArray<TextChange>> GetTextChangesAsync(
......
......@@ -71,7 +71,7 @@ public override int GetHashCode()
return textChanges.ToImmutableArray();
}
public sealed override async Task<AddImportFixData> GetFixDataAsync(
public sealed override async Task<AddImportFixData> TryGetFixDataAsync(
Document document, SyntaxNode node,
bool placeSystemNamespaceFirst, CancellationToken cancellationToken)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册