summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-05-19 16:39:08 +0000
committerAlexander Kornienko <alexfh@google.com>2014-05-19 16:39:08 +0000
commitbef51cdf055d19dfb276c0e155d82acf62feed09 (patch)
tree65692f83672d62722c421559d7d1e28b70821794 /clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h
parent06c59e259867ee866b23ae3108a10e62af72c852 (diff)
downloadbcm5719-llvm-bef51cdf055d19dfb276c0e155d82acf62feed09.tar.gz
bcm5719-llvm-bef51cdf055d19dfb276c0e155d82acf62feed09.zip
Improved llvm-namespace-comment check.
Summary: Handle various forms of existing namespace closing comments, fix existing comments with wrong namespace name, ignore short namespaces. The state of this check now seems to be enough to enable it by default to gather user feedback ;) Reviewers: klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3825 llvm-svn: 209141
Diffstat (limited to 'clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h')
-rw-r--r--clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h b/clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h
new file mode 100644
index 00000000000..87932807d43
--- /dev/null
+++ b/clang-tools-extra/clang-tidy/llvm/NamespaceCommentCheck.h
@@ -0,0 +1,36 @@
+//===--- NamespaceCommentCheck.h - clang-tidy -------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVM_NAMESPACE_COMMENT_CHECK_H
+#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVM_NAMESPACE_COMMENT_CHECK_H
+
+#include "../ClangTidy.h"
+#include "llvm/Support/Regex.h"
+
+namespace clang {
+namespace tidy {
+
+/// \brief Checks that long namespaces have a closing comment.
+///
+/// see: http://llvm.org/docs/CodingStandards.html#namespace-indentation
+class NamespaceCommentCheck : public ClangTidyCheck {
+public:
+ NamespaceCommentCheck();
+ void registerMatchers(ast_matchers::MatchFinder *Finder) override;
+ void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
+
+private:
+ llvm::Regex NamespaceCommentPattern;
+ const unsigned ShortNamespaceLines;
+};
+
+} // namespace tidy
+} // namespace clang
+
+#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVM_NAMESPACE_COMMENT_CHECK_H
OpenPOWER on IntegriCloud