File tree Expand file tree Collapse file tree 3 files changed +37
-3
lines changed Expand file tree Collapse file tree 3 files changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -1342,6 +1342,13 @@ BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed(
1342
1342
BridgedASTContext cContext, BridgedSourceLoc cAsLoc,
1343
1343
BridgedSourceLoc cExclaimLoc, BridgedTypeRepr cType);
1344
1344
1345
+ SWIFT_NAME (" BridgedUnresolvedSpecializeExpr.createParsed(_:subExpr:lAngleLoc:"
1346
+ " arguments:rAngleLoc:)" )
1347
+ BridgedUnresolvedSpecializeExpr BridgedUnresolvedSpecializeExpr_createParsed(
1348
+ BridgedASTContext cContext, BridgedExpr cSubExpr,
1349
+ BridgedSourceLoc cLAngleLoc, BridgedArrayRef cArguments,
1350
+ BridgedSourceLoc cRAngleLoc);
1351
+
1345
1352
SWIFT_NAME (" BridgedInOutExpr.createParsed(_:loc:subExpr:)" )
1346
1353
BridgedInOutExpr BridgedInOutExpr_createParsed(BridgedASTContext cContext,
1347
1354
BridgedSourceLoc cLoc,
Original file line number Diff line number Diff line change @@ -228,7 +228,17 @@ BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed(
228
228
cType.unbridged ());
229
229
}
230
230
231
- SWIFT_NAME (" InOutExpr.createParsed(_:loc:subExpr:)" )
231
+ BridgedUnresolvedSpecializeExpr BridgedUnresolvedSpecializeExpr_createParsed (
232
+ BridgedASTContext cContext, BridgedExpr cSubExpr,
233
+ BridgedSourceLoc cLAngleLoc, BridgedArrayRef cArguments,
234
+ BridgedSourceLoc cRAngleLoc) {
235
+
236
+ ASTContext &context = cContext.unbridged ();
237
+ return UnresolvedSpecializeExpr::create (
238
+ cContext.unbridged (), cSubExpr.unbridged (), cLAngleLoc.unbridged (),
239
+ cArguments.unbridged <TypeRepr *>(), cRAngleLoc.unbridged ());
240
+ }
241
+
232
242
BridgedInOutExpr BridgedInOutExpr_createParsed (BridgedASTContext cContext,
233
243
BridgedSourceLoc cLoc,
234
244
BridgedExpr cSubExpr) {
Original file line number Diff line number Diff line change @@ -117,8 +117,8 @@ extension ASTGenVisitor {
117
117
break
118
118
case . functionCallExpr( let node) :
119
119
return self . generate ( functionCallExpr: node) . asExpr
120
- case . genericSpecializationExpr:
121
- break
120
+ case . genericSpecializationExpr( let node ) :
121
+ return self . generate ( genericSpecializationExpr : node ) . asExpr
122
122
case . ifExpr( let node) :
123
123
return self . generate ( ifExpr: node) . asExpr
124
124
case . inOutExpr( let node) :
@@ -476,6 +476,23 @@ extension ASTGenVisitor {
476
476
}
477
477
}
478
478
479
+ func generate( genericSpecializationExpr node: GenericSpecializationExprSyntax ) -> BridgedUnresolvedSpecializeExpr {
480
+ let base = self . generate ( expr: node. expression)
481
+ let generics = node. genericArgumentClause
482
+ let lAngleLoc = self . generateSourceLoc ( generics. leftAngle)
483
+ let genericArguments = generics. arguments. lazy. map {
484
+ self . generate ( type: $0. argument)
485
+ }
486
+ let rAngleLoc = self . generateSourceLoc ( generics. rightAngle)
487
+ return . createParsed(
488
+ self . ctx,
489
+ subExpr: base,
490
+ lAngleLoc: lAngleLoc,
491
+ arguments: genericArguments. bridgedArray ( in: self ) ,
492
+ rAngleLoc: rAngleLoc
493
+ )
494
+ }
495
+
479
496
func generate( packElementExpr node: PackElementExprSyntax ) -> BridgedPackElementExpr {
480
497
return . createParsed(
481
498
self . ctx,
You can’t perform that action at this time.
0 commit comments