clang-tools 22.0.0git
HTMLGenerator.cpp File Reference
#include "Generators.h"
#include "Representation.h"
#include "support/File.h"
#include "clang/Basic/Version.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <optional>
#include <string>

Go to the source code of this file.

Classes

class  clang::doc::HTMLGenerator
 Generator for HTML documentation. More...

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
namespace  clang::doc

Functions

template<typename Derived, typename Base, typename = std::enable_if<std::is_base_of<Derived, Base>::value>>
static void clang::doc::appendVector (std::vector< Derived > &&New, std::vector< Base > &Original)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genStylesheetsHTML (StringRef InfoPath, const ClangDocContext &CDCtx)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genJsScriptsHTML (StringRef InfoPath, const ClangDocContext &CDCtx)
static std::unique_ptr< TagNode > clang::doc::genLink (const Twine &Text, const Twine &Link)
static std::unique_ptr< HTMLNode > clang::doc::genReference (const Reference &Type, StringRef CurrentDirectory, std::optional< StringRef > JumpToSection=std::nullopt)
static std::vector< std::unique_ptr< HTMLNode > > clang::doc::genReferenceList (const llvm::SmallVectorImpl< Reference > &Refs, const StringRef &CurrentDirectory)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML (const EnumInfo &I, const ClangDocContext &CDCtx)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML (const FunctionInfo &I, const ClangDocContext &CDCtx, StringRef ParentInfoDir)
static std::unique_ptr< TagNode > clang::doc::genHTML (const std::vector< CommentInfo > &C)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genEnumsBlock (const std::vector< EnumInfo > &Enums, const ClangDocContext &CDCtx)
static std::unique_ptr< TagNode > clang::doc::genEnumMembersBlock (const llvm::SmallVector< EnumValueInfo, 4 > &Members)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genFunctionsBlock (const std::vector< FunctionInfo > &Functions, const ClangDocContext &CDCtx, StringRef ParentInfoDir)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genRecordMembersBlock (const llvm::SmallVector< MemberTypeInfo, 4 > &Members, StringRef ParentInfoDir)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genReferencesBlock (const std::vector< Reference > &References, llvm::StringRef Title, StringRef ParentPath)
static std::unique_ptr< TagNode > clang::doc::writeSourceFileRef (const ClangDocContext &CDCtx, const Location &L)
static void clang::doc::maybeWriteSourceFileRef (std::vector< std::unique_ptr< TagNode > > &Out, const ClangDocContext &CDCtx, const std::optional< Location > &DefLoc)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML (const Index &Index, StringRef InfoPath, bool IsOutermostList)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genFileHeadNodes (StringRef Title, StringRef InfoPath, const ClangDocContext &CDCtx)
static std::unique_ptr< TagNode > clang::doc::genFileHeaderNode (StringRef ProjectName)
static std::unique_ptr< TagNode > clang::doc::genInfoFileMainNode (StringRef InfoPath, std::vector< std::unique_ptr< TagNode > > &MainContentInnerNodes, const Index &InfoIndex)
static std::unique_ptr< TagNode > clang::doc::genFileFooterNode ()
static HTMLFile clang::doc::genInfoFile (StringRef Title, StringRef InfoPath, std::vector< std::unique_ptr< TagNode > > &MainContentNodes, const Index &InfoIndex, const ClangDocContext &CDCtx)
template<typename T, typename = std::enable_if<std::is_base_of<T, Info>::value>>
static Index clang::doc::genInfoIndexItem (const std::vector< T > &Infos, StringRef Title)
static std::unique_ptr< HTMLNode > clang::doc::genHTML (const CommentInfo &I)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML (const NamespaceInfo &I, Index &InfoIndex, const ClangDocContext &CDCtx, std::string &InfoTitle)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML (const RecordInfo &I, Index &InfoIndex, const ClangDocContext &CDCtx, std::string &InfoTitle)
static std::vector< std::unique_ptr< TagNode > > clang::doc::genHTML (const TypedefInfo &I, const ClangDocContext &CDCtx, std::string &InfoTitle)
static std::string clang::doc::getRefType (InfoType IT)
static llvm::Error clang::doc::serializeIndex (ClangDocContext &CDCtx)
static std::unique_ptr< TagNode > clang::doc::genIndexFileMainNode ()
static llvm::Error clang::doc::genIndex (const ClangDocContext &CDCtx)
static GeneratorRegistry::Add< HTMLGeneratorclang::doc::HTML (HTMLGenerator::Format, "Generator for HTML output.")