clang-tools 19.0.0git
Classes | Namespaces | Functions
HTMLGenerator.cpp File Reference
#include "Generators.h"
#include "Representation.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 <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 SmallString< 128 > clang::doc::computeRelativePath (StringRef Destination, StringRef Origin)
 
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::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::writeFileDefinition (const Location &L, std::optional< StringRef > RepositoryUrl=std::nullopt)
 
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::unique_ptr< TagNode > clang::doc::genHTML (const std::vector< CommentInfo > &C)
 
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 llvm::Error clang::doc::CopyFile (StringRef FilePath, StringRef OutDirectory)
 
static GeneratorRegistry::Add< HTMLGenerator > clang::doc::HTML (HTMLGenerator::Format, "Generator for HTML output.")
 

Variable Documentation

◆ Attributes

std::vector<std::pair<std::string, std::string> > Attributes

Definition at line 95 of file HTMLGenerator.cpp.

◆ Children

std::vector<std::unique_ptr<HTMLNode> > Children

◆ Tag

HTMLTag Tag

◆ Text

std::string Text

◆ Type

NodeType Type

Definition at line 75 of file HTMLGenerator.cpp.

Referenced by clang::tidy::utils::fixit::addQualifierToVarDecl(), clang::tidy::readability::areBinaryOperatorOperandsTypesEqualToOperatorResultType(), clang::doc::calculateRelativeFilePath(), clang::clangd::categorize(), clang::tidy::modernize::MakeSmartPtrCheck::check(), clang::tidy::altera::IdDependentBackwardBranchCheck::check(), clang::tidy::bugprone::ComparePointerToMemberVirtualFunctionCheck::check(), clang::tidy::bugprone::CopyConstructorInitCheck::check(), clang::tidy::bugprone::ParentVirtualCallCheck::check(), clang::tidy::bugprone::SizeofExpressionCheck::check(), clang::tidy::bugprone::SuspiciousMemoryComparisonCheck::check(), clang::tidy::misc::UnusedUsingDeclsCheck::check(), clang::tidy::misc::UseAnonymousNamespaceCheck::check(), clang::tidy::modernize::UseDesignatedInitializersCheck::check(), clang::tidy::modernize::UseNoexceptCheck::check(), clang::tidy::modernize::UseUsingCheck::check(), clang::tidy::mpi::BufferDerefCheck::check(), clang::tidy::mpi::TypeMismatchCheck::check(), clang::tidy::readability::NonConstParameterCheck::check(), clang::tidy::modernize::checkTemplatedDecl(), Modularize::CoverageChecker::collectUmbrellaHeaders(), Modularize::ModularizeUtilities::collectUmbrellaHeaders(), dumpXPCObject(), clang::tidy::bugprone::emitDiagnostic(), clang::tidy::utils::ExceptionAnalyzer::ExceptionInfo::filterByCatch(), clang::tidy::utils::ExceptionAnalyzer::ExceptionInfo::filterIgnoredExceptions(), clang::tidy::readability::IdentifierNamingCheck::findStyleKind(), clang::clangd::findType(), clang::tidy::readability::IdentifierNamingCheck::fixupWithStyle(), clang::tidy::bugprone::formatIntegralType(), clang::clangd::OpaqueType::fromType(), clang::doc::genIndex(), clang::doc::genReference(), clang::tidy::modernize::getCallMethodDecl(), clang::tidy::readability::IdentifierNamingCheck::HungarianNotation::getDataTypePrefix(), clang::tidy::bugprone::getDecayedType(), clang::tidy::readability::IdentifierNamingCheck::HungarianNotation::getDeclTypeName(), clang::tidy::readability::IdentifierNamingCheck::getFailureInfo(), clang::tidy::modernize::getLambdaProperties(), clang::tidy::bugprone::getParentsByGrandParent(), clang::tidy::modernize::getReplacementType(), clang::tidy::modernize::hasAnyNestedLocalQualifiers(), clang::tidy::cppcoreguidelines::hasConstQualifier(), clang::tidy::utils::type_traits::hasNonTrivialMoveAssignment(), clang::tidy::utils::type_traits::hasNonTrivialMoveConstructor(), clang::tidy::cppcoreguidelines::hasVolatileQualifier(), clang::tidy::cppcoreguidelines::isEmpty(), clang::tidy::utils::type_traits::isExpensiveToCopy(), clang::tidy::readability::IdentifierNamingCheck::isParamInMainLikeFunction(), clang::tidy::utils::isRealCharType(), clang::tidy::bugprone::isStandardSmartPointer(), clang::tidy::google::isStdInitializerList(), clang::tidy::utils::type_traits::isTriviallyDefaultConstructible(), clang::tidy::utils::type_traits::isTriviallyDestructible(), clang::tidy::lineHasNoLint(), clang::tidy::readability::IdentifierNamingCheck::HungarianNotation::loadFileConfig(), clang::move::DeclarationReporter::reportDeclaration(), clang::tidy::strToNoLintType(), clang::include_fixer::FuzzySymbolIndex::tokenize(), clang::clangd::typeForNode(), and clang::clangd::typeParents().