llvm/llvm/unittests/ADT/TypeSwitchTest.cpp

//===- TypeSwitchTest.cpp - TypeSwitch unit tests -------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#include "llvm/ADT/TypeSwitch.h"
#include "gtest/gtest.h"

usingnamespacellvm;

namespace {
/// Utility classes to setup casting functionality.
struct Base {};
template <Base::Kind DerivedKind> struct DerivedImpl : Base {};
struct DerivedA : public DerivedImpl<Base::DerivedA> {};
struct DerivedB : public DerivedImpl<Base::DerivedB> {};
struct DerivedC : public DerivedImpl<Base::DerivedC> {};
struct DerivedD : public DerivedImpl<Base::DerivedD> {};
struct DerivedE : public DerivedImpl<Base::DerivedE> {};
} // end anonymous namespace

TEST(TypeSwitchTest, CaseResult) {}

TEST(TypeSwitchTest, CasesResult) {}

TEST(TypeSwitchTest, CaseVoid) {}

TEST(TypeSwitchTest, CasesVoid) {}

TEST(TypeSwitchTest, CaseOptional) {}

TEST(TypeSwitchTest, CasesOptional) {}