Index: clang-tools-extra/trunk/clang-tidy/objc/PropertyDeclarationCheck.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/objc/PropertyDeclarationCheck.cpp +++ clang-tools-extra/trunk/clang-tidy/objc/PropertyDeclarationCheck.cpp @@ -24,25 +24,63 @@ namespace { /// The acronyms are from /// https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/APIAbbreviations.html#//apple_ref/doc/uid/20001285-BCIHCGAE +/// +/// Keep this list sorted. constexpr char DefaultSpecialAcronyms[] = + "ACL;" + "API;" + "ARGB;" "ASCII;" - "PDF;" - "XML;" + "BGRA;" + "CMYK;" + "DNS;" + "FPS;" + "FTP;" + "GIF;" + "GPS;" + "HD;" + "HDR;" "HTML;" - "URL;" - "RTF;" "HTTP;" - "TIFF;" + "HTTPS;" + "HUD;" + "ID;" "JPG;" - "PNG;" - "GIF;" + "JS;" + "LAN;" "LZW;" - "ROM;" - "RGB;" - "CMYK;" + "MDNS;" "MIDI;" - "FTP;" - "ID"; + "OS;" + "PDF;" + "PIN;" + "PNG;" + "POI;" + "PSTN;" + "PTR;" + "QA;" + "QOS;" + "RGB;" + "RGBA;" + "RGBX;" + "ROM;" + "RPC;" + "RTF;" + "RTL;" + "SDK;" + "SSO;" + "TCP;" + "TIFF;" + "TTS;" + "UI;" + "URI;" + "URL;" + "VC;" + "VOIP;" + "VPN;" + "VR;" + "WAN;" + "XML"; /// For now we will only fix 'CamelCase' property to /// 'camelCase'. For other cases the users need to Index: clang-tools-extra/trunk/docs/clang-tidy/checks/objc-property-declaration.rst =================================================================== --- clang-tools-extra/trunk/docs/clang-tidy/checks/objc-property-declaration.rst +++ clang-tools-extra/trunk/docs/clang-tidy/checks/objc-property-declaration.rst @@ -23,8 +23,8 @@ only provide warning messages since the property name could be complicated. Users will need to come up with a proper name by their own. -This check also accepts special acronyms as prefix. Such prefix will suppress -the check of Lower Camel Case according to the guide: +This check also accepts special acronyms as prefixes or suffixes. Such prefixes or suffixes +will suppress the Lower Camel Case check according to the guide: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002931-BBCFHEAB For a full list of well-known acronyms: @@ -37,7 +37,7 @@ .. option:: Acronyms - Semicolon-separated list of acronyms that can be used as prefix - of property names. + Semicolon-separated list of acronyms that can be used as a prefix + or a suffix of property names. - Defaults to `ASCII;PDF;XML;HTML;URL;RTF;HTTP;TIFF;JPG;PNG;GIF;LZW;ROM;RGB;CMYK;MIDI;FTP`. + If unset, defaults to "ACL;API;ARGB;ASCII;BGRA;CMYK;DNS;FPS;FTP;GIF;GPS;HD;HDR;HTML;HTTP;HTTPS;HUD;ID;JPG;JS;LAN;LZW;MDNS;MIDI;OS;PDF;PIN;PNG;POI;PSTN;PTR;QA;QOS;RGB;RGBA;RGBX;ROM;RPC;RTF;RTL;SDK;SSO;TCP;TIFF;TTS;UI;URI;URL;VC;VOIP;VPN;VR;WAN;XML". Index: clang-tools-extra/trunk/test/clang-tidy/objc-property-declaration.m =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/objc-property-declaration.m +++ clang-tools-extra/trunk/test/clang-tidy/objc-property-declaration.m @@ -1,5 +1,7 @@ // RUN: %check_clang_tidy %s objc-property-declaration %t +@class NSData; @class NSString; +@class UIViewController; @interface Foo @property(assign, nonatomic) int NotCamelCase; @@ -8,6 +10,8 @@ @property(assign, nonatomic) int camelCase; @property(strong, nonatomic) NSString *URLString; @property(strong, nonatomic) NSString *bundleID; +@property(strong, nonatomic) NSData *RGBABytes; +@property(strong, nonatomic) UIViewController *notificationsVC; @property(strong, nonatomic) NSString *URL_string; // CHECK-MESSAGES: :[[@LINE-1]]:40: warning: property name 'URL_string' should use lowerCamelCase style, according to the Apple Coding Guidelines [objc-property-declaration] @end