Skip to content

Commit 7bfaa9a

Browse files
Simplify
1 parent e4204d8 commit 7bfaa9a

File tree

4 files changed

+18
-18
lines changed

4 files changed

+18
-18
lines changed

src/Workspaces/CSharp/Portable/CodeGeneration/CSharpSyntaxGenerator.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3234,10 +3234,10 @@ internal override bool IsRegularOrDocComment(SyntaxTrivia trivia)
32343234
#region Statements and Expressions
32353235

32363236
public override SyntaxNode AddEventHandler(SyntaxNode @event, SyntaxNode handler)
3237-
=> SyntaxFactory.AssignmentExpression(SyntaxKind.AddAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)Parenthesize(handler));
3237+
=> SyntaxFactory.AssignmentExpression(SyntaxKind.AddAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)ParenthesizeNonSimple(handler));
32383238

32393239
public override SyntaxNode RemoveEventHandler(SyntaxNode @event, SyntaxNode handler)
3240-
=> SyntaxFactory.AssignmentExpression(SyntaxKind.SubtractAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)Parenthesize(handler));
3240+
=> SyntaxFactory.AssignmentExpression(SyntaxKind.SubtractAssignmentExpression, (ExpressionSyntax)@event, (ExpressionSyntax)ParenthesizeNonSimple(handler));
32413241

32423242
public override SyntaxNode AwaitExpression(SyntaxNode expression)
32433243
=> SyntaxFactory.AwaitExpression((ExpressionSyntax)expression);
@@ -3363,20 +3363,20 @@ public override SyntaxNode ElementAccessExpression(SyntaxNode expression, IEnume
33633363
internal override SyntaxToken NumericLiteralToken(string text, ulong value)
33643364
=> SyntaxFactory.Literal(text, value);
33653365

3366-
private static SyntaxNode Parenthesize(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true, bool parenthesizeIdentifiers = true)
3367-
=> CSharpSyntaxGeneratorInternal.Parenthesize(expression, includeElasticTrivia, addSimplifierAnnotation, parenthesizeIdentifiers);
3366+
private static SyntaxNode ParenthesizeNonSimple(SyntaxNode expression)
3367+
=> expression is IdentifierNameSyntax ? expression : CSharpSyntaxGeneratorInternal.Parenthesize(expression);
33683368

33693369
public override SyntaxNode IsTypeExpression(SyntaxNode expression, SyntaxNode type)
3370-
=> SyntaxFactory.BinaryExpression(SyntaxKind.IsExpression, (ExpressionSyntax)Parenthesize(expression), (TypeSyntax)type);
3370+
=> SyntaxFactory.BinaryExpression(SyntaxKind.IsExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression), (TypeSyntax)type);
33713371

33723372
public override SyntaxNode TypeOfExpression(SyntaxNode type)
33733373
=> SyntaxFactory.TypeOfExpression((TypeSyntax)type);
33743374

33753375
public override SyntaxNode TryCastExpression(SyntaxNode expression, SyntaxNode type)
3376-
=> SyntaxFactory.BinaryExpression(SyntaxKind.AsExpression, (ExpressionSyntax)Parenthesize(expression), (TypeSyntax)type);
3376+
=> SyntaxFactory.BinaryExpression(SyntaxKind.AsExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression), (TypeSyntax)type);
33773377

33783378
public override SyntaxNode AssignmentStatement(SyntaxNode left, SyntaxNode right)
3379-
=> SyntaxFactory.AssignmentExpression(SyntaxKind.SimpleAssignmentExpression, (ExpressionSyntax)left, (ExpressionSyntax)Parenthesize(right));
3379+
=> SyntaxFactory.AssignmentExpression(SyntaxKind.SimpleAssignmentExpression, (ExpressionSyntax)left, (ExpressionSyntax)ParenthesizeNonSimple(right));
33803380

33813381
private static SyntaxNode CreateBinaryExpression(SyntaxKind syntaxKind, SyntaxNode left, SyntaxNode right)
33823382
=> CSharpSyntaxGeneratorInternal.CreateBinaryExpression(syntaxKind, left, right);
@@ -3406,7 +3406,7 @@ public override SyntaxNode GreaterThanOrEqualExpression(SyntaxNode left, SyntaxN
34063406
=> CreateBinaryExpression(SyntaxKind.GreaterThanOrEqualExpression, left, right);
34073407

34083408
public override SyntaxNode NegateExpression(SyntaxNode expression)
3409-
=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.UnaryMinusExpression, (ExpressionSyntax)Parenthesize(expression));
3409+
=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.UnaryMinusExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression));
34103410

34113411
public override SyntaxNode AddExpression(SyntaxNode left, SyntaxNode right)
34123412
=> CreateBinaryExpression(SyntaxKind.AddExpression, left, right);
@@ -3427,7 +3427,7 @@ public override SyntaxNode BitwiseAndExpression(SyntaxNode left, SyntaxNode righ
34273427
=> CreateBinaryExpression(SyntaxKind.BitwiseAndExpression, left, right);
34283428

34293429
public override SyntaxNode BitwiseNotExpression(SyntaxNode operand)
3430-
=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.BitwiseNotExpression, (ExpressionSyntax)Parenthesize(operand));
3430+
=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.BitwiseNotExpression, (ExpressionSyntax)ParenthesizeNonSimple(operand));
34313431

34323432
public override SyntaxNode LogicalAndExpression(SyntaxNode left, SyntaxNode right)
34333433
=> CreateBinaryExpression(SyntaxKind.LogicalAndExpression, left, right);
@@ -3436,10 +3436,10 @@ public override SyntaxNode LogicalOrExpression(SyntaxNode left, SyntaxNode right
34363436
=> CreateBinaryExpression(SyntaxKind.LogicalOrExpression, left, right);
34373437

34383438
public override SyntaxNode LogicalNotExpression(SyntaxNode expression)
3439-
=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.LogicalNotExpression, (ExpressionSyntax)Parenthesize(expression, parenthesizeIdentifiers: false));
3439+
=> SyntaxFactory.PrefixUnaryExpression(SyntaxKind.LogicalNotExpression, (ExpressionSyntax)ParenthesizeNonSimple(expression));
34403440

34413441
public override SyntaxNode ConditionalExpression(SyntaxNode condition, SyntaxNode whenTrue, SyntaxNode whenFalse)
3442-
=> SyntaxFactory.ConditionalExpression((ExpressionSyntax)Parenthesize(condition), (ExpressionSyntax)Parenthesize(whenTrue), (ExpressionSyntax)Parenthesize(whenFalse));
3442+
=> SyntaxFactory.ConditionalExpression((ExpressionSyntax)ParenthesizeNonSimple(condition), (ExpressionSyntax)ParenthesizeNonSimple(whenTrue), (ExpressionSyntax)ParenthesizeNonSimple(whenFalse));
34433443

34443444
public override SyntaxNode CoalesceExpression(SyntaxNode left, SyntaxNode right)
34453445
=> CreateBinaryExpression(SyntaxKind.CoalesceExpression, left, right);

src/Workspaces/SharedUtilitiesAndExtensions/Workspace/CSharp/Extensions/ExpressionSyntaxExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Extensions;
1616
internal static partial class ExpressionSyntaxExtensions
1717
{
1818
public static ExpressionSyntax Parenthesize(
19-
this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true, bool parenthesizeIdentifiers = true)
19+
this ExpressionSyntax expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true)
2020
{
2121
// a 'ref' expression should never be parenthesized. It fundamentally breaks the code.
2222
// This is because, from the language's perspective there is no such thing as a ref
@@ -42,7 +42,7 @@ public static ExpressionSyntax Parenthesize(
4242
if (expression.IsKind(SyntaxKind.ThrowExpression))
4343
return expression;
4444

45-
if (!parenthesizeIdentifiers && expression is IdentifierNameSyntax)
45+
if (expression is IdentifierNameSyntax)
4646
return expression;
4747

4848
var result = ParenthesizeWorker(expression, includeElasticTrivia);

src/Workspaces/SharedUtilitiesAndExtensions/Workspace/CSharp/LanguageServices/CSharpSyntaxGeneratorInternal.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ public override SyntaxNode MemberBindingExpression(SyntaxNode name)
8383
public override SyntaxNode RefExpression(SyntaxNode expression)
8484
=> SyntaxFactory.RefExpression((ExpressionSyntax)expression);
8585

86-
public override SyntaxNode AddParentheses(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true, bool parenthesizeIdentifiers = true)
87-
=> Parenthesize(expressionOrPattern, includeElasticTrivia, addSimplifierAnnotation, parenthesizeIdentifiers);
86+
public override SyntaxNode AddParentheses(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true)
87+
=> Parenthesize(expressionOrPattern, includeElasticTrivia, addSimplifierAnnotation);
8888

89-
internal static SyntaxNode Parenthesize(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true, bool parenthesizeIdentifiers = true)
89+
internal static SyntaxNode Parenthesize(SyntaxNode expressionOrPattern, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true)
9090
=> expressionOrPattern switch
9191
{
92-
ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation, parenthesizeIdentifiers),
92+
ExpressionSyntax expression => expression.Parenthesize(includeElasticTrivia, addSimplifierAnnotation),
9393
PatternSyntax pattern => pattern.Parenthesize(includeElasticTrivia, addSimplifierAnnotation),
9494
var other => other,
9595
};

src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/LanguageServices/SyntaxGeneratorInternalExtensions/SyntaxGeneratorInternal.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public SyntaxNode LocalDeclarationStatement(SyntaxToken name, SyntaxNode initial
5858
/// <summary>
5959
/// Wraps with parens.
6060
/// </summary>
61-
public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true, bool parenthesizeIdentifiers = true);
61+
public abstract SyntaxNode AddParentheses(SyntaxNode expression, bool includeElasticTrivia = true, bool addSimplifierAnnotation = true);
6262

6363
/// <summary>
6464
/// Creates a statement that can be used to yield a value from an iterator method.

0 commit comments

Comments
 (0)