#include "clang/Analysis/FlowSensitive/Models/ChromiumCheckModel.h"
#include "TestingSupport.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Analysis/CFG.h"
#include "clang/Analysis/FlowSensitive/NoopLattice.h"
#include "clang/Tooling/Tooling.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/Error.h"
#include "llvm/Testing/Support/Error.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <string>
usingnamespaceclang;
usingnamespacedataflow;
usingnamespacetest;
namespace {
NotNull;
UnorderedElementsAre;
static constexpr char ChromiumCheckHeader[] = …;
static constexpr char OtherCheckHeader[] = …;
std::string ReplacePattern(std::string S, const std::string &Pattern,
const std::string &Replacement) { … }
template <typename Model>
class ModelAdaptorAnalysis
: public DataflowAnalysis<ModelAdaptorAnalysis<Model>, NoopLattice> { … };
template <typename Matcher>
void runDataflow(llvm::StringRef Code, Matcher Match) { … }
TEST(ChromiumCheckModelTest, CheckSuccessImpliesConditionHolds) { … }
TEST(ChromiumCheckModelTest, UnrelatedCheckIgnored) { … }
}