blob: 3e99892b35d41e6838d5547f91f51b0fc3bf4837 [file] [log] [blame]
Aaron Ballmande349852015-09-29 13:12:21 +00001//===--- NewDeleteOverloadsCheck.h - clang-tidy----------------------------===//
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_MISC_NEWDELETEOVERLOADS_H
11#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_NEWDELETEOVERLOADS_H
12
13#include "../ClangTidy.h"
14#include "llvm/ADT/SmallVector.h"
15#include <map>
16
17namespace clang {
18namespace tidy {
19namespace misc {
20
21class NewDeleteOverloadsCheck : public ClangTidyCheck {
22 std::map<const clang::CXXRecordDecl *,
Mandeep Singh Grang7c7ea7d2016-11-08 07:50:19 +000023 llvm::SmallVector<const clang::FunctionDecl *, 4>>
24 Overloads;
Aaron Ballmande349852015-09-29 13:12:21 +000025
26public:
27 NewDeleteOverloadsCheck(StringRef Name, ClangTidyContext *Context)
Mandeep Singh Grang7c7ea7d2016-11-08 07:50:19 +000028 : ClangTidyCheck(Name, Context) {}
Aaron Ballmande349852015-09-29 13:12:21 +000029 void registerMatchers(ast_matchers::MatchFinder *Finder) override;
30 void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
31 void onEndOfTranslationUnit() override;
32};
33
34} // namespace misc
35} // namespace tidy
36} // namespace clang
37
38#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_NEWDELETEOVERLOADS_H