未验证 提交 1998474f 编写于 作者: S Sam Harwell 提交者: GitHub

Merge pull request #27941 from sharwell/fully-qualify-unbound

Update CSharpFullyQualifyCodeFixProvider to support unbound identifier diagnostics
......@@ -805,6 +805,35 @@ class Test
}");
}
[WorkItem(26887, "https://github.com/dotnet/roslyn/issues/26887")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsFullyQualify)]
public async Task TestFullyQualifyUnboundIdentifier3()
{
await TestInRegularAndScriptAsync(
@"public class Program
{
public class Inner
{
}
}
class Test
{
public [|Inner|] Name
}",
@"public class Program
{
public class Inner
{
}
}
class Test
{
public Program.Inner Name
}");
}
[WorkItem(538740, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/538740")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsFullyQualify)]
public async Task TestFullyQualifyTypeName_NotForGenericType()
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Immutable;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CodeActions;
using Microsoft.CodeAnalysis.CodeFixes;
using Microsoft.CodeAnalysis.CSharp.CodeFixes.FullyQualify;
using Microsoft.CodeAnalysis.CSharp.Diagnostics;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.Diagnostics;
using Microsoft.CodeAnalysis.Test.Utilities;
using Roslyn.Test.Utilities;
using Xunit;
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.FullyQualify
{
public class FullyQualifyUnboundIdentifierTests : AbstractCSharpDiagnosticProviderBasedUserDiagnosticTest
{
internal override (DiagnosticAnalyzer, CodeFixProvider) CreateDiagnosticProviderAndFixer(Workspace workspace)
=> (new CSharpUnboundIdentifiersDiagnosticAnalyzer(), new CSharpFullyQualifyCodeFixProvider());
protected override ImmutableArray<CodeAction> MassageActions(ImmutableArray<CodeAction> actions)
=> FlattenActions(actions);
[WorkItem(26887, "https://github.com/dotnet/roslyn/issues/26887")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsFullyQualify)]
public async Task TestFullyQualifyUnboundIdentifier1()
{
await TestInRegularAndScriptAsync(
@"public class Program
{
public class Inner
{
}
}
class Test
{
[|Inner|]
}",
@"public class Program
{
public class Inner
{
}
}
class Test
{
Program.Inner
}");
}
[WorkItem(26887, "https://github.com/dotnet/roslyn/issues/26887")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsFullyQualify)]
public async Task TestFullyQualifyUnboundIdentifier2()
{
await TestInRegularAndScriptAsync(
@"public class Program
{
public class Inner
{
}
}
class Test
{
public [|Inner|]
}",
@"public class Program
{
public class Inner
{
}
}
class Test
{
public Program.Inner
}");
}
}
}
......@@ -8,6 +8,7 @@
using Microsoft.CodeAnalysis.CodeFixes.FullyQualify;
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Formatting;
namespace Microsoft.CodeAnalysis.CSharp.CodeFixes.FullyQualify
......@@ -43,7 +44,7 @@ internal class CSharpFullyQualifyCodeFixProvider : AbstractFullyQualifyCodeFixPr
public override ImmutableArray<string> FixableDiagnosticIds
{
get { return ImmutableArray.Create(CS0103, CS0104, CS0246, CS0305, CS0308); }
get { return ImmutableArray.Create(CS0103, CS0104, CS0246, CS0305, CS0308, IDEDiagnosticIds.UnboundIdentifierId); }
}
protected override bool IgnoreCase => false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册