提交 2a9cf6dd 编写于 作者: B Balaji Krishnan

Define CodeRefactoringProvider in Features

and export it for both C# and VB. Remove language specific subclasses
that weren't needed.
Also update tests to correctly instantiate the CodeRefactoringProvider
after the change.
上级 353caa6f
......@@ -2,8 +2,7 @@
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CodeRefactorings;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.CodeRefactorings.MoveType;
using Microsoft.CodeAnalysis.CodeRefactorings.MoveType;
using Microsoft.CodeAnalysis.Editor.UnitTests.MoveType;
using Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces;
......@@ -25,10 +24,5 @@ protected override string GetLanguage()
{
return LanguageNames.CSharp;
}
protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace)
{
return new MoveTypeCodeRefactoringProvider();
}
}
}
......@@ -5,6 +5,8 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CodeRefactorings;
using Microsoft.CodeAnalysis.CodeRefactorings.MoveType;
using Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions;
using Microsoft.CodeAnalysis.UnitTests;
using Roslyn.Test.Utilities;
......@@ -24,6 +26,11 @@ private string StripSpanMarkers(string text)
return text.Remove(index, SpanMarker.Length);
}
protected override CodeRefactoringProvider CreateCodeRefactoringProvider(Workspace workspace)
{
return new MoveTypeCodeRefactoringProvider();
}
protected async Task TestRenameTypeToMatchFileAsync(
string originalCode,
string expectedCode = null,
......
......@@ -2,18 +2,14 @@
Imports System.Xml.Linq
Imports Microsoft.CodeAnalysis.CodeRefactorings
Imports Microsoft.CodeAnalysis.CodeRefactorings.MoveType
Imports Microsoft.CodeAnalysis.Editor.UnitTests.MoveType
Imports Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces
Imports Microsoft.CodeAnalysis.VisualBasic.CodeRefactorings.MoveType
Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeRefactorings.MoveType
Public Class BasicMoveTypeTestsBase
Inherits AbstractMoveTypeTest
Protected Overrides Function CreateCodeRefactoringProvider(workspace As Workspace) As CodeRefactoringProvider
Return New MoveTypeCodeRefactoringProvider()
End Function
Protected Overrides Function CreateWorkspaceFromFileAsync(
definition As String,
ParseOptions As ParseOptions,
......
......@@ -105,7 +105,6 @@
<Compile Include="CodeRefactorings\MoveDeclarationNearReference\MoveDeclarationNearReferenceCodeRefactoringProvider.Rewriter.cs" />
<Compile Include="CodeRefactorings\MoveDeclarationNearReference\MoveDeclarationNearReferenceCodeRefactoringProvider.State.cs" />
<Compile Include="CodeRefactorings\MoveType\CSharpMoveTypeService.cs" />
<Compile Include="CodeRefactorings\MoveType\MoveTypeCodeRefactoringProvider.cs" />
<Compile Include="Completion\CompletionProviders\AttributeNamedParameterCompletionProvider.cs" />
<Compile Include="Completion\CompletionProviders\CompletionUtilities.cs" />
<Compile Include="Completion\CompletionProviders\CrefCompletionProvider.cs" />
......
// 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.Composition;
using Microsoft.CodeAnalysis.CodeRefactorings;
using Microsoft.CodeAnalysis.CodeRefactorings.MoveType;
namespace Microsoft.CodeAnalysis.CSharp.CodeRefactorings.MoveType
{
[ExportCodeRefactoringProvider(LanguageNames.CSharp, Name = PredefinedCodeRefactoringProviderNames.MoveTypeToFile), Shared]
internal class MoveTypeCodeRefactoringProvider : AbstractMoveTypeCodeRefactoringProvider
{
}
}
// 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.Composition;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.GeneratedCodeRecognition;
using Microsoft.CodeAnalysis.Shared.Extensions;
namespace Microsoft.CodeAnalysis.CodeRefactorings.MoveType
{
internal abstract partial class AbstractMoveTypeCodeRefactoringProvider : CodeRefactoringProvider
[ExportCodeRefactoringProvider(LanguageNames.CSharp, LanguageNames.VisualBasic,
Name = PredefinedCodeRefactoringProviderNames.MoveTypeToFile), Shared]
internal class MoveTypeCodeRefactoringProvider : CodeRefactoringProvider
{
public override async Task ComputeRefactoringsAsync(CodeRefactoringContext context)
{
......
......@@ -155,7 +155,7 @@
<Compile Include="CodeRefactorings\GenerateFromMembers\GenerateEqualsAndGetHashCode\GenerateEqualsAndGetHashCodeCodeRefactoringProvider.cs" />
<Compile Include="CodeRefactorings\ICodeRefactoringHelpersService.cs" />
<Compile Include="CodeRefactorings\ICodeRefactoringService.cs" />
<Compile Include="CodeRefactorings\MoveType\AbstractMoveTypeCodeRefactoringProvider.cs" />
<Compile Include="CodeRefactorings\MoveType\MoveTypeCodeRefactoringProvider.cs" />
<Compile Include="CodeRefactorings\MoveType\AbstractMoveTypeService.Editor.cs" />
<Compile Include="CodeRefactorings\MoveType\AbstractMoveTypeService.MoveTypeCodeAction.cs" />
<Compile Include="CodeRefactorings\MoveType\AbstractMoveTypeService.MoveTypeCodeActionWithOption.cs" />
......
......@@ -132,7 +132,6 @@
<Compile Include="CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.ReferenceRewriter.vb" />
<Compile Include="CodeRefactorings\InlineTemporary\InlineTemporaryCodeRefactoringProvider.vb" />
<Compile Include="CodeRefactorings\InvertIf\InvertIfCodeRefactoringProvider.vb" />
<Compile Include="CodeRefactorings\MoveType\MoveTypeCodeRefactoringProvider.vb" />
<Compile Include="CodeRefactorings\MoveType\VisualBasicMoveTypeService.vb" />
<Compile Include="CodeRefactorings\RemoveStatementCodeAction.vb" />
<Compile Include="Completion\CompletionProviders\CompletionListTagCompletionProvider.vb" />
......
' 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.Composition
Imports Microsoft.CodeAnalysis.CodeRefactorings
Imports Microsoft.CodeAnalysis.CodeRefactorings.MoveType
Namespace Microsoft.CodeAnalysis.VisualBasic.CodeRefactorings.MoveType
<ExportCodeRefactoringProvider(LanguageNames.VisualBasic, Name:=PredefinedCodeRefactoringProviderNames.MoveTypeToFile), [Shared]>
Friend Class MoveTypeCodeRefactoringProvider
Inherits AbstractMoveTypeCodeRefactoringProvider
End Class
End Namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册