Skip to content

Commit 9676296

Browse files
committed
Replace startsOnNewline(_:) with a computed property added as a private extension to SyntaxProtocol in CodeGenerationFormat
1 parent bafad5a commit 9676296

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

CodeGeneration/Sources/Utils/CodeGenerationFormat.swift

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,8 @@ public class CodeGenerationFormat: BasicFormat {
9797
// Short tuple element list literals are presented on one line, list each element on a different line.
9898
if children.count > maxElementsOnSameLine {
9999
let inMethodCallThatStartsOnNewline =
100-
if let functionCallExpr = node.parent?.as(FunctionCallExprSyntax.self),
101-
let memberAccessExpr = functionCallExpr.calledExpression.as(MemberAccessExprSyntax.self),
102-
startsOnNewline(memberAccessExpr.period)
103-
{
104-
true
105-
} else {
106-
false
107-
}
100+
node.parent?.as(FunctionCallExprSyntax.self)?.calledExpression.as(MemberAccessExprSyntax.self)?.period
101+
.startsOnNewline ?? false
108102
if inMethodCallThatStartsOnNewline {
109103
increaseIndentationLevel()
110104
}
@@ -129,7 +123,7 @@ public class CodeGenerationFormat: BasicFormat {
129123
if indentManually {
130124
return false
131125
}
132-
if !startsOnNewline(node) {
126+
if !node.startsOnNewline {
133127
return false
134128
}
135129
default:
@@ -166,7 +160,7 @@ public class CodeGenerationFormat: BasicFormat {
166160
var child = child
167161
child.trailingTrivia = Trivia(pieces: child.trailingTrivia.drop(while: \.isSpaceOrTab))
168162

169-
if !startsOnNewline(child) {
163+
if !child.startsOnNewline {
170164
child.leadingTrivia = indentedNewline + child.leadingTrivia
171165
}
172166
return child
@@ -186,7 +180,9 @@ public class CodeGenerationFormat: BasicFormat {
186180
}
187181
}
188182

189-
private func startsOnNewline(_ node: some SyntaxProtocol) -> Bool {
190-
return node.leadingTrivia.contains(where: \.isNewline)
191-
|| node.previousToken(viewMode: .sourceAccurate)?.trailingTrivia.contains(where: \.isNewline) ?? false
183+
private extension SyntaxProtocol {
184+
var startsOnNewline: Bool {
185+
return self.leadingTrivia.contains(where: \.isNewline)
186+
|| self.previousToken(viewMode: .sourceAccurate)?.trailingTrivia.contains(where: \.isNewline) ?? false
187+
}
192188
}

0 commit comments

Comments
 (0)