@@ -869,6 +869,21 @@ bool BridgedNominalTypeDecl_isStructWithUnreferenceableStorage(
869
869
// MARK: Exprs
870
870
// ===----------------------------------------------------------------------===//
871
871
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
+
872
887
BridgedClosureExpr
873
888
BridgedClosureExpr_createParsed (BridgedASTContext cContext,
874
889
BridgedDeclContext cDeclContext,
@@ -893,6 +908,45 @@ BridgedClosureExpr_createParsed(BridgedASTContext cContext,
893
908
return out;
894
909
}
895
910
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
+
896
950
BridgedSequenceExpr BridgedSequenceExpr_createParsed (BridgedASTContext cContext,
897
951
BridgedArrayRef exprs) {
898
952
return SequenceExpr::create (cContext.unbridged (), exprs.unbridged <Expr *>());
@@ -928,13 +982,26 @@ BridgedCallExpr BridgedCallExpr_createParsed(BridgedASTContext cContext,
928
982
/* implicit*/ false );
929
983
}
930
984
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 ());
938
1005
}
939
1006
940
1007
BridgedStringLiteralExpr
@@ -979,6 +1046,20 @@ BridgedNilLiteralExpr_createParsed(BridgedASTContext cContext,
979
1046
return new (cContext.unbridged ()) NilLiteralExpr (cNilKeywordLoc.unbridged ());
980
1047
}
981
1048
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
+
982
1063
BridgedSingleValueStmtExpr BridgedSingleValueStmtExpr_createWithWrappedBranches (
983
1064
BridgedASTContext cContext, BridgedStmt S, BridgedDeclContext cDeclContext,
984
1065
bool mustBeExpr) {
@@ -988,6 +1069,13 @@ BridgedSingleValueStmtExpr BridgedSingleValueStmtExpr_createWithWrappedBranches(
988
1069
context, S.unbridged (), declContext, mustBeExpr);
989
1070
}
990
1071
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
+
991
1079
BridgedTypeExpr BridgedTypeExpr_createParsed (BridgedASTContext cContext,
992
1080
BridgedTypeRepr cType) {
993
1081
ASTContext &context = cContext.unbridged ();
0 commit comments