From 72cecf9a63032d53a57e39eefcea58dd4217fdbc Mon Sep 17 00:00:00 2001 From: Yan Zhang Date: Mon, 11 Jun 2018 22:44:06 +0000 Subject: [PATCH] - Add "AV" as new default acronym. - Add support for "I" and "A" in lowerCamelCase pattern Summary: Now we can support property names like "hasADog" correctly. Reviewers: benhamilton, hokein Reviewed By: benhamilton Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D48039 llvm-svn: 334448 --- clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp | 3 ++- clang-tools-extra/test/clang-tidy/objc-property-declaration.m | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp index 8bc77f5f1af64..dc15bdbe43f32 100644 --- a/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp +++ b/clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp @@ -45,6 +45,7 @@ constexpr llvm::StringLiteral DefaultSpecialAcronyms[] = { "AR", "ARGB", "ASCII", + "AV", "BGRA", "CA", "CF", @@ -153,7 +154,7 @@ std::string validPropertyNameRegex(llvm::ArrayRef EscapedAcronyms, std::string StartMatcher = UsedInMatcher ? "::" : "^"; std::string AcronymsMatcher = AcronymsGroupRegex(EscapedAcronyms); return StartMatcher + "(" + AcronymsMatcher + "[A-Z]?)?[a-z]+[a-z0-9]*(" + - AcronymsMatcher + "|([A-Z][a-z0-9]+))*$"; + AcronymsMatcher + "|([A-Z][a-z0-9]+)|A|I)*$"; } bool hasCategoryPropertyPrefix(llvm::StringRef PropertyName) { 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 ede14426df94b..7f70784d354c9 100644 --- a/clang-tools-extra/test/clang-tidy/objc-property-declaration.m +++ b/clang-tools-extra/test/clang-tidy/objc-property-declaration.m @@ -22,6 +22,7 @@ @interface Foo @property(assign, nonatomic) int shouldUseCFPreferences; @property(assign, nonatomic) int enableGLAcceleration; @property(assign, nonatomic) int ID; +@property(assign, nonatomic) int hasADog; @end @interface Foo (Bar)