[NFC] Fold The Tri-State In Optional<ProtocolConformanceRef>

ProtocolConformanceRef already has an invalid state.  Drop all of the
uses of Optional<ProtocolConformanceRef> and just use
ProtocolConformanceRef::forInvalid() to represent it.  Mechanically
translate all of the callers and callsites to use this new
representation.
This commit is contained in:
Robert Widmann
2019-10-29 15:11:15 -07:00
parent 9565300f1b
commit 3e1a61f425
81 changed files with 882 additions and 896 deletions

View File

@@ -4344,26 +4344,26 @@ ConstraintSystem::SolutionKind ConstraintSystem::simplifyConformsToConstraint(
// conform -- they only need to contain the protocol, so check that
// separately.
switch (kind) {
case ConstraintKind::SelfObjectOfProtocol:
if (auto conformance =
TC.containsProtocol(type, protocol, DC,
(ConformanceCheckFlags::InExpression|
ConformanceCheckFlags::SkipConditionalRequirements))) {
return recordConformance(*conformance);
case ConstraintKind::SelfObjectOfProtocol: {
auto conformance = TC.containsProtocol(
type, protocol, DC,
(ConformanceCheckFlags::InExpression |
ConformanceCheckFlags::SkipConditionalRequirements));
if (!conformance.isInvalid()) {
return recordConformance(conformance);
}
break;
} break;
case ConstraintKind::ConformsTo:
case ConstraintKind::LiteralConformsTo: {
// Check whether this type conforms to the protocol.
if (auto conformance =
TypeChecker::conformsToProtocol(
type, protocol, DC,
(ConformanceCheckFlags::InExpression|
ConformanceCheckFlags::SkipConditionalRequirements))) {
return recordConformance(*conformance);
auto conformance = TypeChecker::conformsToProtocol(
type, protocol, DC,
(ConformanceCheckFlags::InExpression |
ConformanceCheckFlags::SkipConditionalRequirements));
if (!conformance.isInvalid()) {
return recordConformance(conformance);
}
break;
}
} break;
default:
llvm_unreachable("bad constraint kind");