]> granicus.if.org Git - clang/commitdiff
Parameterizing some MS property-related diagnostics. No functional changes intended.
authorAaron Ballman <aaron@aaronballman.com>
Thu, 26 Dec 2013 15:46:38 +0000 (15:46 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Thu, 26 Dec 2013 15:46:38 +0000 (15:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198049 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaPseudoObject.cpp

index df10dc2b0c68048f35dca754589ea9efaaccc451..76585075497aa4a7cda06f156fff1866e36f9373 100644 (file)
@@ -1950,14 +1950,10 @@ def err_anonymous_property: Error<
   "anonymous property is not supported">;
 def err_property_is_variably_modified: Error<
   "property '%0' has a variably modified type">;
-def err_no_getter_for_property : Error<
-  "no getter defined for property '%0'">;
-def err_no_setter_for_property : Error<
-  "no setter defined for property '%0'">;
-def error_cannot_find_suitable_getter : Error<
-  "cannot find suitable getter for property '%0'">;
-def error_cannot_find_suitable_setter : Error<
-  "cannot find suitable setter for property '%0'">;
+def err_no_getter_setter_for_property : Error<
+  "no %select{getter|setter}0 defined for property '%1'">;
+def error_cannot_find_suitable_getter_setter : Error<
+  "cannot find suitable %select{getter|setter}0 for property '%1'">;
 
 def err_attribute_aligned_not_power_of_two : Error<
   "requested alignment is not a power of 2">;
index e69ea1647f05535ebb147034f31ce1ba61170d0d..ec5b92b7eb88096d3057513e89791eeecb8eed60 100644 (file)
@@ -1393,8 +1393,8 @@ Expr *MSPropertyOpBuilder::rebuildAndCaptureObject(Expr *syntacticBase) {
 
 ExprResult MSPropertyOpBuilder::buildGet() {
   if (!RefExpr->getPropertyDecl()->hasGetter()) {
-    S.Diag(RefExpr->getMemberLoc(), diag::err_no_getter_for_property)
-      << RefExpr->getPropertyDecl()->getName();
+    S.Diag(RefExpr->getMemberLoc(), diag::err_no_getter_setter_for_property)
+      << 0 /* getter */ << RefExpr->getPropertyDecl()->getName();
     return ExprError();
   }
 
@@ -1408,7 +1408,8 @@ ExprResult MSPropertyOpBuilder::buildGet() {
     RefExpr->isArrow() ? tok::arrow : tok::period, SS, SourceLocation(),
     GetterName, 0, true);
   if (GetterExpr.isInvalid()) {
-    S.Diag(RefExpr->getMemberLoc(), diag::error_cannot_find_suitable_getter)
+    S.Diag(RefExpr->getMemberLoc(),
+           diag::error_cannot_find_suitable_getter_setter) << 0 /* getter */
       << RefExpr->getPropertyDecl()->getName();
     return ExprError();
   }
@@ -1422,8 +1423,8 @@ ExprResult MSPropertyOpBuilder::buildGet() {
 ExprResult MSPropertyOpBuilder::buildSet(Expr *op, SourceLocation sl,
                                          bool captureSetValueAsResult) {
   if (!RefExpr->getPropertyDecl()->hasSetter()) {
-    S.Diag(RefExpr->getMemberLoc(), diag::err_no_setter_for_property)
-      << RefExpr->getPropertyDecl()->getName();
+    S.Diag(RefExpr->getMemberLoc(), diag::err_no_getter_setter_for_property)
+      << 1 /* setter */ << RefExpr->getPropertyDecl()->getName();
     return ExprError();
   }
 
@@ -1437,7 +1438,8 @@ ExprResult MSPropertyOpBuilder::buildSet(Expr *op, SourceLocation sl,
     RefExpr->isArrow() ? tok::arrow : tok::period, SS, SourceLocation(),
     SetterName, 0, true);
   if (SetterExpr.isInvalid()) {
-    S.Diag(RefExpr->getMemberLoc(), diag::error_cannot_find_suitable_setter)
+    S.Diag(RefExpr->getMemberLoc(),
+           diag::error_cannot_find_suitable_getter_setter) << 1 /* setter */
       << RefExpr->getPropertyDecl()->getName();
     return ExprError();
   }