@@ -498,7 +498,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
498498 }
499499 }
500500
501- arrangeBracesAndContents ( of: node. elseBody? . as ( CodeBlockSyntax . self) , contentsKeyPath: \. statements)
501+ arrangeBracesAndContents (
502+ of: node. elseBody? . as ( CodeBlockSyntax . self) ,
503+ contentsKeyPath: \. statements,
504+ openBraceNewlineBehavior: config. lineBreakBeforeControlFlowBodies ? . hard : . elective
505+ )
502506
503507 return . visitChildren
504508 }
@@ -537,7 +541,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
537541 after ( typeAnnotation. lastToken, tokens: . break( . close( mustBreak: false ) , size: 0 ) )
538542 }
539543
540- arrangeBracesAndContents ( of: node. body, contentsKeyPath: \. statements)
544+ arrangeBracesAndContents (
545+ of: node. body,
546+ contentsKeyPath: \. statements,
547+ openBraceNewlineBehavior: config. lineBreakBeforeControlFlowBodies ? . hard : . elective
548+ )
541549
542550 return . visitChildren
543551 }
@@ -559,14 +567,22 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
559567 after ( condition. lastToken, tokens: . break( . close( mustBreak: false ) , size: 0 ) )
560568 }
561569
562- arrangeBracesAndContents ( of: node. body, contentsKeyPath: \. statements)
570+ arrangeBracesAndContents (
571+ of: node. body,
572+ contentsKeyPath: \. statements,
573+ openBraceNewlineBehavior: config. lineBreakBeforeControlFlowBodies ? . hard : . elective
574+ )
563575
564576 return . visitChildren
565577 }
566578
567579 override func visit( _ node: RepeatWhileStmtSyntax ) -> SyntaxVisitorContinueKind {
568580 after ( node. labelColon, tokens: . space)
569- arrangeBracesAndContents ( of: node. body, contentsKeyPath: \. statements)
581+ arrangeBracesAndContents (
582+ of: node. body,
583+ contentsKeyPath: \. statements,
584+ openBraceNewlineBehavior: config. lineBreakBeforeControlFlowBodies ? . hard : . elective
585+ )
570586
571587 if config. lineBreakBeforeControlFlowKeywords {
572588 before ( node. whileKeyword, tokens: . break( . same) , . open)
@@ -586,7 +602,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
586602
587603 override func visit( _ node: DoStmtSyntax ) -> SyntaxVisitorContinueKind {
588604 after ( node. labelColon, tokens: . space)
589- arrangeBracesAndContents ( of: node. body, contentsKeyPath: \. statements)
605+ arrangeBracesAndContents (
606+ of: node. body,
607+ contentsKeyPath: \. statements,
608+ openBraceNewlineBehavior: config. lineBreakBeforeControlFlowBodies ? . hard : . elective
609+ )
590610 return . visitChildren
591611 }
592612
@@ -609,7 +629,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
609629 }
610630 }
611631
612- arrangeBracesAndContents ( of: node. body, contentsKeyPath: \. statements)
632+ arrangeBracesAndContents (
633+ of: node. body,
634+ contentsKeyPath: \. statements,
635+ openBraceNewlineBehavior: config. lineBreakBeforeControlFlowBodies ? . hard : . elective
636+ )
613637
614638 return . visitChildren
615639 }
0 commit comments