提交 8ae2c821 编写于 作者: P Paul Chen

Refactor a little bit.

上级 9cfeff56
......@@ -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)
......
......@@ -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);
}
}
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册