AST: Add new form of SubstitutionMap::getProtocolSubstitutions()

This commit is contained in:
Slava Pestov
2025-04-02 13:07:19 -04:00
parent 0616333129
commit ec0dfc8716
10 changed files with 19 additions and 22 deletions

View File

@@ -164,7 +164,7 @@ ProtocolConformanceRef::getWitnessByName(DeclName name) const {
// For a type with dependent conformance, just return the requirement from
// the protocol. There are no protocol conformance tables.
if (!isConcrete()) {
auto subs = SubstitutionMap::getProtocolSubstitutions(proto, getType(), *this);
auto subs = SubstitutionMap::getProtocolSubstitutions(*this);
return ConcreteDeclRef(requirement, subs);
}
@@ -214,9 +214,7 @@ Type ProtocolConformanceRef::getAssociatedType(Type assocType) const {
if (isInvalid())
return ErrorType::get(assocType->getASTContext());
auto substMap =
SubstitutionMap::getProtocolSubstitutions(getProtocol(), getType(), *this);
return assocType.subst(substMap);
return assocType.subst(SubstitutionMap::getProtocolSubstitutions(*this));
}
ProtocolConformanceRef