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

//===- unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp --===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
//  This file defines a test for the transferBranch function of the
//  TypeErasedDataflowAnalysis.
//
//===----------------------------------------------------------------------===//

#include "TestingSupport.h"
#include "clang/Analysis/FlowSensitive/DataflowAnalysis.h"
#include "clang/Tooling/Tooling.h"
#include "llvm/Support/Error.h"
#include "llvm/Testing/Annotations/Annotations.h"
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"
#include <optional>

namespace clang::dataflow::test {
namespace {

usingnamespaceast_matchers;

struct TestLattice {};

class TestPropagationAnalysis
    : public DataflowAnalysis<TestPropagationAnalysis, TestLattice> {};

UnorderedElementsAre;

template <typename Matcher>
void runDataflow(llvm::StringRef Code, Matcher VerifyResults,
                 LangStandard::Kind Std = LangStandard::lang_cxx17,
                 llvm::StringRef TargetFun = "fun") {}

template <typename LatticeT>
const LatticeT &getLatticeAtAnnotation(
    const llvm::StringMap<DataflowAnalysisState<LatticeT>> &AnnotationStates,
    llvm::StringRef Annotation) {}

TEST(TransferBranchTest, IfElse) {}

} // namespace
} // namespace clang::dataflow::test