llvm/clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp

//===--- WalkASTTest.cpp ------------------------------------------- C++-*-===//
//
// 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 "AnalysisInternal.h"
#include "clang-include-cleaner/Types.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/DiagnosticOptions.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Frontend/TextDiagnostic.h"
#include "clang/Testing/TestAST.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Testing/Annotations/Annotations.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <cstddef>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>

namespace clang::include_cleaner {
namespace {
ElementsAre;

// Specifies a test of which symbols are referenced by a piece of code.
// Target should contain points annotated with the reference kind.
// Example:
//   Target:      int $explicit^foo();
//   Referencing: int x = ^foo();
// There must be exactly one referencing location marked.
// Returns target decls.
std::vector<Decl::Kind> testWalk(llvm::StringRef TargetCode,
                                 llvm::StringRef ReferencingCode) {}

TEST(WalkAST, DeclRef) {}

TEST(WalkAST, TagType) {}

TEST(WalkAST, ClassTemplates) {}
TEST(WalkAST, VarTemplates) {}
TEST(WalkAST, FunctionTemplates) {}
TEST(WalkAST, TemplateSpecializationsFromUsingDecl) {}

TEST(WalkAST, Alias) {}

TEST(WalkAST, Using) {}

TEST(WalkAST, Namespaces) {}

TEST(WalkAST, TemplateNames) {}

TEST(WalkAST, NestedTypes) {}

TEST(WalkAST, MemberExprs) {}

TEST(WalkAST, ConstructExprs) {}

TEST(WalkAST, Operator) {}

TEST(WalkAST, VarDecls) {}

TEST(WalkAST, Functions) {}

TEST(WalkAST, Enums) {}

TEST(WalkAST, InitializerList) {}

TEST(WalkAST, Concepts) {}

TEST(WalkAST, FriendDecl) {}

TEST(WalkAST, OperatorNewDelete) {}
} // namespace
} // namespace clang::include_cleaner