blob: 1077ffe0c190e364e6517d574982c948dbf23586 [file] [log] [blame]
Daniel Jasperd07c8402013-07-29 08:19:24 +00001//===--- GoogleTidyModule.h - clang-tidy ------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_GOOGLE_TIDY_MODULE_H
11#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_GOOGLE_TIDY_MODULE_H
12
13#include "../ClangTidy.h"
14
15namespace clang {
16namespace tidy {
17
18/// \brief Checks that all single-argument constructors are explicit.
19///
20/// see:
21/// http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Explicit_Constructors
22class ExplicitConstructorCheck : public ClangTidyCheck {
23public:
Craig Toppera3dbe842014-03-02 10:20:11 +000024 void registerMatchers(ast_matchers::MatchFinder *Finder) override;
Alexander Kornienkocb9272f2014-02-27 13:14:51 +000025 void
Craig Toppera3dbe842014-03-02 10:20:11 +000026 check(const ast_matchers::MatchFinder::MatchResult &Result) override;
Daniel Jasperd07c8402013-07-29 08:19:24 +000027};
28
29} // namespace tidy
30} // namespace clang
31
32#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_GOOGLE_TIDY_MODULE_H