From 829c93fef8098fdbf109965d799b7a743e062e01 Mon Sep 17 00:00:00 2001 From: Bela VanderVoort Date: Sat, 24 Aug 2024 15:35:11 -0500 Subject: [PATCH] fixing issue with extra line before collection expression within a cast expression closes #1334 --- .../TestFiles/cs/CollectionExpressions.test | 32 +++++++++++++++++++ .../CollectionExpression.cs | 1 + 2 files changed, 33 insertions(+) diff --git a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/CollectionExpressions.test b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/CollectionExpressions.test index f0b0d6eb4..a4a417987 100644 --- a/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/CollectionExpressions.test +++ b/Src/CSharpier.Tests/FormattingTests/TestFiles/cs/CollectionExpressions.test @@ -146,3 +146,35 @@ class MyClass ] )] class ClassName { } + +class CastExpressions +{ + void MethodName() + { + var x = (string[])[someValue, someValue]; + + var x = (string[]) + [longValue________________________________, longValue________________________________]; + + var x = (string[]) + [ + longerValue_____________________________________________, + longerValue_____________________________________________, + ]; + + CallMethod((string[])[someValue, someValue]); + + CallMethod( + (string[]) + [longValue______________________________, longValue______________________________] + ); + + CallMethod( + (string[]) + [ + longerValue_____________________________________________, + longerValue_____________________________________________, + ] + ); + } +} diff --git a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/CollectionExpression.cs b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/CollectionExpression.cs index 4ef6bc82c..5f7429ecc 100644 --- a/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/CollectionExpression.cs +++ b/Src/CSharpier/SyntaxPrinter/SyntaxNodePrinters/CollectionExpression.cs @@ -8,6 +8,7 @@ public static Doc Print(CollectionExpressionSyntax node, FormattingContext conte is ArgumentSyntax { NameColon: null } or AttributeArgumentSyntax or ArrowExpressionClauseSyntax + or CastExpressionSyntax or ExpressionElementSyntax or SimpleLambdaExpressionSyntax or AssignmentExpressionSyntax