提交 445e7065 编写于 作者: B Balaji Krishnan

Refactor some code.

上级 ba586d8e
......@@ -18,14 +18,14 @@ internal abstract partial class AbstractMoveTypeService<TService, TTypeDeclarati
where TMemberDeclarationSyntax : SyntaxNode
where TCompilationUnitSyntax : SyntaxNode
{
internal enum OperationKind
private enum OperationKind
{
MoveType,
RenameType,
RenameFile
}
public bool ShouldAnalyze(SyntaxNode root, TextSpan span)
protected bool ShouldAnalyze(SyntaxNode root, TextSpan span)
{
return GetNodeToAnalyze(root, span) is TTypeDeclarationSyntax;
}
......@@ -48,6 +48,12 @@ protected virtual SyntaxNode GetNodeToAnalyze(SyntaxNode root, TextSpan span)
public async Task<CodeRefactoring> GetRefactoringAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken)
{
var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
if (!ShouldAnalyze(root, textSpan))
{
return null;
}
var semanticDocument = await SemanticDocument.CreateAsync(document, cancellationToken).ConfigureAwait(false);
var state = State.Generate((TService)this, semanticDocument, textSpan, cancellationToken);
if (state == null)
......
......@@ -9,7 +9,6 @@ namespace Microsoft.CodeAnalysis.CodeRefactorings.MoveType
{
internal interface IMoveTypeService : ILanguageService
{
bool ShouldAnalyze(SyntaxNode root, TextSpan textSpan);
Task<CodeRefactoring> GetRefactoringAsync(Document document, TextSpan textSpan, CancellationToken cancellationToken);
}
}
......@@ -30,13 +30,6 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte
}
var service = document.GetLanguageService<IMoveTypeService>();
var root = await document.GetSyntaxRootAsync(cancellationToken).ConfigureAwait(false);
if (!service.ShouldAnalyze(root, textSpan))
{
return;
}
var refactoring = await service.GetRefactoringAsync(document, textSpan, cancellationToken).ConfigureAwait(false);
if (refactoring != null)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册