[PATCH] D62045: Modified global variable declaration to fit updated objc guide.

Stephane Moore via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 17 12:28:11 PDT 2019


stephanemoore requested changes to this revision.
stephanemoore marked 4 inline comments as done.
stephanemoore added inline comments.


================
Comment at: clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp:51-52
+
+  auto NewName = "g" + llvm::StringRef(std::string(1, FC)).upper()) +
+                           Decl->getName().substr(1).str());
+
----------------
benhamilton wrote:
> I don't see any guidance in the style guide about prefixing with `g` either. I assume we should remove that?
> 
Non-const static variable declaration names should have the prefix `g`:
"File scope or global variables have a prefix g."
https://google.github.io/styleguide/objcguide.html#variable-names

The prefixes section in the style guide (https://google.github.io/styleguide/objcguide.html#prefixes) is targeted towards prefixes for classes, protocols, global functions, and global constants (i.e., const qualified variable declaration names).


================
Comment at: clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp:79
                              unless(isLocalVariable()),
-                             unless(matchesName("::(k[A-Z]|[A-Z]{2,})")))
+                             unless(matchesName("::[A-Z][A-Z0-9].*")))
                          .bind("global_const"),
----------------
For legacy code, I think we still need to allow variable declarations of the following form:
```
static const int kFileCount = 12;
static const int kFOOFileCount = 12;
```


================
Comment at: clang-tools-extra/test/clang-tidy/google-objc-global-variable-declaration.m:26
 // CHECK-MESSAGES: :[[@LINE-1]]:24: warning: const global variable '_notAlpha' must have a name which starts with an appropriate prefix [google-objc-global-variable-declaration]
-// CHECK-FIXES: static NSString* const _notAlpha = @"NotBeginWithAlpha";
 
----------------
Thanks for removing the fixit on this case 😄 The fix was not compliant with Google Objective-C style.


================
Comment at: clang-tools-extra/test/clang-tidy/google-objc-global-variable-declaration.m:30
-// CHECK-MESSAGES: :[[@LINE-1]]:24: warning: const global variable 'k_Alpha' must have a name which starts with an appropriate prefix [google-objc-global-variable-declaration]
-// CHECK-FIXES: static NSString* const k_Alpha = @"SecondNotAlpha";
 
----------------
Thanks for removing the fixit on this case 😄 The fix was not compliant with Google Objective-C style.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62045/new/

https://reviews.llvm.org/D62045





More information about the cfe-commits mailing list