diff options
| -rw-r--r-- | clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp | 4 | ||||
| -rw-r--r-- | clang-tools-extra/test/clang-tidy/readability-identifier-naming-objc.m | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp index 95a71f63986..c6b5265efdc 100644 --- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp @@ -109,6 +109,7 @@ namespace readability { m(TemplateParameter) \ m(TypeAlias) \ m(MacroDefinition) \ + m(ObjcIvar) \ enum StyleKind { #define ENUMERATE(v) SK_ ## v, @@ -384,6 +385,9 @@ static StyleKind findStyleKind( const NamedDecl *D, const std::vector<llvm::Optional<IdentifierNamingCheck::NamingStyle>> &NamingStyles) { + if (isa<ObjCIvarDecl>(D) && NamingStyles[SK_ObjcIvar]) + return SK_ObjcIvar; + if (isa<TypedefDecl>(D) && NamingStyles[SK_Typedef]) return SK_Typedef; diff --git a/clang-tools-extra/test/clang-tidy/readability-identifier-naming-objc.m b/clang-tools-extra/test/clang-tidy/readability-identifier-naming-objc.m new file mode 100644 index 00000000000..4b3be03fe92 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/readability-identifier-naming-objc.m @@ -0,0 +1,15 @@ +// RUN: %check_clang_tidy %s readability-identifier-naming %t \ +// RUN: -config='{CheckOptions: \ +// RUN: [{key: readability-identifier-naming.ObjcIvarPrefix, value: '_'}]}' \ +// RUN: -- + +@interface Foo +@end + +@interface Foo () { + int _bar; + int barWithoutPrefix; + // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: invalid case style for objc ivar 'barWithoutPrefix' [readability-identifier-naming] + // CHECK-FIXES: int _barWithoutPrefix; +} +@end |

