@@ -1289,7 +1289,15 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
1289
1289
before ( tokenToOpenWith. nextToken, tokens: . break( breakKindClose, newlines: . soft) , . close)
1290
1290
}
1291
1291
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 {
1293
1301
before ( condition. firstToken, tokens: . printerControl( kind: . disableBreaking) )
1294
1302
after (
1295
1303
condition. lastToken,
@@ -3441,7 +3449,11 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
3441
3449
3442
3450
if let calledMemberAccessExpr = calledExpression. as ( MemberAccessExprSyntax . self) {
3443
3451
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
+ }
3445
3457
}
3446
3458
before ( calledMemberAccessExpr. dot, tokens: beforeTokens)
3447
3459
after ( expr. lastToken, tokens: afterTokens)
@@ -3466,6 +3478,20 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
3466
3478
}
3467
3479
}
3468
3480
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
+
3469
3495
extension Syntax {
3470
3496
/// Creates a pretty-printable token stream for the provided Syntax node.
3471
3497
func makeTokenStream( configuration: Configuration , operatorContext: OperatorContext ) -> [ Token ] {
0 commit comments