#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"
#include "clang/Analysis/Analyses/Dominators.h"
#include "clang/Analysis/Analyses/LiveVariables.h"
#include "clang/Analysis/CallGraph.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "llvm/Support/Process.h"
usingnamespaceclang;
usingnamespaceento;
namespace {
class DominatorsTreeDumper : public Checker<check::ASTCodeBody> { … };
}
void ento::registerDominatorsTreeDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterDominatorsTreeDumper(const CheckerManager &mgr) { … }
namespace {
class PostDominatorsTreeDumper : public Checker<check::ASTCodeBody> { … };
}
void ento::registerPostDominatorsTreeDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterPostDominatorsTreeDumper(const CheckerManager &mgr) { … }
namespace {
class ControlDependencyTreeDumper : public Checker<check::ASTCodeBody> { … };
}
void ento::registerControlDependencyTreeDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterControlDependencyTreeDumper(const CheckerManager &mgr) { … }
namespace {
class LiveVariablesDumper : public Checker<check::ASTCodeBody> { … };
}
void ento::registerLiveVariablesDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterLiveVariablesDumper(const CheckerManager &mgr) { … }
namespace {
class LiveExpressionsDumper : public Checker<check::ASTCodeBody> { … };
}
void ento::registerLiveExpressionsDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterLiveExpressionsDumper(const CheckerManager &mgr) { … }
namespace {
class CFGViewer : public Checker<check::ASTCodeBody> { … };
}
void ento::registerCFGViewer(CheckerManager &mgr) { … }
bool ento::shouldRegisterCFGViewer(const CheckerManager &mgr) { … }
namespace {
class CFGDumper : public Checker<check::ASTCodeBody> { … };
}
void ento::registerCFGDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterCFGDumper(const CheckerManager &mgr) { … }
namespace {
class CallGraphViewer : public Checker< check::ASTDecl<TranslationUnitDecl> > { … };
}
void ento::registerCallGraphViewer(CheckerManager &mgr) { … }
bool ento::shouldRegisterCallGraphViewer(const CheckerManager &mgr) { … }
namespace {
class CallGraphDumper : public Checker< check::ASTDecl<TranslationUnitDecl> > { … };
}
void ento::registerCallGraphDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterCallGraphDumper(const CheckerManager &mgr) { … }
namespace {
class ConfigDumper : public Checker< check::EndOfTranslationUnit > { … };
}
void ento::registerConfigDumper(CheckerManager &mgr) { … }
bool ento::shouldRegisterConfigDumper(const CheckerManager &mgr) { … }
namespace {
class ExplodedGraphViewer : public Checker< check::EndAnalysis > { … };
}
void ento::registerExplodedGraphViewer(CheckerManager &mgr) { … }
bool ento::shouldRegisterExplodedGraphViewer(const CheckerManager &mgr) { … }
namespace {
class ReportStmts : public Checker<check::PreStmt<Stmt>> { … };
}
void ento::registerReportStmts(CheckerManager &mgr) { … }
bool ento::shouldRegisterReportStmts(const CheckerManager &mgr) { … }