Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
8ae2c821
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,发现更多精彩内容 >>
提交
8ae2c821
编写于
9月 23, 2015
作者:
P
Paul Chen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor a little bit.
上级
9cfeff56
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
31 deletion
+19
-31
src/Features/CSharp/Portable/CodeFixes/Async/CSharpAddAwaitCodeFixProvider.cs
...Portable/CodeFixes/Async/CSharpAddAwaitCodeFixProvider.cs
+6
-7
src/Workspaces/CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs
.../CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs
+10
-15
src/Workspaces/VisualBasic/Portable/Extensions/ExpressionSyntaxExtensions.vb
...alBasic/Portable/Extensions/ExpressionSyntaxExtensions.vb
+3
-9
未找到文件。
src/Features/CSharp/Portable/CodeFixes/Async/CSharpAddAwaitCodeFixProvider.cs
浏览文件 @
8ae2c821
...
...
@@ -50,10 +50,10 @@ internal class CSharpAddAwaitCodeFixProvider : AbstractAddAsyncAwaitCodeFixProvi
CancellationToken
cancellationToken
)
{
var
expression
=
oldNode
as
ExpressionSyntax
;
if
(
expression
==
null
)
{
if
(
expression
==
null
)
{
return
SpecializedTasks
.
Default
<
SyntaxNode
>();
}
}
switch
(
diagnostic
.
Id
)
{
...
...
@@ -152,14 +152,13 @@ private static SyntaxNode ConvertToAwaitExpression(ExpressionSyntax expression)
{
var
root
=
expression
.
Ancestors
().
Last
();
if
(
RequiresParenthesis
(
expression
,
root
))
{
{
expression
=
expression
.
Parenthesize
();
}
return
SyntaxFactory
.
AwaitExpression
(
expression
.
WithoutTrivia
())
.
WithTriviaFrom
(
expression
)
.
WithAdditionalAnnotations
(
Formatter
.
Annotation
)
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
);
.
WithTriviaFrom
(
expression
)
.
WithAdditionalAnnotations
(
Formatter
.
Annotation
,
Simplifier
.
Annotation
);
}
private
static
bool
RequiresParenthesis
(
ExpressionSyntax
expression
,
SyntaxNode
root
)
...
...
src/Workspaces/CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs
浏览文件 @
8ae2c821
...
...
@@ -43,27 +43,22 @@ public static ExpressionSyntax WalkDownParentheses(this ExpressionSyntax express
public
static
ExpressionSyntax
Parenthesize
(
this
ExpressionSyntax
expression
,
bool
includeElasticTrivia
=
true
)
{
var
leadingTrivia
=
expression
.
GetLeadingTrivia
();
var
trailingTrivia
=
expression
.
GetTrailingTrivia
();
expression
=
expression
.
WithoutLeadingTrivia
()
.
WithoutTrailingTrivia
();
if
(
includeElasticTrivia
)
{
return
SyntaxFactory
.
ParenthesizedExpression
(
expression
)
.
WithLeadingTrivia
(
leadingTrivia
)
.
WithTrailingTrivia
(
trailingTrivia
)
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
);
return
SyntaxFactory
.
ParenthesizedExpression
(
expression
.
WithoutTrivia
())
.
WithTriviaFrom
(
expression
)
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
);
}
else
{
return
SyntaxFactory
.
ParenthesizedExpression
(
return
SyntaxFactory
.
ParenthesizedExpression
(
SyntaxFactory
.
Token
(
SyntaxTriviaList
.
Empty
,
SyntaxKind
.
OpenParenToken
,
SyntaxTriviaList
.
Empty
),
expression
,
SyntaxFactory
.
Token
(
SyntaxTriviaList
.
Empty
,
SyntaxKind
.
CloseParenToken
,
SyntaxTriviaList
.
Empty
)
)
.
WithLeadingTrivia
(
leadingTrivia
)
.
WithTrailingTrivia
(
trailingTrivia
)
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
);
expression
.
WithoutTrivia
()
,
SyntaxFactory
.
Token
(
SyntaxTriviaList
.
Empty
,
SyntaxKind
.
CloseParenToken
,
SyntaxTriviaList
.
Empty
)
)
.
WithTriviaFrom
(
expression
)
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
);
}
}
...
...
src/Workspaces/VisualBasic/Portable/Extensions/ExpressionSyntaxExtensions.vb
浏览文件 @
8ae2c821
...
...
@@ -52,15 +52,9 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Extensions
<
Extension
()
>
Public
Function
Parenthesize
(
expression
As
ExpressionSyntax
)
As
ParenthesizedExpressionSyntax
Dim
leadingTrivia
=
expression
.
GetLeadingTrivia
()
Dim
trailingTrivia
=
expression
.
GetTrailingTrivia
()
Dim
strippedExpression
=
expression
.
WithoutLeadingTrivia
().
WithoutTrailingTrivia
()
Return
SyntaxFactory
.
ParenthesizedExpression
(
strippedExpression
)
_
.
WithLeadingTrivia
(
leadingTrivia
)
_
.
WithTrailingTrivia
(
trailingTrivia
)
_
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
)
Return
SyntaxFactory
.
ParenthesizedExpression
(
expression
.
WithoutTrivia
())
_
.
WithTriviaFrom
(
expression
)
_
.
WithAdditionalAnnotations
(
Simplifier
.
Annotation
)
End
Function
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录