@@ -33,6 +33,7 @@ template<typename T> class ArrayRef;
3333}
3434
3535namespace swift {
36+ enum class AccessorKind ;
3637class AvailabilityDomain ;
3738class Argument ;
3839class ASTContext ;
@@ -44,6 +45,7 @@ class DeclNameLoc;
4445class DeclNameRef ;
4546class DiagnosticArgument ;
4647class DiagnosticEngine ;
48+ enum class DifferentiabilityKind : uint8_t ;
4749class Fingerprint ;
4850class Identifier ;
4951class IfConfigClauseRangeInfo ;
@@ -55,6 +57,7 @@ enum class MacroRole : uint32_t;
5557class MacroIntroducedDeclName ;
5658enum class MacroIntroducedDeclNameKind ;
5759enum class ParamSpecifier : uint8_t ;
60+ class ParsedAutoDiffParameter ;
5861enum class PlatformKind : uint8_t ;
5962class ProtocolConformanceRef ;
6063class RegexLiteralPatternFeature ;
@@ -502,6 +505,13 @@ struct BridgedPatternBindingEntry {
502505 BridgedNullablePatternBindingInitializer initContext;
503506};
504507
508+ enum ENUM_EXTENSIBILITY_ATTR (closed) BridgedAccessorKind {
509+ #define ACCESSOR (ID ) BridgedAccessorKind##ID,
510+ #include " swift/AST/AccessorKinds.def"
511+ };
512+
513+ swift::AccessorKind unbridged (BridgedAccessorKind kind);
514+
505515// ===----------------------------------------------------------------------===//
506516// MARK: Diagnostic Engine
507517// ===----------------------------------------------------------------------===//
@@ -745,6 +755,59 @@ struct BridgedAvailabilityDomain {
745755 bool isNull () const { return opaque == nullptr ; };
746756};
747757
758+ // ===----------------------------------------------------------------------===//
759+ // MARK: AutoDiff
760+ // ===----------------------------------------------------------------------===//
761+
762+ enum ENUM_EXTENSIBILITY_ATTR (closed) BridgedDifferentiabilityKind {
763+ BridgedDifferentiabilityKindNonDifferentiable = 0 ,
764+ BridgedDifferentiabilityKindForward = 1 ,
765+ BridgedDifferentiabilityKindReverse = 2 ,
766+ BridgedDifferentiabilityKindNormal = 3 ,
767+ BridgedDifferentiabilityKindLinear = 4 ,
768+ };
769+
770+ swift::DifferentiabilityKind unbridged (BridgedDifferentiabilityKind cKind);
771+
772+ class BridgedParsedAutoDiffParameter {
773+ private:
774+ BridgedSourceLoc loc;
775+ enum Kind {
776+ Named,
777+ Ordered,
778+ Self,
779+ } kind;
780+ union Value {
781+ BridgedIdentifier name;
782+ unsigned index;
783+
784+ Value (BridgedIdentifier name) : name (name) {}
785+ Value (unsigned index) : index (index) {}
786+ Value () : name () {}
787+ } value;
788+
789+ BridgedParsedAutoDiffParameter (BridgedSourceLoc loc, Kind kind, Value value)
790+ : loc(loc), kind(kind), value(value) {}
791+
792+ public:
793+ SWIFT_NAME (" forNamed(_:loc:)" )
794+ static BridgedParsedAutoDiffParameter forNamed (BridgedIdentifier name,
795+ BridgedSourceLoc loc) {
796+ return BridgedParsedAutoDiffParameter (loc, Kind::Named, name);
797+ }
798+ SWIFT_NAME (" forOrdered(_:loc:)" )
799+ static BridgedParsedAutoDiffParameter forOrdered (size_t index,
800+ BridgedSourceLoc loc) {
801+ return BridgedParsedAutoDiffParameter (loc, Kind::Ordered, index);
802+ }
803+ SWIFT_NAME (" forSelf(loc:)" )
804+ static BridgedParsedAutoDiffParameter forSelf (BridgedSourceLoc loc) {
805+ return BridgedParsedAutoDiffParameter (loc, Kind::Self, {});
806+ }
807+
808+ swift::ParsedAutoDiffParameter unbridged () const ;
809+ };
810+
748811// ===----------------------------------------------------------------------===//
749812// MARK: DeclAttributes
750813// ===----------------------------------------------------------------------===//
@@ -879,6 +942,30 @@ BridgedCustomAttr BridgedCustomAttr_createParsed(
879942 BridgedNullableCustomAttributeInitializer cInitContext,
880943 BridgedNullableArgumentList cArgumentList);
881944
945+ SWIFT_NAME (" BridgedDerivativeAttr.createParsed(_:atLoc:range:baseType:"
946+ " originalName:originalNameLoc:accessorKind:params:)" )
947+ BridgedDerivativeAttr BridgedDerivativeAttr_createParsed(
948+ BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
949+ BridgedSourceRange cRange, BridgedNullableTypeRepr cBaseType,
950+ BridgedDeclNameRef cOriginalName, BridgedDeclNameLoc cOriginalNameLoc,
951+ BridgedAccessorKind cAccessorKind, BridgedArrayRef cParams);
952+
953+ SWIFT_NAME (" BridgedDerivativeAttr.createParsed(_:atLoc:range:baseType:"
954+ " originalName:originalNameLoc:params:)" )
955+ BridgedDerivativeAttr BridgedDerivativeAttr_createParsed(
956+ BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
957+ BridgedSourceRange cRange, BridgedNullableTypeRepr cBaseType,
958+ BridgedDeclNameRef cOriginalName, BridgedDeclNameLoc cOriginalNameLoc,
959+ BridgedArrayRef cParams);
960+
961+ SWIFT_NAME (" BridgedDifferentiableAttr.createParsed(_:atLoc:range:kind:params:"
962+ " genericWhereClause:)" )
963+ BridgedDifferentiableAttr BridgedDifferentiableAttr_createParsed(
964+ BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
965+ BridgedSourceRange cRange, BridgedDifferentiabilityKind cKind,
966+ BridgedArrayRef cParams,
967+ BridgedNullableTrailingWhereClause cGenericWhereClause);
968+
882969SWIFT_NAME (" BridgedDocumentationAttr.createParsed(_:atLoc:range:metadata:"
883970 " accessLevel:)" )
884971BridgedDocumentationAttr BridgedDocumentationAttr_createParsed(
@@ -1260,6 +1347,15 @@ BridgedSILGenNameAttr BridgedSILGenNameAttr_createParsed(
12601347 BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
12611348 BridgedSourceRange cRange, BridgedStringRef cName, bool isRaw);
12621349
1350+ SWIFT_NAME (
1351+ " BridgedTransposeAttr.createParsed(_:atLoc:range:baseType:originalName:"
1352+ " originalNameLoc:params:)" )
1353+ BridgedTransposeAttr BridgedTransposeAttr_createParsed(
1354+ BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
1355+ BridgedSourceRange cRange, BridgedNullableTypeRepr cBaseType,
1356+ BridgedDeclNameRef cOriginalName, BridgedDeclNameLoc cOriginalNameLoc,
1357+ BridgedArrayRef cParams);
1358+
12631359SWIFT_NAME (
12641360 " BridgedUnavailableFromAsyncAttr.createParsed(_:atLoc:range:message:)" )
12651361BridgedUnavailableFromAsyncAttr BridgedUnavailableFromAsyncAttr_createParsed(
@@ -1285,11 +1381,6 @@ enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedStaticSpelling {
12851381 BridgedStaticSpellingClass
12861382};
12871383
1288- enum ENUM_EXTENSIBILITY_ATTR (closed) BridgedAccessorKind {
1289- #define ACCESSOR (ID ) BridgedAccessorKind##ID,
1290- #include " swift/AST/AccessorKinds.def"
1291- };
1292-
12931384struct BridgedAccessorRecord {
12941385 BridgedSourceLoc lBraceLoc;
12951386 BridgedArrayRef accessors;
@@ -2438,6 +2529,13 @@ enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedExecutionTypeAttrExecutionKind {
24382529 BridgedExecutionTypeAttrExecutionKind_Caller
24392530};
24402531
2532+ SWIFT_NAME (" BridgedDifferentiableTypeAttr.createParsed(_:atLoc:nameLoc:"
2533+ " parensRange:kind:kindLoc:)" )
2534+ BridgedDifferentiableTypeAttr BridgedDifferentiableTypeAttr_createParsed(
2535+ BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
2536+ BridgedSourceLoc cNameLoc, BridgedSourceRange cParensRange,
2537+ BridgedDifferentiabilityKind cKind, BridgedSourceLoc cKindLoc);
2538+
24412539SWIFT_NAME (" BridgedExecutionTypeAttr.createParsed(_:atLoc:nameLoc:parensRange:"
24422540 " behavior:behaviorLoc:)" )
24432541BridgedExecutionTypeAttr BridgedExecutionTypeAttr_createParsed(
0 commit comments