Lift Requirement and Parameter Accessors up to GenericSignature

Start treating the null {Can}GenericSignature as a regular signature
with no requirements and no parameters. This not only makes for a much
safer abstraction, but allows us to simplify a lot of the clients of
GenericSignature that would previously have to check for null before
using the abstraction.
This commit is contained in:
Robert Widmann
2021-07-14 19:05:28 -07:00
parent 9a1d18ae4f
commit d86551de67
61 changed files with 283 additions and 247 deletions

View File

@@ -583,7 +583,7 @@ bool IsDeclRefinementOfRequest::evaluate(Evaluator &evaluator,
auto result = TypeChecker::checkGenericArguments(
declA->getDeclContext()->getParentModule(),
genericSignatureB->getRequirements(),
genericSignatureB.getRequirements(),
QueryTypeSubstitutionMap{ substMap });
if (result != RequirementCheckResult::Success)