This revision was automatically updated to reflect the committed changes. Closed by commit rCTE330492: [clang-tidy] add new check to find out objc ivars which do not have prefix '_' (authored by Wizard, committed by ).
Changed prior to commit: https://reviews.llvm.org/D45392?vs=142057&id=143408#toc Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D45392 Files: clang-tidy/readability/IdentifierNamingCheck.cpp test/clang-tidy/readability-identifier-naming-objc.m Index: test/clang-tidy/readability-identifier-naming-objc.m =================================================================== --- test/clang-tidy/readability-identifier-naming-objc.m +++ 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 Index: clang-tidy/readability/IdentifierNamingCheck.cpp =================================================================== --- clang-tidy/readability/IdentifierNamingCheck.cpp +++ clang-tidy/readability/IdentifierNamingCheck.cpp @@ -109,6 +109,7 @@ m(TemplateParameter) \ m(TypeAlias) \ m(MacroDefinition) \ + m(ObjcIvar) \ enum StyleKind { #define ENUMERATE(v) SK_ ## v, @@ -384,6 +385,9 @@ 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;
Index: test/clang-tidy/readability-identifier-naming-objc.m =================================================================== --- test/clang-tidy/readability-identifier-naming-objc.m +++ 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 Index: clang-tidy/readability/IdentifierNamingCheck.cpp =================================================================== --- clang-tidy/readability/IdentifierNamingCheck.cpp +++ clang-tidy/readability/IdentifierNamingCheck.cpp @@ -109,6 +109,7 @@ m(TemplateParameter) \ m(TypeAlias) \ m(MacroDefinition) \ + m(ObjcIvar) \ enum StyleKind { #define ENUMERATE(v) SK_ ## v, @@ -384,6 +385,9 @@ 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;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits