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) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits