@@ -154,15 +154,6 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
154154 const PrintOptions &options) const ;
155155 };
156156
157- // / An entry for a conformance requirement that makes the requirement
158- // / conditional. These aren't public, but any witness thunks need to feed them
159- // / into the true witness functions.
160- struct ConditionalConformance {
161- // / FIXME: Temporary.
162- CanType Requirement;
163- ProtocolConformanceRef Conformance;
164- };
165-
166157private:
167158 // / The module which contains the SILWitnessTable.
168159 SILModule &Mod;
@@ -186,7 +177,7 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
186177 // /
187178 // / (If other private entities are introduced this could/should be switched
188179 // / into a private version of Entries.)
189- MutableArrayRef<ConditionalConformance > ConditionalConformances;
180+ MutableArrayRef<ProtocolConformanceRef > ConditionalConformances;
190181
191182 // / Whether or not this witness table is a declaration. This is separate from
192183 // / whether or not entries is empty since you can have an empty witness table
@@ -201,7 +192,7 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
201192 SILWitnessTable (SILModule &M, SILLinkage Linkage, SerializedKind_t Serialized,
202193 StringRef name, ProtocolConformance *conformance,
203194 ArrayRef<Entry> entries,
204- ArrayRef<ConditionalConformance > conditionalConformances);
195+ ArrayRef<ProtocolConformanceRef > conditionalConformances);
205196
206197 // / Private constructor for making SILWitnessTable declarations.
207198 SILWitnessTable (SILModule &M, SILLinkage Linkage, StringRef Name,
@@ -214,7 +205,7 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
214205 static SILWitnessTable *
215206 create (SILModule &M, SILLinkage Linkage, SerializedKind_t SerializedKind,
216207 ProtocolConformance *conformance, ArrayRef<Entry> entries,
217- ArrayRef<ConditionalConformance > conditionalConformances);
208+ ArrayRef<ProtocolConformanceRef > conditionalConformances);
218209
219210 // / Create a new SILWitnessTable declaration.
220211 static SILWitnessTable *create (SILModule &M, SILLinkage Linkage,
@@ -271,7 +262,7 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
271262 ArrayRef<Entry> getEntries () const { return Entries; }
272263
273264 // / Return all of the conditional conformances.
274- ArrayRef<ConditionalConformance > getConditionalConformances () const {
265+ ArrayRef<ProtocolConformanceRef > getConditionalConformances () const {
275266 return ConditionalConformances;
276267 }
277268
@@ -300,7 +291,7 @@ class SILWitnessTable : public llvm::ilist_node<SILWitnessTable>,
300291 // / Change a SILWitnessTable declaration into a SILWitnessTable definition.
301292 void
302293 convertToDefinition (ArrayRef<Entry> newEntries,
303- ArrayRef<ConditionalConformance > conditionalConformances,
294+ ArrayRef<ProtocolConformanceRef > conditionalConformances,
304295 SerializedKind_t serializedKind);
305296
306297 // Gets conformance serialized kind.
0 commit comments