Index: clang-tidy/google/FunctionNamingCheck.cpp =================================================================== --- clang-tidy/google/FunctionNamingCheck.cpp +++ clang-tidy/google/FunctionNamingCheck.cpp @@ -110,10 +110,12 @@ void FunctionNamingCheck::check(const MatchFinder::MatchResult &Result) { const auto *MatchedDecl = Result.Nodes.getNodeAs("function"); + bool IsGlobal = MatchedDecl->getStorageClass() != SC_Static; diag(MatchedDecl->getLocation(), - "function name %0 not using function naming conventions described by " - "Google Objective-C style guide") - << MatchedDecl << generateFixItHint(MatchedDecl); + "%select{static function|function in global namespace}1 named %0 must " + "%select{be in|have an appropriate prefix followed by}1 Pascal case as " + "required by Google Objective-C style guide") + << MatchedDecl << IsGlobal << generateFixItHint(MatchedDecl); } } // namespace objc Index: test/clang-tidy/google-objc-function-naming.m =================================================================== --- test/clang-tidy/google-objc-function-naming.m +++ test/clang-tidy/google-objc-function-naming.m @@ -3,28 +3,35 @@ typedef _Bool bool; static bool ispositive(int a) { return a > 0; } -// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: function name 'ispositive' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: static function named 'ispositive' +// must be in Pascal case as required by Google Objective-C style guide // CHECK-FIXES: static bool Ispositive(int a) { return a > 0; } static bool is_positive(int a) { return a > 0; } -// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: function name 'is_positive' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: static function named 'is_positive' +// must be in Pascal case as required by Google Objective-C style guide // CHECK-FIXES: static bool IsPositive(int a) { return a > 0; } static bool isPositive(int a) { return a > 0; } -// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: function name 'isPositive' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: static function named 'isPositive' +// must be in Pascal case as required by Google Objective-C style guide // CHECK-FIXES: static bool IsPositive(int a) { return a > 0; } static bool Is_Positive(int a) { return a > 0; } -// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: function name 'Is_Positive' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: static function named 'Is_Positive' +// must be in Pascal case as required by Google Objective-C style guide // CHECK-FIXES: static bool IsPositive(int a) { return a > 0; } static bool IsPositive(int a) { return a > 0; } bool ispalindrome(const char *str); -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function name 'ispalindrome' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function in global namespace named +// 'ispalindrome' must have an appropriate prefix followed by Pascal case as +// required by Google Objective-C style guide static const char *md5(const char *str) { return 0; } -// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: function name 'md5' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: static function named 'md5' must be +// in Pascal case as required by Google Objective-C style guide // CHECK-FIXES: static const char *Md5(const char *str) { return 0; } static const char *MD5(const char *str) { return 0; } @@ -38,12 +45,16 @@ static const char *StringFromNSString(id str) { return ""; } void ABLog_String(const char *str); -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function name 'ABLog_String' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function in global namespace named +// 'ABLog_String' must have an appropriate prefix followed by Pascal case as +// required by Google Objective-C style guide void ABLogString(const char *str); bool IsPrime(int a); -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function name 'IsPrime' not using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function in global namespace named +// 'IsPrime' must have an appropriate prefix followed by Pascal case as required +// by Google Objective-C style guide const char *ABURL(void) { return "https://clang.llvm.org/"; } Index: test/clang-tidy/google-objc-function-naming.mm =================================================================== --- test/clang-tidy/google-objc-function-naming.mm +++ test/clang-tidy/google-objc-function-naming.mm @@ -1,16 +1,19 @@ // RUN: %check_clang_tidy %s google-objc-function-naming %t void printSomething() {} -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function name 'printSomething' not -// using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function in global namespace named +// 'printSomething' must have an appropriate prefix followed by Pascal case as +// required by Google Objective-C style guide void PrintSomething() {} -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function name 'PrintSomething' not -// using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function in global namespace named +// 'PrintSomething' must have an appropriate prefix followed by Pascal case as +// required by Google Objective-C style guide void ABCBad_Name() {} -// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function name 'ABCBad_Name' not -// using function naming conventions described by Google Objective-C style guide +// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: function in global namespace named +// 'ABCBad_Name' must have an appropriate prefix followed by Pascal case as +// required by Google Objective-C style guide namespace {