diff options
author | Ben Hamilton <benhamilton@google.com> | 2018-01-18 20:51:24 +0000 |
---|---|---|
committer | Ben Hamilton <benhamilton@google.com> | 2018-01-18 20:51:24 +0000 |
commit | 55c3a321a8541016bd8a4305dbed6bbed49c0d95 (patch) | |
tree | f67773361649a40f15e15a775a57ea7be6d0a30b | |
parent | 719c1f7405d6c67e69e6a2793334d4fd36402897 (diff) | |
download | bcm5719-llvm-55c3a321a8541016bd8a4305dbed6bbed49c0d95.tar.gz bcm5719-llvm-55c3a321a8541016bd8a4305dbed6bbed49c0d95.zip |
[clang-tidy objc-property-declaration] Expand list of ObjC acronyms
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
3 files changed, 59 insertions, 17 deletions
diff --git a/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp index 4ca03bf3030..0bb2d4833d5 100644 --- a/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp +++ b/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp @@ -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 diff --git a/clang-tools-extra/docs/clang-tidy/checks/objc-property-declaration.rst b/clang-tools-extra/docs/clang-tidy/checks/objc-property-declaration.rst index 77328317091..534ebfe7893 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/objc-property-declaration.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/objc-property-declaration.rst @@ -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 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". diff --git a/clang-tools-extra/test/clang-tidy/objc-property-declaration.m b/clang-tools-extra/test/clang-tidy/objc-property-declaration.m index c06a8ff37f6..09af33eee21 100644 --- a/clang-tools-extra/test/clang-tidy/objc-property-declaration.m +++ b/clang-tools-extra/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 |