Distinguish conformance and superclass generic requirements.

As part of this, use a different enum for parsed generic requirements.

NFC except that I noticed that ASTWalker wasn't visiting the second
type in a conformance constraint; fixing this seems to have no effect
beyond producing better IDE annotations.
This commit is contained in:
John McCall
2016-01-11 16:02:48 -08:00
parent 0b8468d36b
commit 1f3b3142b4
25 changed files with 246 additions and 196 deletions

View File

@@ -2912,10 +2912,13 @@ bool swift::isExtensionApplied(DeclContext &DC, Type BaseTy,
case RequirementKind::Conformance:
createMemberConstraint(Req, ConstraintKind::ConformsTo);
break;
case RequirementKind::Superclass:
createMemberConstraint(Req, ConstraintKind::Subtype);
break;
case RequirementKind::SameType:
createMemberConstraint(Req, ConstraintKind::Equal);
break;
default:
case RequirementKind::WitnessMarker:
break;
}
}