Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
7f391d52
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,发现更多精彩内容 >>
提交
7f391d52
编写于
6月 19, 2019
作者:
P
Petr Houška
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Address feedback.
上级
964d1801
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
29 deletion
+29
-29
src/EditorFeatures/CSharpTest/CodeActions/ConvertLocalFunctionToMethod/ConvertLocalFunctionToMethodTests.cs
...ocalFunctionToMethod/ConvertLocalFunctionToMethodTests.cs
+25
-28
src/Workspaces/Core/Portable/Shared/Extensions/SyntaxTreeExtensions.cs
...s/Core/Portable/Shared/Extensions/SyntaxTreeExtensions.cs
+4
-1
未找到文件。
src/EditorFeatures/CSharpTest/CodeActions/ConvertLocalFunctionToMethod/ConvertLocalFunctionToMethodTests.cs
浏览文件 @
7f391d52
...
...
@@ -555,24 +555,19 @@ void M()
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertLocalFunctionToMethod
)]
public
async
Task
TestWholeMethodSelection
Positon
()
public
async
Task
TestWholeMethodSelection
1
()
{
await
TestAsync
(
"[|C LocalFunction(C c)"
);
await
TestMissingAsync
(
"C LocalFunction(C c)[|"
);
async
Task
TestAsync
(
string
signature
)
{
await
TestInRegularAndScriptAsync
(
$@"class C
{{
await
TestInRegularAndScriptAsync
(
@"class C
{
void M()
{
{
{
signature
}
{
{
{
[|C LocalFunction(C c)
{
return null;
}
}
|]
}
}
}
}
"
,
}|]
}
}"
,
@"class C
{
void M()
...
...
@@ -584,22 +579,24 @@ private static C LocalFunction(C c)
return null;
}
}"
);
}
}
async
Task
TestMissingAsync
(
string
signature
)
{
await
this
.
TestMissingAsync
(
$@"class C
{{
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsConvertLocalFunctionToMethod
)]
public
async
Task
TestWholeMethodSelection2
()
{
await
this
.
TestMissingAsync
(
@"class C
{
void M()
{
{
{
signature
}
{
{
{
C LocalFunction(C c)[|
{
return null;
}}|]
}}
}}
"
);
}
}|]
}
}"
);
}
}
}
src/Workspaces/Core/Portable/Shared/Extensions/SyntaxTreeExtensions.cs
浏览文件 @
7f391d52
...
...
@@ -75,6 +75,9 @@ public static bool IsScript(this SyntaxTree syntaxTree)
/// <summary>
/// Returns the first Token that passes <paramref name="predicate"/> within supplied <paramref name="span"/>.
/// </summary>
/// <remarks>
/// Only tokens whose <c>Span.End</c> fits within <paramref name="span"/> are considered.
/// </remarks>
public
static
async
Task
<
SyntaxToken
>
GetLeftmostTokenInSpanAsync
(
this
SyntaxTree
syntaxTree
,
TextSpan
span
,
...
...
@@ -97,7 +100,7 @@ public static bool IsScript(this SyntaxTree syntaxTree)
while
(!
predicate
(
token
))
{
if
(
token
.
FullSpan
.
End
>=
syntaxTree
.
Length
)
if
(
token
.
Span
.
End
>=
span
.
End
||
token
.
FullSpan
.
End
>=
syntaxTree
.
Length
)
{
// SyntaxKind = None
return
default
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录