#include "SpecialMemberFunctionsCheck.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/StringExtras.h"
#define DEBUG_TYPE …
usingnamespaceclang::ast_matchers;
namespace clang::tidy::cppcoreguidelines {
SpecialMemberFunctionsCheck::SpecialMemberFunctionsCheck(
StringRef Name, ClangTidyContext *Context)
: … { … }
void SpecialMemberFunctionsCheck::storeOptions(
ClangTidyOptions::OptionMap &Opts) { … }
std::optional<TraversalKind>
SpecialMemberFunctionsCheck::getCheckTraversalKind() const { … }
void SpecialMemberFunctionsCheck::registerMatchers(MatchFinder *Finder) { … }
static llvm::StringRef
toString(SpecialMemberFunctionsCheck::SpecialMemberFunctionKind K) { … }
static std::string
join(ArrayRef<SpecialMemberFunctionsCheck::SpecialMemberFunctionKind> SMFS,
llvm::StringRef AndOr) { … }
void SpecialMemberFunctionsCheck::check(
const MatchFinder::MatchResult &Result) { … }
void SpecialMemberFunctionsCheck::onEndOfTranslationUnit() { … }
void SpecialMemberFunctionsCheck::checkForMissingMembers(
const ClassDefId &ID,
llvm::ArrayRef<SpecialMemberFunctionData> DefinedMembers) { … }
}