@@ -490,8 +490,8 @@ class TypeRefBuilder {
490490 ClosureContextInfo getClosureContextInfo (RemoteRef<CaptureDescriptor> CD);
491491
492492 // / Get the multipayload enum projection information for a given TR
493- RemoteRef<MultiPayloadEnumDescriptor >
494- getMultiPayloadEnumInfo (const TypeRef *TR);
493+ std::unique_ptr<MultiPayloadEnumDescriptorBase >
494+ getMultiPayloadEnumDescriptor (const TypeRef *TR) override ;
495495
496496 const TypeRef *lookupTypeWitness (const std::string &MangledTypeName,
497497 const std::string &Member,
@@ -515,6 +515,8 @@ class TypeRefBuilder {
515515 // / Load unsubstituted field types for a nominal type.
516516 RemoteRef<FieldDescriptor> getFieldTypeInfo (const TypeRef *TR);
517517
518+ RemoteRef<MultiPayloadEnumDescriptor> getMultiPayloadEnumInfo (const TypeRef *TR);
519+
518520 void populateFieldTypeInfoCacheWithReflectionAtIndex (size_t Index);
519521
520522 llvm::Optional<RemoteRef<FieldDescriptor>>
@@ -1565,15 +1567,16 @@ class TypeRefBuilder {
15651567 }
15661568
15671569 // / Get the multipayload enum projection information for a given TR
1568- RemoteRef<MultiPayloadEnumDescriptor>
1569- getMultiPayloadEnumInfo (const TypeRef *TR) {
1570- return RDF.getMultiPayloadEnumInfo (TR);
1571- }
1570+ std::unique_ptr<MultiPayloadEnumDescriptorBase>
1571+ getMultiPayloadEnumDescriptor (const TypeRef *TR);
15721572
15731573private:
15741574 // / Get the primitive type lowering for a builtin type.
15751575 RemoteRef<BuiltinTypeDescriptor> getBuiltinTypeInfo (const TypeRef *TR);
15761576
1577+ RemoteRef<MultiPayloadEnumDescriptor>
1578+ getMultiPayloadEnumInfo (const TypeRef *TR);
1579+
15771580 llvm::Optional<uint64_t > multiPayloadEnumPointerMask;
15781581
15791582public:
0 commit comments