#include "clang/Analysis/PathDiagnostic.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Frontend/AnalysisConsumer.h"
#include "clang/StaticAnalyzer/Frontend/CheckerRegistry.h"
#include "clang/Tooling/Tooling.h"
#include "gtest/gtest.h"
namespace clang {
namespace ento {
class OnlyWarningsDiagConsumer : public PathDiagnosticConsumer { … };
class PathDiagConsumer : public PathDiagnosticConsumer { … };
AddCheckerFn;
template <AddCheckerFn Fn1, AddCheckerFn Fn2, AddCheckerFn... Fns>
void addChecker(AnalysisASTConsumer &AnalysisConsumer,
AnalyzerOptions &AnOpts) { … }
template <AddCheckerFn Fn1>
void addChecker(AnalysisASTConsumer &AnalysisConsumer,
AnalyzerOptions &AnOpts) { … }
template <AddCheckerFn... Fns> class TestAction : public ASTFrontendAction { … };
inline SmallString<80> getCurrentTestNameAsFileName() { … }
template <AddCheckerFn... Fns>
bool runCheckerOnCode(const std::string &Code, std::string &Diags,
bool OnlyEmitWarnings = false) { … }
template <AddCheckerFn... Fns> bool runCheckerOnCode(const std::string &Code) { … }
template <AddCheckerFn... Fns>
bool runCheckerOnCodeWithArgs(const std::string &Code,
const std::vector<std::string> &Args,
std::string &Diags,
bool OnlyEmitWarnings = false) { … }
template <AddCheckerFn... Fns>
bool runCheckerOnCodeWithArgs(const std::string &Code,
const std::vector<std::string> &Args) { … }
}
}