Skip to content

Commit bfb36e4

Browse files
authored
Merge pull request #69325 from hamishknight/rm-rf
2 parents aa6a588 + 5d105f1 commit bfb36e4

15 files changed

+366
-223
lines changed

lib/ASTGen/.swift-format

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"version": 1,
3+
"lineLength": 120,
4+
"indentation": {
5+
"spaces": 2
6+
},
7+
"lineBreakBeforeEachArgument": true,
8+
"indentConditionalCompilationBlocks": false,
9+
"rules": {
10+
"AlwaysUseLowerCamelCase": false,
11+
"AmbiguousTrailingClosureOverload": false,
12+
"NoBlockComments": false,
13+
"OrderedImports": true,
14+
"UseLetInEveryBoundCaseVariable": false,
15+
"UseSynthesizedInitializer": false
16+
}
17+
}

lib/ASTGen/Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ let package = Package(
4242
.product(name: "SwiftSyntaxBuilder", package: "swift-syntax"),
4343
.product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
4444
.product(name: "SwiftSyntaxMacroExpansion", package: "swift-syntax"),
45-
"swiftLLVMJSON"
45+
"swiftLLVMJSON",
4646
],
4747
path: "Sources/ASTGen",
4848
swiftSettings: swiftSetttings

lib/ASTGen/Sources/ASTGen/ASTGen.swift

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import CASTBridging
22
import CBasicBridging
3-
43
// Needed to use BumpPtrAllocator
5-
@_spi(BumpPtrAllocator)
6-
import SwiftSyntax
4+
@_spi(BumpPtrAllocator) import SwiftSyntax
5+
76
import struct SwiftDiagnostics.Diagnostic
87

98
extension UnsafePointer {
@@ -107,13 +106,19 @@ struct ASTGenVisitor {
107106
out.append(d.raw)
108107
case .stmt(let s):
109108
let topLevelDecl = BridgedTopLevelCodeDecl.createParsed(
110-
self.ctx, declContext: self.declContext, startLoc: loc, stmt: s,
109+
self.ctx,
110+
declContext: self.declContext,
111+
startLoc: loc,
112+
stmt: s,
111113
endLoc: loc
112114
)
113115
out.append(topLevelDecl.raw)
114116
case .expr(let e):
115117
let topLevelDecl = BridgedTopLevelCodeDecl.createParsed(
116-
self.ctx, declContext: self.declContext, startLoc: loc, expr: e,
118+
self.ctx,
119+
declContext: self.declContext,
120+
startLoc: loc,
121+
expr: e,
117122
endLoc: loc
118123
)
119124
out.append(topLevelDecl.raw)
@@ -174,7 +179,7 @@ extension ASTGenVisitor {
174179
func generate(_ node: some SyntaxChildChoices) -> ASTNode {
175180
return self.generate(Syntax(node))
176181
}
177-
182+
178183
func generate(_ node: Syntax) -> ASTNode {
179184
switch node.as(SyntaxEnum.self) {
180185
case .actorDecl(let node):

lib/ASTGen/Sources/ASTGen/Bridge.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ extension Optional where Wrapped: SyntaxProtocol {
9090
guard let self else {
9191
return nil
9292
}
93-
93+
9494
return self.bridgedSourceLoc(in: astgen)
9595
}
9696
}

lib/ASTGen/Sources/ASTGen/Decls.swift

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import CASTBridging
2-
3-
@_spi(ExperimentalLanguageFeatures)
4-
import SwiftSyntax
52
import SwiftDiagnostics
3+
@_spi(ExperimentalLanguageFeatures) import SwiftSyntax
64

75
// MARK: - TypeDecl
86

@@ -37,7 +35,7 @@ extension ASTGenVisitor {
3735
genericWhereClause: self.generate(node.genericWhereClause),
3836
braceRange: BridgedSourceRange(
3937
startToken: node.memberBlock.leftBrace,
40-
endToken: node.memberBlock.rightBrace,
38+
endToken: node.memberBlock.rightBrace,
4139
in: self
4240
)
4341
)
@@ -63,7 +61,7 @@ extension ASTGenVisitor {
6361
genericWhereClause: self.generate(node.genericWhereClause),
6462
braceRange: BridgedSourceRange(
6563
startToken: node.memberBlock.leftBrace,
66-
endToken: node.memberBlock.rightBrace,
64+
endToken: node.memberBlock.rightBrace,
6765
in: self
6866
)
6967
)
@@ -339,14 +337,17 @@ extension BridgedOperatorFixity {
339337
extension ASTGenVisitor {
340338
func generate(_ node: OperatorDeclSyntax) -> BridgedOperatorDecl {
341339
let (name, nameLoc) = node.name.bridgedIdentifierAndSourceLoc(in: self)
342-
let (precedenceGroupName, precedenceGroupLoc) = (node.operatorPrecedenceAndTypes?.precedenceGroup).bridgedIdentifierAndSourceLoc(in: self)
340+
let (precedenceGroupName, precedenceGroupLoc) = (node.operatorPrecedenceAndTypes?.precedenceGroup)
341+
.bridgedIdentifierAndSourceLoc(in: self)
343342

344343
let fixity: BridgedOperatorFixity
345344
if let value = BridgedOperatorFixity(from: node.fixitySpecifier.tokenKind) {
346345
fixity = value
347346
} else {
348347
fixity = .infix
349-
self.diagnose(Diagnostic(node: node.fixitySpecifier, message: UnexpectedTokenKindError(token: node.fixitySpecifier)))
348+
self.diagnose(
349+
Diagnostic(node: node.fixitySpecifier, message: UnexpectedTokenKindError(token: node.fixitySpecifier))
350+
)
350351
}
351352

352353
return .createParsed(
@@ -388,7 +389,9 @@ extension ASTGenVisitor {
388389
}
389390

390391
func diagnoseDuplicateSyntax(_ duplicate: some SyntaxProtocol, original: some SyntaxProtocol) {
391-
self.diagnose(Diagnostic(node: duplicate, message: DuplicateSyntaxError(duplicate: duplicate, original: original)))
392+
self.diagnose(
393+
Diagnostic(node: duplicate, message: DuplicateSyntaxError(duplicate: duplicate, original: original))
394+
)
392395
}
393396

394397
let body = node.groupAttributes.reduce(into: PrecedenceGroupBody()) { body, element in

lib/ASTGen/Sources/ASTGen/Diagnostics.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ struct DuplicateSyntaxError: ASTGenError {
7676
init(duplicate: some SyntaxProtocol, original: some SyntaxProtocol) {
7777
precondition(duplicate.kind == original.kind, "Expected duplicate and original to be of same kind")
7878

79-
guard let duplicateParent = duplicate.parent, let originalParent = original.parent, duplicateParent == originalParent, duplicateParent.kind.isSyntaxCollection else {
79+
guard let duplicateParent = duplicate.parent, let originalParent = original.parent,
80+
duplicateParent == originalParent, duplicateParent.kind.isSyntaxCollection
81+
else {
8082
preconditionFailure("Expected a shared syntax collection parent")
8183
}
8284

lib/ASTGen/Sources/ASTGen/DiagnosticsBridge.swift

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ fileprivate func emitDiagnosticParts(
5252
case .replaceLeadingTrivia(let oldToken, let newTrivia):
5353
replaceStartLoc = bridgedSourceLoc(at: oldToken.position)
5454
replaceEndLoc = bridgedSourceLoc(
55-
at: oldToken.positionAfterSkippingLeadingTrivia)
55+
at: oldToken.positionAfterSkippingLeadingTrivia
56+
)
5657
newText = newTrivia.description
5758

5859
case .replaceTrailingTrivia(let oldToken, let newTrivia):
@@ -63,7 +64,8 @@ fileprivate func emitDiagnosticParts(
6364

6465
newText.withBridgedString { bridgedMessage in
6566
diag.fixItReplace(
66-
start: replaceStartLoc, end: replaceEndLoc,
67+
start: replaceStartLoc,
68+
end: replaceEndLoc,
6769
replacement: bridgedMessage
6870
)
6971
}
@@ -117,11 +119,11 @@ func emitDiagnostic(
117119
extension DiagnosticSeverity {
118120
var bridged: BridgedDiagnosticSeverity {
119121
switch self {
120-
case .error: return .error
121-
case .note: return .note
122-
case .warning: return .warning
123-
case .remark: return .remark
124-
@unknown default: return .error
122+
case .error: return .error
123+
case .note: return .note
124+
case .warning: return .warning
125+
case .remark: return .remark
126+
@unknown default: return .error
125127
}
126128
}
127129
}
@@ -186,7 +188,8 @@ extension SourceManager {
186188
case .replaceTrailingTrivia(let oldToken, let newTrivia):
187189
replaceStartLoc = bridgedSourceLoc(
188190
for: oldToken,
189-
at: oldToken.endPositionBeforeTrailingTrivia)
191+
at: oldToken.endPositionBeforeTrailingTrivia
192+
)
190193
replaceEndLoc = bridgedSourceLoc(
191194
for: oldToken,
192195
at: oldToken.endPosition
@@ -196,7 +199,8 @@ extension SourceManager {
196199

197200
newText.withBridgedString { bridgedMessage in
198201
diag.fixItReplace(
199-
start: replaceStartLoc, end: replaceEndLoc,
202+
start: replaceStartLoc,
203+
end: replaceEndLoc,
200204
replacement: bridgedMessage
201205
)
202206
}
@@ -222,11 +226,11 @@ extension SourceManager {
222226
// Emit Fix-Its.
223227
for fixIt in diagnostic.fixIts {
224228
diagnoseSingle(
225-
message: fixIt.message.message,
226-
severity: .note,
227-
node: diagnostic.node,
228-
position: diagnostic.position,
229-
fixItChanges: fixIt.changes
229+
message: fixIt.message.message,
230+
severity: .note,
231+
node: diagnostic.node,
232+
position: diagnostic.position,
233+
fixItChanges: fixIt.changes
230234
)
231235
}
232236

@@ -315,7 +319,8 @@ public func addQueuedSourceFile(
315319
// Determine the parent link, for a child buffer.
316320
let parent: (GroupedDiagnostics.SourceFileID, AbsolutePosition)?
317321
if parentID >= 0,
318-
let parentSourceFileID = queuedDiagnostics.pointee.sourceFileIDs[parentID] {
322+
let parentSourceFileID = queuedDiagnostics.pointee.sourceFileIDs[parentID]
323+
{
319324
parent = (parentSourceFileID.pointee, AbsolutePosition(utf8Offset: positionInParent))
320325
} else {
321326
parent = nil
@@ -387,17 +392,20 @@ public func addQueuedDiagnostic(
387392
// Map the highlights.
388393
var highlights: [Syntax] = []
389394
let highlightRanges = UnsafeBufferPointer<BridgedSourceLoc>(
390-
start: highlightRangesPtr, count: numHighlightRanges * 2
395+
start: highlightRangesPtr,
396+
count: numHighlightRanges * 2
391397
)
392398
for index in 0..<numHighlightRanges {
393399
// Make sure both the start and the end land within this source file.
394400
guard let start = highlightRanges[index * 2].raw,
395-
let end = highlightRanges[index * 2 + 1].raw else {
401+
let end = highlightRanges[index * 2 + 1].raw
402+
else {
396403
continue
397404
}
398405

399406
guard start >= sourceFileBaseAddress && start < sourceFileEndAddress,
400-
end >= sourceFileBaseAddress && end <= sourceFileEndAddress else {
407+
end >= sourceFileBaseAddress && end <= sourceFileEndAddress
408+
else {
401409
continue
402410
}
403411

@@ -414,8 +422,9 @@ public func addQueuedDiagnostic(
414422
while true {
415423
// If this syntax matches our starting/ending positions, add the
416424
// highlight and we're done.
417-
if highlightSyntax.positionAfterSkippingLeadingTrivia == startPos &&
418-
highlightSyntax.endPositionBeforeTrailingTrivia == endPos {
425+
if highlightSyntax.positionAfterSkippingLeadingTrivia == startPos
426+
&& highlightSyntax.endPositionBeforeTrailingTrivia == endPos
427+
{
419428
highlights.append(highlightSyntax)
420429
break
421430
}

lib/ASTGen/Sources/ASTGen/Exprs.swift

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import CASTBridging
2-
import SwiftSyntax
32
import SwiftDiagnostics
3+
import SwiftSyntax
44

55
extension ASTGenVisitor {
66
public func generate(_ node: ClosureExprSyntax) -> BridgedClosureExpr {
@@ -18,10 +18,14 @@ extension ASTGenVisitor {
1818
public func generate(_ node: FunctionCallExprSyntax) -> BridgedCallExpr {
1919
if !node.arguments.isEmpty || node.trailingClosure == nil {
2020
if node.leftParen == nil {
21-
self.diagnose(Diagnostic(node: node, message: MissingChildTokenError(parent: node, kindOfTokenMissing: .leftParen)))
21+
self.diagnose(
22+
Diagnostic(node: node, message: MissingChildTokenError(parent: node, kindOfTokenMissing: .leftParen))
23+
)
2224
}
2325
if node.rightParen == nil {
24-
self.diagnose(Diagnostic(node: node, message: MissingChildTokenError(parent: node, kindOfTokenMissing: .rightParen)))
26+
self.diagnose(
27+
Diagnostic(node: node, message: MissingChildTokenError(parent: node, kindOfTokenMissing: .rightParen))
28+
)
2529
}
2630
}
2731

@@ -30,14 +34,20 @@ extension ASTGenVisitor {
3034
// Transform the trailing closure into an argument.
3135
if let trailingClosure = node.trailingClosure {
3236
let tupleElement = LabeledExprSyntax(
33-
label: nil, colon: nil, expression: ExprSyntax(trailingClosure), trailingComma: nil)
37+
label: nil,
38+
colon: nil,
39+
expression: ExprSyntax(trailingClosure),
40+
trailingComma: nil
41+
)
3442

3543
node.arguments.append(tupleElement)
3644
node.trailingClosure = nil
3745
}
3846

3947
let argumentTuple = self.generate(
40-
node.arguments, leftParen: node.leftParen, rightParen: node.rightParen
48+
node.arguments,
49+
leftParen: node.leftParen,
50+
rightParen: node.rightParen
4151
)
4252
let callee = generate(node.calledExpression)
4353

@@ -69,7 +79,10 @@ extension ASTGenVisitor {
6979

7080
// Wrap in a SingleValueStmtExpr to embed as an expression.
7181
return .createWithWrappedBranches(
72-
ctx, stmt: stmt, declContext: declContext, mustBeExpr: true
82+
ctx,
83+
stmt: stmt,
84+
declContext: declContext,
85+
mustBeExpr: true
7386
)
7487
}
7588

@@ -94,7 +107,7 @@ extension ASTGenVisitor {
94107

95108
return $0.bridgedSourceLoc(in: self)
96109
}
97-
110+
98111
return BridgedTupleExpr.createParsed(
99112
self.ctx,
100113
leftParenLoc: leftParen.bridgedSourceLoc(in: self),

0 commit comments

Comments
 (0)