#include "AnalysisInternal.h"
#include "TypesInternal.h"
#include "clang-include-cleaner/Analysis.h"
#include "clang-include-cleaner/Record.h"
#include "clang-include-cleaner/Types.h"
#include "clang/AST/Expr.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/Basic/FileEntry.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LLVM.h"
#include "clang/Frontend/FrontendActions.h"
#include "clang/Testing/TestAST.h"
#include "clang/Tooling/Inclusions/StandardLibrary.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <cassert>
#include <memory>
namespace clang::include_cleaner {
namespace {
ElementsAre;
UnorderedElementsAre;
std::string guard(llvm::StringRef Code) { … }
class FindHeadersTest : public testing::Test { … };
TEST_F(FindHeadersTest, IWYUPrivateToPublic) { … }
TEST_F(FindHeadersTest, IWYUExport) { … }
TEST_F(FindHeadersTest, IWYUExportForStandardHeaders) { … }
TEST_F(FindHeadersTest, SelfContained) { … }
TEST_F(FindHeadersTest, NonSelfContainedTraversePrivate) { … }
TEST_F(FindHeadersTest, NonSelfContainedTraverseExporter) { … }
TEST_F(FindHeadersTest, TargetIsExpandedFromMacroInHeader) { … }
MATCHER_P2(HintedHeader, Header, Hint, "") { … }
TEST_F(FindHeadersTest, PublicHeaderHint) { … }
TEST_F(FindHeadersTest, PreferredHeaderHint) { … }
class HeadersForSymbolTest : public FindHeadersTest { … };
TEST_F(HeadersForSymbolTest, Deduplicates) { … }
TEST_F(HeadersForSymbolTest, RankByName) { … }
TEST_F(HeadersForSymbolTest, Ranking) { … }
TEST_F(HeadersForSymbolTest, PreferPublicOverComplete) { … }
TEST_F(HeadersForSymbolTest, PreferNameMatch) { … }
TEST_F(HeadersForSymbolTest, MainFile) { … }
TEST_F(HeadersForSymbolTest, PreferExporterOfPrivate) { … }
TEST_F(HeadersForSymbolTest, ExporterIsDownRanked) { … }
TEST_F(HeadersForSymbolTest, PreferPublicOverNameMatchOnPrivate) { … }
TEST_F(HeadersForSymbolTest, PublicOverPrivateWithoutUmbrella) { … }
TEST_F(HeadersForSymbolTest, IWYUTransitiveExport) { … }
TEST_F(HeadersForSymbolTest, IWYUTransitiveExportWithPrivate) { … }
TEST_F(HeadersForSymbolTest, AmbiguousStdSymbols) { … }
TEST_F(HeadersForSymbolTest, AmbiguousStdSymbolsUsingShadow) { … }
TEST_F(HeadersForSymbolTest, StandardHeaders) { … }
TEST_F(HeadersForSymbolTest, ExporterNoNameMatch) { … }
}
}