Index: clang-tidy/objc/PropertyDeclarationCheck.cpp =================================================================== --- clang-tidy/objc/PropertyDeclarationCheck.cpp +++ clang-tidy/objc/PropertyDeclarationCheck.cpp @@ -41,7 +41,8 @@ "RGB;" "CMYK;" "MIDI;" - "FTP"; + "FTP;" + "ID"; /// For now we will only fix 'CamelCase' property to /// 'camelCase'. For other cases the users need to @@ -58,13 +59,13 @@ return FixItHint(); } -std::string validPropertyNameRegex(const std::vector &Prefixes) { - std::vector EscapedPrefixes; - EscapedPrefixes.reserve(Prefixes.size()); +std::string validPropertyNameRegex(const std::vector &Acronyms) { + std::vector EscapedAcronyms; + EscapedAcronyms.reserve(Acronyms.size()); // In case someone defines a custom prefix which includes a regex // special character, escape all the prefixes. - std::transform(Prefixes.begin(), Prefixes.end(), - std::back_inserter(EscapedPrefixes), [](const std::string& s) { + std::transform(Acronyms.begin(), Acronyms.end(), + std::back_inserter(EscapedAcronyms), [](const std::string& s) { return llvm::Regex::escape(s); }); // Allow any of these names: // foo @@ -73,9 +74,11 @@ // urlString // URL // URLString + // bundleID return std::string("::((") + - llvm::join(EscapedPrefixes.begin(), EscapedPrefixes.end(), "|") + - ")[A-Z]?)?[a-z]+[a-z0-9]*([A-Z][a-z0-9]+)*$"; + llvm::join(EscapedAcronyms.begin(), EscapedAcronyms.end(), "|") + + ")[A-Z]?)?[a-z]+[a-z0-9]*([A-Z][a-z0-9]+)*" + "(" + + llvm::join(EscapedAcronyms.begin(), EscapedAcronyms.end(), "|") + ")?$"; } } // namespace Index: test/clang-tidy/objc-property-declaration.m =================================================================== --- test/clang-tidy/objc-property-declaration.m +++ test/clang-tidy/objc-property-declaration.m @@ -7,6 +7,7 @@ // CHECK-FIXES: @property(assign, nonatomic) int notCamelCase; @property(assign, nonatomic) int camelCase; @property(strong, nonatomic) NSString *URLString; +@property(strong, nonatomic) NSString *bundleID; @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