Implement symbolic demangling for extended existential metadata

Fixes rdar://96268090.
This commit is contained in:
John McCall
2022-06-30 02:35:17 -04:00
parent 396121c231
commit 175f74d38f
27 changed files with 627 additions and 146 deletions

View File

@@ -293,13 +293,6 @@ getTypeRefByFunction(IRGenModule &IGM,
bool swift::irgen::mangledNameIsUnknownToDeployTarget(IRGenModule &IGM,
CanType type) {
// We don't currently support demangling extended existential types.
// FIXME: implement this and remove this logic
bool hasExtendedExistential = type.findIf([](CanType t) -> bool {
return isa<ParameterizedProtocolType>(t);
});
if (hasExtendedExistential) return true;
if (auto runtimeCompatVersion = getSwiftRuntimeCompatibilityVersionForTarget(
IGM.Context.LangOpts.Target)) {
if (auto minimumSupportedRuntimeVersion =