Skip to content

Commit bafad5a

Browse files
committed
Extract repetitive code into a private startsOnNewline(_:) function in CodeGenerationFormat
1 parent c216877 commit bafad5a

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

CodeGeneration/Sources/Utils/CodeGenerationFormat.swift

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,7 @@ public class CodeGenerationFormat: BasicFormat {
9999
let inMethodCallThatStartsOnNewline =
100100
if let functionCallExpr = node.parent?.as(FunctionCallExprSyntax.self),
101101
let memberAccessExpr = functionCallExpr.calledExpression.as(MemberAccessExprSyntax.self),
102-
memberAccessExpr.period.leadingTrivia.contains(where: \.isNewline)
103-
|| memberAccessExpr.period.previousToken(viewMode: .sourceAccurate)?.trailingTrivia.contains(
104-
where: \.isNewline
105-
) ?? false
102+
startsOnNewline(memberAccessExpr.period)
106103
{
107104
true
108105
} else {
@@ -132,10 +129,7 @@ public class CodeGenerationFormat: BasicFormat {
132129
if indentManually {
133130
return false
134131
}
135-
let startsOnNewline =
136-
node.leadingTrivia.contains(where: \.isNewline)
137-
|| node.previousToken(viewMode: .sourceAccurate)?.trailingTrivia.contains(where: \.isNewline) ?? false
138-
if !startsOnNewline {
132+
if !startsOnNewline(node) {
139133
return false
140134
}
141135
default:
@@ -172,11 +166,7 @@ public class CodeGenerationFormat: BasicFormat {
172166
var child = child
173167
child.trailingTrivia = Trivia(pieces: child.trailingTrivia.drop(while: \.isSpaceOrTab))
174168

175-
let startsOnNewline =
176-
child.leadingTrivia.contains(where: \.isNewline)
177-
|| child.previousToken(viewMode: .sourceAccurate)?.trailingTrivia.contains(where: \.isNewline) ?? false
178-
179-
if !startsOnNewline {
169+
if !startsOnNewline(child) {
180170
child.leadingTrivia = indentedNewline + child.leadingTrivia
181171
}
182172
return child
@@ -195,3 +185,8 @@ public class CodeGenerationFormat: BasicFormat {
195185
return formattedChildren
196186
}
197187
}
188+
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
192+
}

0 commit comments

Comments
 (0)