clang-tools 22.0.0git
|
Detects error-prone Curiously Recurring Template Pattern usage, when the CRTP can be constructed outside itself and the derived class. More...
#include <CrtpConstructorAccessibilityCheck.h>
Public Member Functions | |
CrtpConstructorAccessibilityCheck (StringRef Name, ClangTidyContext *Context) | |
void | registerMatchers (ast_matchers::MatchFinder *Finder) override |
void | check (const ast_matchers::MatchFinder::MatchResult &Result) override |
bool | isLanguageVersionSupported (const LangOptions &LangOpts) const override |
Detects error-prone Curiously Recurring Template Pattern usage, when the CRTP can be constructed outside itself and the derived class.
For the user-facing documentation see: https://clang.llvm.org/extra/clang-tidy/checks/bugprone/crtp-constructor-accessibility.html
Definition at line 21 of file CrtpConstructorAccessibilityCheck.h.
|
inline |
Definition at line 23 of file CrtpConstructorAccessibilityCheck.h.
|
override |
Definition at line 101 of file CrtpConstructorAccessibilityCheck.cpp.
References check(), clang::tidy::bugprone::getDerivedParameter(), clang::tidy::bugprone::hasPrivateConstructor(), clang::tidy::bugprone::hintMakeCtorPrivate(), clang::tidy::bugprone::isDerivedClassBefriended(), and clang::tidy::bugprone::isDerivedParameterBefriended().
Referenced by check().
|
override |
Definition at line 176 of file CrtpConstructorAccessibilityCheck.cpp.
References isLanguageVersionSupported().
Referenced by isLanguageVersionSupported().
|
override |
Definition at line 90 of file CrtpConstructorAccessibilityCheck.cpp.
References registerMatchers().
Referenced by registerMatchers().