r198049 - Parameterizing some MS property-related diagnostics. No functional changes intended.

Aaron Ballman aaron at aaronballman.com
Thu Dec 26 08:36:06 PST 2013


Sold! I'll change it over. :-)

Thanks!

~Aaron

On Thu, Dec 26, 2013 at 11:35 AM, Alp Toker <alp at nuanti.com> wrote:
>
> On 26/12/2013 16:33, Aaron Ballman wrote:
>>
>> Yeah, I hate the current names, but "accessor" is usually the getter,
>> and "mutator" is the setter (at least in my experience). I wanted to
>> be clear, if a bit verbose. But I can be convinced otherwise. :-)
>
>
> In Microsoft property lingo, "The accessor of a property contains the
> executable statements associated with getting (reading or computing) or
> setting (writing) the property." - MSDN.
>
> Alp.
>
>
>>
>> ~Aaron
>>
>> On Thu, Dec 26, 2013 at 11:29 AM, Alp Toker <alp at nuanti.com> wrote:
>>>
>>> On 26/12/2013 15:46, Aaron Ballman wrote:
>>>>
>>>> Author: aaronballman
>>>> Date: Thu Dec 26 09:46:38 2013
>>>> New Revision: 198049
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=198049&view=rev
>>>> Log:
>>>> Parameterizing some MS property-related diagnostics. No functional
>>>> changes
>>>> intended.
>>>>
>>>> Modified:
>>>>       cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>>>>       cfe/trunk/lib/Sema/SemaPseudoObject.cpp
>>>>
>>>> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>>>> URL:
>>>>
>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=198049&r1=198048&r2=198049&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
>>>> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Thu Dec 26
>>>> 09:46:38 2013
>>>> @@ -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">;
>>>>
>>>> Modified: cfe/trunk/lib/Sema/SemaPseudoObject.cpp
>>>> URL:
>>>>
>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaPseudoObject.cpp?rev=198049&r1=198048&r2=198049&view=diff
>>>>
>>>>
>>>> ==============================================================================
>>>> --- cfe/trunk/lib/Sema/SemaPseudoObject.cpp (original)
>>>> +++ cfe/trunk/lib/Sema/SemaPseudoObject.cpp Thu Dec 26 09:46:38 2013
>>>> @@ -1393,8 +1393,8 @@ Expr *MSPropertyOpBuilder::rebuildAndCap
>>>>      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();
>>>>      }
>>>
>>>
>>> Nice cleanup Aaron.
>>>
>>> get and set functions are known as accessors, so
>>> s/getter_setter/accessor/
>>> throughout the patch?
>>>
>>> Alp.
>>>
>>>
>>>
>>>>    @@ -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
>>>>        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();
>>>>      }
>>>>
>>>>
>>>> _______________________________________________
>>>> cfe-commits mailing list
>>>> cfe-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>>
>>> --
>>> http://www.nuanti.com
>>> the browser experts
>>>
>
> --
> http://www.nuanti.com
> the browser experts
>



More information about the cfe-commits mailing list