Push ArchetypeType's API down to subclasses.

And clean up code that conditionally works only with certain kinds of archetype along the way.
This commit is contained in:
Joe Groff
2018-12-12 13:26:16 -08:00
parent 4f0f11f6bb
commit 89979137fc
37 changed files with 265 additions and 328 deletions

View File

@@ -1904,7 +1904,7 @@ IsaEncoding irgen::getIsaEncodingForType(IRGenModule &IGM,
// Existentials use the encoding of the enclosed dynamic type.
if (type->isAnyExistentialType()) {
return getIsaEncodingForType(IGM, ArchetypeType::getOpened(type));
return getIsaEncodingForType(IGM, OpenedArchetypeType::getAny(type));
}
if (auto archetype = dyn_cast<ArchetypeType>(type)) {