@@ -198,6 +198,11 @@ BridgedDotSelfExpr BridgedDotSelfExpr_createParsed(BridgedASTContext cContext,
198198 cSubExpr.unbridged (), cDotLoc.unbridged (), cSelfLoc.unbridged ());
199199}
200200
201+ BridgedErrorExpr BridgedErrorExpr_create (BridgedASTContext cContext,
202+ BridgedSourceRange cRange) {
203+ return new (cContext.unbridged ()) ErrorExpr (cRange.unbridged ());
204+ }
205+
201206BridgedForceTryExpr
202207BridgedForceTryExpr_createParsed (BridgedASTContext cContext,
203208 BridgedSourceLoc cTryLoc, BridgedExpr cSubExpr,
@@ -206,6 +211,15 @@ BridgedForceTryExpr_createParsed(BridgedASTContext cContext,
206211 cTryLoc.unbridged (), cSubExpr.unbridged (), cExclaimLoc.unbridged ());
207212}
208213
214+ BridgedFloatLiteralExpr
215+ BridgedFloatLiteralExpr_createParsed (BridgedASTContext cContext,
216+ BridgedStringRef cStr,
217+ BridgedSourceLoc cTokenLoc) {
218+ ASTContext &context = cContext.unbridged ();
219+ return new (context)
220+ FloatLiteralExpr (cStr.unbridged (), cTokenLoc.unbridged ());
221+ }
222+
209223BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed (
210224 BridgedASTContext cContext, BridgedSourceLoc cAsLoc,
211225 BridgedSourceLoc cExclaimLoc, BridgedTypeRepr cType) {
@@ -214,13 +228,48 @@ BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed(
214228 cType.unbridged ());
215229}
216230
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+
242+ BridgedInOutExpr BridgedInOutExpr_createParsed (BridgedASTContext cContext,
243+ BridgedSourceLoc cLoc,
244+ BridgedExpr cSubExpr) {
245+ ASTContext &context = cContext.unbridged ();
246+ return new (context)
247+ InOutExpr (cLoc.unbridged (), cSubExpr.unbridged (), Type ());
248+ }
249+
217250BridgedIntegerLiteralExpr
218251BridgedIntegerLiteralExpr_createParsed (BridgedASTContext cContext,
219252 BridgedStringRef cStr,
220253 BridgedSourceLoc cTokenLoc) {
221254 ASTContext &context = cContext.unbridged ();
222- auto str = context.AllocateCopy (cStr.unbridged ());
223- return new (context) IntegerLiteralExpr (str, cTokenLoc.unbridged ());
255+ return new (context)
256+ IntegerLiteralExpr (cStr.unbridged (), cTokenLoc.unbridged ());
257+ }
258+
259+ BridgedSuperRefExpr
260+ BridgedSuperRefExpr_createParsed (BridgedASTContext cContext,
261+ BridgedSourceLoc cSuperLoc) {
262+ ASTContext &context = cContext.unbridged ();
263+ return new (context)
264+ SuperRefExpr (/* Self=*/ nullptr , cSuperLoc.unbridged (), /* Implicit=*/ false );
265+ }
266+
267+ BridgedSubscriptExpr
268+ BridgedSubscriptExpr_createParsed (BridgedASTContext cContext,
269+ BridgedExpr cBaseExpr,
270+ BridgedArgumentList cArgs) {
271+ return SubscriptExpr::create (cContext.unbridged (), cBaseExpr.unbridged (),
272+ cArgs.unbridged ());
224273}
225274
226275BridgedInterpolatedStringLiteralExpr
@@ -283,6 +332,27 @@ BridgedPrefixUnaryExpr_createParsed(BridgedASTContext cContext,
283332 operand.unbridged ());
284333}
285334
335+ BridgedData BridgedRegexLiteralExpr_allocateCaptureStructureSerializationBuffer (
336+ BridgedASTContext cContext, SwiftInt size) {
337+ auto buf = cContext.unbridged ().AllocateUninitialized <uint8_t >(
338+ RegexLiteralExpr::getCaptureStructureSerializationAllocationSize (
339+ unsigned (size)));
340+ return BridgedData (reinterpret_cast <const char *>(buf.data ()), buf.size ());
341+ }
342+
343+ BridgedRegexLiteralExpr BridgedRegexLiteralExpr_createParsed (
344+ BridgedASTContext cContext, BridgedSourceLoc cLoc,
345+ BridgedStringRef cRegexText, SwiftInt version,
346+ BridgedData cCaptureStructure) {
347+ ArrayRef<uint8_t > captures (
348+ reinterpret_cast <const uint8_t *>(cCaptureStructure.BaseAddress ),
349+ cCaptureStructure.Length );
350+
351+ return RegexLiteralExpr::createParsed (cContext.unbridged (), cLoc.unbridged (),
352+ cRegexText.unbridged (),
353+ unsigned (version), captures);
354+ }
355+
286356BridgedSequenceExpr BridgedSequenceExpr_createParsed (BridgedASTContext cContext,
287357 BridgedArrayRef exprs) {
288358 return SequenceExpr::create (cContext.unbridged (), exprs.unbridged <Expr *>());
0 commit comments