#include "ASTUtils.h"
#include "DiagOutputUtils.h"
#include "PtrTypesSemantics.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "llvm/Support/Casting.h"
#include <optional>
usingnamespaceclang;
usingnamespaceento;
namespace {
class RawPtrRefMemberChecker
: public Checker<check::ASTDecl<TranslationUnitDecl>> { … };
class NoUncountedMemberChecker final : public RawPtrRefMemberChecker { … };
class NoUncheckedPtrMemberChecker final : public RawPtrRefMemberChecker { … };
}
void ento::registerNoUncountedMemberChecker(CheckerManager &Mgr) { … }
bool ento::shouldRegisterNoUncountedMemberChecker(const CheckerManager &Mgr) { … }
void ento::registerNoUncheckedPtrMemberChecker(CheckerManager &Mgr) { … }
bool ento::shouldRegisterNoUncheckedPtrMemberChecker(
const CheckerManager &Mgr) { … }