blob: dfefed6dceeada3689d695695fb81c61fb5be039 [file] [log] [blame]
Malcolm Parsonsbcf23662016-12-01 17:24:42 +00001//===--- UseEqualsDefaultCheck.h - clang-tidy--------------------------*- C++ -*-===//
Angel Garcia Gomez8dedeb02015-10-21 12:58:15 +00002//
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
Malcolm Parsonsbcf23662016-12-01 17:24:42 +000010#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_EQUALS_DEFAULT_H
11#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_EQUALS_DEFAULT_H
Angel Garcia Gomez8dedeb02015-10-21 12:58:15 +000012
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:
Malcolm Parsonsbcf23662016-12-01 17:24:42 +000037/// http://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html
38class UseEqualsDefaultCheck : public ClangTidyCheck {
Angel Garcia Gomez8dedeb02015-10-21 12:58:15 +000039public:
Malcolm Parsonsbcf23662016-12-01 17:24:42 +000040 UseEqualsDefaultCheck(StringRef Name, ClangTidyContext *Context)
Angel Garcia Gomez8dedeb02015-10-21 12:58:15 +000041 : 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
Malcolm Parsonsbcf23662016-12-01 17:24:42 +000050#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MODERNIZE_USE_EQUALS_DEFAULT_H