Sema: Allow @available attribute to provide both a rename and a message.

Swift SVN r30007
This commit is contained in:
Joe Groff
2015-07-09 01:20:12 +00:00
parent 0b54e21629
commit 1a237b0ec2
2 changed files with 12 additions and 2 deletions

View File

@@ -559,8 +559,15 @@ static bool diagnoseExplicitUnavailability(TypeChecker &TC, const ValueDecl *D,
case UnconditionalAvailabilityKind::None:
case UnconditionalAvailabilityKind::Unavailable:
if (!Attr->Rename.empty()) {
TC.diagnose(Loc, diag::availability_decl_unavailable_rename, Name,
Attr->Rename).fixItReplace(R, Attr->Rename);
if (Attr->Message.empty()) {
TC.diagnose(Loc, diag::availability_decl_unavailable_rename, Name,
Attr->Rename)
.fixItReplace(R, Attr->Rename);
} else {
TC.diagnose(Loc, diag::availability_decl_unavailable_rename_msg, Name,
Attr->Rename, Attr->Message)
.fixItReplace(R, Attr->Rename);
}
} else if (Attr->Message.empty()) {
TC.diagnose(Loc, diag::availability_decl_unavailable, Name).highlight(R);
} else {