#include "AnalysisInternal.h"
#include "clang-include-cleaner/IncludeSpeller.h"
#include "clang-include-cleaner/Types.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Lex/HeaderSearch.h"
#include "clang/Lex/Lexer.h"
#include "clang/Tooling/Inclusions/StandardLibrary.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/raw_ostream.h"
#include <numeric>
namespace clang::include_cleaner {
namespace {
constexpr llvm::StringLiteral CSS = …;
constexpr llvm::StringLiteral JS = …;
llvm::StringRef describeSymbol(const Symbol &Sym) { … }
std::string printDetails(const Symbol &Sym) { … }
llvm::StringRef refType(RefType T) { … }
class Reporter { … };
}
void writeHTMLReport(FileID File, const include_cleaner::Includes &Includes,
llvm::ArrayRef<Decl *> Roots,
llvm::ArrayRef<SymbolReference> MacroRefs, ASTContext &Ctx,
const HeaderSearch &HS, PragmaIncludes *PI,
llvm::raw_ostream &OS) { … }
}