Allow ‘getEffectiveLanguageVersion’ to take a minor component for 4.2

Further, when ‘4’ is specified on its own for the language
version without a minor component, assume ‘4.1’ as the
language version.
This commit is contained in:
Ted Kremenek
2018-03-21 14:40:31 -07:00
parent f1e0c2be33
commit fa730db1c2

View File

@@ -302,6 +302,7 @@ Optional<Version> Version::getEffectiveLanguageVersion() const {
case 0:
return None;
case 1:
case 2:
break;
default:
// We do not want to permit users requesting more precise effective language
@@ -326,6 +327,9 @@ Optional<Version> Version::getEffectiveLanguageVersion() const {
case 4:
static_assert(SWIFT_VERSION_MAJOR == 4,
"getCurrentLanguageVersion is no longer correct here");
// Version '4' on its own implies '4.1'.
if (size() == 1)
return Version{4, 1};
return Version::getCurrentLanguageVersion();
case 5:
return Version{5, 0};