[PATCH] D15571: Add namespace support to add_new_check.py
Cong Liu via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 16 06:42:21 PST 2015
congliu created this revision.
congliu added a reviewer: alexfh.
congliu added a subscriber: cfe-commits.
Without namespace you can not create checks with same name in different modules
http://reviews.llvm.org/D15571
Files:
clang-tidy/add_new_check.py
Index: clang-tidy/add_new_check.py
===================================================================
--- clang-tidy/add_new_check.py
+++ clang-tidy/add_new_check.py
@@ -73,6 +73,7 @@
namespace clang {
namespace tidy {
+namespace %(namespace)s {
/// FIXME: Write a short description.
///
@@ -86,18 +87,20 @@
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
};
+} // namespace %(namespace)s
} // namespace tidy
} // namespace clang
#endif // %(header_guard)s
""" % {'header_guard': header_guard,
'check_name': check_name_camel,
- 'check_name_dashes': check_name_dashes})
+ 'check_name_dashes': check_name_dashes,
+ 'namespace': 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 @@
namespace clang {
namespace tidy {
+namespace %(namespace)s {
void %(check_name)s::registerMatchers(MatchFinder *Finder) {
// FIXME: Add matchers.
@@ -139,10 +143,12 @@
<< FixItHint::CreateInsertion(MatchedDecl->getLocation(), "awesome_");
}
+} // namespace %(namespace)s
} // namespace tidy
} // namespace clang
-""" % {'check_name': check_name_camel})
+""" % {'check_name': check_name_camel,
+ 'namespace': module})
# Modifies the module to include the new check.
@@ -261,7 +267,7 @@
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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15571.43003.patch
Type: text/x-patch
Size: 1978 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151216/b9fc4773/attachment-0001.bin>
More information about the cfe-commits
mailing list