提交 c265e7ca 编写于 作者: C Cheryl Borley

Respond to feedback

上级 99d0f303
......@@ -173,6 +173,26 @@ End Class",
End Class")
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsUseAutoProperty)>
<WorkItem(28989, "https://github.com/dotnet/roslyn/issues/28989")>
Public Async Function TestInitializer_BooleanWithComments() As Task
Await TestInRegularAndScriptAsync(
"Public Class C
Private _b As Boolean = True 'Comments1
Public Property [|P|]() As Boolean 'Comments2
Get
Return _b
End Get
Set(value As Boolean)
_b = value
End Set
End Property
End Class",
"Public Class C
Public Property P() As Boolean = True 'Comments2 'Comments1
End Class")
End Function
<Fact, Trait(Traits.Feature, Traits.Features.CodeActionsUseAutoProperty)>
Public Async Function TestReadOnlyField() As Task
Await TestInRegularAndScriptAsync(
......
......@@ -93,9 +93,6 @@ private async Task<Solution> ProcessResultAsync(CodeFixContext context, Diagnost
propertyDocument, compilation, fieldSymbol, propertySymbol, property,
isWrittenToOutsideOfConstructor, cancellationToken).ConfigureAwait(false);
// Ensure the new and old property share the same trailing trivia.
updatedProperty = updatedProperty.WithTrailingTrivia(property.GetTrailingTrivia());
// Note: rename will try to update all the references in linked files as well. However,
// this can lead to some very bad behavior as we will change the references in linked files
// but only remove the field and update the property in a single document. So, you can
......
......@@ -7,6 +7,7 @@ Imports Microsoft.CodeAnalysis.Editing
Imports Microsoft.CodeAnalysis.Formatting.Rules
Imports Microsoft.CodeAnalysis.UseAutoProperty
Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
Imports Microsoft.CodeAnalysis.VisualBasic.Symbols
Namespace Microsoft.CodeAnalysis.VisualBasic.UseAutoProperty
<ExportCodeFixProvider(LanguageNames.VisualBasic, Name:=NameOf(VisualBasicUseAutoPropertyCodeFixProvider)), [Shared]>
......@@ -36,8 +37,10 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UseAutoProperty
Dim initializer = Await GetFieldInitializer(fieldSymbol, cancellationToken).ConfigureAwait(False)
If initializer.equalsValue IsNot Nothing Then
'Before adding initializer, need to remove any end of line trivia from the statement
statement = If(statement.GetTrailingTrivia.Any(SyntaxKind.EndOfLineTrivia), statement.WithTrailingTrivia(SyntaxFactory.Space).WithInitializer(initializer.equalsValue), statement.WithInitializer(initializer.equalsValue))
statement = statement.WithTrailingTrivia(SyntaxFactory.Space) _
.WithInitializer(initializer.equalsValue) _
.WithTrailingTrivia(statement.GetTrailingTrivia.Where(Function(x) x.Kind <> SyntaxKind.EndOfLineTrivia)) _
.WithAppendedTrailingTrivia(initializer.equalsValue.GetTrailingTrivia())
End If
If initializer.asNewClause IsNot Nothing Then
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册