[cfe-commits] r96284 - in /cfe/trunk: include/clang/Basic/DiagnosticCommonKinds.td lib/Parse/ParseObjc.cpp test/Parser/objc-property-syntax.m

Fariborz Jahanian fjahanian at apple.com
Mon Feb 15 14:20:11 PST 2010


Author: fjahanian
Date: Mon Feb 15 16:20:11 2010
New Revision: 96284

URL: http://llvm.org/viewvc/llvm-project?rev=96284&view=rev
Log:
Issue a bettter diagnostics for incorrect property setter name.
(radar 7647953).

Modified:
    cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td
    cfe/trunk/lib/Parse/ParseObjc.cpp
    cfe/trunk/test/Parser/objc-property-syntax.m

Modified: cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td?rev=96284&r1=96283&r2=96284&view=diff

==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td Mon Feb 15 16:20:11 2010
@@ -31,6 +31,9 @@
 
 // Parse && Lex
 def err_expected_colon : Error<"expected ':'">;
+def err_expected_colon_after_setter_name : Error<
+  "method name referenced in property setter attribute "
+  "must end with ':'">;
 
 // Parse && Sema
 def err_no_declarators : Error<"declaration does not declare anything">;

Modified: cfe/trunk/lib/Parse/ParseObjc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseObjc.cpp?rev=96284&r1=96283&r2=96284&view=diff

==============================================================================
--- cfe/trunk/lib/Parse/ParseObjc.cpp (original)
+++ cfe/trunk/lib/Parse/ParseObjc.cpp Mon Feb 15 16:20:11 2010
@@ -515,7 +515,8 @@
         DS.setSetterName(Tok.getIdentifierInfo());
         ConsumeToken();  // consume method name
 
-        if (ExpectAndConsume(tok::colon, diag::err_expected_colon, "",
+        if (ExpectAndConsume(tok::colon, 
+                             diag::err_expected_colon_after_setter_name, "",
                              tok::r_paren))
           return;
       } else {

Modified: cfe/trunk/test/Parser/objc-property-syntax.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/objc-property-syntax.m?rev=96284&r1=96283&r2=96284&view=diff

==============================================================================
--- cfe/trunk/test/Parser/objc-property-syntax.m (original)
+++ cfe/trunk/test/Parser/objc-property-syntax.m Mon Feb 15 16:20:11 2010
@@ -5,8 +5,10 @@
 };
 @property unsigned char bufferedUTF8Bytes[4];  // expected-error {{property cannot have array or function type}}
 @property unsigned char bufferedUTFBytes:1;    // expected-error {{property name cannot be a bitfield}}
+ at property(nonatomic, retain, setter=ab_setDefaultToolbarItems) MyClass *ab_defaultToolbarItems; // expected-error {{method name referenced in property setter attribute must end with ':'}}
 @end
 
 @implementation MyClass
+ at dynamic ab_defaultToolbarItems;
 @end
 





More information about the cfe-commits mailing list