@@ -869,6 +869,21 @@ bool BridgedNominalTypeDecl_isStructWithUnreferenceableStorage(
869869// MARK: Exprs
870870// ===----------------------------------------------------------------------===//
871871
872+ BridgedArrowExpr BridgedArrowExpr_createParsed (BridgedASTContext cContext,
873+ BridgedSourceLoc cAsyncLoc,
874+ BridgedSourceLoc cThrowsLoc,
875+ BridgedNullableExpr cThrownType,
876+ BridgedSourceLoc cArrowLoc) {
877+ return new (cContext.unbridged ())
878+ ArrowExpr (cAsyncLoc.unbridged (), cThrowsLoc.unbridged (),
879+ cThrownType.unbridged (), cArrowLoc.unbridged ());
880+ }
881+
882+ BridgedAssignExpr BridgedAssignExpr_createParsed (BridgedASTContext cContext,
883+ BridgedSourceLoc cEqualsLoc) {
884+ return new (cContext.unbridged ()) AssignExpr (cEqualsLoc.unbridged ());
885+ }
886+
872887BridgedClosureExpr
873888BridgedClosureExpr_createParsed (BridgedASTContext cContext,
874889 BridgedDeclContext cDeclContext,
@@ -893,6 +908,45 @@ BridgedClosureExpr_createParsed(BridgedASTContext cContext,
893908 return out;
894909}
895910
911+ BridgedCoerceExpr BridgedCoerceExpr_createParsed (BridgedASTContext cContext,
912+ BridgedSourceLoc cAsLoc,
913+ BridgedTypeRepr cType) {
914+ return CoerceExpr::create (cContext.unbridged (), cAsLoc.unbridged (),
915+ cType.unbridged ());
916+ }
917+
918+ BridgedConditionalCheckedCastExpr
919+ BridgedConditionalCheckedCastExpr_createParsed (BridgedASTContext cContext,
920+ BridgedSourceLoc cAsLoc,
921+ BridgedSourceLoc cQuestionLoc,
922+ BridgedTypeRepr cType) {
923+ return ConditionalCheckedCastExpr::create (
924+ cContext.unbridged (), cAsLoc.unbridged (), cQuestionLoc.unbridged (),
925+ cType.unbridged ());
926+ }
927+
928+ BridgedDiscardAssignmentExpr
929+ BridgedDiscardAssignmentExpr_createParsed (BridgedASTContext cContext,
930+ BridgedSourceLoc cLoc) {
931+ return new (cContext.unbridged ())
932+ DiscardAssignmentExpr (cLoc.unbridged (), /* Implicit=*/ false );
933+ }
934+
935+ BridgedForcedCheckedCastExpr BridgedForcedCheckedCastExpr_createParsed (
936+ BridgedASTContext cContext, BridgedSourceLoc cAsLoc,
937+ BridgedSourceLoc cExclaimLoc, BridgedTypeRepr cType) {
938+ return ForcedCheckedCastExpr::create (cContext.unbridged (), cAsLoc.unbridged (),
939+ cExclaimLoc.unbridged (),
940+ cType.unbridged ());
941+ }
942+
943+ BridgedIsExpr BridgedIsExpr_createParsed (BridgedASTContext cContext,
944+ BridgedSourceLoc cIsLoc,
945+ BridgedTypeRepr cType) {
946+ return IsExpr::create (cContext.unbridged (), cIsLoc.unbridged (),
947+ cType.unbridged ());
948+ }
949+
896950BridgedSequenceExpr BridgedSequenceExpr_createParsed (BridgedASTContext cContext,
897951 BridgedArrayRef exprs) {
898952 return SequenceExpr::create (cContext.unbridged (), exprs.unbridged <Expr *>());
@@ -928,13 +982,26 @@ BridgedCallExpr BridgedCallExpr_createParsed(BridgedASTContext cContext,
928982 /* implicit*/ false );
929983}
930984
931- BridgedUnresolvedDeclRefExpr
932- BridgedUnresolvedDeclRefExpr_createParsed (BridgedASTContext cContext,
933- BridgedDeclNameRef cName,
934- BridgedDeclNameLoc cLoc) {
935- ASTContext &context = cContext.unbridged ();
936- return new (context) UnresolvedDeclRefExpr (
937- cName.unbridged (), DeclRefKind::Ordinary, cLoc.unbridged ());
985+ BridgedUnresolvedDeclRefExpr BridgedUnresolvedDeclRefExpr_createParsed (
986+ BridgedASTContext cContext, BridgedDeclNameRef cName,
987+ BridgedDeclRefKind cKind, BridgedDeclNameLoc cLoc) {
988+ DeclRefKind kind;
989+ switch (cKind) {
990+ case BridgedDeclRefKindOrdinary:
991+ kind = DeclRefKind::Ordinary;
992+ break ;
993+ case BridgedDeclRefKindBinaryOperator:
994+ kind = DeclRefKind::BinaryOperator;
995+ break ;
996+ case BridgedDeclRefKindPostfixOperator:
997+ kind = DeclRefKind::PostfixOperator;
998+ break ;
999+ case BridgedDeclRefKindPrefixOperator:
1000+ kind = DeclRefKind::PrefixOperator;
1001+ break ;
1002+ }
1003+ return new (cContext.unbridged ())
1004+ UnresolvedDeclRefExpr (cName.unbridged (), kind, cLoc.unbridged ());
9381005}
9391006
9401007BridgedStringLiteralExpr
@@ -979,6 +1046,20 @@ BridgedNilLiteralExpr_createParsed(BridgedASTContext cContext,
9791046 return new (cContext.unbridged ()) NilLiteralExpr (cNilKeywordLoc.unbridged ());
9801047}
9811048
1049+ BridgedPostfixUnaryExpr
1050+ BridgedPostfixUnaryExpr_createParsed (BridgedASTContext cContext,
1051+ BridgedExpr oper, BridgedExpr operand) {
1052+ return PostfixUnaryExpr::create (cContext.unbridged (), oper.unbridged (),
1053+ operand.unbridged ());
1054+ }
1055+
1056+ BridgedPrefixUnaryExpr
1057+ BridgedPrefixUnaryExpr_createParsed (BridgedASTContext cContext,
1058+ BridgedExpr oper, BridgedExpr operand) {
1059+ return PrefixUnaryExpr::create (cContext.unbridged (), oper.unbridged (),
1060+ operand.unbridged ());
1061+ }
1062+
9821063BridgedSingleValueStmtExpr BridgedSingleValueStmtExpr_createWithWrappedBranches (
9831064 BridgedASTContext cContext, BridgedStmt S, BridgedDeclContext cDeclContext,
9841065 bool mustBeExpr) {
@@ -988,6 +1069,13 @@ BridgedSingleValueStmtExpr BridgedSingleValueStmtExpr_createWithWrappedBranches(
9881069 context, S.unbridged (), declContext, mustBeExpr);
9891070}
9901071
1072+ BridgedTernaryExpr BridgedTernaryExpr_createParsed (
1073+ BridgedASTContext cContext, BridgedSourceLoc cQuestionLoc,
1074+ BridgedExpr cThenExpr, BridgedSourceLoc cColonLoc) {
1075+ return new (cContext.unbridged ()) TernaryExpr (
1076+ cQuestionLoc.unbridged (), cThenExpr.unbridged (), cColonLoc.unbridged ());
1077+ }
1078+
9911079BridgedTypeExpr BridgedTypeExpr_createParsed (BridgedASTContext cContext,
9921080 BridgedTypeRepr cType) {
9931081 ASTContext &context = cContext.unbridged ();
0 commit comments