mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Metadata emission for extended existential type shapes
This commit is contained in:
@@ -29,6 +29,7 @@ namespace llvm {
|
||||
|
||||
namespace swift {
|
||||
class AbstractFunctionDecl;
|
||||
struct ExistentialTypeGeneralization;
|
||||
class FileUnit;
|
||||
class FuncDecl;
|
||||
enum class ResilienceExpansion : unsigned;
|
||||
@@ -197,6 +198,13 @@ namespace irgen {
|
||||
ProtocolDecl *opaqueTypeRequiresWitnessTable(
|
||||
OpaqueTypeDecl *opaque, const Requirement &req);
|
||||
|
||||
/// Emit the extended existential type shape for the given existential
|
||||
/// type generalization.
|
||||
std::pair<llvm::Constant *, /*unique*/ bool>
|
||||
emitExtendedExistentialTypeShape(IRGenModule &IGM,
|
||||
const ExistentialTypeGeneralization &shape,
|
||||
unsigned metatypeDepth);
|
||||
|
||||
} // end namespace irgen
|
||||
} // end namespace swift
|
||||
|
||||
|
||||
Reference in New Issue
Block a user