clang-tools  10.0.0git
MutatingCopyCheck.h
Go to the documentation of this file.
1 //===--- MutatingCopyCheck.h - clang-tidy -----------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CERT_MUTATINGCOPYCHECK_H
10 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CERT_MUTATINGCOPYCHECK_H
11 
12 #include "../ClangTidyCheck.h"
13 
14 namespace clang {
15 namespace tidy {
16 namespace cert {
17 
18 /// Finds assignments to the copied object and its direct or indirect members
19 /// in copy constructors and copy assignment operators.
20 ///
21 /// For the user-facing documentation see:
22 /// http://clang.llvm.org/extra/clang-tidy/checks/cert-oop58-cpp.html
24 public:
26  : ClangTidyCheck(Name, Context) {}
27  void registerMatchers(ast_matchers::MatchFinder *Finder) override;
28  void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
29 };
30 
31 } // namespace cert
32 } // namespace tidy
33 } // namespace clang
34 
35 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CERT_MUTATINGCOPYCHECK_H
MutatingCopyCheck(StringRef Name, ClangTidyContext *Context)
Base class for all clang-tidy checks.
void check(const ast_matchers::MatchFinder::MatchResult &Result) override
ClangTidyChecks that register ASTMatchers should do the actual work in here.
Finds assignments to the copied object and its direct or indirect members in copy constructors and co...
static constexpr llvm::StringLiteral Name
void registerMatchers(ast_matchers::MatchFinder *Finder) override
Override this to register AST matchers with Finder.
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.