@@ -198,6 +198,11 @@ BridgedDotSelfExpr BridgedDotSelfExpr_createParsed(BridgedASTContext cContext,
198
198
cSubExpr.unbridged (), cDotLoc.unbridged (), cSelfLoc.unbridged ());
199
199
}
200
200
201
+ BridgedErrorExpr BridgedErrorExpr_create (BridgedASTContext cContext,
202
+ BridgedSourceRange cRange) {
203
+ return new (cContext.unbridged ()) ErrorExpr (cRange.unbridged ());
204
+ }
205
+
201
206
BridgedForceTryExpr
202
207
BridgedForceTryExpr_createParsed (BridgedASTContext cContext,
203
208
BridgedSourceLoc cTryLoc, BridgedExpr cSubExpr,
@@ -206,6 +211,15 @@ BridgedForceTryExpr_createParsed(BridgedASTContext cContext,
206
211
cTryLoc.unbridged (), cSubExpr.unbridged (), cExclaimLoc.unbridged ());
207
212
}
208
213
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
+
209
223
BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed (
210
224
BridgedASTContext cContext, BridgedSourceLoc cAsLoc,
211
225
BridgedSourceLoc cExclaimLoc, BridgedTypeRepr cType) {
@@ -214,13 +228,48 @@ BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed(
214
228
cType.unbridged ());
215
229
}
216
230
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
+
217
250
BridgedIntegerLiteralExpr
218
251
BridgedIntegerLiteralExpr_createParsed (BridgedASTContext cContext,
219
252
BridgedStringRef cStr,
220
253
BridgedSourceLoc cTokenLoc) {
221
254
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 ());
224
273
}
225
274
226
275
BridgedInterpolatedStringLiteralExpr
@@ -283,6 +332,27 @@ BridgedPrefixUnaryExpr_createParsed(BridgedASTContext cContext,
283
332
operand.unbridged ());
284
333
}
285
334
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
+
286
356
BridgedSequenceExpr BridgedSequenceExpr_createParsed (BridgedASTContext cContext,
287
357
BridgedArrayRef exprs) {
288
358
return SequenceExpr::create (cContext.unbridged (), exprs.unbridged <Expr *>());
0 commit comments