@@ -127,15 +127,15 @@ struct ASTGenVisitor {
127
127
self . legacyParse = legacyParser
128
128
}
129
129
130
- public func generate( _ node: SourceFileSyntax ) -> [ UnsafeMutableRawPointer ] {
131
- var out = [ UnsafeMutableRawPointer ] ( )
130
+ public func generate( sourceFile node: SourceFileSyntax ) -> [ BridgedDecl ] {
131
+ var out = [ BridgedDecl ] ( )
132
132
133
133
for element in node. statements {
134
134
let loc = element. bridgedSourceLoc ( in: self )
135
135
let swiftASTNodes = generate ( codeBlockItem: element)
136
136
switch swiftASTNodes {
137
137
case . decl( let d) :
138
- out. append ( d. raw )
138
+ out. append ( d)
139
139
case . stmt( let s) :
140
140
let topLevelDecl = BridgedTopLevelCodeDecl . createParsed (
141
141
self . ctx,
@@ -144,7 +144,7 @@ struct ASTGenVisitor {
144
144
stmt: s,
145
145
endLoc: loc
146
146
)
147
- out. append ( topLevelDecl. raw )
147
+ out. append ( topLevelDecl. asDecl )
148
148
case . expr( let e) :
149
149
let topLevelDecl = BridgedTopLevelCodeDecl . createParsed (
150
150
self . ctx,
@@ -153,7 +153,7 @@ struct ASTGenVisitor {
153
153
expr: e,
154
154
endLoc: loc
155
155
)
156
- out. append ( topLevelDecl. raw )
156
+ out. append ( topLevelDecl. asDecl )
157
157
default :
158
158
fatalError ( " Top level nodes must be decls, stmts, or exprs. " )
159
159
}
@@ -222,32 +222,32 @@ extension ASTGenVisitor {
222
222
// Misc visits.
223
223
// TODO: Some of these are called within a single file/method; we may want to move them to the respective files.
224
224
extension ASTGenVisitor {
225
- func generate( _ node: some SyntaxChildChoices ) -> ASTNode {
225
+ func generate( choices node: some SyntaxChildChoices ) -> ASTNode {
226
226
return self . generate ( Syntax ( node) )
227
227
}
228
228
229
- public func generate( _ node: MemberBlockItemSyntax ) -> BridgedDecl {
229
+ public func generate( memberBlockItem node: MemberBlockItemSyntax ) -> BridgedDecl {
230
230
generate ( decl: node. decl)
231
231
}
232
232
233
- public func generate( _ node: InitializerClauseSyntax ) -> BridgedExpr {
233
+ public func generate( initializerClause node: InitializerClauseSyntax ) -> BridgedExpr {
234
234
generate ( expr: node. value)
235
235
}
236
236
237
- public func generate( _ node: ConditionElementSyntax ) -> ASTNode {
238
- generate ( node. condition)
237
+ public func generate( conditionElement node: ConditionElementSyntax ) -> ASTNode {
238
+ generate ( choices : node. condition)
239
239
}
240
240
241
241
public func generate( codeBlockItem node: CodeBlockItemSyntax ) -> ASTNode {
242
- generate ( node. item)
242
+ generate ( choices : node. item)
243
243
}
244
244
245
- public func generate( _ node: ArrayElementSyntax ) -> BridgedExpr {
245
+ public func generate( arrayElement node: ArrayElementSyntax ) -> BridgedExpr {
246
246
generate ( expr: node. expression)
247
247
}
248
248
249
249
@inline ( __always)
250
- func generate( _ node: CodeBlockItemListSyntax ) -> BridgedArrayRef {
250
+ func generate( codeBlockItemList node: CodeBlockItemListSyntax ) -> BridgedArrayRef {
251
251
node. lazy. map { self . generate ( codeBlockItem: $0) . bridged } . bridgedArray ( in: self )
252
252
}
253
253
}
@@ -256,7 +256,7 @@ extension ASTGenVisitor {
256
256
// 'self.visit(<expr>)' recursion pattern between optional and non-optional inputs.
257
257
extension ASTGenVisitor {
258
258
@inline ( __always)
259
- func generate( _ node: TypeSyntax ? ) -> BridgedTypeRepr ? {
259
+ func generate( optional node: TypeSyntax ? ) -> BridgedTypeRepr ? {
260
260
guard let node else {
261
261
return nil
262
262
}
@@ -265,7 +265,7 @@ extension ASTGenVisitor {
265
265
}
266
266
267
267
@inline ( __always)
268
- func generate( _ node: ExprSyntax ? ) -> BridgedExpr ? {
268
+ func generate( optional node: ExprSyntax ? ) -> BridgedExpr ? {
269
269
guard let node else {
270
270
return nil
271
271
}
@@ -274,58 +274,57 @@ extension ASTGenVisitor {
274
274
}
275
275
276
276
@inline ( __always)
277
- func generate( _ node: ( some SyntaxChildChoices ) ? ) -> ASTNode ? {
277
+ func generate( optional node: ( some SyntaxChildChoices ) ? ) -> ASTNode ? {
278
278
guard let node else {
279
279
return nil
280
280
}
281
281
282
- // This call recurses without disambiguation.
283
- return self . generate ( node) as ASTNode
282
+ return self . generate ( choices: node)
284
283
}
285
284
286
285
@inline ( __always)
287
- func generate( _ node: GenericParameterClauseSyntax ? ) -> BridgedGenericParamList ? {
286
+ func generate( optional node: GenericParameterClauseSyntax ? ) -> BridgedGenericParamList ? {
288
287
guard let node else {
289
288
return nil
290
289
}
291
290
292
- return self . generate ( node)
291
+ return self . generate ( genericParameterClause : node)
293
292
}
294
293
295
294
@inline ( __always)
296
- func generate( _ node: GenericWhereClauseSyntax ? ) -> BridgedTrailingWhereClause ? {
295
+ func generate( optional node: GenericWhereClauseSyntax ? ) -> BridgedTrailingWhereClause ? {
297
296
guard let node else {
298
297
return nil
299
298
}
300
299
301
- return self . generate ( node)
300
+ return self . generate ( genericWhereClause : node)
302
301
}
303
302
304
303
@inline ( __always)
305
- func generate( _ node: EnumCaseParameterClauseSyntax ? ) -> BridgedParameterList ? {
304
+ func generate( optional node: EnumCaseParameterClauseSyntax ? ) -> BridgedParameterList ? {
306
305
guard let node else {
307
306
return nil
308
307
}
309
308
310
- return self . generate ( node)
309
+ return self . generate ( enumCaseParameterClause : node)
311
310
}
312
311
313
312
@inline ( __always)
314
- func generate( _ node: InheritedTypeListSyntax ? ) -> BridgedArrayRef {
313
+ func generate( optional node: InheritedTypeListSyntax ? ) -> BridgedArrayRef {
315
314
guard let node else {
316
315
return . init( )
317
316
}
318
317
319
- return self . generate ( node)
318
+ return self . generate ( inheritedTypeList : node)
320
319
}
321
320
322
321
@inline ( __always)
323
- func generate( _ node: PrecedenceGroupNameListSyntax ? ) -> BridgedArrayRef {
322
+ func generate( optional node: PrecedenceGroupNameListSyntax ? ) -> BridgedArrayRef {
324
323
guard let node else {
325
324
return . init( )
326
325
}
327
326
328
- return self . generate ( node)
327
+ return self . generate ( precedenceGroupNameList : node)
329
328
}
330
329
}
331
330
@@ -414,8 +413,8 @@ public func buildTopLevelASTNodes(
414
413
astContext: ctx,
415
414
legacyParser: legacyParser
416
415
)
417
- . generate ( sourceFile. pointee. syntax)
418
- . forEach { callback ( $0, outputContext) }
416
+ . generate ( sourceFile: sourceFile . pointee. syntax)
417
+ . forEach { callback ( $0. raw , outputContext) }
419
418
}
420
419
421
420
/// Generate an AST node at the given source location. Returns the generated
0 commit comments