[Constraint solver] Remove 'archetype' constraint kind. NFC

Archetype constraints haven't been needed since we implemented SE-0091.
This commit is contained in:
Doug Gregor
2016-10-20 21:10:27 -07:00
parent 14a4fdbc50
commit 483dfdcaa1
5 changed files with 1 additions and 42 deletions

View File

@@ -3216,20 +3216,6 @@ ConstraintSystem::simplifyMemberConstraint(const Constraint &constraint) {
return SolutionKind::Error;
}
ConstraintSystem::SolutionKind
ConstraintSystem::simplifyArchetypeConstraint(const Constraint &constraint) {
// Resolve the base type, if we can. If we can't resolve the base type,
// then we can't solve this constraint.
Type baseTy = getFixedTypeRecursive(constraint.getFirstType(), true);
if (baseTy->isTypeVariableOrMember())
return SolutionKind::Unsolved;
if (baseTy->is<ArchetypeType>())
return SolutionKind::Solved;
return SolutionKind::Error;
}
ConstraintSystem::SolutionKind
ConstraintSystem::simplifyClassConstraint(const Constraint &constraint){
auto baseTy = getFixedTypeRecursive(constraint.getFirstType(), true);
@@ -3458,7 +3444,6 @@ static TypeMatchKind getTypeMatchKind(ConstraintKind kind) {
case ConstraintKind::OptionalObject:
llvm_unreachable("optional object constraints don't involve type matches");
case ConstraintKind::Archetype:
case ConstraintKind::Class:
case ConstraintKind::Defaultable:
llvm_unreachable("Type properties don't involve type matches");
@@ -4129,9 +4114,6 @@ ConstraintSystem::simplifyConstraint(const Constraint &constraint) {
case ConstraintKind::TypeMember:
return simplifyMemberConstraint(constraint);
case ConstraintKind::Archetype:
return simplifyArchetypeConstraint(constraint);
case ConstraintKind::Class:
return simplifyClassConstraint(constraint);