@@ -127,15 +127,15 @@ struct ASTGenVisitor {
127127 self . legacyParse = legacyParser
128128 }
129129
130- public func generate( _ node: SourceFileSyntax ) -> [ UnsafeMutableRawPointer ] {
131- var out = [ UnsafeMutableRawPointer ] ( )
130+ public func generate( sourceFile node: SourceFileSyntax ) -> [ BridgedDecl ] {
131+ var out = [ BridgedDecl ] ( )
132132
133133 for element in node. statements {
134134 let loc = element. bridgedSourceLoc ( in: self )
135135 let swiftASTNodes = generate ( codeBlockItem: element)
136136 switch swiftASTNodes {
137137 case . decl( let d) :
138- out. append ( d. raw )
138+ out. append ( d)
139139 case . stmt( let s) :
140140 let topLevelDecl = BridgedTopLevelCodeDecl . createParsed (
141141 self . ctx,
@@ -144,7 +144,7 @@ struct ASTGenVisitor {
144144 stmt: s,
145145 endLoc: loc
146146 )
147- out. append ( topLevelDecl. raw )
147+ out. append ( topLevelDecl. asDecl )
148148 case . expr( let e) :
149149 let topLevelDecl = BridgedTopLevelCodeDecl . createParsed (
150150 self . ctx,
@@ -153,7 +153,7 @@ struct ASTGenVisitor {
153153 expr: e,
154154 endLoc: loc
155155 )
156- out. append ( topLevelDecl. raw )
156+ out. append ( topLevelDecl. asDecl )
157157 default :
158158 fatalError ( " Top level nodes must be decls, stmts, or exprs. " )
159159 }
@@ -222,32 +222,32 @@ extension ASTGenVisitor {
222222// Misc visits.
223223// TODO: Some of these are called within a single file/method; we may want to move them to the respective files.
224224extension ASTGenVisitor {
225- func generate( _ node: some SyntaxChildChoices ) -> ASTNode {
225+ func generate( choices node: some SyntaxChildChoices ) -> ASTNode {
226226 return self . generate ( Syntax ( node) )
227227 }
228228
229- public func generate( _ node: MemberBlockItemSyntax ) -> BridgedDecl {
229+ public func generate( memberBlockItem node: MemberBlockItemSyntax ) -> BridgedDecl {
230230 generate ( decl: node. decl)
231231 }
232232
233- public func generate( _ node: InitializerClauseSyntax ) -> BridgedExpr {
233+ public func generate( initializerClause node: InitializerClauseSyntax ) -> BridgedExpr {
234234 generate ( expr: node. value)
235235 }
236236
237- public func generate( _ node: ConditionElementSyntax ) -> ASTNode {
238- generate ( node. condition)
237+ public func generate( conditionElement node: ConditionElementSyntax ) -> ASTNode {
238+ generate ( choices : node. condition)
239239 }
240240
241241 public func generate( codeBlockItem node: CodeBlockItemSyntax ) -> ASTNode {
242- generate ( node. item)
242+ generate ( choices : node. item)
243243 }
244244
245- public func generate( _ node: ArrayElementSyntax ) -> BridgedExpr {
245+ public func generate( arrayElement node: ArrayElementSyntax ) -> BridgedExpr {
246246 generate ( expr: node. expression)
247247 }
248248
249249 @inline ( __always)
250- func generate( _ node: CodeBlockItemListSyntax ) -> BridgedArrayRef {
250+ func generate( codeBlockItemList node: CodeBlockItemListSyntax ) -> BridgedArrayRef {
251251 node. lazy. map { self . generate ( codeBlockItem: $0) . bridged } . bridgedArray ( in: self )
252252 }
253253}
@@ -256,7 +256,7 @@ extension ASTGenVisitor {
256256// 'self.visit(<expr>)' recursion pattern between optional and non-optional inputs.
257257extension ASTGenVisitor {
258258 @inline ( __always)
259- func generate( _ node: TypeSyntax ? ) -> BridgedTypeRepr ? {
259+ func generate( optional node: TypeSyntax ? ) -> BridgedTypeRepr ? {
260260 guard let node else {
261261 return nil
262262 }
@@ -265,7 +265,7 @@ extension ASTGenVisitor {
265265 }
266266
267267 @inline ( __always)
268- func generate( _ node: ExprSyntax ? ) -> BridgedExpr ? {
268+ func generate( optional node: ExprSyntax ? ) -> BridgedExpr ? {
269269 guard let node else {
270270 return nil
271271 }
@@ -274,58 +274,57 @@ extension ASTGenVisitor {
274274 }
275275
276276 @inline ( __always)
277- func generate( _ node: ( some SyntaxChildChoices ) ? ) -> ASTNode ? {
277+ func generate( optional node: ( some SyntaxChildChoices ) ? ) -> ASTNode ? {
278278 guard let node else {
279279 return nil
280280 }
281281
282- // This call recurses without disambiguation.
283- return self . generate ( node) as ASTNode
282+ return self . generate ( choices: node)
284283 }
285284
286285 @inline ( __always)
287- func generate( _ node: GenericParameterClauseSyntax ? ) -> BridgedGenericParamList ? {
286+ func generate( optional node: GenericParameterClauseSyntax ? ) -> BridgedGenericParamList ? {
288287 guard let node else {
289288 return nil
290289 }
291290
292- return self . generate ( node)
291+ return self . generate ( genericParameterClause : node)
293292 }
294293
295294 @inline ( __always)
296- func generate( _ node: GenericWhereClauseSyntax ? ) -> BridgedTrailingWhereClause ? {
295+ func generate( optional node: GenericWhereClauseSyntax ? ) -> BridgedTrailingWhereClause ? {
297296 guard let node else {
298297 return nil
299298 }
300299
301- return self . generate ( node)
300+ return self . generate ( genericWhereClause : node)
302301 }
303302
304303 @inline ( __always)
305- func generate( _ node: EnumCaseParameterClauseSyntax ? ) -> BridgedParameterList ? {
304+ func generate( optional node: EnumCaseParameterClauseSyntax ? ) -> BridgedParameterList ? {
306305 guard let node else {
307306 return nil
308307 }
309308
310- return self . generate ( node)
309+ return self . generate ( enumCaseParameterClause : node)
311310 }
312311
313312 @inline ( __always)
314- func generate( _ node: InheritedTypeListSyntax ? ) -> BridgedArrayRef {
313+ func generate( optional node: InheritedTypeListSyntax ? ) -> BridgedArrayRef {
315314 guard let node else {
316315 return . init( )
317316 }
318317
319- return self . generate ( node)
318+ return self . generate ( inheritedTypeList : node)
320319 }
321320
322321 @inline ( __always)
323- func generate( _ node: PrecedenceGroupNameListSyntax ? ) -> BridgedArrayRef {
322+ func generate( optional node: PrecedenceGroupNameListSyntax ? ) -> BridgedArrayRef {
324323 guard let node else {
325324 return . init( )
326325 }
327326
328- return self . generate ( node)
327+ return self . generate ( precedenceGroupNameList : node)
329328 }
330329}
331330
@@ -414,8 +413,8 @@ public func buildTopLevelASTNodes(
414413 astContext: ctx,
415414 legacyParser: legacyParser
416415 )
417- . generate ( sourceFile. pointee. syntax)
418- . forEach { callback ( $0, outputContext) }
416+ . generate ( sourceFile: sourceFile . pointee. syntax)
417+ . forEach { callback ( $0. raw , outputContext) }
419418}
420419
421420/// Generate an AST node at the given source location. Returns the generated
0 commit comments