blob: 74a9b5e51ecc2aed3296e48ba7f8a6be1d6ce436 [file] [log] [blame]
Angel Garcia Gomez8dedeb02015-10-21 12:58:15 +00001//===--- UseDefaultCheck.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_MODERNIZE_USE_DEFAULT_H
11#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_DEFAULT_H
12
13#include "../ClangTidy.h"
14
15namespace clang {
16namespace tidy {
17namespace modernize {
18
19/// \brief Replace default bodies of special member functions with '= default;'.
20/// \code
21/// struct A {
22/// A() {}
23/// ~A();
24/// };
25/// A::~A() {}
26/// \endcode
27/// Is converted to:
28/// \code
29/// struct A {
30/// A() = default;
31/// ~A();
32/// };
33/// A::~A() = default;
34/// \endcode
35///
36/// For the user-facing documentation see:
37/// http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-default.html
38class UseDefaultCheck : public ClangTidyCheck {
39public:
40 UseDefaultCheck(StringRef Name, ClangTidyContext *Context)
41 : ClangTidyCheck(Name, Context) {}
42 void registerMatchers(ast_matchers::MatchFinder *Finder) override;
43 void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
44};
45
46} // namespace modernize
47} // namespace tidy
48} // namespace clang
49
50#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_DEFAULT_H
51