mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Remove NestedArchetypeType.
Nested archetypes are represented by their base archetype kinds (primary, opened, or opaque type) with an interface type that is a nested type, as represented by a DependentMemberType. This provides a more uniform representation of archetypes throughout the frontend.
This commit is contained in:
@@ -4489,15 +4489,6 @@ public:
|
||||
declID, interfaceTypeID, substMapID);
|
||||
}
|
||||
|
||||
void visitNestedArchetypeType(const NestedArchetypeType *archetypeTy) {
|
||||
using namespace decls_block;
|
||||
auto rootTypeID = S.addTypeRef(archetypeTy->getRoot());
|
||||
auto interfaceTypeID = S.addTypeRef(archetypeTy->getInterfaceType());
|
||||
unsigned abbrCode = S.DeclTypeAbbrCodes[NestedArchetypeTypeLayout::Code];
|
||||
NestedArchetypeTypeLayout::emitRecord(S.Out, S.ScratchRecord, abbrCode,
|
||||
rootTypeID, interfaceTypeID);
|
||||
}
|
||||
|
||||
void visitSequenceArchetypeType(const SequenceArchetypeType *archetypeTy) {
|
||||
using namespace decls_block;
|
||||
auto sig = archetypeTy->getGenericEnvironment()->getGenericSignature();
|
||||
@@ -4900,7 +4891,6 @@ void Serializer::writeAllDeclsAndTypes() {
|
||||
registerDeclTypeAbbr<PrimaryArchetypeTypeLayout>();
|
||||
registerDeclTypeAbbr<OpenedArchetypeTypeLayout>();
|
||||
registerDeclTypeAbbr<OpaqueArchetypeTypeLayout>();
|
||||
registerDeclTypeAbbr<NestedArchetypeTypeLayout>();
|
||||
registerDeclTypeAbbr<SequenceArchetypeTypeLayout>();
|
||||
registerDeclTypeAbbr<ProtocolCompositionTypeLayout>();
|
||||
registerDeclTypeAbbr<ExistentialTypeLayout>();
|
||||
|
||||
Reference in New Issue
Block a user