提交 284e42de 编写于 作者: L Louis Zanella

CSharpConvertAutoPropertyToFullPropertyCodeRefactoringProvider supports init accessor

上级 afd10305
......@@ -22,32 +22,34 @@ public partial class ConvertAutoPropertyToFullPropertyTests : AbstractCSharpCode
protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, TestParameters parameters)
=> new CSharpConvertAutoPropertyToFullPropertyCodeRefactoringProvider();
[Fact, Trait(Traits.Feature, Traits.Features.ConvertAutoPropertyToFullProperty)]
public async Task SimpleAutoPropertyTest()
[Theory, Trait(Traits.Feature, Traits.Features.ConvertAutoPropertyToFullProperty)]
[InlineData("set")]
[InlineData("init"), WorkItem(48133, "https://github.com/dotnet/roslyn/issues/48133")]
public async Task SimpleAutoPropertyTest(string setter)
{
var text = @"
var text = $@"
class TestClass
{
public int G[||]oo { get; set; }
}
{{
public int G[||]oo {{ get; {setter}; }}
}}
";
var expected = @"
var expected = $@"
class TestClass
{
{{
private int goo;
public int Goo
{
{{
get
{
{{
return goo;
}
set
{
}}
{setter}
{{
goo = value;
}
}
}
}}
}}
}}
";
await TestInRegularAndScriptAsync(text, expected, options: DoNotPreferExpressionBodiedAccessors);
}
......
......@@ -72,7 +72,8 @@ internal override async Task<string> GetFieldNameAsync(Document document, IPrope
private static (AccessorDeclarationSyntax getAccessor, AccessorDeclarationSyntax setAccessor)
GetExistingAccessors(AccessorListSyntax accessorListSyntax)
=> (accessorListSyntax.Accessors.FirstOrDefault(a => a.IsKind(SyntaxKind.GetAccessorDeclaration)),
accessorListSyntax.Accessors.FirstOrDefault(a => a.IsKind(SyntaxKind.SetAccessorDeclaration)));
accessorListSyntax.Accessors.FirstOrDefault(a => a.IsKind(SyntaxKind.SetAccessorDeclaration) ||
a.IsKind(SyntaxKind.InitAccessorDeclaration)));
private static SyntaxNode GetUpdatedAccessor(DocumentOptionSet options,
SyntaxNode accessor, SyntaxNode statement)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册