Remove explicit calls to computeRequirementSignature

We can rely on lazy calls to getRequirementSignature instead.
This commit is contained in:
Alexis Laferrière
2019-05-07 11:07:28 -07:00
parent 6c929273db
commit 3dd54c24d1
3 changed files with 3 additions and 21 deletions

View File

@@ -771,11 +771,6 @@ static bool hasNonCanonicalSelfProtocolRequirement(
// If we don't already have a requirement signature for this protocol,
// build one now.
auto inProto = source->getProtocolDecl();
if (!inProto->isRequirementSignatureComputed()) {
inProto->computeRequirementSignature();
assert(inProto->isRequirementSignatureComputed() &&
"couldn't compute requirement signature?");
}
// Check whether the given requirement is in the requirement signature.
if (!source->usesRequirementSignature &&
@@ -856,13 +851,9 @@ void GenericSignature::buildConformanceAccessPath(
// The generic signature builder we're using for this protocol
// wasn't built from its own requirement signature, so we can't
// trust it. Make sure we have a requirement signature, then build
// a new generic signature builder.
// trust it, build a new generic signature builder.
// FIXME: It would be better if we could replace the canonical generic
// signature builder with the rebuilt one.
if (!requirementSignatureProto->isRequirementSignatureComputed())
requirementSignatureProto->computeRequirementSignature();
assert(requirementSignatureProto->isRequirementSignatureComputed());
replacementBuilder.emplace(getASTContext());
replacementBuilder->addGenericSignature(