@@ -33,6 +33,7 @@ template<typename T> class ArrayRef;
33
33
}
34
34
35
35
namespace swift {
36
+ enum class AccessorKind ;
36
37
class AvailabilityDomain ;
37
38
class Argument ;
38
39
class ASTContext ;
@@ -44,6 +45,7 @@ class DeclNameLoc;
44
45
class DeclNameRef ;
45
46
class DiagnosticArgument ;
46
47
class DiagnosticEngine ;
48
+ enum class DifferentiabilityKind : uint8_t ;
47
49
class Fingerprint ;
48
50
class Identifier ;
49
51
class IfConfigClauseRangeInfo ;
@@ -55,6 +57,7 @@ enum class MacroRole : uint32_t;
55
57
class MacroIntroducedDeclName ;
56
58
enum class MacroIntroducedDeclNameKind ;
57
59
enum class ParamSpecifier : uint8_t ;
60
+ class ParsedAutoDiffParameter ;
58
61
enum class PlatformKind : uint8_t ;
59
62
class ProtocolConformanceRef ;
60
63
class RegexLiteralPatternFeature ;
@@ -502,6 +505,13 @@ struct BridgedPatternBindingEntry {
502
505
BridgedNullablePatternBindingInitializer initContext;
503
506
};
504
507
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
+
505
515
// ===----------------------------------------------------------------------===//
506
516
// MARK: Diagnostic Engine
507
517
// ===----------------------------------------------------------------------===//
@@ -745,6 +755,59 @@ struct BridgedAvailabilityDomain {
745
755
bool isNull () const { return opaque == nullptr ; };
746
756
};
747
757
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
+
748
811
// ===----------------------------------------------------------------------===//
749
812
// MARK: DeclAttributes
750
813
// ===----------------------------------------------------------------------===//
@@ -879,6 +942,30 @@ BridgedCustomAttr BridgedCustomAttr_createParsed(
879
942
BridgedNullableCustomAttributeInitializer cInitContext,
880
943
BridgedNullableArgumentList cArgumentList);
881
944
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
+
882
969
SWIFT_NAME (" BridgedDocumentationAttr.createParsed(_:atLoc:range:metadata:"
883
970
" accessLevel:)" )
884
971
BridgedDocumentationAttr BridgedDocumentationAttr_createParsed(
@@ -1260,6 +1347,15 @@ BridgedSILGenNameAttr BridgedSILGenNameAttr_createParsed(
1260
1347
BridgedASTContext cContext, BridgedSourceLoc cAtLoc,
1261
1348
BridgedSourceRange cRange, BridgedStringRef cName, bool isRaw);
1262
1349
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
+
1263
1359
SWIFT_NAME (
1264
1360
" BridgedUnavailableFromAsyncAttr.createParsed(_:atLoc:range:message:)" )
1265
1361
BridgedUnavailableFromAsyncAttr BridgedUnavailableFromAsyncAttr_createParsed(
@@ -1285,11 +1381,6 @@ enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedStaticSpelling {
1285
1381
BridgedStaticSpellingClass
1286
1382
};
1287
1383
1288
- enum ENUM_EXTENSIBILITY_ATTR (closed) BridgedAccessorKind {
1289
- #define ACCESSOR (ID ) BridgedAccessorKind##ID,
1290
- #include " swift/AST/AccessorKinds.def"
1291
- };
1292
-
1293
1384
struct BridgedAccessorRecord {
1294
1385
BridgedSourceLoc lBraceLoc;
1295
1386
BridgedArrayRef accessors;
@@ -2438,6 +2529,13 @@ enum ENUM_EXTENSIBILITY_ATTR(closed) BridgedExecutionTypeAttrExecutionKind {
2438
2529
BridgedExecutionTypeAttrExecutionKind_Caller
2439
2530
};
2440
2531
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
+
2441
2539
SWIFT_NAME (" BridgedExecutionTypeAttr.createParsed(_:atLoc:nameLoc:parensRange:"
2442
2540
" behavior:behaviorLoc:)" )
2443
2541
BridgedExecutionTypeAttr BridgedExecutionTypeAttr_createParsed(
0 commit comments