@@ -1289,7 +1289,15 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
12891289 before ( tokenToOpenWith. nextToken, tokens: . break( breakKindClose, newlines: . soft) , . close)
12901290 }
12911291
1292- if let condition = node. condition {
1292+ if isNestedInPostfixIfConfig ( node: Syntax ( node) ) {
1293+ before (
1294+ node. firstToken,
1295+ tokens: [
1296+ . printerControl( kind: . enableBreaking) ,
1297+ . break( . reset) ,
1298+ ]
1299+ )
1300+ } else if let condition = node. condition {
12931301 before ( condition. firstToken, tokens: . printerControl( kind: . disableBreaking) )
12941302 after (
12951303 condition. lastToken,
@@ -3441,7 +3449,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
34413449
34423450 if let calledMemberAccessExpr = calledExpression. as ( MemberAccessExprSyntax . self) {
34433451 if calledMemberAccessExpr. base != nil {
3444- before ( calledMemberAccessExpr. dot, tokens: [ . break( . contextual, size: 0 ) ] )
3452+ if isNestedInPostfixIfConfig ( node: Syntax ( calledMemberAccessExpr) ) {
3453+ before ( calledMemberAccessExpr. dot, tokens: [ . break( . same, size: 0 ) ] )
3454+ } else {
3455+ before ( calledMemberAccessExpr. dot, tokens: [ . break( . contextual, size: 0 ) ] )
3456+ }
34453457 }
34463458 before ( calledMemberAccessExpr. dot, tokens: beforeTokens)
34473459 after ( expr. lastToken, tokens: afterTokens)
@@ -3466,6 +3478,20 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
34663478 }
34673479}
34683480
3481+ private func isNestedInPostfixIfConfig( node: Syntax ) -> Bool {
3482+ var this : Syntax ? = node
3483+
3484+ while this? . parent != nil {
3485+ if this? . parent? . is ( PostfixIfConfigExprSyntax . self) == true {
3486+ return true
3487+ }
3488+
3489+ this = this? . parent
3490+ }
3491+
3492+ return false
3493+ }
3494+
34693495extension Syntax {
34703496 /// Creates a pretty-printable token stream for the provided Syntax node.
34713497 func makeTokenStream( configuration: Configuration , operatorContext: OperatorContext ) -> [ Token ] {
0 commit comments