[clang-tidy objc-property-declaration] Expand list of ObjC acronyms
authorBen Hamilton <benhamilton@google.com>
Thu, 18 Jan 2018 20:51:24 +0000 (20:51 +0000)
committerBen Hamilton <benhamilton@google.com>
Thu, 18 Jan 2018 20:51:24 +0000 (20:51 +0000)
Summary:
We were missing some pretty common acronyms in the camelCase
property name check objc-property-declaration.

This expands the list and sorts it lexicographically, so we can
avoid duplicates.

Test Plan: make -j12 check-clang-tools

Reviewers: Wizard, hokein, klimek

Reviewed By: Wizard

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D42253

llvm-svn: 322886

clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
clang-tools-extra/docs/clang-tidy/checks/objc-property-declaration.rst
clang-tools-extra/test/clang-tidy/objc-property-declaration.m

index 4ca03bf..0bb2d48 100644 (file)
@@ -24,25 +24,63 @@ namespace objc {
 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 7732831..534ebfe 100644 (file)
@@ -23,8 +23,8 @@ The check will only fix 'CamelCase' to 'camelCase'. In some other cases we will
 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 @@ Options
 
 .. 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 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 c06a8ff..09af33e 100644 (file)
@@ -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