From 5e854d92c75db9aaddc3035831e9b424215df055 Mon Sep 17 00:00:00 2001 From: belav Date: Mon, 19 Jul 2021 14:46:49 -0500 Subject: [PATCH] Fixing issue with implicit object creation breaking weird closes #302 --- .../InitializerExpression/InitializerExpressions.cst | 6 ++++++ .../SyntaxNodePrinters/ImplicitObjectCreationExpression.cs | 2 +- .../SyntaxNodePrinters/InitializerExpression.cs | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Src/CSharpier.Tests/TestFiles/InitializerExpression/InitializerExpressions.cst b/Src/CSharpier.Tests/TestFiles/InitializerExpression/InitializerExpressions.cst index 01ada7629..3a432ebf4 100644 --- a/Src/CSharpier.Tests/TestFiles/InitializerExpression/InitializerExpressions.cst +++ b/Src/CSharpier.Tests/TestFiles/InitializerExpression/InitializerExpressions.cst @@ -92,4 +92,10 @@ class ClassName }, }; } + + private SomeObject someObject = + new(someLongParameter___________________) + { + SomeProperty = someLongValue____________________________ + }; } diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/ImplicitObjectCreationExpression.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/ImplicitObjectCreationExpression.cs index cad9ba2fd..2d76d8aa1 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/ImplicitObjectCreationExpression.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/ImplicitObjectCreationExpression.cs @@ -12,7 +12,7 @@ public static Doc Print(ImplicitObjectCreationExpressionSyntax node) Token.Print(node.NewKeyword), ArgumentList.Print(node.ArgumentList), node.Initializer != null - ? Doc.Concat(Doc.Line, Node.Print(node.Initializer)) + ? Doc.Concat(Doc.Line, InitializerExpression.Print(node.Initializer)) : Doc.Null ); } diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InitializerExpression.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InitializerExpression.cs index 044026ab4..441321b55 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InitializerExpression.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/InitializerExpression.cs @@ -28,7 +28,8 @@ public static Doc Print(InitializerExpressionSyntax node) return node.Parent is not (ObjectCreationExpressionSyntax or ArrayCreationExpressionSyntax - or ImplicitArrayCreationExpressionSyntax) + or ImplicitArrayCreationExpressionSyntax + or ImplicitObjectCreationExpressionSyntax) && node.Kind() is not SyntaxKind.WithInitializerExpression ? Doc.Group(result) : result; } }