clang-tools
15.0.0git
llvm-project
clang-tools-extra
clang-tidy
bugprone
SharedPtrArrayMismatchCheck.h
Go to the documentation of this file.
1
//===--- SharedPtrArrayMismatchCheck.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_BUGPRONE_SHAREDPTRARRAYMISMATCHCHECK_H
10
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_SHAREDPTRARRAYMISMATCHCHECK_H
11
12
#include "
SmartPtrArrayMismatchCheck.h
"
13
14
namespace
clang
{
15
namespace
tidy {
16
namespace
bugprone {
17
18
/// Find `std::shared_ptr<T>(new T[...])`, replace it (if applicable) with
19
/// `std::shared_ptr<T[]>(new T[...])`.
20
///
21
/// Example:
22
///
23
/// \code
24
/// std::shared_ptr<int> PtrArr{new int[10]};
25
/// \endcode
26
class
SharedPtrArrayMismatchCheck
:
public
SmartPtrArrayMismatchCheck
{
27
public
:
28
SharedPtrArrayMismatchCheck
(StringRef
Name
,
ClangTidyContext
*Context);
29
30
protected
:
31
virtual
SmartPtrClassMatcher
getSmartPointerClassMatcher
()
const override
;
32
};
33
34
}
// namespace bugprone
35
}
// namespace tidy
36
}
// namespace clang
37
38
#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_SHAREDPTRARRAYMISMATCHCHECK_H
clang::tidy::bugprone::SharedPtrArrayMismatchCheck
Find std::shared_ptr<T>(new T[...]), replace it (if applicable) with std::shared_ptr<T[]>(new T[....
Definition:
SharedPtrArrayMismatchCheck.h:26
clang::tidy::ClangTidyContext
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.
Definition:
ClangTidyDiagnosticConsumer.h:67
clang::tidy::bugprone::SmartPtrArrayMismatchCheck
Find constructions of smart (unique or shared) pointers where the pointer is declared with non-array ...
Definition:
SmartPtrArrayMismatchCheck.h:21
clang::tidy::bugprone::SharedPtrArrayMismatchCheck::SharedPtrArrayMismatchCheck
SharedPtrArrayMismatchCheck(StringRef Name, ClangTidyContext *Context)
Definition:
SharedPtrArrayMismatchCheck.cpp:17
Name
Token Name
Definition:
MacroToEnumCheck.cpp:89
clang::tidy::bugprone::SmartPtrArrayMismatchCheck::SmartPtrClassMatcher
ast_matchers::internal::BindableMatcher< Decl > SmartPtrClassMatcher
Definition:
SmartPtrArrayMismatchCheck.h:34
clang::tidy::bugprone::SharedPtrArrayMismatchCheck::getSmartPointerClassMatcher
virtual SmartPtrClassMatcher getSmartPointerClassMatcher() const override
Returns matcher that match with different smart pointer classes.
Definition:
SharedPtrArrayMismatchCheck.cpp:22
clang
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Definition:
ApplyReplacements.h:27
SmartPtrArrayMismatchCheck.h
Generated on Wed Jul 6 2022 02:22:40 for clang-tools by
1.8.17