llvm/clang/unittests/Analysis/FlowSensitive/TestingSupportTest.cpp

#include "TestingSupport.h"
#include "clang/AST/ASTContext.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/ASTMatchers/ASTMatchers.h"
#include "clang/Analysis/FlowSensitive/NoopAnalysis.h"
#include "clang/Tooling/Tooling.h"
#include "llvm/Testing/ADT/StringMapEntry.h"
#include "llvm/Testing/Support/Error.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"

usingnamespaceclang;
usingnamespacedataflow;

namespace {

functionDecl;
hasAnyName;
hasName;
isDefinition;
AnalysisInputs;
AnalysisOutputs;
checkDataflow;
IsStringMapEntry;
_;
IsEmpty;
UnorderedElementsAre;

template <typename T>
const FunctionDecl *findTargetFunc(ASTContext &Context, T FunctionMatcher) {}

void runTest(
    llvm::StringRef Code, llvm::StringRef TargetName,
    std::function<void(const llvm::DenseMap<const Stmt *, std::string> &)>
        RunChecks) {}

TEST(BuildStatementToAnnotationMappingTest, ReturnStmt) {}

void checkDataflow(
    llvm::StringRef Code,
    ast_matchers::internal::Matcher<FunctionDecl> TargetFuncMatcher,
    std::function<
        void(const llvm::StringMap<DataflowAnalysisState<NoopLattice>> &,
             const AnalysisOutputs &)>
        Expectations) {}

TEST(ProgramPointAnnotations, NoAnnotations) {}

TEST(ProgramPointAnnotations, NoAnnotationsDifferentTarget) {}

TEST(ProgramPointAnnotations, WithProgramPoint) {}

TEST(ProgramPointAnnotations, MultipleProgramPoints) {}

TEST(ProgramPointAnnotations, MultipleFunctionsMultipleProgramPoints) {}

} // namespace