From 7eb57f960b4f885b5b15959899618afc276942fd Mon Sep 17 00:00:00 2001 From: Shlomo Zach Cahlon Date: Thu, 15 Aug 2019 12:20:01 -0700 Subject: [PATCH] Undid some changes --- ...ddParameterCheckCodeRefactoringProvider.cs | 5 -- ...berFromParameterCodeRefactoringProvider.cs | 1 - ...erCodeRefactoringProviderMemberCreation.cs | 1 - ...tializeParameterCodeRefactoringProvider.cs | 49 ++++++++----------- ...ddParameterCheckCodeRefactoringProvider.vb | 5 -- ...berFromParameterCodeRefactoringProvider.vb | 2 - 6 files changed, 21 insertions(+), 42 deletions(-) diff --git a/src/Features/CSharp/Portable/InitializeParameter/CSharpAddParameterCheckCodeRefactoringProvider.cs b/src/Features/CSharp/Portable/InitializeParameter/CSharpAddParameterCheckCodeRefactoringProvider.cs index 96018b53798..f92387a7f67 100644 --- a/src/Features/CSharp/Portable/InitializeParameter/CSharpAddParameterCheckCodeRefactoringProvider.cs +++ b/src/Features/CSharp/Portable/InitializeParameter/CSharpAddParameterCheckCodeRefactoringProvider.cs @@ -1,15 +1,10 @@ // 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.Composition; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.CodeAnalysis.CodeActions; using Microsoft.CodeAnalysis.CodeRefactorings; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Editing; using Microsoft.CodeAnalysis.InitializeParameter; -using Microsoft.CodeAnalysis.Operations; namespace Microsoft.CodeAnalysis.CSharp.InitializeParameter { diff --git a/src/Features/CSharp/Portable/InitializeParameter/CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs b/src/Features/CSharp/Portable/InitializeParameter/CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs index 274f45b3b06..8968ff9d05a 100644 --- a/src/Features/CSharp/Portable/InitializeParameter/CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs +++ b/src/Features/CSharp/Portable/InitializeParameter/CSharpInitializeMemberFromParameterCodeRefactoringProvider.cs @@ -1,6 +1,5 @@ // 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.Composition; using Microsoft.CodeAnalysis.CodeRefactorings; using Microsoft.CodeAnalysis.CSharp.Syntax; diff --git a/src/Features/Core/Portable/InitializeParameter/AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs b/src/Features/Core/Portable/InitializeParameter/AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs index 8772da2dcfc..3742ddfd3ab 100644 --- a/src/Features/Core/Portable/InitializeParameter/AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs +++ b/src/Features/Core/Portable/InitializeParameter/AbstractInitializeMemberFromParameterCodeRefactoringProviderMemberCreation.cs @@ -10,7 +10,6 @@ using Microsoft.CodeAnalysis.Diagnostics.Analyzers.NamingStyles; using Microsoft.CodeAnalysis.Editing; using Microsoft.CodeAnalysis.Operations; -using Microsoft.CodeAnalysis.PooledObjects; using Microsoft.CodeAnalysis.Shared.Extensions; using Microsoft.CodeAnalysis.Shared.Naming; using Microsoft.CodeAnalysis.Shared.Utilities; diff --git a/src/Features/Core/Portable/InitializeParameter/AbstractInitializeParameterCodeRefactoringProvider.cs b/src/Features/Core/Portable/InitializeParameter/AbstractInitializeParameterCodeRefactoringProvider.cs index cdfd5a793ec..dac3a0b5b14 100644 --- a/src/Features/Core/Portable/InitializeParameter/AbstractInitializeParameterCodeRefactoringProvider.cs +++ b/src/Features/Core/Portable/InitializeParameter/AbstractInitializeParameterCodeRefactoringProvider.cs @@ -29,6 +29,23 @@ internal abstract partial class AbstractInitializeParameterCodeRefactoringProvid protected abstract SyntaxNode GetBody(SyntaxNode functionDeclaration); protected abstract SyntaxNode GetTypeBlock(SyntaxNode node); + protected abstract Task> GetRefactoringsForAllParametersAsync( + Document document, + SyntaxNode functionDeclaration, + IMethodSymbol method, + IBlockOperation blockStatementOpt, + ImmutableArray listOfParameterNodes, + int position, + CancellationToken cancellationToken); + + protected abstract Task> GetRefactoringsForSingleParameterAsync( + Document document, + IParameterSymbol parameter, + SyntaxNode functionDeclaration, + IMethodSymbol methodSymbol, + IBlockOperation blockStatementOpt, + CancellationToken cancellationToken); + protected abstract void InsertStatement( SyntaxEditor editor, SyntaxNode functionDeclaration, IMethodSymbol method, SyntaxNode statementToAddAfterOpt, TStatementSyntax statement); @@ -95,7 +112,6 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte { // Ok. Looks like the selected parameter could be refactored. Defer to subclass to // actually determine if there are any viable refactorings here. - context.RegisterRefactorings(await GetRefactoringsForSingleParameterAsync( document, parameter, functionDeclaration, methodSymbol, blockStatementOpt, cancellationToken).ConfigureAwait(false)); } @@ -117,44 +133,21 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte { // Looks like we can offer a refactoring for more than one parameter. Defer to subclass to // actually determine if there are any viable refactorings here. - context.RegisterRefactorings(await GetRefactoringsForAllParametersAsync( document, functionDeclaration, methodSymbol, blockStatementOpt, listOfPotentiallyValidParametersNodes.ToImmutableAndFree(), position, cancellationToken).ConfigureAwait(false)); } - bool TryGetParameterSymbol( + static bool TryGetParameterSymbol( SyntaxNode parameterNode, SemanticModel semanticModel, out IParameterSymbol parameter, CancellationToken cancellationToken) { parameter = (IParameterSymbol)semanticModel.GetDeclaredSymbol(parameterNode, cancellationToken); - if (parameter == null || parameter.Name == "") - { - return false; - } - - return true; + return parameter.Name != ""; } } - protected abstract Task> GetRefactoringsForAllParametersAsync( - Document document, - SyntaxNode functionDeclaration, - IMethodSymbol method, - IBlockOperation blockStatementOpt, - ImmutableArray listOfParameterNodes, - int position, - CancellationToken cancellationToken); - - protected abstract Task> GetRefactoringsForSingleParameterAsync( - Document document, - IParameterSymbol parameter, - SyntaxNode functionDeclaration, - IMethodSymbol methodSymbol, - IBlockOperation blockStatementOpt, - CancellationToken cancellationToken); - protected bool CanOfferRefactoring(SyntaxNode functionDeclaration, SemanticModel semanticModel, ISyntaxFactsService syntaxFacts, CancellationToken cancellationToken, out IBlockOperation blockStatementOpt) { blockStatementOpt = null; @@ -214,8 +207,8 @@ protected TParameterSyntax GetParameterNode(SyntaxToken token, int position) } protected static bool IsParameterReference(IOperation operation, IParameterSymbol parameter) - => UnwrapImplicitConversion(operation) is IParameterReferenceOperation parameterReference && - parameter.Equals(parameterReference.Parameter); + => UnwrapImplicitConversion(operation) is IParameterReferenceOperation parameterReference && + parameter.Equals(parameterReference.Parameter); protected static IOperation UnwrapImplicitConversion(IOperation operation) => operation is IConversionOperation conversion && conversion.IsImplicit diff --git a/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicAddParameterCheckCodeRefactoringProvider.vb b/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicAddParameterCheckCodeRefactoringProvider.vb index 8983b3589c5..642f4638d93 100644 --- a/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicAddParameterCheckCodeRefactoringProvider.vb +++ b/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicAddParameterCheckCodeRefactoringProvider.vb @@ -1,13 +1,9 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -Imports System.Collections.Immutable Imports System.Composition -Imports System.Threading -Imports Microsoft.CodeAnalysis.CodeActions Imports Microsoft.CodeAnalysis.CodeRefactorings Imports Microsoft.CodeAnalysis.Editing Imports Microsoft.CodeAnalysis.InitializeParameter -Imports Microsoft.CodeAnalysis.Operations Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic.InitializeParameter @@ -47,6 +43,5 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.InitializeParameter Protected Overrides Function GetBody(functionDeclaration As SyntaxNode) As SyntaxNode Return InitializeParameterHelpers.GetBody(functionDeclaration) End Function - End Class End Namespace diff --git a/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicInitializeMemberFromParameterCodeRefactoringProvider.vb b/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicInitializeMemberFromParameterCodeRefactoringProvider.vb index f7d0eaad7cb..c8d6cdecfe0 100644 --- a/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicInitializeMemberFromParameterCodeRefactoringProvider.vb +++ b/src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicInitializeMemberFromParameterCodeRefactoringProvider.vb @@ -1,6 +1,5 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -Imports System.Collections.Immutable Imports System.Composition Imports Microsoft.CodeAnalysis.CodeRefactorings Imports Microsoft.CodeAnalysis.Editing @@ -55,6 +54,5 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.InitializeParameter Protected Overrides Function GetBody(functionDeclaration As SyntaxNode) As SyntaxNode Return InitializeParameterHelpers.GetBody(functionDeclaration) End Function - End Class End Namespace -- GitLab