diff --git a/src/EditorFeatures/CSharpTest/ChangeSignature/ChangeSignature_Delegates.cs b/src/EditorFeatures/CSharpTest/ChangeSignature/ChangeSignature_Delegates.cs index 5d73ed958f0aecefdb055e4ded0b303ff03554c9..48a2e45f669c505f932fdc118649d8e64b168ed9 100644 --- a/src/EditorFeatures/CSharpTest/ChangeSignature/ChangeSignature_Delegates.cs +++ b/src/EditorFeatures/CSharpTest/ChangeSignature/ChangeSignature_Delegates.cs @@ -14,7 +14,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ChangeSignature { public partial class ChangeSignatureTests : AbstractChangeSignatureTests { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new ChangeSignatureCodeRefactoringProvider(); protected override string GetLanguage() diff --git a/src/EditorFeatures/CSharpTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.cs index 0c2e5f8c7c293005f79e2a0fd8e09dfd3d89076d..e33dfb4d5c394aaf751d828a4530daa624001b23 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.cs @@ -11,7 +11,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeActions.ConvertIfTo { public class ConvertIfToSwitchTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new CSharpConvertIfToSwitchCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsConvertIfToSwitch)] diff --git a/src/EditorFeatures/CSharpTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.cs index 1a3342dd59f49ca4e6eee5d498b2c7b21c97a6be..0852a2d6f88a43ab1ad414ffd027825c5b0c5366 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.cs @@ -11,7 +11,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeActions.ConvertNume { public class ConvertNumericLiteralTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new CSharpConvertNumericLiteralCodeRefactoringProvider(); private enum Refactoring { ChangeBase1, ChangeBase2, AddOrRemoveDigitSeparators } diff --git a/src/EditorFeatures/CSharpTest/CodeActions/EncapsulateField/EncapsulateFieldTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/EncapsulateField/EncapsulateFieldTests.cs index 11675432f477b2d084c7198569a7d566f5801102..dce9384b0cf02ee1f3de3470ee672e7e49ede758 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/EncapsulateField/EncapsulateFieldTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/EncapsulateField/EncapsulateFieldTests.cs @@ -16,7 +16,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Encaps { public class EncapsulateFieldTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new EncapsulateFieldRefactoringProvider(); private static readonly Dictionary AllOptionsOff = diff --git a/src/EditorFeatures/CSharpTest/CodeActions/ExtractMethod/ExtractMethodTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/ExtractMethod/ExtractMethodTests.cs index f5f006f0c82cbcb6049038f1491740c57f12ec9e..24a270ca45f216c25fecaa6755a86b2aceba0d85 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/ExtractMethod/ExtractMethodTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/ExtractMethod/ExtractMethodTests.cs @@ -16,7 +16,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Extrac { public class ExtractMethodTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new ExtractMethodCodeRefactoringProvider(); [WorkItem(540799, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/540799")] diff --git a/src/EditorFeatures/CSharpTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.cs index d56488069d9a533c3b5f1ca7bf84d35d8f77f1f9..20b109c995fbc6c8be444beb1f32ca8299b1b3ac 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.cs @@ -11,10 +11,8 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Genera { public class GenerateDefaultConstructorsTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new GenerateDefaultConstructorsCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new GenerateDefaultConstructorsCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateDefaultConstructors)] public async Task TestProtectedBase() diff --git a/src/EditorFeatures/CSharpTest/CodeActions/InlineTemporary/InlineTemporaryTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/InlineTemporary/InlineTemporaryTests.cs index 3cdc0b0d35163afc424b9a0ac1eb312fa0ea5c47..50ac3bfd193547fc6af0e646e44d7f46b32d670a 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/InlineTemporary/InlineTemporaryTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/InlineTemporary/InlineTemporaryTests.cs @@ -12,7 +12,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Inline { public class InlineTemporaryTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new InlineTemporaryCodeRefactoringProvider(); private async Task TestFixOneAsync(string initial, string expected, bool compareTokens = true) diff --git a/src/EditorFeatures/CSharpTest/CodeActions/IntroduceVariable/IntroduceVariableTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/IntroduceVariable/IntroduceVariableTests.cs index ae4c51bf36dd9143c09470e5473ed052de6582fa..4580b857f65b0b5c3036a746dfc8c894b7c247e8 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/IntroduceVariable/IntroduceVariableTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/IntroduceVariable/IntroduceVariableTests.cs @@ -17,7 +17,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Introd { public class IntroduceVariableTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new IntroduceVariableCodeRefactoringProvider(); private readonly CodeStyleOption onWithInfo = new CodeStyleOption(true, NotificationOption.Suggestion); diff --git a/src/EditorFeatures/CSharpTest/CodeActions/InvertIf/InvertIfTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/InvertIf/InvertIfTests.cs index 89054b11822da88e5053e5d62c514717b018009d..0ff721da3ac91d8f20d02281d81d1f2159d97650 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/InvertIf/InvertIfTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/InvertIf/InvertIfTests.cs @@ -17,10 +17,8 @@ public class InvertIfTests : AbstractCSharpCodeActionTest await TestAsync(CreateTreeText(initial), CreateTreeText(expected), index: 0); } - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new InvertIfCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new InvertIfCodeRefactoringProvider(); private string CreateTreeText(string initial) { diff --git a/src/EditorFeatures/CSharpTest/CodeActions/LambdaSimplifier/LambdaSimplifierTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/LambdaSimplifier/LambdaSimplifierTests.cs index ab47ff9528d3781a74a2fcd048bb790099070103..10eb1924e2f01c98552c7c68cf327879d93b58c0 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/LambdaSimplifier/LambdaSimplifierTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/LambdaSimplifier/LambdaSimplifierTests.cs @@ -10,10 +10,8 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Lambda { public class LambdaSimplifierTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new LambdaSimplifierCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new LambdaSimplifierCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsLambdaSimplifier)] public async Task TestFixAll1() diff --git a/src/EditorFeatures/CSharpTest/CodeActions/MoveDeclarationNearReference/MoveDeclarationNearReferenceTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/MoveDeclarationNearReference/MoveDeclarationNearReferenceTests.cs index 85f26b325c9dbd8f1fe2acbe4b8b3e32c1f1a78a..80aa6657b9c6094776305fcb555bb28c9cd9346f 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/MoveDeclarationNearReference/MoveDeclarationNearReferenceTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/MoveDeclarationNearReference/MoveDeclarationNearReferenceTests.cs @@ -11,10 +11,8 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.MoveDe { public class MoveDeclarationNearReferenceTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new MoveDeclarationNearReferenceCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new MoveDeclarationNearReferenceCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsMoveDeclarationNearReference)] public async Task TestMove1() diff --git a/src/EditorFeatures/CSharpTest/CodeActions/Preview/PreviewTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/Preview/PreviewTests.cs index aef844a99ee389826f683f21783922b27f33e3ba..7f8731bba28203f38153d6431f771c8ca055ff6d 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/Preview/PreviewTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/Preview/PreviewTests.cs @@ -26,10 +26,8 @@ public partial class PreviewTests : AbstractCSharpCodeActionTest private static readonly ProjectId s_addedProjectId = ProjectId.CreateNewId(); private const string ChangedDocumentText = "class C {}"; - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new MyCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new MyCodeRefactoringProvider(); private class MyCodeRefactoringProvider : CodeRefactoringProvider { @@ -83,10 +81,10 @@ protected override Task GetChangedSolutionAsync(CancellationToken canc private void GetMainDocumentAndPreviews(TestWorkspace workspace, out Document document, out SolutionPreviewResult previews) { document = GetDocument(workspace); - var provider = CreateCodeRefactoringProvider(workspace); + var provider = CreateCodeRefactoringProvider(workspace, fixProviderData: null); var span = document.GetSyntaxRootAsync().Result.Span; var refactorings = new List(); - var context = new CodeRefactoringContext(document, span, (a) => refactorings.Add(a), CancellationToken.None); + var context = new CodeRefactoringContext(document, span, refactorings.Add, CancellationToken.None); provider.ComputeRefactoringsAsync(context).Wait(); var action = refactorings.Single(); var editHandler = workspace.ExportProvider.GetExportedValue(); diff --git a/src/EditorFeatures/CSharpTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.cs index 10ad4432cb6a65b7cec1ed98063f6bba4a1b4272..f1fd71ee8ccfaa47c4a67d2cec3e17a15714de44 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.cs @@ -16,7 +16,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeActions.ReplaceMeth { public class ReplaceMethodWithPropertyTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new ReplaceMethodWithPropertyCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsReplaceMethodWithProperty)] diff --git a/src/EditorFeatures/CSharpTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.cs index 2160398db3f6fb4d845bce7fcee4aa2fffe8d89b..122b14fdde0474f4e32ce69e4645f37cae4a9fa4 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.cs @@ -13,7 +13,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeActions.ReplaceProp { public class ReplacePropertyWithMethodsTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new ReplacePropertyWithMethodsCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsReplacePropertyWithMethods)] diff --git a/src/EditorFeatures/CSharpTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.cs b/src/EditorFeatures/CSharpTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.cs index acc3a5693110da2b713b7f138440d4e0ae668f5c..dae673901cb20abf41b16c8d21ea7a44bf16061e 100644 --- a/src/EditorFeatures/CSharpTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.cs +++ b/src/EditorFeatures/CSharpTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.cs @@ -10,7 +10,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.UseNam { public class UseNamedArgumentsTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new CSharpUseNamedArgumentsCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsUseNamedArguments)] diff --git a/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.cs b/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.cs index 2fd68858d5fd3528be281f0c3b9f9a46ad5748d3..d41eea61914592645153d8c9f5fe5fde0e00fb43 100644 --- a/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.cs +++ b/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.cs @@ -11,7 +11,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ConvertToInterpolatedSt { public class ConvertConcatenationToInterpolatedStringTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new CSharpConvertConcatenationToInterpolatedStringRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsConvertToInterpolatedString)] diff --git a/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.cs b/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.cs index db36ec6d59923e1973e76f930bce93f51f9ab4f3..c639bcee6f45e2b41296faefadd995afbcb0269b 100644 --- a/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.cs +++ b/src/EditorFeatures/CSharpTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.cs @@ -11,8 +11,8 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.ConvertToInterpolatedSt { public class ConvertPlaceholderToInterpolatedStringTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) => - new CSharpConvertPlaceholderToInterpolatedStringRefactoringProvider(); + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new CSharpConvertPlaceholderToInterpolatedStringRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsConvertToInterpolatedString)] public async Task TestSingleItemSubstitution() diff --git a/src/EditorFeatures/CSharpTest/GenerateFromMembers/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.cs b/src/EditorFeatures/CSharpTest/GenerateFromMembers/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.cs index 4055e144856ff6a38fbc236253eaf5360297827e..51032d498b2cdb408b2f071b009072b9645472a4 100644 --- a/src/EditorFeatures/CSharpTest/GenerateFromMembers/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.cs +++ b/src/EditorFeatures/CSharpTest/GenerateFromMembers/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.cs @@ -12,7 +12,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.GenerateFromMembers.Add { public class AddConstructorParametersFromMembersTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new AddConstructorParametersFromMembersCodeRefactoringProvider(); [Fact, WorkItem(308077, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/308077"), Trait(Traits.Feature, Traits.Features.CodeActionsAddConstructorParametersFromMembers)] diff --git a/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateConstructorFromMembers/GenerateConstructorFromMembersTests.cs b/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateConstructorFromMembers/GenerateConstructorFromMembersTests.cs index 7d00d7b2b207488fa4a04f31499f5479db91ff51..45dff64308055083200953e5e89ca096a9bbac88 100644 --- a/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateConstructorFromMembers/GenerateConstructorFromMembersTests.cs +++ b/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateConstructorFromMembers/GenerateConstructorFromMembersTests.cs @@ -772,6 +772,25 @@ public void M() { }[||] + public void N() { } +}"); + } + + [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateConstructorFromMembers)] + public async Task TestMissingOnMember3() + { + await TestMissingAsync( +@"using System.Collections.Generic; + +class Z +{ + int a; + string b; + public void M() + { + [||] + } + public void N() { } }"); } diff --git a/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCode/GenerateEqualsAndGetHashCodeTests.cs b/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCode/GenerateEqualsAndGetHashCodeTests.cs index 7d7f0e0dfefe53856df14c9965b74e29358dc85a..847b004401108bbb3fdf4930008fbd9ebea18941 100644 --- a/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCode/GenerateEqualsAndGetHashCodeTests.cs +++ b/src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateEqualsAndGetHashCode/GenerateEqualsAndGetHashCodeTests.cs @@ -14,7 +14,7 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.GenerateEqualsAndGetHas { public class GenerateEqualsAndGetHashCodeTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) => new GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider(); [Fact, Trait(Traits.Feature, Traits.Features.CodeActionsGenerateEqualsAndGetHashCode)] diff --git a/src/EditorFeatures/CSharpTest/Interactive/CodeActions/InteractiveIntroduceVariableTests.cs b/src/EditorFeatures/CSharpTest/Interactive/CodeActions/InteractiveIntroduceVariableTests.cs index fd1978bcb6749a3c9b19ec05b39d41ddd31289c6..f878da761d137eea4754dbfa8e139f8786d3794e 100644 --- a/src/EditorFeatures/CSharpTest/Interactive/CodeActions/InteractiveIntroduceVariableTests.cs +++ b/src/EditorFeatures/CSharpTest/Interactive/CodeActions/InteractiveIntroduceVariableTests.cs @@ -10,10 +10,8 @@ namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.CodeRefactorings.Introd { public class InteractiveIntroduceVariableTests : AbstractCSharpCodeActionTest { - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new IntroduceVariableCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new IntroduceVariableCodeRefactoringProvider(); protected Task TestAsync(string initial, string expected, int index = 0, bool compareTokens = true) { diff --git a/src/EditorFeatures/Test/LinkedFiles/LinkedFileDiffMergingEditorTests.cs b/src/EditorFeatures/Test/LinkedFiles/LinkedFileDiffMergingEditorTests.cs index 56a773ef7f0abd38f9b1220849e064cd6a48bd22..7d73ef4af0dd3e7ac9179f0129593eaf49d4d862 100644 --- a/src/EditorFeatures/Test/LinkedFiles/LinkedFileDiffMergingEditorTests.cs +++ b/src/EditorFeatures/Test/LinkedFiles/LinkedFileDiffMergingEditorTests.cs @@ -25,14 +25,10 @@ public partial class LinkedFileDiffMergingEditorTests : AbstractCodeActionTest "; protected override string GetLanguage() - { - return LanguageNames.CSharp; - } + => LanguageNames.CSharp; - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new TestCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new TestCodeRefactoringProvider(); [WpfFact] public async Task TestCodeActionPreviewAndApply() diff --git a/src/EditorFeatures/TestUtilities/CodeActions/AbstractCodeActionTest.cs b/src/EditorFeatures/TestUtilities/CodeActions/AbstractCodeActionTest.cs index 91b44fe01bd6e13aececd46cae6e4e63acd68e98..a4afbe3fda18ee09547f116d97b74c83f390608c 100644 --- a/src/EditorFeatures/TestUtilities/CodeActions/AbstractCodeActionTest.cs +++ b/src/EditorFeatures/TestUtilities/CodeActions/AbstractCodeActionTest.cs @@ -22,11 +22,7 @@ namespace Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions { public abstract class AbstractCodeActionTest : AbstractCodeActionOrUserDiagnosticTest { - protected virtual CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - => throw new NotImplementedException(); - - protected virtual CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) - => CreateCodeRefactoringProvider(workspace); + protected abstract CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData); protected override async Task> GetCodeActionsWorkerAsync( TestWorkspace workspace, string fixAllActionEquivalenceKey, object fixProviderData) diff --git a/src/EditorFeatures/TestUtilities/MoveType/AbstractMoveTypeTest.cs b/src/EditorFeatures/TestUtilities/MoveType/AbstractMoveTypeTest.cs index f213806c1b12e768c5128627ac723b4afad5bcee..6e0b4cec374964a1684b58e4f8c938eee5a54aa5 100644 --- a/src/EditorFeatures/TestUtilities/MoveType/AbstractMoveTypeTest.cs +++ b/src/EditorFeatures/TestUtilities/MoveType/AbstractMoveTypeTest.cs @@ -20,10 +20,8 @@ public abstract class AbstractMoveTypeTest : AbstractCodeActionTest private string RenameFileCodeActionTitle = FeaturesResources.Rename_file_to_0; private string RenameTypeCodeActionTitle = FeaturesResources.Rename_type_to_0; - protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace) - { - return new MoveTypeCodeRefactoringProvider(); - } + protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace, object fixProviderData) + => new MoveTypeCodeRefactoringProvider(); protected async Task TestRenameTypeToMatchFileAsync( string originalCode, diff --git a/src/EditorFeatures/VisualBasicTest/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.vb b/src/EditorFeatures/VisualBasicTest/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.vb index 7c03523ded6f35a60d73907eea06402cd1458745..5dff9204be219e02e39329169bf418835037702f 100644 --- a/src/EditorFeatures/VisualBasicTest/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.vb +++ b/src/EditorFeatures/VisualBasicTest/AddConstructorParametersFromMembers/AddConstructorParametersFromMembersTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.AddConstructorPara Public Class AddConstructorParameterFromMembersTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New AddConstructorParametersFromMembersCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/ChangeSignature/ChangeSignature_Delegates.vb b/src/EditorFeatures/VisualBasicTest/ChangeSignature/ChangeSignature_Delegates.vb index f7b0c3ab0ba91cebbdd4ad188f83e231dc7b027c..f101befd60877782724f567a5eeb59c66aa985f4 100644 --- a/src/EditorFeatures/VisualBasicTest/ChangeSignature/ChangeSignature_Delegates.vb +++ b/src/EditorFeatures/VisualBasicTest/ChangeSignature/ChangeSignature_Delegates.vb @@ -14,7 +14,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.ChangeSignature Return LanguageNames.VisualBasic End Function - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New ChangeSignatureCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.vb index 951ccce06b9a1c8d077fde01d24753d50e734192..3b3215458aa6e1dcb413a9bb4e3dc8d7608dd5f9 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertIfToSwitch/ConvertIfToSwitchTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.Conver Public Class ConvertIfToSwitchTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New VisualBasicConvertIfToSwitchCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.vb index 0c7f9086c96b5dea16a4920d036c84b6cf8ef039..a89f98feb342b82618f073c75079ac1c001a2c1b 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/ConvertNumericLiteral/ConvertNumericLiteralTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.Conver Public Class ConvertNumericLiteralTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New VisualBasicConvertNumericLiteralCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/EncapsulateField/EncapsulateFieldTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/EncapsulateField/EncapsulateFieldTests.vb index e8254c95f5d3782beb5191029533a44ca2245b71..4b1199a01ff376681bea8c8d2e0b4c506c0919b2 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/EncapsulateField/EncapsulateFieldTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/EncapsulateField/EncapsulateFieldTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.E Public Class EncapsulateFieldTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New EncapsulateFieldRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/ExtractMethod/ExtractMethodTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/ExtractMethod/ExtractMethodTests.vb index c0447a94aeff711ad60dd39c528ac52a7f5301c2..7d5b5ecb7e594fcb385b838f97e5834494450f73 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/ExtractMethod/ExtractMethodTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/ExtractMethod/ExtractMethodTests.vb @@ -7,7 +7,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.E Public Class ExtractMethodTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New ExtractMethodCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.vb index 69e83249f30d822679aa8841f6b3569f65d56b31..d6fc9a0398ace510c5bcea84106cb6f7afe5bd5f 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/GenerateDefaultConstructors/GenerateDefaultConstructorsTests.vb @@ -7,7 +7,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.G Public Class GenerateDefaultConstructorsTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New GenerateDefaultConstructorsCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/InlineTemporary/InlineTemporaryTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/InlineTemporary/InlineTemporaryTests.vb index fc26f09e8684c904dac798e568cd7c91a371a77f..7ae80fc20d7eb3d1c6fb257d79d00427e9e582e0 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/InlineTemporary/InlineTemporaryTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/InlineTemporary/InlineTemporaryTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.I Public Class InlineTemporaryTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New InlineTemporaryCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/IntroduceVariable/IntroduceVariableTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/IntroduceVariable/IntroduceVariableTests.vb index 6f2f1c81a066ed7d67e72d4600bc1d6c69bb9fec..29a7e4cc5f66916ff2e12dfdc8ee5b99737d9308 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/IntroduceVariable/IntroduceVariableTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/IntroduceVariable/IntroduceVariableTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.I Public Class IntroduceVariableTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New IntroduceVariableCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/InvertIf/InvertIfTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/InvertIf/InvertIfTests.vb index 5ca8c99fff124381528e4cc19c4a07efda285bf3..7dabc15ad84e2a63d937cf1ff86dad943b0f9f49 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/InvertIf/InvertIfTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/InvertIf/InvertIfTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.I Public Class InvertIfTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New InvertIfCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/Preview/PreviewTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/Preview/PreviewTests.vb index 37d3a79246e7b5b8a04dce1fb48e24f5516edbf7..6a9536a2c52e9ea58c9b9d547500f87ca571c9ef 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/Preview/PreviewTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/Preview/PreviewTests.vb @@ -18,7 +18,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings Private Shared ReadOnly s_addedProjectId As ProjectId = ProjectId.CreateNewId() Private Const s_changedDocumentText As String = "Class C : End Class" - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New MyCodeRefactoringProvider() End Function @@ -66,7 +66,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings Private Sub GetMainDocumentAndPreviews(workspace As TestWorkspace, ByRef document As Document, ByRef previews As SolutionPreviewResult) document = GetDocument(workspace) - Dim provider = CreateCodeRefactoringProvider(workspace) + Dim provider = CreateCodeRefactoringProvider(workspace, fixProviderData:=Nothing) Dim span = document.GetSyntaxRootAsync().Result.Span Dim refactorings = New List(Of CodeAction)() Dim context = New CodeRefactoringContext(document, span, Sub(a) refactorings.Add(a), CancellationToken.None) diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.vb index a6d5643ee7096a67d054ba6204fbdfa5f352900a..2de56e110b5b81b423b8b70436881ed2b45b784c 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/ReplaceMethodWithProperty/ReplaceMethodWithPropertyTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.Replac Public Class ReplaceMethodWithPropertyTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New ReplaceMethodWithPropertyCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.vb index 7483b11e26569b8192859d5ec4223ce73e879dd7..5b4486b6ec7ef3e818c7214f043b9a18b43a8f7b 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/ReplacePropertyWithMethods/ReplacePropertyWithMethodsTests.vb @@ -6,7 +6,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.Replac Public Class ReplacePropertyWithMethodsTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New ReplacePropertyWithMethodsCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.vb b/src/EditorFeatures/VisualBasicTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.vb index 4b63ab937bf338758c3c29f3385cdc3b37adf55a..314ecdeaa94122a4b6b0179d63bd5b868d926fea 100644 --- a/src/EditorFeatures/VisualBasicTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.vb +++ b/src/EditorFeatures/VisualBasicTest/CodeActions/UseNamedArguments/UseNamedArgumentsTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.UseNam Public Class UseNamedArgumentsTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New VisualBasicUseNamedArgumentsCodeRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.vb b/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.vb index 581fc9e9018d14a0705045fc52ea8157dde11741..e1478c71c83d6452596e477763369f6825b9bf11 100644 --- a/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.vb +++ b/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertConcatenationToInterpolatedStringTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.ConvertToInterpola Public Class ConvertConcatenationToInterpolatedStringTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New VisualBasicConvertConcatenationToInterpolatedStringRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.vb b/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.vb index 8e91b3e6c222c7b46a196f8333f380c04633ba6d..6222e1ad1a82d7b9c4e0279219fd65ec7fc45dc8 100644 --- a/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.vb +++ b/src/EditorFeatures/VisualBasicTest/ConvertToInterpolatedString/ConvertPlaceholderToInterpolatedStringTests.vb @@ -10,7 +10,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.ConvertToInterpola Public Class ConvertPlaceholderToInterpolatedStringTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New VisualBasicConvertPlaceholderToInterpolatedStringRefactoringProvider() End Function diff --git a/src/EditorFeatures/VisualBasicTest/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.vb b/src/EditorFeatures/VisualBasicTest/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.vb index 25385d287aea80f6e9cd8490056cdad0ce427632..0dd66426de5ba038646cd0571ea0b3fe87c73707 100644 --- a/src/EditorFeatures/VisualBasicTest/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.vb +++ b/src/EditorFeatures/VisualBasicTest/GenerateEqualsAndGetHashCodeFromMembers/GenerateEqualsAndGetHashCodeFromMembersTests.vb @@ -8,7 +8,7 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.GenerateConstructo Public Class GenerateEqualsAndGetHashCodeFromMembersTests Inherits AbstractVisualBasicCodeActionTest - Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider + Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace, fixProviderData As Object) As CodeRefactoringProvider Return New GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider() End Function diff --git a/src/Features/Core/Portable/GenerateConstructorFromMembers/ConstructorDelegatingCodeAction.cs b/src/Features/Core/Portable/GenerateConstructorFromMembers/ConstructorDelegatingCodeAction.cs index a5659aae3c0f646e13b18a26c8fd59216f812fa5..32eeb7ff3778fb14e26eb0b2aab412ee627ba6ac 100644 --- a/src/Features/Core/Portable/GenerateConstructorFromMembers/ConstructorDelegatingCodeAction.cs +++ b/src/Features/Core/Portable/GenerateConstructorFromMembers/ConstructorDelegatingCodeAction.cs @@ -62,6 +62,15 @@ protected override async Task GetChangedDocumentAsync(CancellationToke } var syntaxTree = await _document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false); + + // If the user has selected a set of members (i.e. TextSpan is not empty), then we will + // choose the right location (i.e. null) to insert the constructor. However, if they're + // just invoking the feature manually at a specific location, then we'll insert the + // members at that specific place in the class/struct. + var afterThisLocation = _state.TextSpan.IsEmpty + ? syntaxTree.GetLocation(_state.TextSpan) + : null; + var result = await codeGenerationService.AddMethodAsync( _document.Project.Solution, _state.ContainingType, @@ -75,7 +84,7 @@ protected override async Task GetChangedDocumentAsync(CancellationToke thisConstructorArguments: thisConstructorArguments), new CodeGenerationOptions( contextLocation: syntaxTree.GetLocation(_state.TextSpan), - afterThisLocation: _state.TextSpan.IsEmpty ? syntaxTree.GetLocation(_state.TextSpan) : null), + afterThisLocation: afterThisLocation), cancellationToken: cancellationToken).ConfigureAwait(false); return result; diff --git a/src/Features/Core/Portable/GenerateConstructorFromMembers/FieldDelegatingCodeAction.cs b/src/Features/Core/Portable/GenerateConstructorFromMembers/FieldDelegatingCodeAction.cs index b73505bf69de7b7ff93bcf0555be99e9008423bd..8354b1634bd4a9b0ffc874e65e00860fbe530212 100644 --- a/src/Features/Core/Portable/GenerateConstructorFromMembers/FieldDelegatingCodeAction.cs +++ b/src/Features/Core/Portable/GenerateConstructorFromMembers/FieldDelegatingCodeAction.cs @@ -55,13 +55,21 @@ protected override async Task GetChangedDocumentAsync(CancellationToke parameterToNewFieldMap: null, cancellationToken: cancellationToken); + // If the user has selected a set of members (i.e. TextSpan is not empty), then we will + // choose the right location (i.e. null) to insert the constructor. However, if they're + // just invoking the feature manually at a specific location, then we'll insert the + // members at that specific place in the class/struct. + var afterThisLocation = _state.TextSpan.IsEmpty + ? syntaxTree.GetLocation(_state.TextSpan) + : null; + var result = await CodeGenerator.AddMemberDeclarationsAsync( _document.Project.Solution, _state.ContainingType, members, new CodeGenerationOptions( contextLocation: syntaxTree.GetLocation(_state.TextSpan), - afterThisLocation: _state.TextSpan.IsEmpty ? syntaxTree.GetLocation(_state.TextSpan) : null), + afterThisLocation: afterThisLocation), cancellationToken).ConfigureAwait(false); return result;