@@ -269,15 +269,24 @@ final class SyntacticSwiftTestingTestScanner: SyntaxVisitor {
269269 }
270270
271271 override func visit( _ node: ActorDeclSyntax ) -> SyntaxVisitorContinueKind {
272- return visitTypeOrExtensionDecl ( node, typeNames: [ node. name. text] )
272+ guard let identifier = node. name. identifier else {
273+ return . skipChildren
274+ }
275+ return visitTypeOrExtensionDecl ( node, typeNames: [ identifier. name] )
273276 }
274277
275278 override func visit( _ node: ClassDeclSyntax ) -> SyntaxVisitorContinueKind {
276- return visitTypeOrExtensionDecl ( node, typeNames: [ node. name. text] )
279+ guard let identifier = node. name. identifier else {
280+ return . skipChildren
281+ }
282+ return visitTypeOrExtensionDecl ( node, typeNames: [ identifier. name] )
277283 }
278284
279285 override func visit( _ node: EnumDeclSyntax ) -> SyntaxVisitorContinueKind {
280- return visitTypeOrExtensionDecl ( node, typeNames: [ node. name. text] )
286+ guard let identifier = node. name. identifier else {
287+ return . skipChildren
288+ }
289+ return visitTypeOrExtensionDecl ( node, typeNames: [ identifier. name] )
281290 }
282291
283292 override func visit( _ node: ExtensionDeclSyntax ) -> SyntaxVisitorContinueKind {
@@ -289,24 +298,29 @@ final class SyntacticSwiftTestingTestScanner: SyntaxVisitor {
289298 }
290299
291300 override func visit( _ node: StructDeclSyntax ) -> SyntaxVisitorContinueKind {
292- return visitTypeOrExtensionDecl ( node, typeNames: [ node. name. text] )
301+ guard let identifier = node. name. identifier else {
302+ return . skipChildren
303+ }
304+ return visitTypeOrExtensionDecl ( node, typeNames: [ identifier. name] )
293305 }
294306
295307 override func visit( _ node: FunctionDeclSyntax ) -> SyntaxVisitorContinueKind {
296308 let testAttribute = node. attributes
297309 . compactMap { $0. as ( AttributeSyntax . self) }
298310 . first { $0. isNamed ( " Test " , inModuleNamed: " Testing " ) }
299311
300- guard let testAttribute else {
312+ guard let testAttribute, let identifier = node . name . identifier else {
301313 return . skipChildren
302314 }
303315 let attributeData = TestingAttributeData ( attribute: testAttribute)
304316 if attributeData. isHidden {
305317 return . skipChildren
306318 }
307319
308- let name =
309- node. name. text + " ( " + node. signature. parameterClause. parameters. map { " \( $0. firstName. text) : " } . joined ( ) + " ) "
320+ let parameters = node. signature. parameterClause. parameters. map {
321+ " \( $0. firstName. identifier? . name ?? $0. firstName. text) : "
322+ } . joined ( )
323+ let name = " \( identifier. name) ( \( parameters) ) "
310324
311325 let range = snapshot. absolutePositionRange (
312326 of: node. positionAfterSkippingLeadingTrivia..< node. endPositionBeforeTrailingTrivia
@@ -398,12 +412,12 @@ fileprivate extension TypeSyntax {
398412 var components : [ String ] ? {
399413 switch self . as ( TypeSyntaxEnum . self) {
400414 case . identifierType( let identifierType) :
401- return [ identifierType. name. text]
415+ return [ identifierType. name. identifier ? . name ?? identifierType . name . text]
402416 case . memberType( let memberType) :
403417 guard let baseComponents = memberType. baseType. components else {
404418 return nil
405419 }
406- return baseComponents + [ memberType. name. text]
420+ return baseComponents + [ memberType. name. identifier ? . name ?? memberType . name . text]
407421 default :
408422 return nil
409423 }
0 commit comments