[clang-tools-extra] r255770 - [clang-tidy] Add namespace support to add_new_check.py

Alexander Kornienko via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 16 07:05:27 PST 2015


Author: alexfh
Date: Wed Dec 16 09:05:27 2015
New Revision: 255770

URL: http://llvm.org/viewvc/llvm-project?rev=255770&view=rev
Log:
[clang-tidy] Add namespace support to add_new_check.py

Summary: Without namespace you can not create checks with same name in different modules

Reviewers: alexfh

Subscribers: cfe-commits

Patch by Cong Liu!

Differential Revision: http://reviews.llvm.org/D15571

Modified:
    clang-tools-extra/trunk/clang-tidy/add_new_check.py

Modified: clang-tools-extra/trunk/clang-tidy/add_new_check.py
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/add_new_check.py?rev=255770&r1=255769&r2=255770&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/add_new_check.py (original)
+++ clang-tools-extra/trunk/clang-tidy/add_new_check.py Wed Dec 16 09:05:27 2015
@@ -73,6 +73,7 @@ def write_header(module_path, module, ch
 
 namespace clang {
 namespace tidy {
+namespace %(module)s {
 
 /// FIXME: Write a short description.
 ///
@@ -86,6 +87,7 @@ public:
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
 };
 
+} // namespace %(module)s
 } // namespace tidy
 } // namespace clang
 
@@ -93,11 +95,12 @@ public:
 
 """ % {'header_guard': header_guard,
        'check_name': check_name_camel,
-       'check_name_dashes': check_name_dashes})
+       'check_name_dashes': check_name_dashes,
+       'module': module})
 
 
 # Adds the implementation of the new check.
-def write_implementation(module_path, check_name_camel):
+def write_implementation(module_path, module, check_name_camel):
   filename = os.path.join(module_path, check_name_camel) + '.cpp'
   print('Creating %s...' % filename)
   with open(filename, 'wb') as f:
@@ -123,6 +126,7 @@ using namespace clang::ast_matchers;
 
 namespace clang {
 namespace tidy {
+namespace %(module)s {
 
 void %(check_name)s::registerMatchers(MatchFinder *Finder) {
   // FIXME: Add matchers.
@@ -139,10 +143,12 @@ void %(check_name)s::check(const MatchFi
       << FixItHint::CreateInsertion(MatchedDecl->getLocation(), "awesome_");
 }
 
+} // namespace %(module)s
 } // namespace tidy
 } // namespace clang
 
-""" % {'check_name': check_name_camel})
+""" % {'check_name': check_name_camel,
+       'module': module})
 
 
 # Modifies the module to include the new check.
@@ -261,7 +267,7 @@ def main():
   if not adapt_cmake(module_path, check_name_camel):
     return
   write_header(module_path, module, check_name, check_name_camel)
-  write_implementation(module_path, check_name_camel)
+  write_implementation(module_path, module, check_name_camel)
   adapt_module(module_path, module, check_name, check_name_camel)
   write_test(module_path, module, check_name)
   write_docs(module_path, module, check_name)




More information about the cfe-commits mailing list