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(
13421342 BridgedASTContext cContext, BridgedSourceLoc cAsLoc,
13431343 BridgedSourceLoc cExclaimLoc, BridgedTypeRepr cType);
13441344
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+
13451352SWIFT_NAME (" BridgedInOutExpr.createParsed(_:loc:subExpr:)" )
13461353BridgedInOutExpr BridgedInOutExpr_createParsed(BridgedASTContext cContext,
13471354 BridgedSourceLoc cLoc,
Original file line number Diff line number Diff line change @@ -228,7 +228,17 @@ BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed(
228228 cType.unbridged ());
229229}
230230
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+
232242BridgedInOutExpr BridgedInOutExpr_createParsed (BridgedASTContext cContext,
233243 BridgedSourceLoc cLoc,
234244 BridgedExpr cSubExpr) {
Original file line number Diff line number Diff line change @@ -117,8 +117,8 @@ extension ASTGenVisitor {
117117 break
118118 case . functionCallExpr( let node) :
119119 return self . generate ( functionCallExpr: node) . asExpr
120- case . genericSpecializationExpr:
121- break
120+ case . genericSpecializationExpr( let node ) :
121+ return self . generate ( genericSpecializationExpr : node ) . asExpr
122122 case . ifExpr( let node) :
123123 return self . generate ( ifExpr: node) . asExpr
124124 case . inOutExpr( let node) :
@@ -476,6 +476,23 @@ extension ASTGenVisitor {
476476 }
477477 }
478478
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+
479496 func generate( packElementExpr node: PackElementExprSyntax ) -> BridgedPackElementExpr {
480497 return . createParsed(
481498 self . ctx,
You can’t perform that action at this time.
0 commit comments