"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">;
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();
}
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();
}
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();
}
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();
}