Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
9dc99c9d
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9dc99c9d
编写于
7月 20, 2016
作者:
B
Balaji Krishnan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove unncessary code in registering..
.. code actions for a refactoring.
上级
1aedfcc2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
14 deletion
+15
-14
src/Features/Core/Portable/CodeRefactorings/MoveType/AbstractMoveTypeService.cs
...able/CodeRefactorings/MoveType/AbstractMoveTypeService.cs
+9
-10
src/Features/Core/Portable/CodeRefactorings/MoveType/IMoveTypeService.cs
...re/Portable/CodeRefactorings/MoveType/IMoveTypeService.cs
+3
-1
src/Features/Core/Portable/CodeRefactorings/MoveType/MoveTypeCodeRefactoringProvider.cs
...eRefactorings/MoveType/MoveTypeCodeRefactoringProvider.cs
+3
-3
未找到文件。
src/Features/Core/Portable/CodeRefactorings/MoveType/AbstractMoveTypeService.cs
浏览文件 @
9dc99c9d
...
...
@@ -2,6 +2,8 @@
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Immutable
;
using
System.Diagnostics
;
using
System.Linq
;
using
System.Threading
;
using
System.Threading.Tasks
;
...
...
@@ -46,31 +48,28 @@ protected virtual SyntaxNode GetNodeToAnalyze(SyntaxNode root, TextSpan span)
.
OfType
<
TTypeDeclarationSyntax
>()
.
Count
()
>
1
;
public
async
Task
<
CodeRefactoring
>
GetRefactoringAsync
(
Document
document
,
TextSpan
textSpan
,
CancellationToken
cancellationToken
)
public
async
Task
<
ImmutableArray
<
CodeAction
>
>
GetRefactoringAsync
(
Document
document
,
TextSpan
textSpan
,
CancellationToken
cancellationToken
)
{
var
root
=
await
document
.
GetSyntaxRootAsync
(
cancellationToken
).
ConfigureAwait
(
false
);
if
(!
ShouldAnalyze
(
root
,
textSpan
))
{
return
null
;
return
default
(
ImmutableArray
<
CodeAction
>)
;
}
var
semanticDocument
=
await
SemanticDocument
.
CreateAsync
(
document
,
cancellationToken
).
ConfigureAwait
(
false
);
var
state
=
State
.
Generate
((
TService
)
this
,
semanticDocument
,
textSpan
,
cancellationToken
);
if
(
state
==
null
)
{
return
null
;
return
default
(
ImmutableArray
<
CodeAction
>)
;
}
var
actions
=
CreateActions
(
state
,
cancellationToken
);
if
(
actions
.
Count
==
0
)
{
return
null
;
}
return
new
CodeRefactoring
(
null
,
actions
);
Debug
.
Assert
(
actions
.
Count
()
!=
0
,
"No code actions found for MoveType Refactoring"
);
return
actions
;
}
private
List
<
CodeAction
>
CreateActions
(
State
state
,
CancellationToken
cancellationToken
)
private
ImmutableArray
<
CodeAction
>
CreateActions
(
State
state
,
CancellationToken
cancellationToken
)
{
var
actions
=
new
List
<
CodeAction
>();
var
manyTypes
=
MultipleTopLevelTypeDeclarationInSourceDocument
(
state
.
SemanticDocument
.
Root
);
...
...
@@ -95,7 +94,7 @@ private List<CodeAction> CreateActions(State state, CancellationToken cancellati
}
}
return
actions
;
return
actions
.
ToImmutableArray
()
;
}
private
CodeAction
GetCodeAction
(
...
...
src/Features/Core/Portable/CodeRefactorings/MoveType/IMoveTypeService.cs
浏览文件 @
9dc99c9d
// 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.Threading
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.CodeActions
;
using
Microsoft.CodeAnalysis.Host
;
using
Microsoft.CodeAnalysis.Text
;
...
...
@@ -9,6 +11,6 @@ namespace Microsoft.CodeAnalysis.CodeRefactorings.MoveType
{
internal
interface
IMoveTypeService
:
ILanguageService
{
Task
<
CodeRefactoring
>
GetRefactoringAsync
(
Document
document
,
TextSpan
textSpan
,
CancellationToken
cancellationToken
);
Task
<
ImmutableArray
<
CodeAction
>
>
GetRefactoringAsync
(
Document
document
,
TextSpan
textSpan
,
CancellationToken
cancellationToken
);
}
}
src/Features/Core/Portable/CodeRefactorings/MoveType/MoveTypeCodeRefactoringProvider.cs
浏览文件 @
9dc99c9d
...
...
@@ -30,10 +30,10 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte
}
var
service
=
document
.
GetLanguageService
<
IMoveTypeService
>();
var
refactoring
=
await
service
.
GetRefactoringAsync
(
document
,
textSpan
,
cancellationToken
).
ConfigureAwait
(
false
);
if
(
refactoring
!=
null
)
var
actions
=
await
service
.
GetRefactoringAsync
(
document
,
textSpan
,
cancellationToken
).
ConfigureAwait
(
false
);
if
(
!
actions
.
IsDefault
)
{
context
.
RegisterRefactorings
(
refactoring
.
A
ctions
);
context
.
RegisterRefactorings
(
a
ctions
);
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录