@@ -25,16 +25,22 @@ namespace swift {
25
25
#define XSTR (a ) STR(a)
26
26
#define SYMBOL (name ) XSTR(__USER_LABEL_PREFIX__) name
27
27
28
- // public protocol Equatable {}
29
- #define SWIFT_EQUATABLE_MANGLING SQ
30
-
31
28
#define PROTOCOL_DESCRIPTOR_MANGLING Mp
32
29
33
30
#define PROTOCOL_DESCRIPTOR_SYM (Proto ) \
34
31
MANGLE_SYM (MANGLING_CONCAT2(Proto, PROTOCOL_DESCRIPTOR_MANGLING))
35
32
36
- #define EQUATABLE_PROTOCOL_DESCRIPTOR \
37
- PROTOCOL_DESCRIPTOR_SYM (SWIFT_EQUATABLE_MANGLING)
33
+ // ===----------------------------------------------------------------------===//
34
+ // Tuple Equatable Conformance
35
+ // ===----------------------------------------------------------------------===//
36
+
37
+ // public protocol Equatable {}
38
+ #define SWIFT_EQUATABLE_MANGLING SQ
39
+
40
+ #define EQUATABLE_DESCRIPTOR PROTOCOL_DESCRIPTOR_SYM (SWIFT_EQUATABLE_MANGLING)
41
+
42
+ #define EQUATABLE_DESCRIPTOR_SYMBOL SYMBOL (" $sSQMp" )
43
+ #define EQUATABLE_EE_METHOD_DESCRIPTOR SYMBOL (" $sSQ2eeoiySbx_xtFZTq" )
38
44
39
45
#define TUPLE_EQUATABLE_CONF SYMBOL (" _swift_tupleEquatable_conf" )
40
46
#define TUPLE_EQUATABLE_EQUALS SYMBOL (" _swift_tupleEquatable_equals" )
@@ -46,6 +52,66 @@ bool _swift_tupleEquatable_equals(OpaqueValue *tuple1, OpaqueValue *tuple2,
46
52
SWIFT_CONTEXT Metadata *swiftSelf,
47
53
Metadata *Self, void *witnessTable);
48
54
55
+ // ===----------------------------------------------------------------------===//
56
+ // Tuple Comparable Conformance
57
+ // ===----------------------------------------------------------------------===//
58
+
59
+ // public protocol Comparable {}
60
+ #define SWIFT_COMPARABLE_MANGLING SL
61
+
62
+ #define COMPARABLE_DESCRIPTOR PROTOCOL_DESCRIPTOR_SYM (SWIFT_COMPARABLE_MANGLING)
63
+
64
+ #define COMPARABLE_DESCRIPTOR_SYMBOL SYMBOL (" $sSLMp" )
65
+
66
+ #define COMPARABLE_BASE_CONFORMANCE_DESCRIPTOR SYMBOL (" $sSLSQTb" )
67
+ #define COMPARABLE_LT_METHOD_DESCRIPTOR SYMBOL (" $sSL1loiySbx_xtFZTq" )
68
+ #define COMPARBALE_LTE_METHOD_DESCRIPTOR SYMBOL (" $sSL2leoiySbx_xtFZTq" )
69
+ #define COMPARABLE_GTE_METHOD_DESCRIPTOR SYMBOL (" $sSL2geoiySbx_xtFZTq" )
70
+ #define COMPARABLE_GT_METHOD_DESCRIPTOR SYMBOL (" $sSL1goiySbx_xtFZTq" )
71
+
72
+ #define TUPLE_COMPARABLE_CONF SYMBOL (" _swift_tupleComparable_conf" )
73
+ #define TUPLE_COMPARABLE_ASSOCIATEDCONFORMANCE \
74
+ SYMBOL (" associated conformance _swift_tupleComparable" )
75
+ #define TUPLE_COMPARABLE_BASEACCESSOREQUATABLE \
76
+ SYMBOL (" _swift_tupleComparable_baseAccessorEquatable" )
77
+ #define TUPLE_COMPARABLE_LESSTHAN SYMBOL (" _swift_tupleComparable_lessThan" )
78
+ #define TUPLE_COMPARABLE_LESSTHANOREQUAL \
79
+ SYMBOL (" _swift_tupleComparable_lessThanOrEqual" )
80
+ #define TUPLE_COMPARABLE_GREATERTHANOREQUAL \
81
+ SYMBOL (" _swift_tupleComparable_greaterThanOrEqual" )
82
+ #define TUPLE_COMPARABLE_GREATERTHAN \
83
+ SYMBOL (" _swift_tupleComparable_greaterThan" )
84
+
85
+ // / The protocol witness for static Swift.Comparable.< infix(A, A) -> Swift.Bool
86
+ // / in conformance (A...): Swift.Comparable in Swift.
87
+ SWIFT_RUNTIME_EXPORT SWIFT_CC (swift)
88
+ bool _swift_tupleComparable_lessThan(OpaqueValue *tuple1, OpaqueValue *tuple2,
89
+ SWIFT_CONTEXT Metadata *swiftSelf,
90
+ Metadata *Self, void *witnessTable);
91
+
92
+ // / The protocol witness for static Swift.Comparable.<= infix(A, A) -> Swift.Bool
93
+ // / in conformance (A...): Swift.Comparable in Swift.
94
+ SWIFT_RUNTIME_EXPORT SWIFT_CC (swift)
95
+ bool _swift_tupleComparable_lessThanOrEqual(OpaqueValue *tuple1,
96
+ OpaqueValue *tuple2,
97
+ SWIFT_CONTEXT Metadata *swiftSelf,
98
+ Metadata *Self, void *witnessTable);
99
+
100
+ // / The protocol witness for static Swift.Comparable.>= infix(A, A) -> Swift.Bool
101
+ // / in conformance (A...): Swift.Comparable in Swift.
102
+ SWIFT_RUNTIME_EXPORT SWIFT_CC (swift)
103
+ bool _swift_tupleComparable_greaterThanOrEqual(OpaqueValue *tuple1,
104
+ OpaqueValue *tuple2,
105
+ SWIFT_CONTEXT Metadata *swiftSelf,
106
+ Metadata *Self, void *witnessTable);
107
+
108
+ // / The protocol witness for static Swift.Comparable.> infix(A, A) -> Swift.Bool
109
+ // / in conformance (A...): Swift.Comparable in Swift.
110
+ SWIFT_RUNTIME_EXPORT SWIFT_CC (swift)
111
+ bool _swift_tupleComparable_greaterThan(OpaqueValue *tuple1, OpaqueValue *tuple2,
112
+ SWIFT_CONTEXT Metadata *swiftSelf,
113
+ Metadata *Self, void *witnessTable);
114
+
49
115
} // end namespace swift
50
116
51
117
#endif
0 commit comments