@@ -338,7 +338,7 @@ extension ASTGenVisitor {
338
338
return . createParsed(
339
339
self . ctx,
340
340
atLoc: self . generateSourceLoc ( node. atSign) ,
341
- range: self . generateSourceRange ( node) ,
341
+ range: self . generateAttrSourceRange ( node) ,
342
342
value: value
343
343
)
344
344
}
@@ -375,7 +375,7 @@ extension ASTGenVisitor {
375
375
return . createParsed(
376
376
self . ctx,
377
377
atLoc: self . generateSourceLoc ( node. atSign) ,
378
- range: self . generateSourceRange ( node) ,
378
+ range: self . generateAttrSourceRange ( node) ,
379
379
inverted: inverted,
380
380
features: features)
381
381
}
@@ -397,7 +397,7 @@ extension ASTGenVisitor {
397
397
return . createParsed(
398
398
self . ctx,
399
399
atLoc: self . generateSourceLoc ( node. atSign) ,
400
- range: self . generateSourceRange ( node) ,
400
+ range: self . generateAttrSourceRange ( node) ,
401
401
name: name
402
402
)
403
403
}
@@ -462,14 +462,14 @@ extension ASTGenVisitor {
462
462
return . createParsed(
463
463
self . ctx,
464
464
atLoc: self . generateSourceLoc ( node. atSign) ,
465
- range: self . generateSourceRange ( node) ,
465
+ range: self . generateAttrSourceRange ( node) ,
466
466
effectKind: effectKind
467
467
)
468
468
} else {
469
469
return . createParsed(
470
470
self . ctx,
471
471
atLoc: self . generateSourceLoc ( node. atSign) ,
472
- range: self . generateSourceRange ( node) ,
472
+ range: self . generateAttrSourceRange ( node) ,
473
473
customString: self . extractRawText ( arguments) . bridged,
474
474
customStringLoc: self . generateSourceLoc ( arguments)
475
475
)
@@ -493,7 +493,7 @@ extension ASTGenVisitor {
493
493
return . createParsed(
494
494
self . ctx,
495
495
atLoc: self . generateSourceLoc ( node. atSign) ,
496
- range: self . generateSourceRange ( node) ,
496
+ range: self . generateAttrSourceRange ( node) ,
497
497
mode: mode
498
498
)
499
499
}
@@ -521,7 +521,7 @@ extension ASTGenVisitor {
521
521
return . createParsed(
522
522
self . ctx,
523
523
atLoc: self . generateSourceLoc ( node. atSign) ,
524
- range: self . generateSourceRange ( node) ,
524
+ range: self . generateAttrSourceRange ( node) ,
525
525
name: name,
526
526
kind: kind
527
527
)
@@ -568,7 +568,7 @@ extension ASTGenVisitor {
568
568
return . createParsed(
569
569
self . ctx,
570
570
atLoc: self . generateSourceLoc ( node. atSign) ,
571
- range: self . generateSourceRange ( node) ,
571
+ range: self . generateAttrSourceRange ( node) ,
572
572
lParenLoc: self . generateSourceLoc ( node. leftParen) ,
573
573
rParenLoc: self . generateSourceLoc ( node. rightParen) ,
574
574
kind: kind,
@@ -587,7 +587,7 @@ extension ASTGenVisitor {
587
587
return . createParsed(
588
588
self . ctx,
589
589
atLoc: self . generateSourceLoc ( node. atSign) ,
590
- range: self . generateSourceRange ( node) ,
590
+ range: self . generateAttrSourceRange ( node) ,
591
591
name: name
592
592
)
593
593
}
@@ -608,7 +608,7 @@ extension ASTGenVisitor {
608
608
return . createParsed(
609
609
self . ctx,
610
610
atLoc: self . generateSourceLoc ( node. atSign) ,
611
- range: self . generateSourceRange ( node) ,
611
+ range: self . generateAttrSourceRange ( node) ,
612
612
protocolType: type,
613
613
memberName: member. name,
614
614
memberNameLoc: member. loc
@@ -632,7 +632,7 @@ extension ASTGenVisitor {
632
632
return . createParsed(
633
633
self . ctx,
634
634
atLoc: self . generateSourceLoc ( node. atSign) ,
635
- range: self . generateSourceRange ( node) ,
635
+ range: self . generateAttrSourceRange ( node) ,
636
636
kind: kind
637
637
)
638
638
}
@@ -799,7 +799,7 @@ extension ASTGenVisitor {
799
799
return . createParsed(
800
800
self . ctx,
801
801
atLoc: self . generateSourceLoc ( node. atSign) ,
802
- range: self . generateSourceRange ( node) ,
802
+ range: self . generateAttrSourceRange ( node) ,
803
803
syntax: syntax,
804
804
lParenLoc: self . generateSourceLoc ( node. leftParen) ,
805
805
role: role,
@@ -827,7 +827,7 @@ extension ASTGenVisitor {
827
827
return . createParsed(
828
828
self . ctx,
829
829
atLoc: self . generateSourceLoc ( node. atSign) ,
830
- range: self . generateSourceRange ( node) ,
830
+ range: self . generateAttrSourceRange ( node) ,
831
831
kind: kind
832
832
)
833
833
}
@@ -889,7 +889,7 @@ extension ASTGenVisitor {
889
889
return . createParsed(
890
890
self . ctx,
891
891
atLoc: self . generateSourceLoc ( node. atSign) ,
892
- range: self . generateSourceRange ( node) ,
892
+ range: self . generateAttrSourceRange ( node) ,
893
893
name: name,
894
894
isEarlyAdopter: isEarlyAdopter
895
895
)
@@ -907,7 +907,7 @@ extension ASTGenVisitor {
907
907
return . createParsed(
908
908
self . ctx,
909
909
atLoc: self . generateSourceLoc ( node. atSign) ,
910
- range: self . generateSourceRange ( node) ,
910
+ range: self . generateAttrSourceRange ( node) ,
911
911
name: name
912
912
)
913
913
}
@@ -930,7 +930,7 @@ extension ASTGenVisitor {
930
930
return . createParsed(
931
931
self . ctx,
932
932
atLoc: self . generateSourceLoc ( node. atSign) ,
933
- range: self . generateSourceRange ( node) ,
933
+ range: self . generateAttrSourceRange ( node) ,
934
934
mode: mode
935
935
)
936
936
}
@@ -983,7 +983,7 @@ extension ASTGenVisitor {
983
983
return . createParsed(
984
984
self . ctx,
985
985
atLoc: self . generateSourceLoc ( node. atSign) ,
986
- range: self . generateSourceRange ( node) ,
986
+ range: self . generateAttrSourceRange ( node) ,
987
987
name: name
988
988
)
989
989
}
@@ -1014,7 +1014,7 @@ extension ASTGenVisitor {
1014
1014
return . createParsed(
1015
1015
self . ctx,
1016
1016
atLoc: self . generateSourceLoc ( node. atSign) ,
1017
- range: self . generateSourceRange ( node) ,
1017
+ range: self . generateAttrSourceRange ( node) ,
1018
1018
kind: kind
1019
1019
)
1020
1020
}
@@ -1069,7 +1069,7 @@ extension ASTGenVisitor {
1069
1069
return . createParsed(
1070
1070
self . ctx,
1071
1071
atLoc: self . generateSourceLoc ( node. atSign) ,
1072
- range: self . generateSourceRange ( node) ,
1072
+ range: self . generateAttrSourceRange ( node) ,
1073
1073
name: name,
1074
1074
isRaw: isRaw
1075
1075
)
@@ -1086,7 +1086,7 @@ extension ASTGenVisitor {
1086
1086
return . createParsed(
1087
1087
self . ctx,
1088
1088
atLoc: self . generateSourceLoc ( node. atSign) ,
1089
- range: self . generateSourceRange ( node) ,
1089
+ range: self . generateAttrSourceRange ( node) ,
1090
1090
spiGroupName: spiName
1091
1091
)
1092
1092
}
@@ -1101,7 +1101,7 @@ extension ASTGenVisitor {
1101
1101
return . createParsed(
1102
1102
self . ctx,
1103
1103
atLoc: self . generateSourceLoc ( node. atSign) ,
1104
- range: self . generateSourceRange ( node) ,
1104
+ range: self . generateAttrSourceRange ( node) ,
1105
1105
name: name
1106
1106
)
1107
1107
}
@@ -1156,6 +1156,13 @@ extension ASTGenVisitor {
1156
1156
)
1157
1157
}
1158
1158
1159
+ func generateAttrSourceRange( _ node: AttributeSyntax ) -> BridgedSourceRange {
1160
+ guard let firstNameTok = node. attributeName. firstToken ( viewMode: . sourceAccurate) else {
1161
+ return BridgedSourceRange ( )
1162
+ }
1163
+ return self . generateSourceRange ( start: firstNameTok, end: node. lastToken ( viewMode: . sourceAccurate) !)
1164
+ }
1165
+
1159
1166
func generateStringLiteralTextIfNotInterpolated( expr node: some ExprSyntaxProtocol ) -> BridgedStringRef ? {
1160
1167
if let segments = node. as ( SimpleStringLiteralExprSyntax . self) ? . segments {
1161
1168
return extractRawText ( segments) . bridged
0 commit comments