From 60725ded018271533a6d9852e571a4487a8198f7 Mon Sep 17 00:00:00 2001 From: Martin Strecker Date: Thu, 15 Mar 2018 16:04:19 +0100 Subject: [PATCH] PR feedback: Small refactorings and code formatting. --- .../AbstractAddParameterCodeFixProvider.cs | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/Features/Core/Portable/AddParameter/AbstractAddParameterCodeFixProvider.cs b/src/Features/Core/Portable/AddParameter/AbstractAddParameterCodeFixProvider.cs index dfe8a76456e..9e7f9c4912b 100644 --- a/src/Features/Core/Portable/AddParameter/AbstractAddParameterCodeFixProvider.cs +++ b/src/Features/Core/Portable/AddParameter/AbstractAddParameterCodeFixProvider.cs @@ -200,10 +200,11 @@ private int NonParamsParameterCount(IMethodSymbol method) : NestByCascading(); context.RegisterFixes(fixes, context.Diagnostics); + return; ImmutableArray NestByOverload() { - var builder = ImmutableArray.CreateBuilder(codeFixData.Length); + var builder = ArrayBuilder.GetInstance(codeFixData.Length); foreach (var data in codeFixData) { var title = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0, data.Method, includeParameters: true); @@ -213,7 +214,8 @@ ImmutableArray NestByOverload() if (data.CreateChangedSolutionCascading != null) { var titleForNesting = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0, data.Method, includeParameters: true); - var titleCascading = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0_and_overrides_implementations, data.Method, includeParameters: true); + var titleCascading = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0_and_overrides_implementations, data.Method, + includeParameters: true); codeAction = new CodeAction.CodeActionWithNestedActions( title: titleForNesting, ImmutableArray.Create( @@ -227,44 +229,48 @@ ImmutableArray NestByOverload() builder.Add(codeAction); } - return builder.ToImmutable(); + return builder.ToImmutableAndFree(); } ImmutableArray NestByCascading() { - var builder = ImmutableArray.CreateBuilder(2); + var builder = ArrayBuilder.GetInstance(2); var nonCascadingActions = ImmutableArray.CreateRange(codeFixData.Select(data => { - var title = GetCodeFixTitle(FeaturesResources.Add_to_0, data.Method, true); + var title = GetCodeFixTitle(FeaturesResources.Add_to_0, data.Method, includeParameters: true); return new MyCodeAction(title: title, data.CreateChangedSolutionNonCascading); })); var cascading = codeFixData.Where(data => data.CreateChangedSolutionCascading != null); var cascadingActions = ImmutableArray.CreateRange(cascading.Select(data => { - var title = GetCodeFixTitle(FeaturesResources.Add_to_0, data.Method, true); + var title = GetCodeFixTitle(FeaturesResources.Add_to_0, data.Method, includeParameters: true); return new MyCodeAction(title: title, data.CreateChangedSolutionCascading); })); var aMethod = codeFixData.First().Method; - var nestedNonCascadingTitle = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0, aMethod, false); + var nestedNonCascadingTitle = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0, aMethod, includeParameters: false); builder.Add(new CodeAction.CodeActionWithNestedActions(nestedNonCascadingTitle, nonCascadingActions, isInlinable: false)); if (cascadingActions.Length > 0) { - var nestedCascadingTitle = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0_and_overrides_implementations, aMethod, false); + var nestedCascadingTitle = GetCodeFixTitle(FeaturesResources.Add_parameter_to_0_and_overrides_implementations, + aMethod, includeParameters: false); builder.Add(new CodeAction.CodeActionWithNestedActions(nestedCascadingTitle, cascadingActions, isInlinable: false)); } - return builder.ToImmutable(); + return builder.ToImmutableAndFree(); } } - private ImmutableArray PrepareCreationOfCodeActions(Document document, SeparatedSyntaxList arguments, ImmutableArray> methodsAndArgumentsToAdd) + private ImmutableArray PrepareCreationOfCodeActions( + Document document, + SeparatedSyntaxList arguments, + ImmutableArray> methodsAndArgumentsToAdd) { - var builder = ImmutableArray.CreateBuilder(methodsAndArgumentsToAdd.Length); + var builder = ArrayBuilder.GetInstance(methodsAndArgumentsToAdd.Length); // Order by the furthest argument index to the nearest argument index. The ones with // larger argument indexes mean that we matched more earlier arguments (and thus are @@ -286,7 +292,7 @@ private ImmutableArray PrepareCreationOfCodeActions(Document docume builder.Add(codeFixData); } - return builder.ToImmutable(); + return builder.ToImmutableAndFree(); } /// @@ -422,8 +428,8 @@ private static string GetCodeFixTitle(string resourceString, IMethodSymbol metho AddParameter( syntaxFacts, editor, methodNode, argument, insertionIndex, parameterDeclaration, cancellationToken); - } + var newRoot = editor.GetChangedRoot(); solution = solution.WithDocumentSyntaxRoot(document.Id, newRoot); } -- GitLab